ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitProd/TreeFiller/interface/FillerMetaInfos.h
Revision: 1.33
Committed: Sat May 29 11:58:47 2010 UTC (14 years, 11 months ago) by bendavid
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_032, Mit_031, Mit_025c_branch2, Mit_025c_branch1, Mit_030, Mit_029c, Mit_029b, Mit_030_pre1, Mit_029a, Mit_029, Mit_029_pre1, Mit_028a, Mit_025c_branch0, Mit_028, Mit_027a, Mit_027, Mit_026, Mit_025e, Mit_025d, Mit_025c, Mit_025b, Mit_025a, Mit_025, Mit_025pre2, Mit_024b, Mit_025pre1, Mit_024a, Mit_024, Mit_023, Mit_022a, Mit_022, Mit_020d, TMit_020d, Mit_020c, Mit_021, Mit_021pre2, Mit_021pre1, Mit_020b, Mit_020a, Mit_020, Mit_020pre1, Mit_018, Mit_017, Mit_017pre3, Mit_017pre2, Mit_017pre1, Mit_016, Mit_015b, Mit_015a, Mit_015, Mit_014e, Mit_014d, Mit_014c, Mit_014b, Mit_014a, Mit_014, HEAD
Branch point for: Mit_025c_branch
Changes since 1.32: +5 -1 lines
Error occurred while calculating annotation data.
Log Message:
Use new L1 GT utils to fill l1 info from triggermenulite

File Contents

# Content
1 //--------------------------------------------------------------------------------------------------
2 // $Id: FillerMetaInfos.h,v 1.32 2010/03/30 12:10:41 bendavid Exp $
3 //
4 // FillerMetaInfos
5 //
6 // Implementation of a filler that stores all of the meta information, as well as the L1 and HLT
7 // trigger info into the corresponding bambu objects.
8 //
9 // Authors: C.Loizides
10 //--------------------------------------------------------------------------------------------------
11
12 #ifndef MITPROD_TREEFILLER_FILLERMETAINFOS_H
13 #define MITPROD_TREEFILLER_FILLERMETAINFOS_H
14
15 #include "HLTrigger/HLTcore/interface/HLTConfigProvider.h"
16 #include "L1Trigger/GlobalTriggerAnalyzer/interface/L1GtUtils.h"
17 #include "DataFormats/L1GlobalTrigger/interface/L1GtTriggerMenuLite.h"
18 #include "DataFormats/L1GlobalTrigger/interface/L1GlobalTriggerReadoutSetupFwd.h"
19 #include "MitAna/DataTree/interface/L1TriggerMaskFwd.h"
20 #include "MitAna/DataTree/interface/TriggerObjectBaseFwd.h"
21 #include "MitAna/DataTree/interface/TriggerObjectRelFwd.h"
22 #include "MitAna/DataTree/interface/Types.h"
23 #include "MitProd/TreeFiller/interface/BaseFiller.h"
24
25 class THashTable;
26
27 namespace mithep
28 {
29 class RunInfo;
30 class EventHeader;
31 class LAHeader;
32 class TriggerMask;
33
34 class FillerMetaInfos : public BaseFiller
35 {
36 public:
37 FillerMetaInfos(const edm::ParameterSet &cfg, const char *name="MetaInfos", bool active=1);
38 ~FillerMetaInfos();
39
40 void BookDataBlock(TreeWriter &tws);
41 void FillDataBlock(const edm::Event &e, const edm::EventSetup &es);
42
43 private:
44 void FillBitAMask(BitMask128 &bits, const DecisionWord &dw);
45 void FillBitTMask(BitMask128 &bits, const TechnicalTriggerWord &tw);
46 void FillHltInfo(const edm::Event &e, const edm::EventSetup &es);
47 void FillHltTrig(const edm::Event &e, const edm::EventSetup &es);
48 void FillL1Trig(const edm::Event &e, const edm::EventSetup &es);
49 void FillRunInfo(const edm::Event &e, const edm::EventSetup &es);
50 const char *Istr() const;
51
52 std::string evtName_; //event branch name (must be unique)
53 std::string runTreeName_; //run info tree name (must be unique)
54 std::string lahTreeName_; //look-ahead header tree name (must be unique)
55 std::string hltTreeName_; //hlt tree name (must be unique)
56 Bool_t hltActive_; //=true if HLT info are filled
57 std::string hltProcName_; //HLT process name to be used
58 std::string hltResName_; //HLT trigger results edm name
59 std::string hltEvtName_; //HLT trigger event edm name
60 std::string hltTableName_; //HLT trigger table branch name
61 std::string hltLabelName_; //HLT trigger label branch name
62 std::string hltMenuName_; //HLT trigger menu branch name
63 std::string hltBitsName_; //HLT trigger bits branch name
64 std::string hltObjsName_; //HLT trigger branch name
65 Bool_t l1Active_; //=true if some L1 info are filled
66 std::string l1GtMenuLiteName_; //L1 trigger menu lite edm name
67 std::string l1GTRecName_; //L1 global trigger record edm name
68 std::string l1GTRRName_; //l1 global readout trigger record edm name
69 std::string l1TBitsName_; //L1 technical bit name
70 std::string l1ABitsName_; //L1 algo bit name
71 TreeWriter *tws_; //tree writer (not owned)
72 EventHeader *eventHeader_; //event header
73 LAHeader *evtLAHeader_; //look-ahead event header
74 RunInfo *runInfo_; //run info block
75 TTree *runTree_; //run info tree (not owned)
76 TTree *laTree_; //look ahead tree (not owned)
77 Int_t runEntries_; //number of run info entries
78 std::map<UInt_t,Int_t> runmap_; //map between run number and entry number
79 std::map<std::string,Int_t> hltmap_; //map btw hlt table name and entry number
80 Int_t runentry_; //current run entry
81 Int_t hltentry_; //current hlt entry
82 TriggerMask *hltBits_; //HLT trigger bit mask
83 std::string *hltMenu_; //HLT menu name
84 std::vector<std::string> *hltTable_; //HLT trigger table
85 std::vector<std::map<std::string,Short_t> > hltTabMaps_; //cached tablemaps
86 std::map<std::string,Short_t> *hltTabMap_; //HLT trigger labels map
87 std::vector<std::string> *hltLabels_; //HLT module labels
88 std::vector<std::map<std::string,Short_t> > hltLabMaps_; //cached tablemaps
89 std::map<std::string,Short_t> *hltLabMap_; //HLT module labels map
90 TriggerObjectBaseArr *hltObjs_; //HLT trigger objects
91 TriggerObjectRelArr *hltRels_; //HLT trigger objects relation
92 TTree *hltTree_; //HLT trigger tree (not owned)
93 HLTConfigProvider hltConfig_; //HLT config from provenance
94 Int_t hltEntries_; //number of hlt info entries
95 UShort_t fileNum_; //file number of current file
96 L1GtUtils l1gtutils_; //level 1 config provider
97 L1TriggerMask *l1TBits_; //L1 technical trigger bit mask
98 L1TriggerMask *l1ABits_; //L1 algorithm trigger bit mask
99 L1TriggerMask *l1TBits2_; //L1 technical trigger bit mask before masking
100 L1TriggerMask *l1ABits2_; //L1 algorithm trigger bit mask before masking
101 L1TriggerMaskArr *l1AbArr_; //L1 algorithm trigger bits
102 L1TriggerMaskArr *l1TbArr_; //L1 technical trigger bits
103
104 static Int_t instance_; //counts active instances
105 };
106 }
107 #endif