ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitProd/TreeFiller/interface/FillerMetaInfos.h
Revision: 1.13
Committed: Tue Mar 10 15:56:00 2009 UTC (16 years, 1 month ago) by loizides
Content type: text/plain
Branch: MAIN
Changes since 1.12: +2 -2 lines
Log Message:
Introduced more dynamic filling interface.

File Contents

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