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))
58 nEvt = dqm.
book1dHisto(
"nEvt",
"n analyzed Events", 1, 0., 1.,
" ",
"Number of events");
61 nNoFwdTrig = dqm.
book1dHisto(
"nNoFwdTrig",
"n Events no forward trigger", 1, 0., 1.,
" ",
"Number of Events with no Forward Trigger");
64 nSaFwdTrig = dqm.
book1dHisto(
"nSaFwdTrig",
"n Events single arm forward trigger", 1, 0., 1.,
" ",
"Number of Events with Single Arm Forward Trigger");
67 nbquark = dqm.
book1dHisto(
"nbquark",
"n Events with b quark", 1, 0., 1.,
" ",
"Number of Events with b Quarks");
70 ncandbquark = dqm.
book1dHisto(
"ncandbquark",
"n Events with c and b quark", 1, 0., 1.,
"",
"Number of Events with c and b Quark");
73 ncnobquark = dqm.
book1dHisto(
"ncnobquark",
"n Events with c and no b quark", 1, 0., 1.,
"",
"Number of Events with c and no b Quark");
77 nEvt1 = dqm.
book1dHisto(
"nEvt1",
"n Events QCD-09-010", 1, 0., 1.,
"",
"Number of Events passing the QCD-09-010 selection");
79 dNchdpt1 = dqm.
book1dHisto(
"dNchdpt1",
"dNchdpt QCD-09-010", 30, 0., 6.,
"P_{t}^{charged tracks QCD-09-010 selection} (GeV)",
"Number of Charged Tracks");
81 dNchdeta1 = dqm.
book1dHisto(
"dNchdeta1",
"dNchdeta QCD-09-010", 10, -2.5, 2.5,
"#eta^{charged tracks QCD-09-010 selection}",
"Number of Charged Tracks");
84 nEvt2 = dqm.
book1dHisto(
"nEvt2",
"n Events QCD-10-001", 1, 0., 1.,
"",
"Number of Events passing the QCD-10-001 selection");
86 leadTrackpt = dqm.
book1dHisto(
"leadTrackpt",
"leading track pt QCD-10-001", 200, 0., 100.,
"P_{t}^{lead track QCD-10-001 selection} (GeV)",
"Number of Events");
88 leadTracketa = dqm.
book1dHisto(
"leadTracketa",
"leading track eta QCD-10-001", 50., -2.5,2.5,
"#eta^{lead track QCD-10-001 selection}",
"Number of Events");
90 nChaDenLpt = i.
bookProfile(
"nChaDenLpt",
"charged density vs leading pt", 200, 0., 100., 0., 100.,
" ");
92 sptDenLpt = i.
bookProfile(
"sptDenLpt",
"sum pt density vs leading pt", 200, 0., 100., 0., 300.,
" ");
94 dNchdpt2 = dqm.
book1dHisto(
"dNchdpt2",
"dNchdpt QCD-10-001", 200, 0., 100.,
"P_{t}^{charged tracks QCD-10-001 selection} (GeV)",
"Number of Charged Tracks");
96 dNchdeta2 = dqm.
book1dHisto(
"dNchdeta2",
"dNchdeta QCD-10-001", 50, -2.5, 2.5,
"#eta^{charged tracks QCD-10-001 selection}",
"Number of Charged Tracks");
98 nCha = dqm.
book1dHisto(
"nCha",
"n charged QCD-10-001", 100, 0., 100.,
"N^{charged tracks QCD-10-001 selection}",
"Number of Events");
100 dNchdSpt = dqm.
book1dHisto(
"dNchdSpt",
"dNchdSpt QCD-10-001", 300, 0., 300.,
"P_{t}^{charged trackes in transverse region QCD-10-001selection} (GeV)",
"Number of Charged Tracks");
107 nChj = dqm.
book1dHisto(
"nChj",
"n charged jets QCD-10-001", 30, 0, 30.,
"N^{charged jets QCD-10-001 selection}",
"Number of Events");
109 dNchjdeta = dqm.
book1dHisto(
"dNchjdeta",
"dNchjdeta QCD-10-001", 50, -2.5, 2.5,
"#eta^{charged jets QCD-10-001 selection}",
"Number of charged Jets");
111 dNchjdpt = dqm.
book1dHisto(
"dNchjdpt",
"dNchjdpt QCD-10-001", 100, 0., 100.,
"P_{t}^{charged jets QCD-10-001 selection}",
"Number of charged Jets");
113 leadChjpt = dqm.
book1dHisto(
"leadChjpt",
"leadChjpt QCD-10-001", 100, 0., 100.,
"P_{t}^{lead charged jet QCD-10-001 selection}",
"Number of charged Jets");
115 leadChjeta = dqm.
book1dHisto(
"leadChjeta",
"leadChjeta QCD-10-001", 50, -2.5, 2.5,
"#eta^{lead charged jet QCD-10-001 selection}",
"Number of charged Jets");
120 nPPbar = dqm.
book1dHisto(
"nPPbar",
"nPPbar QCD-10-001", 30, 0., 30.,
"N_{p/#bar{p}}^{QCD-10-001 selection}",
"Number of p/#bar{p}");
121 nKpm = dqm.
book1dHisto(
"nKpm",
"nKpm QCD-10-001", 30, 0., 30.,
"N_{K^{#pm}}^{QCD-10-001 selection}",
"Number of K^{#pm}");
122 nK0s = dqm.
book1dHisto(
"nK0s",
"nK0s QCD-10-001", 30, 0., 30.,
"N_{K^{0}}^{QCD-10-001 selection}",
"Number of K^{0}");
123 nL0 = dqm.
book1dHisto(
"nL0",
"nL0 QCD-10-001", 30, 0., 30.,
"N_{#Lambda^{0}}^{QCD-10-001 selection}",
"Number of #Lambda^{0}");
124 nXim = dqm.
book1dHisto(
"nXim",
"nXim QCD-10-001", 30, 0., 30.,
"N_{#Xi}^{QCD-10-001 selection}",
"Number of #Xi");
125 nOmega = dqm.
book1dHisto(
"nOmega",
"nOmega QCD-10-001", 30, 0., 30.,
"N_{#Omega^{#pm}}^{QCD-10-001 selection}",
"Number of #Omega^{#pm}");
127 pPPbar = dqm.
book1dHisto(
"pPPbar",
"Log10(pt) PPbar QCD-10-001", 25, -2., 3.,
"log_{10}(P_{t}^{p/#bar{p} QCD-10-001 selection}) (log_{10}(GeV))",
"Number of p/#bar{p}");
128 pKpm = dqm.
book1dHisto(
"pKpm",
"Log10(pt) Kpm QCD-10-001", 25, -2., 3.,
"log_{10}(P_{t}^{K^{#pm} QCD-10-001 selection}) (log_{10}(GeV))",
"Number of K^{#pm}");
129 pK0s = dqm.
book1dHisto(
"pK0s",
"Log10(pt) K0s QCD-10-001", 25, -2., 3.,
"log_{10}(P_{t}^{K^{0} QCD-10-001 selection}) (log_{10}(GeV))",
"Number of K^{0}");
130 pL0 = dqm.
book1dHisto(
"pL0",
"Log10(pt) L0 QCD-10-001", 25, -2., 3.,
"log_{10}(P_{t}^{#Lambda^{0} QCD-10-001 selection}) (log_{10}(GeV))",
"Number of #Lambda^{0}");
131 pXim = dqm.
book1dHisto(
"pXim",
"Log10(pt) Xim QCD-10-001", 25, -2., 3.,
"log_{10}(P_{t}^{#Xi^{#pm} QCD-10-001 selection}) (log_{10}(GeV))",
"Number of #Xi");
132 pOmega = dqm.
book1dHisto(
"pOmega",
"Log10(pt) Omega QCD-10-001", 25, -2., 3.,
"log_{10}(P_{t}^{#Omega^{#pm} QCD-10-001 selection}) (log_{10}(GeV))",
"Number of #Omega^{#pm}");
135 nNNbar = dqm.
book1dHisto(
"nNNbar",
"nNNbar QCD-10-001", 30, 0., 30.,
"N_{n/#bar{n}}^{QCD-10-001 selection}",
"Number of Events");
136 nGamma = dqm.
book1dHisto(
"nGamma",
"nGamma QCD-10-001", 50, 0., 200.,
"N_{#gamma}^{QCD-10-001 selection}",
"Number of Events");
138 pNNbar = dqm.
book1dHisto(
"pNNbar",
"Log10(pt) NNbar QCD-10-001", 25, -2., 3.,
"log_{10}(P_{t}^{n/#bar{n} QCD-10-001 selection}) (log_{10}(GeV))",
"Number of n/#bar{n}");
139 pGamma = dqm.
book1dHisto(
"pGamma",
"Log10(pt) Gamma QCD-10-001", 25, -2., 3.,
"log_{10}(P_{t}^{#gamma QCD-10-001 selection}) (log_{10}(GeV))",
"Number of #gamma");
142 elePt = dqm.
book1dHisto(
"elePt",
"highest pt electron Log10(pt)", 30, -2., 4.,
"log_{10}(P_{t}^{highest e} (log_{10}(GeV))",
"Number of Events");
145 muoPt = dqm.
book1dHisto(
"muoPt",
"highest pt muon Log10(pt)", 30, -2., 4.,
"log_{10}(P_{t}^{highest #mu} (log_{10}(GeV))",
"Number of Events");
149 nDijet = dqm.
book1dHisto(
"nDijet",
"n Dijet Events", 1, 0., 1.,
" ",
"Number of Events Passing Di-jet JME-10-001 Selection");
151 nj = dqm.
book1dHisto(
"nj",
"n jets ", 30, 0, 30.,
"N_{jets}^{JME-10-001}",
"Number of Events");
153 dNjdeta = dqm.
book1dHisto(
"dNjdeta",
"dNjdeta ", 50, -5., 5.,
"#eta_{jets}^{JME-10-001 selection}",
"Number of Jets");
155 dNjdpt = dqm.
book1dHisto(
"dNjdpt",
"dNjdpt ", 60, 0., 300.,
"P_{t}^{jets JME-10-001 selection}",
"Number of Jets");
159 pt1pt2balance = dqm.
book1dHisto(
"pt1pt2balance",
"2 leading jets pt difference ", 10, 0., 1.,
"#frac{P_{t}^{1st jet}-P_{t}^{2nd jet}}{P_{t}^{1st jet}+P_{t}^{2nd jet}}^{JME-10-001 selection}",
"Number of Di-jet Events");
161 pt1pt2Dphi = dqm.
book1dHisto(
"pt1pt2Dphi",
"pt1 pt2 delta phi ",
nphiBin, 0., 180.,
"#Delta#phi(jet^{1st},jet^{2nd})^{JME-10-001 selection} (rad)",
"Number of Di-jet Events");
163 pt1pt2InvM = dqm.
book1dHisto(
"pt1pt2InvM",
"pt1 pt2 invariant mass ", 60, 0., 600.,
"M_{di-jet}^{JME-10-001 selection}",
"Number of di-jet events");
165 pt3Frac = dqm.
book1dHisto(
"pt3Frac",
"2 pt3 over pt1+pt2 ", 30, 0., 1.,
"#frac{P_{t}^{3rd jet}}{P_{t}^{1st jet}+P_{t}^{2nd jet}}^{JME-10-001 selection}",
"Number of 3rd Jets");
167 sumJEt = dqm.
book1dHisto(
"sumJEt",
"sum Jet Et ", 60, 0., 300.,
"#Sigma E_{t}^{jets JME-10-001 selection}",
"Number of di-jet events");
169 missEtosumJEt = dqm.
book1dHisto(
"missEtosumJEt",
"missing Et over sumJet Et ", 30, 0., 1.,
"E_{t}^{miss}/#Sigma E_{t}^{jets JME-10-001 selection}",
"Number of Di-jet Events");
171 sumPt = dqm.
book1dHisto(
"sumPt",
"sum particle Pt ", 60, 0., 600.,
"#Sigma P_{t}^{particles passing JME-10-001 selection}",
"Number of jets");
173 sumChPt = dqm.
book1dHisto(
"sumChPt",
"sum charged particle Pt ", 60, 0., 300.,
"#Sigma P_{t}^{charged particles passing JME-10-001 selection}",
"Number of Jets");
176 nHFflow = dqm.
book1dHisto(
"nHFflow",
"n HF flow events", 1, 0., 1.,
" ",
"Number of Events passing JME-10-001, FWD-10-002 and Jet-Multiplicity selection");
180 dEdetaHFdj = i.
bookProfile(
"dEdetaHFdj",
"dEdeta HF QCD dijet", (
int)CaloCellManager::nForwardEta, 0, (
double)CaloCellManager::nForwardEta, 0., 300.,
" ");
183 nHFSD = dqm.
book1dHisto(
"nHFSD",
"n single diffraction in HF", 1, 0., 1.,
" ",
"Number of single diffraction in HF FWD-10-001 selection");
185 EmpzHFm = dqm.
book1dHisto(
"EmpzHFm",
"E-pz HF- SD", 40, 0., 200.,
"#Sigma E_{cal. cells/corrected for the longitudinal mometum}^{FWD-10-001 selection}",
"Number of Events");
187 ntHFm = dqm.
book1dHisto(
"ntHFm",
"number of HF- tower SD", 20, 0., 20.,
" N_{cells over threshold for single diffraction in HF Towers}^{FWD-10-001 selection}",
"Number of Events");
189 eneHFmSel = dqm.
book1dHisto(
"eneHFmSel",
"energy in HF-", 40, 0., 200.,
"#Sigma E_{cal. cells}^{FWD-10-001 selection}",
"Number of Events");
192 _JM25njets = dqm.
book1dHisto(
"JM25njets",
"n jets", 15, 0, 15.,
"Number of JM25 Jets",
"Number of Events");
193 _JM25ht = dqm.
book1dHisto(
"JM25ht",
"HT", 80, 0, 800.,
"H_{t}^{JM25} (GeV)",
"Number of Events");
194 _JM25pt1 = dqm.
book1dHisto(
"JM25pt1",
"pt", 40, 0, 200.,
"P_{t}^{JM25,1st Jet} (GeV)",
"Number of JM25 Jets");
195 _JM25pt2 = dqm.
book1dHisto(
"JM25pt2",
"pt", 40, 0, 200.,
"P_{t}^{JM25,2nd Jet} (GeV)",
"Number of JM25 Jets");
196 _JM25pt3 = dqm.
book1dHisto(
"JM25pt3",
"pt", 40, 0, 200.,
"P_{t}^{JM25,3rd Jet} (GeV)",
"Number of JM25 Jets");
197 _JM25pt4 = dqm.
book1dHisto(
"JM25pt4",
"pt", 40, 0, 200.,
"P_{t}^{JM25,4th Jet} (GeV)",
"Number of JM25 Jets");
199 _JM80njets = dqm.
book1dHisto(
"JM80njets",
"n jets", 15, 0, 15.,
"Number of JM80 Jets",
"Number of Events");
200 _JM80ht = dqm.
book1dHisto(
"JM80ht",
"HT", 80, 300, 1100.,
"H_{t}^{JM80} (GeV",
"Number of Events");
201 _JM80pt1 = dqm.
book1dHisto(
"JM80pt1",
"pt", 40, 60, 260.,
"P_{t}^{JM80,1st Jet} (GeV)",
"Number of JM80 Jets");
202 _JM80pt2 = dqm.
book1dHisto(
"JM80pt2",
"pt", 40, 60, 260.,
"P_{t}^{JM80,2nd Jet} (GeV)",
"Number of JM80 Jets");
203 _JM80pt3 = dqm.
book1dHisto(
"JM80pt3",
"pt", 40, 60, 260.,
"P_{t}^{JM80,3rd Jet} (GeV)",
"Number of JM80 Jets");
204 _JM80pt4 = dqm.
book1dHisto(
"JM80pt4",
"pt", 40, 60, 260.,
"P_{t}^{JM80,4th Jet} (GeV)",
"Number of JM80 Jets");
208 djr10 = dqm.
book1dHisto(
"djr10",
"Differential Jet Rate 1#rightarrow0", 60, -1., 5.,
"log_{10}(d_{min}(n,n+1)) for n=0",
"Number of Events");
209 djr21 = dqm.
book1dHisto(
"djr21",
"Differential Jet Rate 2#rightarrow1", 60, -1., 5.,
"log_{10}(d_{min}(n,n+1)) for n=1",
"Number of Events");
210 djr32 = dqm.
book1dHisto(
"djr32",
"Differential Jet Rate 3#rightarrow2", 60, -1., 5.,
"log_{10}(d_{min}(n,n+1)) for n=2",
"Number of Events");
211 djr43 = dqm.
book1dHisto(
"djr43",
"Differential Jet Rate 4#rightarrow3", 60, -1., 5.,
"log_{10}(d_{min}(n,n+1)) for n=3",
"Number of Events");
214 _sumEt = dqm.
book1dHisto(
"sumET",
"Sum of stable particles Et", 150, 0, 600.,
"#Sigma E_{t}^{stable particles}",
"Number of Events");
215 _sumEt1 = dqm.
book1dHisto(
"sumET1",
"Sum of stable particles Et (eta<0.5)", 150, 0, 200.,
"#Sigma E_{t}^{stable particles (#eta<0.5)}",
"Number of Events");
216 _sumEt2 = dqm.
book1dHisto(
"sumET2",
"Sum of stable particles Et (0.5<eta<1.0)", 150, 0, 200.,
"#Sigma E_{t}^{stable particles (0.5<#eta<1.0)}",
"Number of Events");
217 _sumEt3 = dqm.
book1dHisto(
"sumET3",
"Sum of stable particles Et (1.0<eta<1.5)", 150, 0, 200.,
"#Sigma E_{t}^{stable particles (1.0<#eta<1.5)}",
"Number of Events");
218 _sumEt4 = dqm.
book1dHisto(
"sumET4",
"Sum of stable particles Et (1.5<eta<2.0)", 150, 0, 200.,
"#Sigma E_{t}^{stable particles (1.5<#eta<2.0)}",
"Number of Events");
219 _sumEt5 = dqm.
book1dHisto(
"sumET5",
"Sum of stable particles Et (2.0<eta<5.0)", 150, 0, 200.,
"#Sigma E_{t}^{stable particles (2.0<#eta<5.0)}",
"Number of Events");
232 HepMC::GenEvent *myGenEvent =
new HepMC::GenEvent(*(evt->GetEvent()));
237 if (
verbosity_ > 0 ) { myGenEvent->print(); }
251 for (HepMC::GenEvent::particle_const_iterator
iter = myGenEvent->particles_begin();
iter != myGenEvent->particles_end(); ++
iter){
252 if ( std::fabs((*iter)->pdg_id()) == 4 ) { nc++; }
253 if ( std::fabs((*iter)->pdg_id()) == 5 ) { nb++; }
254 if ( (*iter)->status() == 1) {
257 if(PData==0) { charge = -999.; }
259 charge = PData->charge();
264 std::cout <<
"HepMC " << std::setw(14) << std::fixed << (*iter)->barcode()
265 << std::setw(14) << std::fixed << (*iter)->pdg_id()
266 << std::setw(14) << std::fixed << (*iter)->momentum().perp()
267 << std::setw(14) << std::fixed << (*iter)->momentum().eta()
268 << std::setw(14) << std::fixed << (*iter)->momentum().phi() << std::endl;
274 int nBSCp = 0;
int nBSCm = 0;
double eneHFp = 0.;
double eneHFm = 0.;
int nChapt05 = 0;
int nChaVtx = 0;
301 if ( (nBSCp > 0 || nBSCm > 0) && eneHFp >= 3. && eneHFm >= 3. ) { sel1 =
true; }
305 if ( (nBSCp >0 || nBSCm > 0) && nChaVtx >= 3 && nChapt05 > 1 ) { sel2 =
true; }
309 if ( nBSCp == 0 && nBSCm == 0 ) { sel3 =
true; }
313 if ( ( nBSCp>0 && nBSCm == 0 ) || ( nBSCm>0 && nBSCp == 0 ) ) { sel4 =
true; }
317 if ( nBSCp > 0 && nBSCm > 0 ) { sel5 =
true; }
321 if ( sel5 && nChaVtx > 3 ) { sel6 =
true; }
325 if ( nChaVtx >= 3 && nBSCm > 0 && eneHFp < 8. ) { sel7 =
true; }
341 unsigned int iMax = 0;
343 unsigned int ppbar = 0;
unsigned int nnbar = 0;
unsigned int kpm = 0;
unsigned int k0s = 0;
unsigned int l0 = 0;
unsigned int gamma = 0;
344 unsigned int xim = 0;
unsigned int omega = 0;
345 unsigned int ele = 0;
unsigned int muo = 0;
346 unsigned int eleMax = 0;
347 unsigned int muoMax = 0;
366 if ( pt > ptMax ) { ptMax =
pt; iMax =
i; }
396 else if ( sel2 &&
isNeutral(
i) && std::fabs(eta) < 2.5 ) {
403 pL0->
Fill(std::log10(pt),weight);
406 else if ( sel2 &&
isNeutral(
i) && std::fabs(eta) < 5.19 ) {
448 unsigned int nCellOvTh = 0;
451 for (
unsigned int icell = 0; icell <
eneInCell.size(); icell++ ) {
454 else { threshold = 4.; }
471 std::vector<unsigned int> nchvsphi (
nphiBin,0);
472 std::vector<double> sptvsphi (
nphiBin,0.);
473 unsigned int nChaTra = 0;
481 if ( thePhi < -180. ) { thePhi += 360.; }
482 else if ( thePhi > 180. ) { thePhi -= 360.; }
483 unsigned int thePhiBin = (int)((thePhi+180.)/binPhiW);
484 if ( thePhiBin ==
nphiBin ) { thePhiBin -= 1; }
485 nchvsphi[thePhiBin]++;
488 if ( std::fabs(thePhi) > 60. && std::fabs(thePhi) < 120. ) {
504 for (
unsigned int i = 0;
i <
nphiBin;
i++ ) {
505 double thisPhi = -180.+(
i+0.5)*binPhiW;
515 unsigned int nJets = 0;
518 reco::GenJetCollection::const_iterator ij1 = genChJets->begin();
519 reco::GenJetCollection::const_iterator ij2 = genChJets->begin();
521 for (reco::GenJetCollection::const_iterator
iter=genChJets->begin();
iter!=genChJets->end();++
iter){
522 double eta = (*iter).eta();
523 double pt = (*iter).pt();
525 std::cout <<
"GenJet " << std::setw(14) << std::fixed << (*iter).pt()
526 << std::setw(14) << std::fixed << (*iter).eta()
527 << std::setw(14) << std::fixed << (*iter).phi() << std::endl;
529 if ( std::fabs(eta) < 2. ) {
535 if ( pt >= pt1 ) { pt1 =
pt; ij1 =
iter; }
536 if ( pt < pt1 && pt >= pt2 ) { pt2 =
pt; ij2 =
iter; }
541 if ( nJets > 0 && ij1 != genChJets->end() ) {
544 if ( nJets > 1 && ij2 != genChJets->end() ) {
578 reco::GenJetCollection::const_iterator ij3 = genJets->begin();
580 for (reco::GenJetCollection::const_iterator
iter=genJets->begin();
iter!=genJets->end();++
iter){
581 double eta = (*iter).eta();
582 double pt = (*iter).pt();
584 std::cout <<
"GenJet " << std::setw(14) << std::fixed << (*iter).pt()
585 << std::setw(14) << std::fixed << (*iter).eta()
586 << std::setw(14) << std::fixed << (*iter).phi() << std::endl;
588 if ( std::fabs(eta) < 5. ) {
590 if ( pt >= pt1 ) { pt1 =
pt; ij1 =
iter; }
591 if ( pt < pt1 && pt >= pt2 ) { pt2 =
pt; ij2 =
iter; }
592 if ( pt < pt2 && pt >= pt3 ) { pt3 =
pt; ij3 =
iter; }
596 if(fabs(
iter->eta()) < 3. &&
iter->pt()>25.) {
598 jm25HT +=
iter->pt();
599 if(
iter->pt()>jm25pt1) {
603 jm25pt1 =
iter->pt();
604 }
else if(
iter->pt()>jm25pt2) {
607 jm25pt2 =
iter->pt();
608 }
else if(
iter->pt()>jm25pt3) {
610 jm25pt3 =
iter->pt();
611 }
else if(
iter->pt()>jm25pt4) {
612 jm25pt4 =
iter->pt();
617 jm80HT +=
iter->pt();
618 if(
iter->pt()>jm80pt1) {
622 jm80pt1 =
iter->pt();
623 }
else if(
iter->pt()>jm80pt2) {
626 jm80pt2 =
iter->pt();
627 }
else if(
iter->pt()>jm80pt3) {
629 jm80pt3 =
iter->pt();
630 }
else if(
iter->pt()>jm80pt4) {
631 jm80pt4 =
iter->pt();
656 double sumJetEt = 0;
double sumPartPt = 0.;
double sumChPartPt = 0.;
657 double jpx = 0;
double jpy = 0;
658 if ( nJets >= 2 && ij1 != genJets->end() && ij2 != genJets->end() ) {
659 if ( (*ij1).pt() > 25. && (*ij1).pt() > 25. ) {
660 double deltaPhi = std::fabs((*ij1).phi()-(*ij2).phi())/CLHEP::degree;
661 if ( deltaPhi > 180. ) deltaPhi = 360.-
deltaPhi;
663 if ( std::fabs(deltaPhi) > 2.5*CLHEP::degree ) {
670 if ( !
isNeutrino(
i) && iBin < CaloCellManager::nForwardEta ) {
685 double invMass = (*ij1).energy()*(*ij2).energy()-(*ij1).px()*(*ij2).px()-(*ij1).py()*(*ij2).py()-(*ij1).pz()*(*ij2).pz();
692 unsigned int nSelJets = 0;
693 for (reco::GenJetCollection::const_iterator
iter=genJets->begin();
iter!=genJets->end();++
iter){
694 double pt = (*iter).pt();
695 double eta = (*iter).eta();
696 if ( std::fabs(eta) < 5. ) {
702 sumJetEt += (*iter).pt();
708 nj->
Fill(nSelJets,weight);
713 if ( nSelJets >= 3 ) {
pt3Frac->
Fill((*ij3).pt()/(pt1+pt2),weight); }
724 std::vector<const HepMC::GenParticle*> qcdActivity;
728 std::vector<fastjet::PseudoJet> vecs;
730 std::vector<const HepMC::GenParticle*>::const_iterator iqcdact;
731 for (iqcdact = qcdActivity.begin(); iqcdact != qcdActivity.end(); ++iqcdact){
732 const HepMC::FourVector& fmom = (*iqcdact)->momentum();
733 fastjet::PseudoJet pseudoJet(fmom.px(), fmom.py(), fmom.pz(), fmom.e());
734 pseudoJet.set_user_index(counterUser);
735 vecs.push_back(pseudoJet);
739 fastjet::ClusterSequence cseq(vecs, fastjet::JetDefinition(fastjet::kt_algorithm, 1., fastjet::E_scheme));
748 std::vector<const HepMC::GenParticle*> allStable;
758 for(std::vector<const HepMC::GenParticle*>::const_iterator
iter=allStable.begin();
761 double thisEta=fabs((*iter)->momentum().eta());
764 const HepMC::FourVector mom=(*iter)->momentum();
770 sqrt(px*px + py*py)*E /
771 sqrt(px*px + py*py + pz*pz)
774 if(thisEta<1.0) sumEt1 += thisSumEt;
775 else if(thisEta<2.0) sumEt2 += thisSumEt;
776 else if(thisEta<3.0) sumEt3 += thisSumEt;
777 else if(thisEta<4.0) sumEt4 += thisSumEt;
778 else sumEt5 += thisSumEt;
813 else { status = (
hepmcCharge[
i] == 0. && pdgId != 12 && pdgId != 14 && pdgId != 16) ; }
823 else { status = (pdgId == 12 || pdgId == 14 || pdgId == 16) ; }
830 unsigned int iBin = 999;
836 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
MonitorElement * bookProfile(Args &&...args)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
static const unsigned int nForwardEta
MonitorElement * leadTrackpt
MBUEandQCDValidation(const edm::ParameterSet &)
static const unsigned int nBarrelCell
MonitorElement * dSptdphi
MonitorElement * dNchdpt1
MonitorElement * dNchdSpt
MonitorElement * _JM25pt1
MonitorElement * _JM80njets
void allStatus1(const HepMC::GenEvent *all, std::vector< const HepMC::GenParticle * > &status1)
MonitorElement * dNchjdeta
CaloCellManager * theCalo
manager of calorimetric cell structure
MonitorElement * dNchdeta1
static const unsigned int nEndcapEta
MonitorElement * book1dHisto(std::string name, std::string title, int n, double xmin, double xmax, std::string xaxis, std::string yaxis)
edm::InputTag genjetCollection_
MonitorElement * pt1pt2Dphi
MonitorElement * dNchdeta2
void getData(T &iHolder) const
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)
void removeIsolatedLeptons(const HepMC::GenEvent *all, double deltaR, double sumPt, std::vector< const HepMC::GenParticle * > &pruned)
MonitorElement * eneHFmSel
MonitorElement * nSaFwdTrig
MonitorElement * pt1pt2optot
MonitorElement * pt1pt2optotch
static const unsigned int nCaloCell
MonitorElement * leadChjpt
MonitorElement * dNchjdpt
MonitorElement * _JM25pt2
virtual 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)
MonitorElement * dNchdphi
virtual 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
edm::InputTag genchjetCollection_
MonitorElement * leadChjeta
edm::EDGetTokenT< reco::GenJetCollection > genchjetCollectionToken_
MonitorElement * _JM80pt2
MonitorElement * nNoFwdTrig
edm::EDGetTokenT< reco::GenJetCollection > genjetCollectionToken_
MonitorElement * _JM80pt3
void setCurrentFolder(const std::string &fullpath)
MonitorElement * _JM25pt4
edm::EDGetTokenT< edm::HepMCProduct > hepmcCollectionToken_
MonitorElement * ncandbquark
unsigned int getHFbin(double eta)
MonitorElement * _JM80pt4
bool isNeutral(unsigned int i)
T perp() const
Magnitude of transverse component.
MonitorElement * dEdetaHFmb
virtual 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
virtual ~MBUEandQCDValidation()
MonitorElement * missEtosumJEt