ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitProd/TreeFiller/interface/FillerMetaInfos.h
Revision: 1.27
Committed: Thu Nov 26 21:41:50 2009 UTC (15 years, 5 months ago) by loizides
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_012c
Changes since 1.26: +9 -2 lines
Log Message:
Added bx readout of L1 bits.

File Contents

# Content
1 //--------------------------------------------------------------------------------------------------
2 // $Id: FillerMetaInfos.h,v 1.26 2009/11/24 15:58:42 loizides 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 "DataFormats/L1GlobalTrigger/interface/L1GlobalTriggerReadoutSetupFwd.h"
17 #include "MitAna/DataTree/interface/L1TriggerMaskFwd.h"
18 #include "MitAna/DataTree/interface/TriggerObjectBaseFwd.h"
19 #include "MitAna/DataTree/interface/TriggerObjectRelFwd.h"
20 #include "MitAna/DataTree/interface/Types.h"
21 #include "MitProd/TreeFiller/interface/BaseFiller.h"
22
23 class THashTable;
24
25 namespace mithep
26 {
27 class RunInfo;
28 class EventHeader;
29 class LAHeader;
30 class TriggerMask;
31
32 class FillerMetaInfos : public BaseFiller
33 {
34 public:
35 FillerMetaInfos(const edm::ParameterSet &cfg, const char *name="MetaInfos", bool active=1);
36 ~FillerMetaInfos();
37
38 void BookDataBlock(TreeWriter &tws, const edm::EventSetup &es);
39 void FillDataBlock(const edm::Event &e, const edm::EventSetup &es);
40
41 private:
42 void FillBitAMask(BitMask64 &bits, const DecisionWord &dw);
43 void FillBitTMask(BitMask64 &bits, const TechnicalTriggerWord &tw);
44 void FillHltInfo(const edm::Event &e, const edm::EventSetup &es);
45 void FillHltTrig(const edm::Event &e, const edm::EventSetup &es);
46 void FillL1Trig(const edm::Event &e, const edm::EventSetup &es);
47 void FillRunInfo(const edm::Event &e, const edm::EventSetup &es);
48 const char *Istr() const;
49
50 std::string evtName_; //event branch name (must be unique)
51 std::string runTreeName_; //run info tree name (must be unique)
52 std::string lahTreeName_; //look-ahead header tree name (must be unique)
53 std::string hltTreeName_; //hlt tree name (must be unique)
54 Bool_t hltActive_; //=true if HLT info are filled
55 std::vector<std::string> hltProcNames_; //HLT process name(s)
56 std::string hltProcName_; //HLT process name to be used
57 std::string hltResName_; //HLT trigger results edm name
58 std::string hltEvtName_; //HLT trigger event edm name
59 std::string hltTableName_; //HLT trigger table branch name
60 std::string hltLabelName_; //HLT trigger label branch name
61 std::string hltBitsName_; //HLT trigger bits branch name
62 std::string hltObjsName_; //HLT trigger branch name
63 Bool_t l1Active_; //=true if some L1 info are filled
64 std::string l1GTRecName_; //L1 global trigger record edm name
65 std::string l1GTRRName_; //l1 global readout trigger record edm name
66 std::string l1TBitsName_; //L1 technical bit name
67 std::string l1ABitsName_; //L1 algo bit name
68 TreeWriter *tws_; //tree writer (not owned)
69 EventHeader *eventHeader_; //event header
70 LAHeader *evtLAHeader_; //look-ahead event header
71 RunInfo *runInfo_; //run info block
72 TTree *runTree_; //run info tree (not owned)
73 TTree *laTree_; //look ahead tree (not owned)
74 Int_t runEntries_; //number of run info entries
75 std::map<UInt_t,Int_t> runmap_; //map between run number and entry number
76 TriggerMask *hltBits_; //HLT trigger bit mask
77 std::vector<std::string> *hltTable_; //HLT trigger table
78 std::map<std::string,Short_t> *hltTabMap_; //HLT trigger labels map
79 std::vector<std::string> *hltLabels_; //HLT module labels
80 std::map<std::string,Short_t> *hltLabMap_; //HLT module labels map
81 TriggerObjectBaseArr *hltObjs_; //HLT trigger objects
82 TriggerObjectRelArr *hltRels_; //HLT trigger objects relation
83 TTree *hltTree_; //HLT trigger tree (not owned)
84 HLTConfigProvider hltConfig_; //HLT config from provenance
85 Int_t hltEntries_; //number of hlt info entries
86 UShort_t fileNum_; //file number of current file
87 L1TriggerMask *l1TBits_; //L1 technical trigger bit mask
88 L1TriggerMask *l1ABits_; //L1 algorithm trigger bit mask
89 L1TriggerMask *l1TBits2_; //L1 technical trigger bit mask before masking
90 L1TriggerMask *l1ABits2_; //L1 algorithm trigger bit mask before masking
91 L1TriggerMaskArr *l1AbArr_; //L1 algorithm trigger bits
92 L1TriggerMaskArr *l1TbArr_; //L1 technical trigger bits
93
94 static Int_t instance_; //counts active instances
95 };
96 }
97 #endif