10 #include "CLHEP/Units/defs.h" 11 #include "CLHEP/Units/PhysicalConstants.h" 12 #include "CLHEP/Units/SystemOfUnits.h" 14 #include "fastjet/JetDefinition.hh" 15 #include "fastjet/ClusterSequence.hh" 20 : wmanager_(iPSet, consumesCollector()),
21 hepmcCollection_(iPSet.getParameter<
edm::
InputTag>(
"hepmcCollection")),
22 genchjetCollection_(iPSet.getParameter<
edm::
InputTag>(
"genChjetsCollection")),
23 genjetCollection_(iPSet.getParameter<
edm::
InputTag>(
"genjetsCollection")),
24 verbosity_(iPSet.getUntrackedParameter<unsigned
int>(
"verbosity", 0)) {
47 i.setCurrentFolder(
"Generator/MBUEandQCD");
52 nEvt =
dqm.book1dHisto(
"nEvt",
"n analyzed Events", 1, 0., 1.,
" ",
"Number of events");
56 "nNoFwdTrig",
"n Events no forward trigger", 1, 0., 1.,
" ",
"Number of Events with no Forward Trigger");
60 "n Events single arm forward trigger",
65 "Number of Events with Single Arm Forward Trigger");
68 nbquark =
dqm.book1dHisto(
"nbquark",
"n Events with b quark", 1, 0., 1.,
" ",
"Number of Events with b Quarks");
72 "ncandbquark",
"n Events with c and b quark", 1, 0., 1.,
"",
"Number of Events with c and b Quark");
76 "ncnobquark",
"n Events with c and no b quark", 1, 0., 1.,
"",
"Number of Events with c and no b Quark");
80 "nEvt1",
"n Events QCD-09-010", 1, 0., 1.,
"",
"Number of Events passing the QCD-09-010 selection");
87 "P_{t}^{charged tracks QCD-09-010 selection} (GeV)",
88 "Number of Charged Tracks");
91 "dNchdeta QCD-09-010",
95 "#eta^{charged tracks QCD-09-010 selection}",
96 "Number of Charged Tracks");
100 "nEvt2",
"n Events QCD-10-001", 1, 0., 1.,
"",
"Number of Events passing the QCD-10-001 selection");
103 "leading track pt QCD-10-001",
107 "P_{t}^{lead track QCD-10-001 selection} (GeV)",
111 "leading track eta QCD-10-001",
115 "#eta^{lead track QCD-10-001 selection}",
118 nChaDenLpt =
i.bookProfile(
"nChaDenLpt",
"charged density vs leading pt", 200, 0., 100., 0., 100.,
" ");
120 sptDenLpt =
i.bookProfile(
"sptDenLpt",
"sum pt density vs leading pt", 200, 0., 100., 0., 300.,
" ");
123 "dNchdpt QCD-10-001",
127 "P_{t}^{charged tracks QCD-10-001 selection} (GeV)",
128 "Number of Charged Tracks");
131 "dNchdeta QCD-10-001",
135 "#eta^{charged tracks QCD-10-001 selection}",
136 "Number of Charged Tracks");
139 "nCha",
"n charged QCD-10-001", 100, 0., 100.,
"N^{charged tracks QCD-10-001 selection}",
"Number of Events");
142 "dNchdSpt QCD-10-001",
146 "P_{t}^{charged trackes in transverse region QCD-10-001selection} (GeV)",
147 "Number of Charged Tracks");
149 dNchdphi =
i.bookProfile(
"dNchdphi",
"dNchdphi QCD-10-001",
nphiBin, -180., 180., 0., 30.,
" ");
151 dSptdphi =
i.bookProfile(
"dSptdphi",
"dSptdphi QCD-10-001",
nphiBin, -180., 180., 0., 30.,
" ");
155 "nChj",
"n charged jets QCD-10-001", 30, 0, 30.,
"N^{charged jets QCD-10-001 selection}",
"Number of Events");
158 "dNchjdeta QCD-10-001",
162 "#eta^{charged jets QCD-10-001 selection}",
163 "Number of charged Jets");
166 "dNchjdpt QCD-10-001",
170 "P_{t}^{charged jets QCD-10-001 selection}",
171 "Number of charged Jets");
174 "leadChjpt QCD-10-001",
178 "P_{t}^{lead charged jet QCD-10-001 selection}",
179 "Number of charged Jets");
182 "leadChjeta QCD-10-001",
186 "#eta^{lead charged jet QCD-10-001 selection}",
187 "Number of charged Jets");
189 pt1pt2optotch =
i.bookProfile(
"pt1pt2optotch",
"sum 2 leading jets over ptot", 50, 0., 100., 0., 1.,
" ");
193 "nPPbar",
"nPPbar QCD-10-001", 30, 0., 30.,
"N_{p/#bar{p}}^{QCD-10-001 selection}",
"Number of p/#bar{p}");
195 "nKpm",
"nKpm QCD-10-001", 30, 0., 30.,
"N_{K^{#pm}}^{QCD-10-001 selection}",
"Number of K^{#pm}");
196 nK0s =
dqm.book1dHisto(
"nK0s",
"nK0s QCD-10-001", 30, 0., 30.,
"N_{K^{0}}^{QCD-10-001 selection}",
"Number of K^{0}");
198 "nL0",
"nL0 QCD-10-001", 30, 0., 30.,
"N_{#Lambda^{0}}^{QCD-10-001 selection}",
"Number of #Lambda^{0}");
199 nXim =
dqm.book1dHisto(
"nXim",
"nXim QCD-10-001", 30, 0., 30.,
"N_{#Xi}^{QCD-10-001 selection}",
"Number of #Xi");
201 "nOmega",
"nOmega QCD-10-001", 30, 0., 30.,
"N_{#Omega^{#pm}}^{QCD-10-001 selection}",
"Number of #Omega^{#pm}");
204 "Log10(pt) PPbar QCD-10-001",
208 "log_{10}(P_{t}^{p/#bar{p} QCD-10-001 selection}) (log_{10}(GeV))",
209 "Number of p/#bar{p}");
211 "Log10(pt) Kpm QCD-10-001",
215 "log_{10}(P_{t}^{K^{#pm} QCD-10-001 selection}) (log_{10}(GeV))",
216 "Number of K^{#pm}");
218 "Log10(pt) K0s QCD-10-001",
222 "log_{10}(P_{t}^{K^{0} QCD-10-001 selection}) (log_{10}(GeV))",
224 pL0 =
dqm.book1dHisto(
"pL0",
225 "Log10(pt) L0 QCD-10-001",
229 "log_{10}(P_{t}^{#Lambda^{0} QCD-10-001 selection}) (log_{10}(GeV))",
230 "Number of #Lambda^{0}");
232 "Log10(pt) Xim QCD-10-001",
236 "log_{10}(P_{t}^{#Xi^{#pm} QCD-10-001 selection}) (log_{10}(GeV))",
239 "Log10(pt) Omega QCD-10-001",
243 "log_{10}(P_{t}^{#Omega^{#pm} QCD-10-001 selection}) (log_{10}(GeV))",
244 "Number of #Omega^{#pm}");
248 "nNNbar",
"nNNbar QCD-10-001", 30, 0., 30.,
"N_{n/#bar{n}}^{QCD-10-001 selection}",
"Number of Events");
250 "nGamma",
"nGamma QCD-10-001", 50, 0., 200.,
"N_{#gamma}^{QCD-10-001 selection}",
"Number of Events");
253 "Log10(pt) NNbar QCD-10-001",
257 "log_{10}(P_{t}^{n/#bar{n} QCD-10-001 selection}) (log_{10}(GeV))",
258 "Number of n/#bar{n}");
260 "Log10(pt) Gamma QCD-10-001",
264 "log_{10}(P_{t}^{#gamma QCD-10-001 selection}) (log_{10}(GeV))",
269 "highest pt electron Log10(pt)",
273 "log_{10}(P_{t}^{highest e} (log_{10}(GeV))",
278 "highest pt muon Log10(pt)",
282 "log_{10}(P_{t}^{highest #mu} (log_{10}(GeV))",
287 "nDijet",
"n Dijet Events", 1, 0., 1.,
" ",
"Number of Events Passing Di-jet JME-10-001 Selection");
289 nj =
dqm.book1dHisto(
"nj",
"n jets ", 30, 0, 30.,
"N_{jets}^{JME-10-001}",
"Number of Events");
291 dNjdeta =
dqm.book1dHisto(
"dNjdeta",
"dNjdeta ", 50, -5., 5.,
"#eta_{jets}^{JME-10-001 selection}",
"Number of Jets");
293 dNjdpt =
dqm.book1dHisto(
"dNjdpt",
"dNjdpt ", 60, 0., 300.,
"P_{t}^{jets JME-10-001 selection}",
"Number of Jets");
295 pt1pt2optot =
i.bookProfile(
"pt1pt2optot",
"sum 2 leading jets over Et tot ", 60, 0., 300., 0., 1.,
" ");
298 dqm.book1dHisto(
"pt1pt2balance",
299 "2 leading jets pt difference ",
303 "#frac{P_{t}^{1st jet}-P_{t}^{2nd jet}}{P_{t}^{1st jet}+P_{t}^{2nd jet}}^{JME-10-001 selection}",
304 "Number of Di-jet Events");
307 "pt1 pt2 delta phi ",
311 "#Delta#phi(jet^{1st},jet^{2nd})^{JME-10-001 selection} (rad)",
312 "Number of Di-jet Events");
315 "pt1 pt2 invariant mass ",
319 "M_{di-jet}^{JME-10-001 selection}",
320 "Number of di-jet events");
323 "2 pt3 over pt1+pt2 ",
327 "#frac{P_{t}^{3rd jet}}{P_{t}^{1st jet}+P_{t}^{2nd jet}}^{JME-10-001 selection}",
328 "Number of 3rd Jets");
331 "sumJEt",
"sum Jet Et ", 60, 0., 300.,
"#Sigma E_{t}^{jets JME-10-001 selection}",
"Number of di-jet events");
334 "missing Et over sumJet Et ",
338 "E_{t}^{miss}/#Sigma E_{t}^{jets JME-10-001 selection}",
339 "Number of Di-jet Events");
346 "#Sigma P_{t}^{particles passing JME-10-001 selection}",
350 "sum charged particle Pt ",
354 "#Sigma P_{t}^{charged particles passing JME-10-001 selection}",
364 "Number of Events passing JME-10-001, FWD-10-002 and Jet-Multiplicity selection");
376 "dEdeta HF QCD dijet",
386 "nHFSD",
"n single diffraction in HF", 1, 0., 1.,
" ",
"Number of single diffraction in HF FWD-10-001 selection");
393 "#Sigma E_{cal. cells/corrected for the longitudinal mometum}^{FWD-10-001 selection}",
397 "number of HF- tower SD",
401 " N_{cells over threshold for single diffraction in HF Towers}^{FWD-10-001 selection}",
405 "eneHFmSel",
"energy in HF-", 40, 0., 200.,
"#Sigma E_{cal. cells}^{FWD-10-001 selection}",
"Number of Events");
408 _JM25njets =
dqm.book1dHisto(
"JM25njets",
"n jets", 15, 0, 15.,
"Number of JM25 Jets",
"Number of Events");
409 _JM25ht =
dqm.book1dHisto(
"JM25ht",
"HT", 80, 0, 800.,
"H_{t}^{JM25} (GeV)",
"Number of Events");
410 _JM25pt1 =
dqm.book1dHisto(
"JM25pt1",
"pt", 40, 0, 200.,
"P_{t}^{JM25,1st Jet} (GeV)",
"Number of JM25 Jets");
411 _JM25pt2 =
dqm.book1dHisto(
"JM25pt2",
"pt", 40, 0, 200.,
"P_{t}^{JM25,2nd Jet} (GeV)",
"Number of JM25 Jets");
412 _JM25pt3 =
dqm.book1dHisto(
"JM25pt3",
"pt", 40, 0, 200.,
"P_{t}^{JM25,3rd Jet} (GeV)",
"Number of JM25 Jets");
413 _JM25pt4 =
dqm.book1dHisto(
"JM25pt4",
"pt", 40, 0, 200.,
"P_{t}^{JM25,4th Jet} (GeV)",
"Number of JM25 Jets");
415 _JM80njets =
dqm.book1dHisto(
"JM80njets",
"n jets", 15, 0, 15.,
"Number of JM80 Jets",
"Number of Events");
416 _JM80ht =
dqm.book1dHisto(
"JM80ht",
"HT", 80, 300, 1100.,
"H_{t}^{JM80} (GeV",
"Number of Events");
417 _JM80pt1 =
dqm.book1dHisto(
"JM80pt1",
"pt", 40, 60, 260.,
"P_{t}^{JM80,1st Jet} (GeV)",
"Number of JM80 Jets");
418 _JM80pt2 =
dqm.book1dHisto(
"JM80pt2",
"pt", 40, 60, 260.,
"P_{t}^{JM80,2nd Jet} (GeV)",
"Number of JM80 Jets");
419 _JM80pt3 =
dqm.book1dHisto(
"JM80pt3",
"pt", 40, 60, 260.,
"P_{t}^{JM80,3rd Jet} (GeV)",
"Number of JM80 Jets");
420 _JM80pt4 =
dqm.book1dHisto(
"JM80pt4",
"pt", 40, 60, 260.,
"P_{t}^{JM80,4th Jet} (GeV)",
"Number of JM80 Jets");
424 "Differential Jet Rate 1#rightarrow0",
428 "log_{10}(d_{min}(n,n+1)) for n=0",
431 "Differential Jet Rate 2#rightarrow1",
435 "log_{10}(d_{min}(n,n+1)) for n=1",
438 "Differential Jet Rate 3#rightarrow2",
442 "log_{10}(d_{min}(n,n+1)) for n=2",
445 "Differential Jet Rate 4#rightarrow3",
449 "log_{10}(d_{min}(n,n+1)) for n=3",
454 "sumET",
"Sum of stable particles Et", 150, 0, 600.,
"#Sigma E_{t}^{stable particles}",
"Number of Events");
456 "Sum of stable particles Et (eta<0.5)",
460 "#Sigma E_{t}^{stable particles (#eta<0.5)}",
463 "Sum of stable particles Et (0.5<eta<1.0)",
467 "#Sigma E_{t}^{stable particles (0.5<#eta<1.0)}",
470 "Sum of stable particles Et (1.0<eta<1.5)",
474 "#Sigma E_{t}^{stable particles (1.0<#eta<1.5)}",
477 "Sum of stable particles Et (1.5<eta<2.0)",
481 "#Sigma E_{t}^{stable particles (1.5<#eta<2.0)}",
484 "Sum of stable particles Et (2.0<eta<5.0)",
488 "#Sigma E_{t}^{stable particles (2.0<#eta<5.0)}",
522 for (HepMC::GenEvent::particle_const_iterator iter = myGenEvent->particles_begin();
523 iter != myGenEvent->particles_end();
525 if (std::fabs((*iter)->pdg_id()) == 4) {
528 if (std::fabs((*iter)->pdg_id()) == 5) {
531 if ((*iter)->status() == 1) {
534 if (PData ==
nullptr) {
543 << (*iter)->pdg_id() << std::setw(14) <<
std::fixed << (*iter)->momentum().perp() << std::setw(14)
544 <<
std::fixed << (*iter)->momentum().eta() << std::setw(14) <<
std::fixed << (*iter)->momentum().phi()
598 if ((nBSCp > 0 || nBSCm > 0) && eneHFp >= 3. && eneHFm >= 3.) {
604 if ((nBSCp > 0 || nBSCm > 0) && nChaVtx >= 3 && nChapt05 > 1) {
610 if (nBSCp == 0 && nBSCm == 0) {
616 if ((nBSCp > 0 && nBSCm == 0) || (nBSCm > 0 && nBSCp == 0)) {
622 if (nBSCp > 0 && nBSCm > 0) {
628 if (sel5 && nChaVtx > 3) {
634 if (nChaVtx >= 3 && nBSCm > 0 && eneHFp < 8.) {
654 if (nb > 0 && nc > 0)
656 if (nb == 0 && nc > 0)
661 unsigned int iMax = 0;
663 unsigned int ppbar = 0;
664 unsigned int nnbar = 0;
665 unsigned int kpm = 0;
666 unsigned int k0s = 0;
668 unsigned int gamma = 0;
669 unsigned int xim = 0;
670 unsigned int omega = 0;
671 unsigned int ele = 0;
672 unsigned int muo = 0;
673 unsigned int eleMax = 0;
674 unsigned int muoMax = 0;
771 unsigned int nCellOvTh = 0;
774 for (
unsigned int icell = 0; icell <
eneInCell.size(); icell++) {
796 std::vector<unsigned int> nchvsphi(
nphiBin, 0);
797 std::vector<double> sptvsphi(
nphiBin, 0.);
798 unsigned int nChaTra = 0;
801 double binPhiW = 360. /
nphiBin;
806 if (thePhi < -180.) {
808 }
else if (thePhi > 180.) {
811 unsigned int thePhiBin = (
int)((thePhi + 180.) / binPhiW);
815 nchvsphi[thePhiBin]++;
818 if (std::fabs(thePhi) > 60. && std::fabs(thePhi) < 120.) {
836 double thisPhi = -180. + (
i + 0.5) * binPhiW;
846 unsigned int nJets = 0;
849 reco::GenJetCollection::const_iterator ij1 = genChJets->begin();
850 reco::GenJetCollection::const_iterator ij2 = genChJets->begin();
852 for (reco::GenJetCollection::const_iterator iter = genChJets->begin(); iter != genChJets->end(); ++iter) {
853 double eta = (*iter).eta();
854 double pt = (*iter).pt();
857 << (*iter).eta() << std::setw(14) <<
std::fixed << (*iter).phi() << std::endl;
859 if (std::fabs(
eta) < 2.) {
869 if (pt < pt1 && pt >=
pt2) {
877 if (
nJets > 0 && ij1 != genChJets->end()) {
880 if (
nJets > 1 && ij2 != genChJets->end()) {
910 reco::GenJetCollection::const_iterator ij3 =
genJets->begin();
912 for (reco::GenJetCollection::const_iterator iter =
genJets->begin(); iter !=
genJets->end(); ++iter) {
913 double eta = (*iter).eta();
914 double pt = (*iter).pt();
917 << (*iter).eta() << std::setw(14) <<
std::fixed << (*iter).phi() << std::endl;
919 if (std::fabs(
eta) < 5.) {
925 if (pt < pt1 && pt >=
pt2) {
929 if (pt < pt2 && pt >= pt3) {
936 if (fabs(iter->eta()) < 3. && iter->pt() > 25.) {
938 jm25HT += iter->pt();
939 if (iter->pt() > jm25pt1) {
943 jm25pt1 = iter->pt();
944 }
else if (iter->pt() > jm25pt2) {
947 jm25pt2 = iter->pt();
948 }
else if (iter->pt() > jm25pt3) {
950 jm25pt3 = iter->pt();
951 }
else if (iter->pt() > jm25pt4) {
952 jm25pt4 = iter->pt();
955 if (iter->pt() > 80.) {
957 jm80HT += iter->pt();
958 if (iter->pt() > jm80pt1) {
962 jm80pt1 = iter->pt();
963 }
else if (iter->pt() > jm80pt2) {
966 jm80pt2 = iter->pt();
967 }
else if (iter->pt() > jm80pt3) {
969 jm80pt3 = iter->pt();
970 }
else if (iter->pt() > jm80pt4) {
971 jm80pt4 = iter->pt();
995 double sumPartPt = 0.;
996 double sumChPartPt = 0.;
1000 if ((*ij1).pt() > 25. && (*ij1).pt() > 25.) {
1001 double deltaPhi = std::fabs((*ij1).phi() - (*ij2).phi()) / CLHEP::degree;
1005 if (std::fabs(
deltaPhi) > 2.5 * CLHEP::degree) {
1027 double invMass = (*ij1).energy() * (*ij2).energy() - (*ij1).px() * (*ij2).px() - (*ij1).py() * (*ij2).py() -
1028 (*ij1).pz() * (*ij2).pz();
1035 unsigned int nSelJets = 0;
1036 for (reco::GenJetCollection::const_iterator iter =
genJets->begin(); iter !=
genJets->end(); ++iter) {
1037 double pt = (*iter).pt();
1038 double eta = (*iter).eta();
1039 if (std::fabs(
eta) < 5.) {
1045 sumJetEt += (*iter).pt();
1046 jpx += (*iter).px();
1047 jpy += (*iter).py();
1052 double mEt =
std::sqrt(jpx * jpx + jpy * jpy);
1056 if (nSelJets >= 3) {
1068 std::vector<const HepMC::GenParticle*> qcdActivity;
1072 std::vector<fastjet::PseudoJet> vecs;
1073 int counterUser = 1;
1074 std::vector<const HepMC::GenParticle*>::const_iterator iqcdact;
1075 for (iqcdact = qcdActivity.begin(); iqcdact != qcdActivity.end(); ++iqcdact) {
1076 const HepMC::FourVector& fmom = (*iqcdact)->momentum();
1077 fastjet::PseudoJet pseudoJet(fmom.px(), fmom.py(), fmom.pz(), fmom.e());
1078 pseudoJet.set_user_index(counterUser);
1079 vecs.push_back(pseudoJet);
1083 fastjet::ClusterSequence cseq(vecs, fastjet::JetDefinition(fastjet::kt_algorithm, 1., fastjet::E_scheme));
1091 std::vector<const HepMC::GenParticle*> allStable;
1101 for (std::vector<const HepMC::GenParticle*>::const_iterator iter = allStable.begin(); iter != allStable.end();
1103 double thisEta = fabs((*iter)->momentum().eta());
1106 const HepMC::FourVector mom = (*iter)->momentum();
1107 double px = mom.px();
1108 double py = mom.py();
1109 double pz = mom.pz();
1114 sumEt1 += thisSumEt;
1115 else if (thisEta < 2.0)
1117 else if (thisEta < 3.0)
1118 sumEt3 += thisSumEt;
1119 else if (thisEta < 4.0)
1120 sumEt4 += thisSumEt;
1122 sumEt5 += thisSumEt;
1175 unsigned int iBin = 999;
1182 if (std::fabs(
eta) >= theEtaRanges[
i] && std::fabs(
eta) < theEtaRanges[
i + 1]) {
bool isCharged(unsigned int i)
MonitorElement * ncnobquark
MonitorElement * _JM25pt3
MonitorElement * _JM80pt1
static const unsigned int nphiBin
std::vector< const HepMC::GenParticle * > hepmcGPCollection
status 1 GenParticle collection
MonitorElement * sptDenLpt
MonitorElement * leadTracketa
static const unsigned int nForwardEta
MonitorElement * leadTrackpt
MBUEandQCDValidation(const edm::ParameterSet &)
static const unsigned int nBarrelCell
MonitorElement * dSptdphi
MonitorElement * dNchdpt1
void removeIsolatedLeptons(const HepMC::GenEvent *all, double deltaR, double sumPt, std::vector< const HepMC::GenParticle *> &pruned)
MonitorElement * dNchdSpt
MonitorElement * _JM25pt1
MonitorElement * _JM80njets
MonitorElement * dNchjdeta
static constexpr int nJets
CaloCellManager * theCalo
manager of calorimetric cell structure
MonitorElement * dNchdeta1
static const unsigned int nEndcapEta
edm::InputTag genjetCollection_
MonitorElement * pt1pt2Dphi
MonitorElement * dNchdeta2
MonitorElement * _JM25njets
std::vector< double > hepmcCharge
bool isNeutrino(unsigned int i)
MonitorElement * pt1pt2InvM
edm::ESHandle< HepPDT::ParticleDataTable > fPDGTable
PDT table.
std::vector< double > getEtaRanges()
CaloCellId * getCellFromIndex(unsigned int id)
edm::ESGetToken< HepPDT::ParticleDataTable, edm::DefaultRecord > fPDGTableToken
MonitorElement * eneHFmSel
MonitorElement * nSaFwdTrig
MonitorElement * pt1pt2optot
MonitorElement * pt1pt2optotch
static const unsigned int nCaloCell
MonitorElement * leadChjpt
MonitorElement * dNchjdpt
MonitorElement * _JM25pt2
void bookHistograms(DQMStore::IBooker &i, edm::Run const &, edm::EventSetup const &) override
Cos< T >::type cos(const T &t)
MonitorElement * dNchdpt2
MonitorElement * nEvt1
QCD-09-010 analysis.
Abs< T >::type abs(const T &t)
~MBUEandQCDValidation() override
MonitorElement * dNchdphi
void dqmBeginRun(const edm::Run &r, const edm::EventSetup &c) override
MonitorElement * dEdetaHFdj
std::vector< double > eneInCell
static const unsigned int nEndcapCell
MonitorElement * pt1pt2balance
edm::InputTag hepmcCollection_
HepPDT::ParticleData ParticleData
static const unsigned int nBarrelEta
T perp() const
Magnitude of transverse component.
edm::InputTag genchjetCollection_
const HepMC::GenEvent * GetEvent() const
MonitorElement * leadChjeta
edm::EDGetTokenT< reco::GenJetCollection > genchjetCollectionToken_
MonitorElement * _JM80pt2
MonitorElement * nNoFwdTrig
edm::EDGetTokenT< reco::GenJetCollection > genjetCollectionToken_
MonitorElement * _JM80pt3
MonitorElement * _JM25pt4
edm::EDGetTokenT< edm::HepMCProduct > hepmcCollectionToken_
MonitorElement * ncandbquark
unsigned int getHFbin(double eta)
MonitorElement * _JM80pt4
bool isNeutral(unsigned int i)
MonitorElement * dEdetaHFmb
void allStatus1(const HepMC::GenEvent *all, std::vector< const HepMC::GenParticle *> &status1)
void analyze(const edm::Event &, const edm::EventSetup &) override
MonitorElement * nChaDenLpt
unsigned int getCellIndexFromAngle(double eta, double phi)
double weight(const edm::Event &)
static const unsigned int initSize
MonitorElement * missEtosumJEt