ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitProd/TreeFiller/interface/FillerMetaInfos.h
Revision: 1.18
Committed: Mon Jun 15 15:00:25 2009 UTC (15 years, 10 months ago) by loizides
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_009c, Mit_009b
Changes since 1.17: +3 -3 lines
Log Message:
Added proper fwd defs plus split up complilation of MitAna/DataTree LinkDefs.

File Contents

# Content
1 //--------------------------------------------------------------------------------------------------
2 // $Id: FillerMetaInfos.h,v 1.17 2009/03/25 05:05:09 loizides Exp $
3 //
4 // FillerMetaInfos
5 //
6 // Implementation of a filler that stores all of the meta information, as well as the HLT
7 // trigger info into the bambu objects. Still missing is the implementation for the L1 info.
8 //
9 // Authors: C.Loizides
10 //--------------------------------------------------------------------------------------------------
11
12 #ifndef MITPROD_TREEFILLER_FILLERMETAINFOS_H
13 #define MITPROD_TREEFILLER_FILLERMETAINFOS_H
14
15 #include "FWCore/ParameterSet/interface/ParameterSet.h"
16 #include "HLTrigger/HLTcore/interface/HLTConfigProvider.h"
17 #include "MitAna/DataTree/interface/TriggerObjectFwd.h"
18 #include "MitProd/TreeFiller/interface/BaseFiller.h"
19
20 class THashTable;
21
22 namespace mithep
23 {
24 class RunInfo;
25 class EventHeader;
26 class LAHeader;
27 class TriggerMask;
28
29 class FillerMetaInfos : public BaseFiller
30 {
31 public:
32 FillerMetaInfos(const edm::ParameterSet &cfg, const char *name="MetaInfos", bool active=1);
33 ~FillerMetaInfos();
34
35 void BookDataBlock(TreeWriter &tws);
36 void FillDataBlock(const edm::Event &e, const edm::EventSetup &es);
37 void FillRunInfo(const edm::Event &e, const edm::EventSetup &es);
38 void FillL1Info(const edm::Event &e, const edm::EventSetup &es);
39 void FillL1Trig(const edm::Event &e, const edm::EventSetup &es);
40 void FillHltInfo(const edm::Event &e, const edm::EventSetup &es);
41 void FillHltTrig(const edm::Event &e, const edm::EventSetup &es);
42
43 private:
44 std::string evtName_; //event branch name
45 std::string runName_; //run info branch name
46 std::string lahName_; //look-ahead header branch name
47 Bool_t l1Active_; //=true if L1 info are filled
48 std::string l1TableName_; //L1 trigger table branch name
49 std::string l1BitsName_; //L1 trigger bits branch name
50 std::string l1ObjsName_; //L1 trigger branch name
51 Bool_t hltActive_; //=true if HLT info are filled
52 std::vector<std::string> hltProcNames_; //HLT process name(s)
53 std::string hltProcName_; //HLT process name to be used
54 std::string hltResName_; //HLT trigger results edm name
55 std::string hltEvtName_; //HLT trigger event edm name
56 std::string hltTableName_; //HLT trigger table branch name
57 std::string hltLabelName_; //HLT trigger label branch name
58 std::string hltBitsName_; //HLT trigger bits branch name
59 std::string hltObjsName_; //HLT trigger branch name
60 TreeWriter *tws_; //tree writer (not owned)
61 EventHeader *eventHeader_; //event header
62 LAHeader *evtLAHeader_; //look-ahead event header
63 RunInfo *runInfo_; //run info block
64 TTree *runTree_; //run info tree (not owned)
65 TTree *laTree_; //look ahead tree (not owned)
66 Int_t runEntries_; //number of run info entries
67 std::map<UInt_t,Int_t> runmap_; //map between run number and entry number
68 Int_t l1Entries_; //number of l1 info entries
69 THashTable *l1Table_; //L1 trigger table
70 TTree *l1Tree_; //L1 trigger tree (not owned)
71 TriggerMask *hltBits_; //HLT trigger bit mask
72 std::vector<std::string> *hltTable_; //HLT trigger table
73 std::map<std::string,Short_t> *hltTabMap_; //HLT trigger labels map
74 std::vector<std::string> *hltLabels_; //HLT module labels
75 std::map<std::string,Short_t> *hltLabMap_; //HLT module labels map
76 TriggerObjectBaseArr *hltObjs_; //HLT trigger objects
77 TriggerObjectRelArr *hltRels_; //HLT trigger objects relation
78 TTree *hltTree_; //HLT trigger tree (not owned)
79 HLTConfigProvider hltConfig_; //HLT config from provenance
80 Int_t hltEntries_; //number of hlt info entries
81 UShort_t fileNum_; //file number of current file
82
83 static bool instance_; //=true when one active instance
84 };
85 }
86 #endif