CMS 3D CMS Logo

HLTInfo.h
Go to the documentation of this file.
1 #ifndef HLTINFO_H
2 #define HLTINFO_H
3 
4 #include "TH1.h"
5 #include "TH2.h"
6 #include "TFile.h"
7 #include "TNamed.h"
8 #include <vector>
9 #include <map>
10 #include "TROOT.h"
11 #include "TChain.h"
12 
13 
14 // CMSSW
20 
23 
27 
30 
31 // L1 Stage2
37 
38 //#include "HLTrigger/HLTcore/interface/HLTConfigProvider.h"
39 //#include "L1Trigger/GlobalTriggerAnalyzer/interface/L1GtUtils.h"
40 
42 
43 namespace edm {
44  class ConsumesCollector;
45  class ParameterSet;
46 }
47 
48 typedef std::vector<std::string> MyStrings;
49 
59 class HLTInfo {
60 public:
61  //HLTInfo();
62 
63  template <typename T>
66  T& module);
67 
68  template <typename T>
69  HLTInfo(edm::ParameterSet const& pset,
71  T& module);
72 
73  void setup(const edm::ParameterSet& pSet, TTree* tree);
74  void beginRun(const edm::Run& , const edm::EventSetup& );
75 
77  void analyze(const edm::Handle<edm::TriggerResults> & hltresults,
78  const edm::Handle<GlobalAlgBlkBxCollection> & l1results,
79  edm::EventSetup const& eventSetup,
80  edm::Event const& iEvent,
81  TTree* tree);
82 
83 private:
84 
85  HLTInfo();
86 
87  // Tree variables
88  float *hltppt, *hltpeta;
89  int L1EvtCnt,HltEvtCnt,nhltpart;
90 
91  int *trigflag, *l1flag, *l1flag5Bx, *l1techflag;
92  int *trigPrescl, *l1Prescl, *l1techPrescl;
93 
94  TString * algoBitToName;
95  TString * techBitToName;
96  std::vector<std::string> dummyBranches_;
97 
98  //HLTConfigProvider hltConfig_;
99  //L1GtUtils m_l1GtUtils;
100  std::unique_ptr<HLTPrescaleProvider> hltPrescaleProvider_;
102 
103  bool _OR_BXes;
104  int UnpackBxInEvent; // save number of BXs unpacked in event
105 
106  // input variables
107 
108  // L1 uGT menu
109  unsigned long long cache_id_;
110 
111  /*
112  edm::ESHandle<L1TUtmTriggerMenu> menu;
113  //std::map<std::string, L1TUtmAlgorithm> const & algorithmMap_;
114  const std::map<std::string, L1TUtmAlgorithm>* algorithmMap_;
115  */
116  bool _Debug;
117 
118 
119 };
120 
121 template <typename T>
124  T& module) :
125  HLTInfo(pset, iC, module) {
126 }
127 
128 template <typename T>
131  T& module) :
132  HLTInfo() {
133  hltPrescaleProvider_.reset(new HLTPrescaleProvider(pset, iC, module));
134 }
135 
136 #endif
bool _Debug
Definition: HLTInfo.h:116
std::vector< std::string > dummyBranches_
Definition: HLTInfo.h:96
int nhltpart
Definition: HLTInfo.h:89
HLTInfo()
Definition: HLTInfo.cc:22
def analyze(function, filename, filter=None)
Definition: Profiling.py:11
unsigned long long cache_id_
Definition: HLTInfo.h:109
def setup(process, global_tag, zero_tesla=False)
Definition: GeneralSetup.py:1
std::vector< std::string > MyStrings
Definition: HLTInfo.h:48
std::string processName_
Definition: HLTInfo.h:101
int iEvent
Definition: GenABIO.cc:230
int UnpackBxInEvent
Definition: HLTInfo.h:104
TString * algoBitToName
Definition: HLTInfo.h:94
TString * techBitToName
Definition: HLTInfo.h:95
bool _OR_BXes
Definition: HLTInfo.h:103
int * trigPrescl
Definition: HLTInfo.h:92
HLT enums.
int * trigflag
Definition: HLTInfo.h:91
Definition: tree.py:1
float * hltppt
Definition: HLTInfo.h:88
long double T
Definition: vlib.h:208
Definition: Run.h:42
std::unique_ptr< HLTPrescaleProvider > hltPrescaleProvider_
Definition: HLTInfo.h:100