CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TriggerValidator.h
Go to the documentation of this file.
1 #ifndef SusyBsmTriggerPerformance_TriggerValidator_TriggerValidator_h
2 #define SusyBsmTriggerPerformance_TriggerValidator_TriggerValidator_h
3 
4 // -*- C++ -*-
5 //
6 // Package: TriggerValidator
7 // Class: TriggerValidator
8 //
16 //
17 // Original Author: Massimiliano Chiorboli
18 // Maurizio Pierini
19 // Maria Spiropulu
20 // Created: Wed Aug 29 15:10:56 CEST 2007
21 //
22 //
23 
24 // system include files
25 #include <memory>
26 #include <fstream>
27 #include <iostream>
28 
29 // user include files
34 
40 //#include "HLTriggerOffline/SUSYBSM/interface/TurnOnMaker.h"
41 
42 //data formats
43 //Added by Max for the Trigger
50 
51 
52 //included for DQM
57 
58 
59 
60 
62  public:
63  explicit TriggerValidator(const edm::ParameterSet&);
65 
66  TFile* theHistoFile;
67 
68  private:
69  virtual void beginJob() ;
70  virtual void analyze(const edm::Event&, const edm::EventSetup&);
71  virtual void endJob() ;
72 
73 
74  void beginRun(const edm::Run& run, const edm::EventSetup& c);
75  void endRun(const edm::Run& run, const edm::EventSetup& c);
76 
77 
78  std::map<int,std::string> l1NameMap;
79  // ----------member data ---------------------------
83  // --- names of the folders in the dbe ---
87 
88 
89 
90  unsigned int nHltPaths;
91  int nL1Bits;
92 
93 
94  //RecoSelector
95  std::vector<RecoSelector*> myRecoSelector;
96  std::vector<McSelector*> myMcSelector;
97 
98  //For the moment I switch off the more complex plots
101 /* TurnOnMaker* myTurnOnMaker; */
102 
103  //Histo
109 
110  //McFlag
111  bool mcFlag;
112  bool l1Flag;
113 
114  //Cut parameters decided by the user
115  std::vector<edm::ParameterSet> reco_parametersets;
116  std::vector<edm::ParameterSet> mc_parametersets;
120 
124  std::vector<std::string> hltPathsToCheck_;
126 
127  // name of each L1 algorithm
128  std::vector<std::string> l1Names_;
129  // name of each hlt algorithm
130  std::vector<std::string> hlNames_;
131 
132 
133  //Counters for L1 and HLT
134  std::vector<int> numTotL1BitsBeforeCuts;
135  std::vector<int> numTotHltBitsBeforeCuts;
136  std::vector< std::vector<int> > numTotL1BitsAfterRecoCuts;
137  std::vector< std::vector<int> > numTotHltBitsAfterRecoCuts;
138  std::vector< std::vector<int> > numTotL1BitsAfterMcCuts;
139  std::vector< std::vector<int> > numTotHltBitsAfterMcCuts;
140 
141  std::vector<double> effL1BeforeCuts;
142  std::vector<double> effHltBeforeCuts;
143  std::vector<double> effL1AfterRecoCuts;
144  std::vector<double> effHltAfterRecoCuts;
145  std::vector<double> effL1AfterMcCuts;
146  std::vector<double> effHltAfterMcCuts;
147 
148 
149 
150  std::vector< std::vector<int> > vCorrL1;
151  std::vector< std::vector<int> > vCorrHlt;
152  std::vector< std::vector<double> > vCorrNormL1;
153  std::vector< std::vector<double> > vCorrNormHlt;
154 
155  int nEvTot;
156  std::vector<int> nEvRecoSelected;
157  std::vector<int> nEvMcSelected;
158 
159 
160 
161 
162  //Histos for L1 and HLT bits
165  std::vector<MonitorElement*> hL1BitsAfterRecoCuts;
166  std::vector<MonitorElement*> hHltBitsAfterRecoCuts;
167  std::vector<MonitorElement*> hL1BitsAfterMcCuts;
168  std::vector<MonitorElement*> hHltBitsAfterMcCuts;
169 
172  std::vector<MonitorElement*> hL1PathsAfterRecoCuts;
173  std::vector<MonitorElement*> hHltPathsAfterRecoCuts;
174  std::vector<MonitorElement*> hL1PathsAfterMcCuts;
175  std::vector<MonitorElement*> hHltPathsAfterMcCuts;
176 
177 
178  //if we want to keep these, probably thay have to move to the client
179 /* TH2D* hL1OverlapNormToTotal; */
180 /* TH2D* hHltOverlapNormToTotal; */
181 /* TH2D* hL1OverlapNormToLargestPath; */
182 /* TH2D* hHltOverlapNormToLargestPath; */
183 
184  std::vector<int> l1bits;
185  std::vector<int> hltbits;
186 
188 
190 };
191 
192 
193 
194 #endif
std::vector< MonitorElement * > hHltBitsAfterRecoCuts
std::vector< std::vector< double > > vCorrNormL1
std::string dirname_
std::vector< McSelector * > myMcSelector
std::string StatFileName
std::vector< MonitorElement * > hL1PathsAfterRecoCuts
void endRun(const edm::Run &run, const edm::EventSetup &c)
std::vector< double > effL1BeforeCuts
std::vector< MonitorElement * > hHltPathsAfterRecoCuts
unsigned int nHltPaths
std::vector< double > effHltAfterMcCuts
std::vector< int > numTotHltBitsBeforeCuts
std::vector< MonitorElement * > hHltPathsAfterMcCuts
MuonAnalyzerSBSM * myMuonAnalyzer
PlotMakerReco * myPlotMakerReco
std::vector< std::string > l1Names_
edm::EDGetTokenT< edm::TriggerResults > hlt_token_
std::vector< MonitorElement * > hL1BitsAfterMcCuts
std::vector< std::vector< int > > vCorrL1
edm::EDGetTokenT< L1GlobalTriggerObjectMapRecord > l1Label
std::vector< int > nEvRecoSelected
std::vector< std::vector< int > > numTotHltBitsAfterMcCuts
std::vector< MonitorElement * > hL1PathsAfterMcCuts
std::vector< MonitorElement * > hL1BitsAfterRecoCuts
std::vector< int > nEvMcSelected
std::vector< RecoSelector * > myRecoSelector
MonitorElement * hHltPathsBeforeCuts
edm::EDGetTokenT< L1GlobalTriggerReadoutRecord > gtDigis_token_
void beginRun(const edm::Run &run, const edm::EventSetup &c)
std::string recoSelBitsDir
virtual void beginJob()
edm::InputTag triggerTag_
PlotMakerL1 * myPlotMakerL1
std::string mcSelBitsDir
MonitorElement * hL1PathsBeforeCuts
std::string triggerBitsDir
std::vector< std::string > hlNames_
edm::InputTag hltLabel
std::vector< std::vector< double > > vCorrNormHlt
std::vector< int > numTotL1BitsBeforeCuts
std::vector< int > l1bits
edm::ParameterSet turnOn_params
std::string HistoFileName
std::vector< MonitorElement * > hHltBitsAfterMcCuts
std::vector< double > effL1AfterRecoCuts
std::vector< double > effL1AfterMcCuts
std::vector< int > hltbits
std::string processName_
std::vector< double > effHltBeforeCuts
std::vector< std::vector< int > > numTotHltBitsAfterRecoCuts
std::vector< edm::ParameterSet > reco_parametersets
edm::ParameterSet plotMakerRecoInput
virtual void analyze(const edm::Event &, const edm::EventSetup &)
std::vector< double > effHltAfterRecoCuts
std::vector< std::vector< int > > numTotL1BitsAfterRecoCuts
HLTConfigProvider hltConfig_
virtual void endJob()
std::vector< std::vector< int > > vCorrHlt
edm::ParameterSet plotMakerL1Input
MonitorElement * hL1BitsBeforeCuts
std::vector< std::vector< int > > numTotL1BitsAfterMcCuts
TriggerValidator(const edm::ParameterSet &)
edm::InputTag muonTag_
MonitorElement * hHltBitsBeforeCuts
Definition: Run.h:43
std::vector< std::string > hltPathsToCheck_
std::map< int, std::string > l1NameMap
std::vector< edm::ParameterSet > mc_parametersets