ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitProd/TreeFiller/interface/FillerMetaInfos.h
Revision: 1.23
Committed: Tue Aug 11 15:29:27 2009 UTC (15 years, 8 months ago) by loizides
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_011, Mit_010a
Changes since 1.22: +8 -5 lines
Log Message:
CHanges two support multiple HLT menus.

File Contents

# Content
1 //--------------------------------------------------------------------------------------------------
2 // $Id: FillerMetaInfos.h,v 1.22 2009/07/20 03:19:24 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 "MitAna/DataTree/interface/TriggerObjectBaseFwd.h"
17 #include "MitAna/DataTree/interface/TriggerObjectRelFwd.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 FillHltInfo(const edm::Event &e, const edm::EventSetup &es);
39 void FillHltTrig(const edm::Event &e, const edm::EventSetup &es);
40
41 private:
42 const char *Istr() const;
43
44 std::string evtName_; //event branch name (must be unique)
45 std::string runTreeName_; //run info tree name (must be unique)
46 std::string lahTreeName_; //look-ahead header tree name (must be unique)
47 std::string hltTreeName_; //hlt tree name (must be unique)
48 Bool_t hltActive_; //=true if HLT info are filled
49 std::vector<std::string> hltProcNames_; //HLT process name(s)
50 std::string hltProcName_; //HLT process name to be used
51 std::string hltResName_; //HLT trigger results edm name
52 std::string hltEvtName_; //HLT trigger event edm name
53 std::string hltTableName_; //HLT trigger table branch name
54 std::string hltLabelName_; //HLT trigger label branch name
55 std::string hltBitsName_; //HLT trigger bits branch name
56 std::string hltObjsName_; //HLT trigger branch name
57 TreeWriter *tws_; //tree writer (not owned)
58 EventHeader *eventHeader_; //event header
59 LAHeader *evtLAHeader_; //look-ahead event header
60 RunInfo *runInfo_; //run info block
61 TTree *runTree_; //run info tree (not owned)
62 TTree *laTree_; //look ahead tree (not owned)
63 Int_t runEntries_; //number of run info entries
64 std::map<UInt_t,Int_t> runmap_; //map between run number and entry number
65 TriggerMask *hltBits_; //HLT trigger bit mask
66 std::vector<std::string> *hltTable_; //HLT trigger table
67 std::map<std::string,Short_t> *hltTabMap_; //HLT trigger labels map
68 std::vector<std::string> *hltLabels_; //HLT module labels
69 std::map<std::string,Short_t> *hltLabMap_; //HLT module labels map
70 TriggerObjectBaseArr *hltObjs_; //HLT trigger objects
71 TriggerObjectRelArr *hltRels_; //HLT trigger objects relation
72 TTree *hltTree_; //HLT trigger tree (not owned)
73 HLTConfigProvider hltConfig_; //HLT config from provenance
74 Int_t hltEntries_; //number of hlt info entries
75 UShort_t fileNum_; //file number of current file
76
77 static Int_t instance_; //counts active instances
78 };
79 }
80 #endif