ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitProd/TreeFiller/interface/FillerMetaInfos.h
(Generate patch)

Comparing UserCode/MitProd/TreeFiller/interface/FillerMetaInfos.h (file contents):
Revision 1.5 by loizides, Tue Jul 1 14:38:33 2008 UTC vs.
Revision 1.27 by loizides, Thu Nov 26 21:41:50 2009 UTC

# Line 3 | Line 3
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 TREEFILLER_FILLERMETAINFOS_H
13 < #define TREEFILLER_FILLERMETAINFOS_H
12 > #ifndef MITPROD_TREEFILLER_FILLERMETAINFOS_H
13 > #define MITPROD_TREEFILLER_FILLERMETAINFOS_H
14  
15 < #include "FWCore/ParameterSet/interface/ParameterSet.h"
15 > #include "HLTrigger/HLTcore/interface/HLTConfigProvider.h"
16 > #include "DataFormats/L1GlobalTrigger/interface/L1GlobalTriggerReadoutSetupFwd.h"
17 > #include "MitAna/DataTree/interface/L1TriggerMaskFwd.h"
18 > #include "MitAna/DataTree/interface/TriggerObjectBaseFwd.h"
19 > #include "MitAna/DataTree/interface/TriggerObjectRelFwd.h"
20 > #include "MitAna/DataTree/interface/Types.h"
21   #include "MitProd/TreeFiller/interface/BaseFiller.h"
22  
23 + class THashTable;
24 +
25   namespace mithep
26   {
27    class RunInfo;
28    class EventHeader;
29    class LAHeader;
30 +  class TriggerMask;
31  
32    class FillerMetaInfos : public BaseFiller
33    {
34      public:
35 <      FillerMetaInfos(const edm::ParameterSet &cfg);
35 >      FillerMetaInfos(const edm::ParameterSet &cfg, const char *name="MetaInfos", bool active=1);
36        ~FillerMetaInfos();
37  
38 <      void BookDataBlock(TreeWriter &tws);
39 <      void FillDataBlock(const edm::Event &e, const edm::EventSetup &es);
29 <      void FillRunInfo(const edm::Event &e, const edm::EventSetup &es);
30 <      void FillHltInfo(const edm::Event &e, const edm::EventSetup &es);
38 >      void                           BookDataBlock(TreeWriter &tws, const edm::EventSetup &es);
39 >      void                           FillDataBlock(const edm::Event &e, const edm::EventSetup &es);
40  
41      private:
42 <      std::string              evtName_;      //event branch name
43 <      std::string              runName_;      //run info branch name
44 <      std::string              lahName_;      //look-ahead header branch name
45 <      std::string              hltName_;      //
46 <      std::string              l1tName_;      //
47 <      TreeWriter              *tws_;          //tree writer (not owned)
48 <      EventHeader             *eventHeader_;  //event header
49 <      LAHeader                *evtLAHeader_;  //look-ahead event header
50 <      RunInfo                 *runInfo_;      //run info block
51 <      TTree                   *runTree_;      //run info tree (not owned)
52 <      TTree                   *laTree_;       //look ahead tree (not owned)
53 <      Int_t                    runEntries_;   //number of run info entries
54 <      UShort_t                 fileNum_;      //file number of current file
55 <      std::map<UInt_t,Int_t>   runmap_;       //map between run number and entry number
42 >      void                           FillBitAMask(BitMask64 &bits, const DecisionWord &dw);
43 >      void                           FillBitTMask(BitMask64 &bits, const TechnicalTriggerWord &tw);
44 >      void                           FillHltInfo(const edm::Event &e, const edm::EventSetup &es);
45 >      void                           FillHltTrig(const edm::Event &e, const edm::EventSetup &es);
46 >      void                           FillL1Trig(const edm::Event &e, const edm::EventSetup &es);
47 >      void                           FillRunInfo(const edm::Event &e, const edm::EventSetup &es);
48 >      const char                    *Istr() const;
49 >
50 >      std::string                    evtName_;      //event branch name (must be unique)
51 >      std::string                    runTreeName_;  //run info tree name (must be unique)
52 >      std::string                    lahTreeName_;  //look-ahead header tree name (must be unique)
53 >      std::string                    hltTreeName_;  //hlt tree name (must be unique)
54 >      Bool_t                         hltActive_;    //=true if HLT info are filled
55 >      std::vector<std::string>       hltProcNames_; //HLT process name(s)
56 >      std::string                    hltProcName_;  //HLT process name to be used
57 >      std::string                    hltResName_;   //HLT trigger results edm name
58 >      std::string                    hltEvtName_;   //HLT trigger event edm name
59 >      std::string                    hltTableName_; //HLT trigger table branch name
60 >      std::string                    hltLabelName_; //HLT trigger label branch name
61 >      std::string                    hltBitsName_;  //HLT trigger bits branch name
62 >      std::string                    hltObjsName_;  //HLT trigger branch name
63 >      Bool_t                         l1Active_;     //=true if some L1 info are filled
64 >      std::string                    l1GTRecName_;  //L1 global trigger record edm name
65 >      std::string                    l1GTRRName_;   //l1 global readout trigger record edm name
66 >      std::string                    l1TBitsName_;  //L1 technical bit name
67 >      std::string                    l1ABitsName_;  //L1 algo bit name
68 >      TreeWriter                    *tws_;          //tree writer (not owned)
69 >      EventHeader                   *eventHeader_;  //event header
70 >      LAHeader                      *evtLAHeader_;  //look-ahead event header
71 >      RunInfo                       *runInfo_;      //run info block
72 >      TTree                         *runTree_;      //run info tree (not owned)
73 >      TTree                         *laTree_;       //look ahead tree (not owned)
74 >      Int_t                          runEntries_;   //number of run info entries
75 >      std::map<UInt_t,Int_t>         runmap_;       //map between run number and entry number
76 >      TriggerMask                   *hltBits_;      //HLT trigger bit mask
77 >      std::vector<std::string>      *hltTable_;     //HLT trigger table
78 >      std::map<std::string,Short_t> *hltTabMap_;    //HLT trigger labels map
79 >      std::vector<std::string>      *hltLabels_;    //HLT module labels
80 >      std::map<std::string,Short_t> *hltLabMap_;    //HLT module labels map
81 >      TriggerObjectBaseArr          *hltObjs_;      //HLT trigger objects
82 >      TriggerObjectRelArr           *hltRels_;      //HLT trigger objects relation
83 >      TTree                         *hltTree_;      //HLT trigger tree (not owned)
84 >      HLTConfigProvider              hltConfig_;    //HLT config from provenance
85 >      Int_t                          hltEntries_;   //number of hlt info entries
86 >      UShort_t                       fileNum_;      //file number of current file
87 >      L1TriggerMask                 *l1TBits_;      //L1 technical trigger bit mask
88 >      L1TriggerMask                 *l1ABits_;      //L1 algorithm trigger bit mask
89 >      L1TriggerMask                 *l1TBits2_;     //L1 technical trigger bit mask before masking
90 >      L1TriggerMask                 *l1ABits2_;     //L1 algorithm trigger bit mask before masking
91 >      L1TriggerMaskArr              *l1AbArr_;      //L1 algorithm trigger bits
92 >      L1TriggerMaskArr              *l1TbArr_;      //L1 technical trigger bits
93 >
94 >      static Int_t                   instance_;     //counts active instances
95    };
96   }
97   #endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines