ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitProd/TreeFiller/interface/FillerMetaInfos.h
Revision: 1.19
Committed: Fri Jul 10 13:15:39 2009 UTC (15 years, 9 months ago) by loizides
Content type: text/plain
Branch: MAIN
Changes since 1.18: +10 -10 lines
Log Message:
Intermediate work before cleanup

File Contents

# User Rev Content
1 loizides 1.1 //--------------------------------------------------------------------------------------------------
2 loizides 1.19 // $Id: FillerMetaInfos.h,v 1.18 2009/06/15 15:00:25 loizides Exp $
3 loizides 1.1 //
4     // FillerMetaInfos
5 loizides 1.15 //
6 loizides 1.19 // 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 loizides 1.1 //
9     // Authors: C.Loizides
10     //--------------------------------------------------------------------------------------------------
11    
12 loizides 1.9 #ifndef MITPROD_TREEFILLER_FILLERMETAINFOS_H
13     #define MITPROD_TREEFILLER_FILLERMETAINFOS_H
14 loizides 1.1
15     #include "FWCore/ParameterSet/interface/ParameterSet.h"
16 loizides 1.18 #include "HLTrigger/HLTcore/interface/HLTConfigProvider.h"
17     #include "MitAna/DataTree/interface/TriggerObjectFwd.h"
18 loizides 1.1 #include "MitProd/TreeFiller/interface/BaseFiller.h"
19 loizides 1.10
20     class THashTable;
21 loizides 1.1
22     namespace mithep
23     {
24 loizides 1.5 class RunInfo;
25     class EventHeader;
26     class LAHeader;
27 loizides 1.12 class TriggerMask;
28 loizides 1.5
29 loizides 1.1 class FillerMetaInfos : public BaseFiller
30     {
31     public:
32 loizides 1.13 FillerMetaInfos(const edm::ParameterSet &cfg, const char *name="MetaInfos", bool active=1);
33 loizides 1.1 ~FillerMetaInfos();
34    
35 loizides 1.16 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 loizides 1.5
43 loizides 1.1 private:
44 loizides 1.10 std::string evtName_; //event branch name
45     std::string runName_; //run info branch name
46     std::string lahName_; //look-ahead header branch name
47 loizides 1.19 // 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 loizides 1.10 Bool_t hltActive_; //=true if HLT info are filled
52 loizides 1.17 std::vector<std::string> hltProcNames_; //HLT process name(s)
53     std::string hltProcName_; //HLT process name to be used
54 loizides 1.10 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 loizides 1.19 // Int_t l1Entries_; //number of l1 info entries
69     // THashTable *l1Table_; //L1 trigger table
70     // TTree *l1Tree_; //L1 trigger tree (not owned)
71 loizides 1.12 TriggerMask *hltBits_; //HLT trigger bit mask
72 loizides 1.11 std::vector<std::string> *hltTable_; //HLT trigger table
73 loizides 1.10 std::map<std::string,Short_t> *hltTabMap_; //HLT trigger labels map
74 loizides 1.11 std::vector<std::string> *hltLabels_; //HLT module labels
75 loizides 1.10 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 loizides 1.7
83 loizides 1.10 static bool instance_; //=true when one active instance
84 loizides 1.1 };
85     }
86     #endif