6 |
|
// Authors: C.Loizides |
7 |
|
//-------------------------------------------------------------------------------------------------- |
8 |
|
|
9 |
< |
#ifndef TREEFILLER_FILLERMETAINFOS_H |
10 |
< |
#define TREEFILLER_FILLERMETAINFOS_H |
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, bool active=1); |
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 |
< |
std::string hltName_; //todo |
45 |
< |
std::string l1tName_; //todo |
46 |
< |
TreeWriter *tws_; //tree writer (not owned) |
47 |
< |
EventHeader *eventHeader_; //event header |
48 |
< |
LAHeader *evtLAHeader_; //look-ahead event header |
49 |
< |
RunInfo *runInfo_; //run info block |
50 |
< |
TTree *runTree_; //run info tree (not owned) |
51 |
< |
TTree *laTree_; //look ahead tree (not owned) |
52 |
< |
Int_t runEntries_; //number of run info entries |
53 |
< |
UShort_t fileNum_; //file number of current file |
54 |
< |
std::map<UInt_t,Int_t> runmap_; //map between run number and entry number |
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 |
79 |
> |
static bool instance_; //=true when one active instance |
80 |
|
}; |
81 |
|
} |
82 |
|
#endif |