CMS 3D CMS Logo

DQMExample_Step1.cc
Go to the documentation of this file.
3 
4 // Geometry
8 #include "TLorentzVector.h"
9 
10 #include <cmath>
11 #include <cstdio>
12 #include <iomanip>
13 #include <iostream>
14 #include <sstream>
15 #include <string>
16 
17 //
18 // -------------------------------------- Constructor
19 // --------------------------------------------
20 //
22  edm::LogInfo("DQMExample_Step1") << "Constructor DQMExample_Step1::DQMExample_Step1 " << std::endl;
23 
24  // Get parameters from configuration file
25  theElectronCollection_ = consumes<reco::GsfElectronCollection>(ps.getParameter<edm::InputTag>("electronCollection"));
26  theCaloJetCollection_ = consumes<reco::CaloJetCollection>(ps.getParameter<edm::InputTag>("caloJetCollection"));
27  thePfMETCollection_ = consumes<reco::PFMETCollection>(ps.getParameter<edm::InputTag>("pfMETCollection"));
29  consumes<reco::ConversionCollection>(ps.getParameter<edm::InputTag>("conversionsCollection"));
30  thePVCollection_ = consumes<reco::VertexCollection>(ps.getParameter<edm::InputTag>("PVCollection"));
31  theBSCollection_ = consumes<reco::BeamSpot>(ps.getParameter<edm::InputTag>("beamSpotCollection"));
32  triggerEvent_ = consumes<trigger::TriggerEvent>(ps.getParameter<edm::InputTag>("TriggerEvent"));
33  triggerResults_ = consumes<edm::TriggerResults>(ps.getParameter<edm::InputTag>("TriggerResults"));
34  triggerFilter_ = ps.getParameter<edm::InputTag>("TriggerFilter");
35  triggerPath_ = ps.getParameter<std::string>("TriggerPath");
36 
37  // cuts:
38  ptThrL1_ = ps.getUntrackedParameter<double>("PtThrL1");
39  ptThrL2_ = ps.getUntrackedParameter<double>("PtThrL2");
40  ptThrJet_ = ps.getUntrackedParameter<double>("PtThrJet");
41  ptThrMet_ = ps.getUntrackedParameter<double>("PtThrMet");
42 }
43 
44 //
45 // -- Destructor
46 //
48  edm::LogInfo("DQMExample_Step1") << "Destructor DQMExample_Step1::~DQMExample_Step1 " << std::endl;
49 }
50 
51 //
52 // -------------------------------------- beginRun
53 // --------------------------------------------
54 //
56  edm::LogInfo("DQMExample_Step1") << "DQMExample_Step1::beginRun" << std::endl;
57 }
58 //
59 // -------------------------------------- bookHistos
60 // --------------------------------------------
61 //
63  edm::LogInfo("DQMExample_Step1") << "DQMExample_Step1::bookHistograms" << std::endl;
64 
65  // book at beginRun
66  bookHistos(ibooker_);
67 }
68 //
69 // -------------------------------------- Analyze
70 // --------------------------------------------
71 //
73  edm::LogInfo("DQMExample_Step1") << "DQMExample_Step1::analyze" << std::endl;
74 
75  //-------------------------------
76  //--- Vertex Info
77  //-------------------------------
79  e.getByToken(thePVCollection_, vertexHandle);
80  if (!vertexHandle.isValid()) {
81  edm::LogError("DQMClientExample") << "invalid collection: vertex"
82  << "\n";
83  return;
84  }
85 
86  int vertex_number = vertexHandle->size();
87  reco::VertexCollection::const_iterator v = vertexHandle->begin();
88 
89  math::XYZPoint PVPoint(-999, -999, -999);
90  if (vertex_number != 0)
91  PVPoint = math::XYZPoint(v->position().x(), v->position().y(), v->position().z());
92 
93  PVPoint_ = PVPoint;
94 
95  //-------------------------------
96  //--- MET
97  //-------------------------------
100  if (!pfMETCollection.isValid()) {
101  edm::LogError("DQMClientExample") << "invalid collection: MET"
102  << "\n";
103  return;
104  }
105  //-------------------------------
106  //--- Electrons
107  //-------------------------------
110  if (!electronCollection.isValid()) {
111  edm::LogError("DQMClientExample") << "invalid collection: electrons"
112  << "\n";
113  return;
114  }
115 
116  float nEle = 0;
117  int posEle = 0, negEle = 0;
118  const reco::GsfElectron *ele1 = nullptr;
119  const reco::GsfElectron *ele2 = nullptr;
120  for (reco::GsfElectronCollection::const_iterator recoElectron = electronCollection->begin();
121  recoElectron != electronCollection->end();
122  ++recoElectron) {
123  // decreasing pT
124  if (MediumEle(e, eSetup, *recoElectron)) {
125  if (!ele1 && recoElectron->pt() > ptThrL1_)
126  ele1 = &(*recoElectron);
127 
128  else if (!ele2 && recoElectron->pt() > ptThrL2_)
129  ele2 = &(*recoElectron);
130  }
131 
132  if (recoElectron->charge() == 1)
133  posEle++;
134  else if (recoElectron->charge() == -1)
135  negEle++;
136 
137  } // end of loop over electrons
138 
139  nEle = posEle + negEle;
140 
141  //-------------------------------
142  //--- Jets
143  //-------------------------------
146  if (!caloJetCollection.isValid()) {
147  edm::LogError("DQMClientExample") << "invalid collection: jets"
148  << "\n";
149  return;
150  }
151 
152  int nJet = 0;
153  const reco::CaloJet *jet1 = nullptr;
154  const reco::CaloJet *jet2 = nullptr;
155 
156  for (reco::CaloJetCollection::const_iterator i_calojet = caloJetCollection->begin();
157  i_calojet != caloJetCollection->end();
158  ++i_calojet) {
159  // remove jet-ele matching
160  if (ele1)
161  if (Distance(*i_calojet, *ele1) < 0.3)
162  continue;
163 
164  if (ele2)
165  if (Distance(*i_calojet, *ele2) < 0.3)
166  continue;
167 
168  if (i_calojet->pt() < ptThrJet_)
169  continue;
170 
171  nJet++;
172 
173  if (!jet1)
174  jet1 = &(*i_calojet);
175 
176  else if (!jet2)
177  jet2 = &(*i_calojet);
178  }
179 
180  // ---------------------------
181  // ---- Analyze Trigger Event
182  // ---------------------------
183 
184  // check what is in the menu
186  e.getByToken(triggerResults_, hltresults);
187 
188  if (!hltresults.isValid()) {
189  edm::LogError("DQMClientExample") << "invalid collection: TriggerResults"
190  << "\n";
191  return;
192  }
193 
194  bool hasFired = false;
195  const edm::TriggerNames &trigNames = e.triggerNames(*hltresults);
196  unsigned int numTriggers = trigNames.size();
197 
198  for (unsigned int hltIndex = 0; hltIndex < numTriggers; ++hltIndex) {
199  if (trigNames.triggerName(hltIndex) == triggerPath_ && hltresults->wasrun(hltIndex) && hltresults->accept(hltIndex))
200  hasFired = true;
201  }
202 
203  // access the trigger event
205  e.getByToken(triggerEvent_, triggerEvent);
206  if (triggerEvent.failedToGet()) {
207  edm::LogError("DQMClientExample") << "invalid collection: TriggerEvent"
208  << "\n";
209  return;
210  }
211 
212  reco::Particle *ele1_HLT = nullptr;
213  int nEle_HLT = 0;
214 
215  size_t filterIndex = triggerEvent->filterIndex(triggerFilter_);
217  if (!(filterIndex >= triggerEvent->sizeFilters())) {
218  const trigger::Keys &keys = triggerEvent->filterKeys(filterIndex);
219  std::vector<reco::Particle> triggeredEle;
220 
221  for (size_t j = 0; j < keys.size(); ++j) {
223  if (abs(foundObject.particle().pdgId()) != 11)
224  continue; // make sure that it is an electron
225 
226  triggeredEle.push_back(foundObject.particle());
227  ++nEle_HLT;
228  }
229 
230  if (!triggeredEle.empty())
231  ele1_HLT = &(triggeredEle.at(0));
232  }
233 
234  //-------------------------------
235  //--- Fill the histos
236  //-------------------------------
237 
238  // vertex
239  h_vertex_number->Fill(vertex_number);
240 
241  // met
242  h_pfMet->Fill(pfMETCollection->begin()->et());
243 
244  // multiplicities
245  h_eMultiplicity->Fill(nEle);
246  h_jMultiplicity->Fill(nJet);
247  h_eMultiplicity_HLT->Fill(nEle_HLT);
248 
249  // leading not matched
250  if (ele1) {
251  h_ePt_leading->Fill(ele1->pt());
252  h_eEta_leading->Fill(ele1->eta());
253  h_ePhi_leading->Fill(ele1->phi());
254  }
255  if (ele1_HLT) {
256  h_ePt_leading_HLT->Fill(ele1_HLT->pt());
257  h_eEta_leading_HLT->Fill(ele1_HLT->eta());
258  h_ePhi_leading_HLT->Fill(ele1_HLT->phi());
259  }
260  // leading Jet
261  if (jet1) {
262  h_jPt_leading->Fill(jet1->pt());
263  h_jEta_leading->Fill(jet1->eta());
264  h_jPhi_leading->Fill(jet1->phi());
265  }
266 
267  // fill only when the trigger candidate mathes with the reco one
268  if (ele1 && ele1_HLT && deltaR(*ele1_HLT, *ele1) < 0.3 && hasFired == true) {
269  h_ePt_leading_matched->Fill(ele1->pt());
270  h_eEta_leading_matched->Fill(ele1->eta());
271  h_ePhi_leading_matched->Fill(ele1->phi());
272 
273  h_ePt_leading_HLT_matched->Fill(ele1_HLT->pt());
274  h_eEta_leading_HLT_matched->Fill(ele1_HLT->eta());
275  h_ePhi_leading_HLT_matched->Fill(ele1_HLT->phi());
276 
277  h_ePt_diff->Fill(ele1->pt() - ele1_HLT->pt());
278  }
279 }
280 
281 //
282 // -------------------------------------- endRun
283 // --------------------------------------------
284 //
285 //
286 // -------------------------------------- book histograms
287 // --------------------------------------------
288 //
290  ibooker_.cd();
291  ibooker_.setCurrentFolder("Physics/TopTest");
292 
293  h_vertex_number = ibooker_.book1D("Vertex_number", "Number of event vertices in collection", 40, -0.5, 39.5);
294 
295  h_pfMet = ibooker_.book1D("pfMet", "Pf Missing E_{T}; GeV", 20, 0.0, 100);
296 
297  h_eMultiplicity = ibooker_.book1D("NElectrons", "# of electrons per event", 10, 0., 10.);
298  h_ePt_leading_matched = ibooker_.book1D("ElePt_leading_matched", "Pt of leading electron", 50, 0., 100.);
299  h_eEta_leading_matched = ibooker_.book1D("EleEta_leading_matched", "Eta of leading electron", 50, -5., 5.);
300  h_ePhi_leading_matched = ibooker_.book1D("ElePhi_leading_matched", "Phi of leading electron", 50, -3.5, 3.5);
301 
302  h_ePt_leading = ibooker_.book1D("ElePt_leading", "Pt of leading electron", 50, 0., 100.);
303  h_eEta_leading = ibooker_.book1D("EleEta_leading", "Eta of leading electron", 50, -5., 5.);
304  h_ePhi_leading = ibooker_.book1D("ElePhi_leading", "Phi of leading electron", 50, -3.5, 3.5);
305 
306  h_jMultiplicity = ibooker_.book1D("NJets", "# of electrons per event", 10, 0., 10.);
307  h_jPt_leading = ibooker_.book1D("JetPt_leading", "Pt of leading Jet", 150, 0., 300.);
308  h_jEta_leading = ibooker_.book1D("JetEta_leading", "Eta of leading Jet", 50, -5., 5.);
309  h_jPhi_leading = ibooker_.book1D("JetPhi_leading", "Phi of leading Jet", 50, -3.5, 3.5);
310 
311  h_eMultiplicity_HLT = ibooker_.book1D("NElectrons_HLT", "# of electrons per event @HLT", 10, 0., 10.);
312  h_ePt_leading_HLT = ibooker_.book1D("ElePt_leading_HLT", "Pt of leading electron @HLT", 50, 0., 100.);
313  h_eEta_leading_HLT = ibooker_.book1D("EleEta_leading_HLT", "Eta of leading electron @HLT", 50, -5., 5.);
314  h_ePhi_leading_HLT = ibooker_.book1D("ElePhi_leading_HLT", "Phi of leading electron @HLT", 50, -3.5, 3.5);
315 
316  h_ePt_leading_HLT_matched = ibooker_.book1D("ElePt_leading_HLT_matched", "Pt of leading electron @HLT", 50, 0., 100.);
318  ibooker_.book1D("EleEta_leading_HLT_matched", "Eta of leading electron @HLT", 50, -5., 5.);
320  ibooker_.book1D("ElePhi_leading_HLT_matched", "Phi of leading electron @HLT", 50, -3.5, 3.5);
321 
322  h_ePt_diff = ibooker_.book1D("ElePt_diff_matched", "pT(RECO) - pT(HLT) for mathed candidates", 100, -10, 10.);
323 
324  ibooker_.cd();
325 }
326 
327 //
328 // -------------------------------------- functions
329 // --------------------------------------------
330 //
331 double DQMExample_Step1::Distance(const reco::Candidate &c1, const reco::Candidate &c2) { return deltaR(c1, c2); }
332 
334  return deltaPhi(c1.p4().phi(), c2.p4().phi());
335 }
336 
337 // This always returns only a positive deltaPhi
338 double DQMExample_Step1::calcDeltaPhi(double phi1, double phi2) {
339  double deltaPhi = phi1 - phi2;
340  if (deltaPhi < 0)
341  deltaPhi = -deltaPhi;
342  if (deltaPhi > 3.1415926) {
343  deltaPhi = 2 * 3.1415926 - deltaPhi;
344  }
345  return deltaPhi;
346 }
347 
348 //
349 // -------------------------------------- electronID
350 // --------------------------------------------
351 //
353  const edm::EventSetup &iESetup,
354  const reco::GsfElectron &electron) {
355  //********* CONVERSION TOOLS
357  iEvent.getByToken(theConversionCollection_, conversions_h);
358 
359  bool isMediumEle = false;
360 
361  float pt = electron.pt();
362  float eta = electron.eta();
363 
364  int isEB = electron.isEB();
365  float sigmaIetaIeta = electron.sigmaIetaIeta();
366  float DetaIn = electron.deltaEtaSuperClusterTrackAtVtx();
367  float DphiIn = electron.deltaPhiSuperClusterTrackAtVtx();
368  float HOverE = electron.hadronicOverEm();
369  float ooemoop = (1.0 / electron.ecalEnergy() - electron.eSuperClusterOverP() / electron.ecalEnergy());
370 
371  int mishits = electron.gsfTrack()->hitPattern().numberOfLostHits(reco::HitPattern::MISSING_INNER_HITS);
372  int nAmbiguousGsfTracks = electron.ambiguousGsfTracksSize();
373 
374  reco::GsfTrackRef eleTrack = electron.gsfTrack();
375  float dxy = eleTrack->dxy(PVPoint_);
376  float dz = eleTrack->dz(PVPoint_);
377 
379  iEvent.getByToken(theBSCollection_, BSHandle);
380  const reco::BeamSpot BS = *BSHandle;
381 
382  bool isConverted = ConversionTools::hasMatchedConversion(electron, *conversions_h, BS.position());
383 
384  // default
385  if ((pt > 12.) && (fabs(eta) < 2.5) &&
386  (((isEB == 1) && (fabs(DetaIn) < 0.004)) || ((isEB == 0) && (fabs(DetaIn) < 0.007))) &&
387  (((isEB == 1) && (fabs(DphiIn) < 0.060)) || ((isEB == 0) && (fabs(DphiIn) < 0.030))) &&
388  (((isEB == 1) && (sigmaIetaIeta < 0.010)) || ((isEB == 0) && (sigmaIetaIeta < 0.030))) &&
389  (((isEB == 1) && (HOverE < 0.120)) || ((isEB == 0) && (HOverE < 0.100))) &&
390  (((isEB == 1) && (fabs(ooemoop) < 0.050)) || ((isEB == 0) && (fabs(ooemoop) < 0.050))) &&
391  (((isEB == 1) && (fabs(dxy) < 0.020)) || ((isEB == 0) && (fabs(dxy) < 0.020))) &&
392  (((isEB == 1) && (fabs(dz) < 0.100)) || ((isEB == 0) && (fabs(dz) < 0.100))) &&
393  (((isEB == 1) && (!isConverted)) || ((isEB == 0) && (!isConverted))) && (mishits == 0) &&
394  (nAmbiguousGsfTracks == 0))
395  isMediumEle = true;
396 
397  return isMediumEle;
398 }
reco::Particle::pdgId
int pdgId() const
PDG identifier.
Definition: Particle.h:150
reco::CaloJet
Jets made from CaloTowers.
Definition: CaloJet.h:27
DQMExample_Step1::h_jMultiplicity
MonitorElement * h_jMultiplicity
Definition: DQMExample_Step1.h:110
DQMExample_Step1::theElectronCollection_
edm::EDGetTokenT< reco::GsfElectronCollection > theElectronCollection_
Definition: DQMExample_Step1.h:70
DQMExample_Step1::DQMExample_Step1
DQMExample_Step1(const edm::ParameterSet &ps)
Definition: DQMExample_Step1.cc:21
DQMExample_Step1::h_eMultiplicity
MonitorElement * h_eMultiplicity
Definition: DQMExample_Step1.h:94
MessageLogger.h
trigger::TriggerObject::particle
reco::Particle particle(reco::Particle::Charge q=0, const reco::Particle::Point &vertex=reco::Particle::Point(0, 0, 0), int status=0, bool integerCharge=true) const
Definition: TriggerObject.h:65
DQMExample_Step1::h_ePhi_leading_matched
MonitorElement * h_ePhi_leading_matched
Definition: DQMExample_Step1.h:100
trigNames
static const char *const trigNames[]
Definition: EcalDumpRaw.cc:57
triggerMatchMonitor_cfi.triggerObjects
triggerObjects
Definition: triggerMatchMonitor_cfi.py:15
DQMExample_Step1::~DQMExample_Step1
~DQMExample_Step1() override
Definition: DQMExample_Step1.cc:47
reco::Particle::pt
double pt() const
transverse momentum
Definition: Particle.h:120
DQMExample_Step1::h_jPt_leading
MonitorElement * h_jPt_leading
Definition: DQMExample_Step1.h:111
HLTBitAnalyser_cfi.hltresults
hltresults
Definition: HLTBitAnalyser_cfi.py:13
reco::Particle
Definition: Particle.h:16
DiDispStaMuonMonitor_cfi.pt
pt
Definition: DiDispStaMuonMonitor_cfi.py:39
DQMExample_Step1::theBSCollection_
edm::EDGetTokenT< reco::BeamSpot > theBSCollection_
Definition: DQMExample_Step1.h:75
edm::Run
Definition: Run.h:45
DQMExample_Step1::h_pfMet
MonitorElement * h_pfMet
Definition: DQMExample_Step1.h:92
DQMExample_Step1::h_eEta_leading_matched
MonitorElement * h_eEta_leading_matched
Definition: DQMExample_Step1.h:99
edm::LogInfo
Definition: MessageLogger.h:254
DQMExample_Step1::h_jEta_leading
MonitorElement * h_jEta_leading
Definition: DQMExample_Step1.h:112
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
DQMExample_Step1::triggerEvent_
edm::EDGetTokenT< trigger::TriggerEvent > triggerEvent_
Definition: DQMExample_Step1.h:76
DQMExample_Step1::h_eEta_leading_HLT_matched
MonitorElement * h_eEta_leading_HLT_matched
Definition: DQMExample_Step1.h:107
DQMExample_Step1::triggerResults_
edm::EDGetTokenT< edm::TriggerResults > triggerResults_
Definition: DQMExample_Step1.h:77
pdwgLeptonRecoSkim_cfi.electronCollection
electronCollection
Definition: pdwgLeptonRecoSkim_cfi.py:5
DQMExample_Step1::Distance
double Distance(const reco::Candidate &c1, const reco::Candidate &c2)
Definition: DQMExample_Step1.cc:331
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
relativeConstraints.keys
keys
Definition: relativeConstraints.py:89
reco::LeafCandidate::pt
double pt() const final
transverse momentum
Definition: LeafCandidate.h:146
findQualityFiles.v
v
Definition: findQualityFiles.py:179
edm::Handle< reco::VertexCollection >
DQMExample_Step1::h_ePt_leading_HLT
MonitorElement * h_ePt_leading_HLT
Definition: DQMExample_Step1.h:103
reco::Particle::eta
double eta() const
momentum pseudorapidity
Definition: Particle.h:126
edm::Ref< GsfTrackCollection >
DQMExample_Step1::h_ePt_diff
MonitorElement * h_ePt_diff
Definition: DQMExample_Step1.h:115
deltaR.h
DQMExample_Step1::h_ePhi_leading
MonitorElement * h_ePhi_leading
Definition: DQMExample_Step1.h:97
DQMExample_Step1::thePfMETCollection_
edm::EDGetTokenT< reco::PFMETCollection > thePfMETCollection_
Definition: DQMExample_Step1.h:73
DQMExample_Step1::ptThrJet_
double ptThrJet_
Definition: DQMExample_Step1.h:83
SiPixelRawToDigiRegional_cfi.deltaPhi
deltaPhi
Definition: SiPixelRawToDigiRegional_cfi.py:9
DQMExample_Step1::theConversionCollection_
edm::EDGetTokenT< reco::ConversionCollection > theConversionCollection_
Definition: DQMExample_Step1.h:71
DQMExample_Step1::theCaloJetCollection_
edm::EDGetTokenT< reco::CaloJetCollection > theCaloJetCollection_
Definition: DQMExample_Step1.h:72
PVValHelper::eta
Definition: PVValidationHelpers.h:69
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
ConversionTools::hasMatchedConversion
static bool hasMatchedConversion(const reco::GsfElectron &ele, const reco::ConversionCollection &convCol, const math::XYZPoint &beamspot, bool allowCkfMatch=true, float lxyMin=2.0, float probMin=1e-6, unsigned int nHitsBeforeVtxMax=0)
Definition: ConversionTools.cc:184
reco::BeamSpot
Definition: BeamSpot.h:21
dqm::implementation::NavigatorBase::cd
virtual void cd()
Definition: DQMStore.cc:29
reco::GsfElectron
Definition: GsfElectron.h:35
reco::BeamSpot::position
const Point & position() const
position
Definition: BeamSpot.h:59
trigger::TriggerObject
Single trigger physics object (e.g., an isolated muon)
Definition: TriggerObject.h:21
PbPb_ZMuSkimMuonDPG_cff.deltaR
deltaR
Definition: PbPb_ZMuSkimMuonDPG_cff.py:63
DQMExample_Step1::bookHistograms
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
Definition: DQMExample_Step1.cc:62
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
DQMExample_Step1::h_ePt_leading_HLT_matched
MonitorElement * h_ePt_leading_HLT_matched
Definition: DQMExample_Step1.h:106
edm::ParameterSet
Definition: ParameterSet.h:36
math::XYZPoint
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
DQMExample_Step1::DistancePhi
double DistancePhi(const reco::Candidate &c1, const reco::Candidate &c2)
Definition: DQMExample_Step1.cc:333
edm::LogError
Definition: MessageLogger.h:183
reco::LeafCandidate::eta
double eta() const final
momentum pseudorapidity
Definition: LeafCandidate.h:152
trigger::TriggerObjectCollection
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
Definition: TriggerObject.h:75
DQMExample_Step1::ptThrL1_
double ptThrL1_
Definition: DQMExample_Step1.h:81
DQMExample_Step1.h
LorentzVector.h
iEvent
int iEvent
Definition: GenABIO.cc:224
alignmentValidation.c1
c1
do drawing
Definition: alignmentValidation.py:1025
DQMExample_Step1::h_jPhi_leading
MonitorElement * h_jPhi_leading
Definition: DQMExample_Step1.h:113
trigger::Keys
std::vector< size_type > Keys
Definition: TriggerTypeDefs.h:19
DQMExample_Step1::h_ePhi_leading_HLT_matched
MonitorElement * h_ePhi_leading_HLT_matched
Definition: DQMExample_Step1.h:108
edm::EventSetup
Definition: EventSetup.h:57
DQMExample_Step1::h_eEta_leading
MonitorElement * h_eEta_leading
Definition: DQMExample_Step1.h:96
DQMExample_Step1::dqmBeginRun
void dqmBeginRun(edm::Run const &, edm::EventSetup const &) override
Definition: DQMExample_Step1.cc:55
PDWG_DiPhoton_SD_cff.triggerEvent
triggerEvent
Definition: PDWG_DiPhoton_SD_cff.py:39
HPSPFTauProducerPuppi_cfi.electron
electron
Definition: HPSPFTauProducerPuppi_cfi.py:13
DQMExample_Step1::h_eMultiplicity_HLT
MonitorElement * h_eMultiplicity_HLT
Definition: DQMExample_Step1.h:102
DQMExample_Step1::ptThrMet_
double ptThrMet_
Definition: DQMExample_Step1.h:84
reco::Candidate
Definition: Candidate.h:27
DQMExample_Step1::analyze
void analyze(edm::Event const &e, edm::EventSetup const &eSetup) override
Definition: DQMExample_Step1.cc:72
DQMExample_Step1::triggerPath_
std::string triggerPath_
Definition: DQMExample_Step1.h:79
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
DQMExample_Step1::h_vertex_number
MonitorElement * h_vertex_number
Definition: DQMExample_Step1.h:90
DQMExample_Step1::h_eEta_leading_HLT
MonitorElement * h_eEta_leading_HLT
Definition: DQMExample_Step1.h:104
B2GDQM_cfi.pfMETCollection
pfMETCollection
Definition: B2GDQM_cfi.py:27
PVValHelper::dxy
Definition: PVValidationHelpers.h:47
reco::LeafCandidate::phi
double phi() const final
momentum azimuthal angle
Definition: LeafCandidate.h:148
PVValHelper::dz
Definition: PVValidationHelpers.h:50
DQMExample_Step1::bookHistos
void bookHistos(DQMStore::IBooker &)
Definition: DQMExample_Step1.cc:289
DQMExample_Step1::h_ePhi_leading_HLT
MonitorElement * h_ePhi_leading_HLT
Definition: DQMExample_Step1.h:105
reco::HitPattern::MISSING_INNER_HITS
Definition: HitPattern.h:155
edm::TriggerNames
Definition: TriggerNames.h:55
reco::Particle::phi
double phi() const
momentum azimuthal angle
Definition: Particle.h:122
DQMExample_Step1::ptThrL2_
double ptThrL2_
Definition: DQMExample_Step1.h:82
DQMExample_Step1::thePVCollection_
edm::EDGetTokenT< reco::VertexCollection > thePVCollection_
Definition: DQMExample_Step1.h:74
DQMExample_Step1::MediumEle
bool MediumEle(const edm::Event &iEvent, const edm::EventSetup &iESetup, const reco::GsfElectron &electron)
Definition: DQMExample_Step1.cc:352
reco::Candidate::p4
virtual const LorentzVector & p4() const =0
four-momentum Lorentz vector
dqm::implementation::IBooker
Definition: DQMStore.h:43
DQMExample_Step1::triggerFilter_
edm::InputTag triggerFilter_
Definition: DQMExample_Step1.h:78
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
edm::Event
Definition: Event.h:73
pdwgLeptonRecoSkim_cfi.caloJetCollection
caloJetCollection
Definition: pdwgLeptonRecoSkim_cfi.py:8
edm::InputTag
Definition: InputTag.h:15
DQMExample_Step1::calcDeltaPhi
double calcDeltaPhi(double phi1, double phi2)
Definition: DQMExample_Step1.cc:338
deltaPhi.h
DQMExample_Step1::h_ePt_leading_matched
MonitorElement * h_ePt_leading_matched
Definition: DQMExample_Step1.h:98
dqm::implementation::IBooker::book1D
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
DQMExample_Step1::PVPoint_
math::XYZPoint PVPoint_
Definition: DQMExample_Step1.h:67
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37
DQMExample_Step1::h_ePt_leading
MonitorElement * h_ePt_leading
Definition: DQMExample_Step1.h:95