ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitProd/TreeFiller/interface/FillerMetaInfos.h
Revision: 1.10
Committed: Wed Sep 17 04:30:15 2008 UTC (16 years, 7 months ago) by loizides
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_006b, Mit_006a, Mit_006, Mit_005, Mit_004
Changes since 1.9: +46 -18 lines
Log Message:
First implementation of HLT trigger bits and objects. Will need cleanup, more checks and more tests.

File Contents

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