CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
EmDQM.h
Go to the documentation of this file.
1 #ifndef HLTriggerOffline_Egamma_EmDQM_H
2 #define HLTriggerOffline_Egamma_EmDQM_H
3 
4 
5 // Base Class Headers
17 #include <vector>
18 #include "TDirectory.h"
19 #include "HepMC/GenParticle.h"
23 
24 class EmDQM : public edm::EDAnalyzer{
25 public:
27  explicit EmDQM(const edm::ParameterSet& pset);
28 
30  ~EmDQM();
31 
32  // Operations
33 
34  void analyze(const edm::Event & event, const edm::EventSetup&);
35  void beginJob();
36  void endJob();
37 
38  void beginRun(edm::Run const&, edm::EventSetup const&);
39  void endRun(edm::Run const&, edm::EventSetup const&);
40 
41 private:
42 
50 
55  bool checkRecoParticlesRequirement(const edm::Event & event);
56 
59 
60  // Input from cfg file
62  unsigned int pathIndex;
63  std::vector<edm::InputTag> theHLTCollectionLabels;
64  unsigned int numOfHLTCollectionLabels; // Will be size of above vector
67  bool noPhiPlots;
69  std::vector<std::string> theHLTCollectionHumanNames; // Human-readable names for the collections
71  std::vector<int> theHLTOutputTypes;
72  std::vector<bool> plotiso;
73  std::vector<std::vector<edm::InputTag> > isoNames; // there has to be a better solution
74  std::vector<std::pair<double,double> > plotBounds;
75  std::vector<unsigned int> nCandCuts;
76  std::string theHltName;
77  unsigned verbosity;
78  // verbosity levels
79  static const unsigned OUTPUT_SILENT = 0;
80  static const unsigned OUTPUT_ERRORS = 1;
81  static const unsigned OUTPUT_WARNINGS = 2;
82  static const unsigned OUTPUT_ALL = 3;
83 
85  // Read from configuration file //
87  // paramters for generator study
88  unsigned int reqNum;
89  int pdgGen;
90  double genEtaAcc;
91  double genEtAcc;
92  // plotting paramters
93  double plotEtMin;
94  double plotEtaMax;
95  double plotPhiMax;
96  double plotPtMin ;
97  double plotPtMax ;
98  unsigned int plotBins ;
99  unsigned int plotMinEtForEtaEffPlot;
100  // preselction cuts
101 
109 
111  unsigned int gencut_;
112 
114  std::set<std::string> hltCollectionLabelsFound;
115 
117  std::set<std::string> hltCollectionLabelsMissed;
118 
119 
121  // Create Histograms //
123  // Et & eta distributions
124  std::vector<MonitorElement*> etahist;
125  std::vector<MonitorElement*> phihist;
126  std::vector<MonitorElement*> ethist;
127  std::vector<MonitorElement*> etahistmatch;
128  std::vector<MonitorElement*> phihistmatch;
129  std::vector<MonitorElement*> ethistmatch;
130  std::vector<MonitorElement*> histEtOfHltObjMatchToGen;
131  std::vector<MonitorElement*> histEtaOfHltObjMatchToGen;
132  std::vector<MonitorElement*> histPhiOfHltObjMatchToGen;
133  // Isolation distributions
134  std::vector<MonitorElement*> etahistiso;
135  std::vector<MonitorElement*> phihistiso;
136  std::vector<MonitorElement*> ethistiso;
137  std::vector<MonitorElement*> etahistisomatch;
138  std::vector<MonitorElement*> phihistisomatch;
139  std::vector<MonitorElement*> ethistisomatch;
140  std::vector<MonitorElement*> histEtIsoOfHltObjMatchToGen;
141  std::vector<MonitorElement*> histEtaIsoOfHltObjMatchToGen;
142  std::vector<MonitorElement*> histPhiIsoOfHltObjMatchToGen;
143  // Plots of efficiency per step
146  //generator histograms
150 
151  // interface to DQM framework
153  std::string dirname_;
154 
155  template <class T> void fillHistos(edm::Handle<trigger::TriggerEventWithRefs>& ,const edm::Event& ,unsigned int, std::vector<reco::Particle>&, bool & );
158 
159 };
160 #endif
std::string theHltName
Definition: EmDQM.h:76
void beginJob()
Definition: EmDQM.cc:125
bool checkRecoParticlesRequirement(const edm::Event &event)
Definition: EmDQM.cc:427
std::vector< MonitorElement * > phihist
Definition: EmDQM.h:125
~EmDQM()
Destructor.
Definition: EmDQM.cc:366
unsigned int numOfHLTCollectionLabels
Definition: EmDQM.h:64
std::string dirname_
Definition: EmDQM.h:153
static const unsigned OUTPUT_ALL
Definition: EmDQM.h:82
int pdgGen
Definition: EmDQM.h:89
std::set< std::string > hltCollectionLabelsFound
Definition: EmDQM.h:114
edm::InputTag theL1Seed
Definition: EmDQM.h:70
DQMStore * dbe
Definition: EmDQM.h:152
std::vector< MonitorElement * > histPhiIsoOfHltObjMatchToGen
Definition: EmDQM.h:142
MonitorElement * etagen
Definition: EmDQM.h:148
double plotEtaMax
Definition: EmDQM.h:94
std::vector< MonitorElement * > ethistiso
Definition: EmDQM.h:136
std::vector< MonitorElement * > histEtaIsoOfHltObjMatchToGen
Definition: EmDQM.h:141
double plotEtMin
Definition: EmDQM.h:93
Definition: EmDQM.h:24
static const unsigned OUTPUT_ERRORS
Definition: EmDQM.h:80
MonitorElement * phigen
Definition: EmDQM.h:149
unsigned verbosity
Definition: EmDQM.h:77
GreaterByPt< reco::GenParticle > pTGenComparator_
Definition: EmDQM.h:157
std::vector< std::vector< edm::InputTag > > isoNames
Definition: EmDQM.h:73
void beginRun(edm::Run const &, edm::EventSetup const &)
Definition: EmDQM.cc:131
static const unsigned OUTPUT_SILENT
Definition: EmDQM.h:79
std::vector< edm::InputTag > theHLTCollectionLabels
Definition: EmDQM.h:63
unsigned int gencut_
Definition: EmDQM.h:111
std::vector< unsigned int > nCandCuts
Definition: EmDQM.h:75
void endRun(edm::Run const &, edm::EventSetup const &)
Definition: EmDQM.cc:813
static const unsigned OUTPUT_WARNINGS
Definition: EmDQM.h:81
bool noIsolationPlots
Definition: EmDQM.h:68
std::vector< MonitorElement * > phihistmatch
Definition: EmDQM.h:128
unsigned int plotMinEtForEtaEffPlot
Definition: EmDQM.h:99
double plotPtMax
Definition: EmDQM.h:97
std::set< std::string > hltCollectionLabelsMissed
Definition: EmDQM.h:117
MonitorElement * totalmatch
Definition: EmDQM.h:145
double plotPtMin
Definition: EmDQM.h:96
MonitorElement * etgen
Definition: EmDQM.h:147
edm::InputTag gencutCollection_
Definition: EmDQM.h:108
bool noPhiPlots
Definition: EmDQM.h:67
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of"!*"before the partial wildcard feature was incorporated).The per-event"cost"of each negative criterion with multiple relevant triggers is about the same as!*was in the past
EmDQM(const edm::ParameterSet &pset)
Constructor.
Definition: EmDQM.cc:45
std::vector< MonitorElement * > histEtaOfHltObjMatchToGen
Definition: EmDQM.h:131
bool mcMatchedOnly
Definition: EmDQM.h:66
std::vector< MonitorElement * > ethistisomatch
Definition: EmDQM.h:139
bool checkGeneratedParticlesRequirement(const edm::Event &event)
Definition: EmDQM.cc:370
double genEtAcc
Definition: EmDQM.h:91
double plotPhiMax
Definition: EmDQM.h:95
void analyze(const edm::Event &event, const edm::EventSetup &)
Definition: EmDQM.cc:472
void fillHistos(edm::Handle< trigger::TriggerEventWithRefs > &, const edm::Event &, unsigned int, std::vector< reco::Particle > &, bool &)
Definition: EmDQM.cc:601
HLTConfigProvider hltConf_
The instance of the HLTConfigProvider as a data member.
Definition: EmDQM.h:58
std::vector< MonitorElement * > ethist
Definition: EmDQM.h:126
std::vector< MonitorElement * > etahistmatch
Definition: EmDQM.h:127
std::vector< MonitorElement * > etahistiso
Definition: EmDQM.h:134
std::vector< MonitorElement * > histPhiOfHltObjMatchToGen
Definition: EmDQM.h:132
std::vector< MonitorElement * > ethistmatch
Definition: EmDQM.h:129
bool useHumanReadableHistTitles
Definition: EmDQM.h:65
unsigned int pathIndex
Definition: EmDQM.h:62
std::vector< MonitorElement * > phihistiso
Definition: EmDQM.h:135
std::vector< MonitorElement * > etahist
Definition: EmDQM.h:124
std::vector< MonitorElement * > histEtIsoOfHltObjMatchToGen
Definition: EmDQM.h:140
std::vector< std::string > theHLTCollectionHumanNames
Definition: EmDQM.h:69
GreaterByPt< reco::Particle > pTComparator_
Definition: EmDQM.h:156
void endJob()
Definition: EmDQM.cc:852
std::vector< MonitorElement * > etahistisomatch
Definition: EmDQM.h:137
std::vector< int > theHLTOutputTypes
Definition: EmDQM.h:71
edm::InputTag triggerobjwithrefs
Definition: EmDQM.h:61
unsigned int reqNum
Definition: EmDQM.h:88
unsigned int plotBins
Definition: EmDQM.h:98
std::vector< MonitorElement * > histEtOfHltObjMatchToGen
Definition: EmDQM.h:130
Definition: Run.h:32
std::vector< std::pair< double, double > > plotBounds
Definition: EmDQM.h:74
double genEtaAcc
Definition: EmDQM.h:90
MonitorElement * total
Definition: EmDQM.h:144
std::vector< bool > plotiso
Definition: EmDQM.h:72
std::vector< MonitorElement * > phihistisomatch
Definition: EmDQM.h:138