test
CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
MBUEandQCDValidation Class Reference

#include <MBUEandQCDValidation.h>

Inheritance diagram for MBUEandQCDValidation:
DQMEDAnalyzer edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > > edm::stream::EDAnalyzerBase edm::EDConsumerBase

Public Member Functions

virtual void analyze (const edm::Event &, const edm::EventSetup &) override
 
virtual void bookHistograms (DQMStore::IBooker &i, edm::Run const &, edm::EventSetup const &) override
 
virtual void dqmBeginRun (const edm::Run &r, const edm::EventSetup &c) override
 
 MBUEandQCDValidation (const edm::ParameterSet &)
 
virtual ~MBUEandQCDValidation ()
 
- Public Member Functions inherited from DQMEDAnalyzer
virtual void beginRun (edm::Run const &, edm::EventSetup const &) final
 
virtual void beginStream (edm::StreamID id) final
 
 DQMEDAnalyzer (void)
 
virtual void endLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
virtual void endRunSummary (edm::Run const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
uint32_t streamId () const
 
- Public Member Functions inherited from edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
 EDAnalyzer ()=default
 
- Public Member Functions inherited from edm::stream::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDAnalyzerBase ()
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (std::string const &iProcessName, std::string const &iModuleLabel, bool iPrint, std::vector< char const * > &oModuleLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Private Member Functions

unsigned int getHFbin (double eta)
 
bool isCharged (unsigned int i)
 
bool isNeutral (unsigned int i)
 
bool isNeutrino (unsigned int i)
 

Private Attributes

MonitorElement_JM25ht
 
MonitorElement_JM25njets
 
MonitorElement_JM25pt1
 
MonitorElement_JM25pt2
 
MonitorElement_JM25pt3
 
MonitorElement_JM25pt4
 
MonitorElement_JM80ht
 
MonitorElement_JM80njets
 
MonitorElement_JM80pt1
 
MonitorElement_JM80pt2
 
MonitorElement_JM80pt3
 
MonitorElement_JM80pt4
 
MonitorElement_sumEt
 
MonitorElement_sumEt1
 
MonitorElement_sumEt2
 
MonitorElement_sumEt3
 
MonitorElement_sumEt4
 
MonitorElement_sumEt5
 
MonitorElementdEdetaHFdj
 
MonitorElementdEdetaHFmb
 
MonitorElementdjr10
 
MonitorElementdjr21
 
MonitorElementdjr32
 
MonitorElementdjr43
 
MonitorElementdNchdeta1
 
MonitorElementdNchdeta2
 
MonitorElementdNchdphi
 
MonitorElementdNchdpt1
 
MonitorElementdNchdpt2
 
MonitorElementdNchdSpt
 
MonitorElementdNchjdeta
 
MonitorElementdNchjdpt
 
MonitorElementdNjdeta
 
MonitorElementdNjdpt
 
MonitorElementdSptdphi
 
MonitorElementelePt
 
MonitorElementEmpzHFm
 
MonitorElementeneHFmSel
 
std::vector< double > eneInCell
 
edm::ESHandle
< HepPDT::ParticleDataTable
fPDGTable
 PDT table. More...
 
edm::InputTag genchjetCollection_
 
edm::EDGetTokenT
< reco::GenJetCollection
genchjetCollectionToken_
 
edm::InputTag genjetCollection_
 
edm::EDGetTokenT
< reco::GenJetCollection
genjetCollectionToken_
 
std::vector< double > hepmcCharge
 
edm::InputTag hepmcCollection_
 
edm::EDGetTokenT
< edm::HepMCProduct
hepmcCollectionToken_
 
std::vector< const
HepMC::GenParticle * > 
hepmcGPCollection
 status 1 GenParticle collection More...
 
MonitorElementleadChjeta
 
MonitorElementleadChjpt
 
MonitorElementleadTracketa
 
MonitorElementleadTrackpt
 
MonitorElementmissEtosumJEt
 
MonitorElementmuoPt
 
MonitorElementnbquark
 
MonitorElementncandbquark
 
MonitorElementnCha
 
MonitorElementnChaDenLpt
 
MonitorElementnChj
 
MonitorElementncnobquark
 
MonitorElementnDijet
 
MonitorElementnEvt
 
MonitorElementnEvt1
 QCD-09-010 analysis. More...
 
MonitorElementnEvt2
 
MonitorElementnGamma
 
MonitorElementnHFflow
 
MonitorElementnHFSD
 
MonitorElementnj
 
MonitorElementnK0s
 
MonitorElementnKpm
 
MonitorElementnL0
 
MonitorElementnNNbar
 
MonitorElementnNoFwdTrig
 
MonitorElementnOmega
 
MonitorElementnPPbar
 
MonitorElementnSaFwdTrig
 
MonitorElementntHFm
 
MonitorElementnXim
 
MonitorElementpGamma
 
MonitorElementpK0s
 
MonitorElementpKpm
 
MonitorElementpL0
 
MonitorElementpNNbar
 
MonitorElementpOmega
 
MonitorElementpPPbar
 
MonitorElementpt1pt2balance
 
MonitorElementpt1pt2Dphi
 
MonitorElementpt1pt2InvM
 
MonitorElementpt1pt2optot
 
MonitorElementpt1pt2optotch
 
MonitorElementpt3Frac
 
MonitorElementpXim
 
MonitorElementsptDenLpt
 
MonitorElementsumChPt
 
MonitorElementsumJEt
 
MonitorElementsumPt
 
CaloCellManagertheCalo
 manager of calorimetric cell structure More...
 
unsigned int verbosity_
 
WeightManager wmanager_
 

Static Private Attributes

static const unsigned int initSize = 1000
 
static const unsigned int nphiBin = 36
 

Additional Inherited Members

- Public Types inherited from edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
typedef CacheContexts< T...> CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T...> HasAbility
 
typedef
CacheTypes::LuminosityBlockCache 
LuminosityBlockCache
 
typedef
LuminosityBlockContextT
< LuminosityBlockCache,
RunCache, GlobalCache
LuminosityBlockContext
 
typedef
CacheTypes::LuminosityBlockSummaryCache 
LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache,
GlobalCache
RunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Public Types inherited from edm::stream::EDAnalyzerBase
typedef EDAnalyzerAdaptorBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static std::shared_ptr
< dqmDetails::NoCache
globalBeginLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *)
 
static std::shared_ptr
< dqmDetails::NoCache
globalBeginRunSummary (edm::Run const &, edm::EventSetup const &, RunContext const *)
 
static void globalEndLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *, dqmDetails::NoCache *)
 
static void globalEndRunSummary (edm::Run const &, edm::EventSetup const &, RunContext const *, dqmDetails::NoCache *)
 
- Static Public Member Functions inherited from edm::stream::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Detailed Description

Definition at line 38 of file MBUEandQCDValidation.h.

Constructor & Destructor Documentation

MBUEandQCDValidation::MBUEandQCDValidation ( const edm::ParameterSet iPSet)
explicit

Definition at line 19 of file MBUEandQCDValidation.cc.

References eneInCell, genchjetCollection_, genchjetCollectionToken_, genjetCollection_, genjetCollectionToken_, hepmcCharge, hepmcCollection_, hepmcCollectionToken_, hepmcGPCollection, initSize, CaloCellManager::nCaloCell, theCalo, and verbosity_.

19  :
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))
25 {
26 
27  hepmcGPCollection.reserve(initSize);
28  hepmcCharge.reserve(initSize);
29 
31 
33 
34  hepmcCollectionToken_=consumes<HepMCProduct>(hepmcCollection_);
35  genjetCollectionToken_=consumes<reco::GenJetCollection>(genjetCollection_);
36  genchjetCollectionToken_=consumes<reco::GenJetCollection>(genchjetCollection_);
37 
38 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
std::vector< const HepMC::GenParticle * > hepmcGPCollection
status 1 GenParticle collection
CaloCellManager * theCalo
manager of calorimetric cell structure
edm::InputTag genjetCollection_
std::vector< double > hepmcCharge
static const unsigned int nCaloCell
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
std::vector< double > eneInCell
edm::InputTag hepmcCollection_
edm::InputTag genchjetCollection_
edm::EDGetTokenT< reco::GenJetCollection > genchjetCollectionToken_
edm::EDGetTokenT< reco::GenJetCollection > genjetCollectionToken_
edm::EDGetTokenT< edm::HepMCProduct > hepmcCollectionToken_
static const unsigned int initSize
MBUEandQCDValidation::~MBUEandQCDValidation ( )
virtual

Definition at line 40 of file MBUEandQCDValidation.cc.

References theCalo.

40  {
41 
42  delete theCalo;
43 
44 }
CaloCellManager * theCalo
manager of calorimetric cell structure

Member Function Documentation

void MBUEandQCDValidation::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overridevirtual

Gathering the HepMCProduct information

Implements edm::stream::EDAnalyzerBase.

Definition at line 224 of file MBUEandQCDValidation.cc.

References _JM25ht, _JM25njets, _JM25pt1, _JM25pt2, _JM25pt3, _JM25pt4, _JM80ht, _JM80njets, _JM80pt1, _JM80pt2, _JM80pt3, _JM80pt4, _sumEt, _sumEt1, _sumEt2, _sumEt3, _sumEt4, _sumEt5, funct::abs(), HepMCValidationHelper::allStatus1(), RecoTauCleanerPlugins::charge, funct::cos(), gather_cfg::cout, dEdetaHFdj, dEdetaHFmb, SiPixelRawToDigiRegional_cfi::deltaPhi, djr10, djr21, djr32, djr43, dNchdeta1, dNchdeta2, dNchdphi, dNchdpt1, dNchdpt2, dNchdSpt, dNchjdeta, dNchjdpt, dNjdeta, dNjdpt, dSptdphi, elePt, EmpzHFm, eneHFmSel, eneInCell, eta, MonitorElement::Fill(), CaloCellId::Forward, fPDGTable, genchjetCollectionToken_, genjetCollectionToken_, edm::Event::getByToken(), CaloCellManager::getCellFromIndex(), CaloCellManager::getCellIndexFromAngle(), CaloCellId::getEtaMin(), CaloCellManager::getEtaRanges(), getHFbin(), CaloCellId::getSubSys(), MonitorElement::getTH1(), CaloCellId::getThetaCell(), hepmcCharge, hepmcCollectionToken_, hepmcGPCollection, i, isCharged(), isNeutral(), isNeutrino(), leadChjeta, leadChjpt, leadTracketa, leadTrackpt, missEtosumJEt, muoPt, CaloCellManager::nBarrelCell, CaloCellManager::nBarrelEta, nbquark, CaloCellManager::nCaloCell, ncandbquark, nCha, nChaDenLpt, nChj, ncnobquark, nDijet, CaloCellManager::nEndcapCell, CaloCellManager::nEndcapEta, nEvt, nEvt1, nEvt2, CaloCellManager::nForwardEta, nGamma, nHFflow, nHFSD, nj, nK0s, nKpm, nL0, nNNbar, nNoFwdTrig, nOmega, nphiBin, nPPbar, nSaFwdTrig, ntHFm, nXim, SingleMuPt40Fwdv2_cfi_GEN_SIM::pdgId, perp(), pGamma, phi, pK0s, pKpm, pL0, pNNbar, pOmega, pPPbar, EnergyCorrector::pt, pt1pt2balance, pt1pt2Dphi, pt1pt2InvM, pt1pt2optot, pt1pt2optotch, pt3Frac, pXim, HepMCValidationHelper::removeIsolatedLeptons(), sptDenLpt, mathSSE::sqrt(), sumChPt, sumJEt, sumPt, theCalo, theIndex(), dtDQMClient_cfg::threshold, verbosity_, WeightManager::weight(), puppiForMET_cff::weight, and wmanager_.

225 {
226 
229  iEvent.getByToken(hepmcCollectionToken_, evt);
230 
231  //Get HepMC EVENT
232  HepMC::GenEvent *myGenEvent = new HepMC::GenEvent(*(evt->GetEvent()));
233 
234  double weight = wmanager_.weight(iEvent);
235 
236 
237  if ( verbosity_ > 0 ) { myGenEvent->print(); }
238 
239  double binW = 1.;
240 
241  hepmcGPCollection.clear();
242  hepmcCharge.clear();
243  for (unsigned int i = 0; i < eneInCell.size(); i++) { eneInCell[i] = 0.; }
244 
245  nEvt->Fill(0.5,weight);
246 
247  //Looping through HepMC::GenParticle collection to search for status 1 particles
248  double charge = 0.;
249  unsigned int nb = 0;
250  unsigned int nc = 0;
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) {
255  hepmcGPCollection.push_back(*iter);
256  const HepPDT::ParticleData* PData = fPDGTable->particle(HepPDT::ParticleID((*iter)->pdg_id()));
257  if(PData==0) { charge = -999.; }
258  else
259  charge = PData->charge();
260 
261  hepmcCharge.push_back(charge);
262 
263  if ( verbosity_ > 0 ) {
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;
269  }
270 
271  }
272  }
273 
274  int nBSCp = 0; int nBSCm = 0; double eneHFp = 0.; double eneHFm = 0.; int nChapt05 = 0; int nChaVtx = 0;
275  for (unsigned int i = 0; i < hepmcGPCollection.size(); i++ ){
276  if ( !isNeutrino(i) ) {
277 
278  // BSC trigger
279 
280  if ( hepmcGPCollection[i]->momentum().eta() > 3.23 && hepmcGPCollection[i]->momentum().eta() < 4.65 ) { nBSCp++; }
281  if ( hepmcGPCollection[i]->momentum().eta() < -3.23 && hepmcGPCollection[i]->momentum().eta() > -4.65 ) { nBSCm++; }
282 
283  // number of charged particles in different selections
284 
285  if ( std::fabs(hepmcGPCollection[i]->momentum().eta()) < 2.5 && hepmcGPCollection[i]->momentum().perp() > 0.5 && isCharged(i) ) { nChapt05++; }
286  if ( std::fabs(hepmcGPCollection[i]->momentum().eta()) < 2.5 && hepmcGPCollection[i]->momentum().perp() > 0.1 && isCharged(i) ) { nChaVtx++; }
287  unsigned int theIndex = theCalo->getCellIndexFromAngle(hepmcGPCollection[i]->momentum().eta(),hepmcGPCollection[i]->momentum().phi());
288  if ( theIndex < CaloCellManager::nCaloCell ) eneInCell[theIndex] += hepmcGPCollection[i]->momentum().rho();
289  }
290  }
291 
292  // Forward calorimeters energy
293 
294  for (unsigned int icell = CaloCellManager::nBarrelCell+CaloCellManager::nEndcapCell; icell < CaloCellManager::nCaloCell; icell++ ) {
295  if ( theCalo->getCellFromIndex(icell)->getEtaMin() < 0. ) { eneHFm += eneInCell[icell]; }
296  else { eneHFp += eneInCell[icell]; }
297  }
298 
299  // QCD-09-010 selection
300  bool sel1 = false;
301  if ( (nBSCp > 0 || nBSCm > 0) && eneHFp >= 3. && eneHFm >= 3. ) { sel1 = true; }
302 
303  // QCD-10-001 selection
304  bool sel2 = false;
305  if ( (nBSCp >0 || nBSCm > 0) && nChaVtx >= 3 && nChapt05 > 1 ) { sel2 = true; }
306 
307  // no forward trigger selection
308  bool sel3 = false;
309  if ( nBSCp == 0 && nBSCm == 0 ) { sel3 = true; }
310 
311  // single arm forward trigger selection
312  bool sel4 = false;
313  if ( ( nBSCp>0 && nBSCm == 0 ) || ( nBSCm>0 && nBSCp == 0 ) ) { sel4 = true; }
314 
315  // BSC selection
316  bool sel5 = false;
317  if ( nBSCp > 0 && nBSCm > 0 ) { sel5 = true; }
318 
319  // basic JME-10-001, FWD-10-002 and Jet-Multiplicity selection
320  bool sel6 = false;
321  if ( sel5 && nChaVtx > 3 ) { sel6 = true; }
322 
323  // FWD-10-001 selection
324  bool sel7 = false;
325  if ( nChaVtx >= 3 && nBSCm > 0 && eneHFp < 8. ) { sel7 = true; }
326 
327  // Fill selection histograms
328  if ( sel1 ) nEvt1->Fill(0.5,weight);
329  if ( sel2 ) nEvt2->Fill(0.5,weight);
330  if ( sel3 ) nNoFwdTrig->Fill(0.5,weight);
331  if ( sel4 ) nSaFwdTrig->Fill(0.5,weight);
332  if ( sel6 ) nHFflow->Fill(0.5,weight);
333  if ( sel7 ) nHFSD->Fill(0.5,weight);
334 
335  if ( nb > 0 ) nbquark->Fill(0.5,weight);
336  if ( nb > 0 && nc > 0 ) ncandbquark->Fill(0.5,weight);
337  if ( nb == 0 && nc > 0 ) ncnobquark->Fill(0.5,weight);
338 
339  // track analyses
340  double ptMax = 0.;
341  unsigned int iMax = 0;
342  double ptot = 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;
348 
349  std::vector<double> hfMB (CaloCellManager::nForwardEta,0);
350  std::vector<double> hfDJ (CaloCellManager::nForwardEta,0);
351 
352  for (unsigned int i = 0; i < hepmcGPCollection.size(); i++ ){
353  double eta = hepmcGPCollection[i]->momentum().eta();
354  double pt = hepmcGPCollection[i]->momentum().perp();
355  int pdgId = hepmcGPCollection[i]->pdg_id();
356  if ( isCharged(i) && std::fabs(eta) < 2.5 ) {
357  if ( sel1 ) {
358  // QCD-09-010
359  binW = dNchdpt1->getTH1()->GetBinWidth(1);
360  dNchdpt1->Fill(pt,1./binW); // weight to account for the pt bin width
361  binW = dNchdeta1->getTH1()->GetBinWidth(1);
362  dNchdeta1->Fill(eta,1./binW); // weight to account for the eta bin width
363  }
364  // search for the leading track QCD-10-001
365  if ( sel2 ) {
366  if ( pt > ptMax ) { ptMax = pt; iMax = i; }
367  ptot += pt;
368 
369  // identified charged particle
370  if (std::abs(pdgId) == 2212) {
371  ppbar++;
372  pPPbar->Fill(std::log10(pt),weight);
373  }
374  else if (std::abs(pdgId) == 321) {
375  kpm++;
376  pKpm->Fill(std::log10(pt),weight);
377  }
378  else if (std::abs(pdgId) == 3312) {
379  xim++;
380  pXim->Fill(std::log10(pt),weight);
381  }
382  else if (std::abs(pdgId) == 3334) {
383  omega++;
384  pOmega->Fill(std::log10(pt),weight);
385  }
386  else if (std::abs(pdgId) == 11) {
387  ele++;
388  eleMax = i;
389  }
390  else if (std::abs(pdgId) == 13) {
391  muo++;
392  muoMax = i;
393  }
394  }
395  }
396  else if ( sel2 && isNeutral(i) && std::fabs(eta) < 2.5 ) {
397  if (std::abs(pdgId) == 310) {
398  k0s++;
399  pK0s->Fill(std::log10(pt),weight);
400  }
401  else if (std::abs(pdgId) == 3122) {
402  l0++;
403  pL0->Fill(std::log10(pt),weight);
404  }
405  }
406  else if ( sel2 && isNeutral(i) && std::fabs(eta) < 5.19 ) {
407  if (std::abs(pdgId) == 2112) {
408  nnbar++;
409  pNNbar->Fill(std::log10(pt),weight);
410  }
411  else if (std::abs(pdgId) == 22) {
412  gamma++;
413  pGamma->Fill(std::log10(pt),weight);
414  }
415  }
416  unsigned int iBin = getHFbin(eta);
417  if ( sel6 && !isNeutrino(i) && iBin < CaloCellManager::nForwardEta ) {
418  hfMB[iBin] += hepmcGPCollection[i]->momentum().rho();
419  }
420  }
421  nPPbar->Fill(ppbar,weight);
422  nNNbar->Fill(nnbar,weight);
423  nKpm->Fill(kpm,weight);
424  nK0s->Fill(k0s,weight);
425  nL0->Fill(l0,weight);
426  nXim->Fill(xim,weight);
427  nOmega->Fill(omega,weight);
428  nGamma->Fill(gamma,weight);
429 
430  if ( ele > 0 ) elePt->Fill(std::log10(hepmcGPCollection[eleMax]->momentum().perp()),weight);
431  if ( muo > 0 ) muoPt->Fill(std::log10(hepmcGPCollection[muoMax]->momentum().perp()),weight);
432 
433  leadTrackpt->Fill(hepmcGPCollection[iMax]->momentum().perp(),weight);
434  leadTracketa->Fill(hepmcGPCollection[iMax]->momentum().eta(),weight);
435 
436  std::vector<double> theEtaRanges(theCalo->getEtaRanges());
437 
438  for (unsigned int i = 0; i < CaloCellManager::nForwardEta; i++ ) {
440  dEdetaHFmb->Fill(i+0.5,hfMB[i]/binW);
441  }
442 
443  // FWD-10-001
444 
445  if ( sel7 ) {
446 
447  double empz = 0.;
448  unsigned int nCellOvTh = 0;
449  double threshold = 0.;
450 
451  for (unsigned int icell = 0; icell < eneInCell.size(); icell++ ) {
452 
453  if ( theCalo->getCellFromIndex(icell)->getSubSys() != CaloCellId::Forward ) { threshold = 3.; }
454  else { threshold = 4.; }
455 
456  if ( eneInCell[icell] > threshold ) {
457  if ( theCalo->getCellFromIndex(icell)->getSubSys() == CaloCellId::Forward ) { nCellOvTh++; }
458  empz += eneInCell[icell]*(1.-std::cos(theCalo->getCellFromIndex(icell)->getThetaCell()));
459  }
460 
461  }
462 
463  EmpzHFm->Fill(empz,weight);
464  ntHFm->Fill(nCellOvTh,weight);
465  eneHFmSel->Fill(eneHFm,weight);
466 
467  }
468 
469  // QCD-10-001
470  double phiMax = hepmcGPCollection[iMax]->momentum().phi();
471  std::vector<unsigned int> nchvsphi (nphiBin,0);
472  std::vector<double> sptvsphi (nphiBin,0.);
473  unsigned int nChaTra = 0;
474  double sptTra = 0.;
475 
476  double binPhiW = 360./nphiBin;
477  if ( sel2 ) {
478  for (unsigned int i = 0; i < hepmcGPCollection.size(); i++ ){
479  if ( isCharged(i) && std::fabs(hepmcGPCollection[i]->momentum().eta()) < 2. ) {
480  double thePhi = (hepmcGPCollection[i]->momentum().phi()-phiMax)/CLHEP::degree;
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]++;
486  sptvsphi[thePhiBin] += hepmcGPCollection[i]->momentum().perp();
487  // analysis in the transverse region
488  if ( std::fabs(thePhi) > 60. && std::fabs(thePhi) < 120. ) {
489  nChaTra++;
490  sptTra += hepmcGPCollection[i]->momentum().perp();
491  binW = dNchdpt2->getTH1()->GetBinWidth(1);
492  dNchdpt2->Fill(hepmcGPCollection[i]->momentum().perp(),1./binW); // weight to account for the pt bin width
493  binW = dNchdeta2->getTH1()->GetBinWidth(1);
494  dNchdeta2->Fill(hepmcGPCollection[i]->momentum().eta(),1./binW); // weight to account for the eta bin width
495  }
496  }
497  }
498  nCha->Fill(nChaTra,weight);
499  binW = dNchdSpt->getTH1()->GetBinWidth(1);
500  dNchdSpt->Fill(sptTra,1.);
501  //how do one apply weights to a profile? MonitorElement doesn't allow to
502  nChaDenLpt->Fill(hepmcGPCollection[iMax]->momentum().perp(),nChaTra/4./CLHEP::twopi);
503  sptDenLpt->Fill(hepmcGPCollection[iMax]->momentum().perp(),sptTra/4./CLHEP::twopi);
504  for ( unsigned int i = 0; i < nphiBin; i++ ) {
505  double thisPhi = -180.+(i+0.5)*binPhiW;
506  dNchdphi->Fill(thisPhi,nchvsphi[i]/binPhiW/4.); // density in phi and eta
507  dSptdphi->Fill(thisPhi,sptvsphi[i]/binPhiW/4.); // density in phi and eta
508  }
509  }
510 
511  // Gather information in the charged GenJet collection
513  iEvent.getByToken(genchjetCollectionToken_, genChJets );
514 
515  unsigned int nJets = 0;
516  double pt1 = 0.;
517  double pt2 = 0.;
518  reco::GenJetCollection::const_iterator ij1 = genChJets->begin();
519  reco::GenJetCollection::const_iterator ij2 = genChJets->begin();
520  if ( sel2 ) {
521  for (reco::GenJetCollection::const_iterator iter=genChJets->begin();iter!=genChJets->end();++iter){
522  double eta = (*iter).eta();
523  double pt = (*iter).pt();
524  if ( verbosity_ > 0 ) {
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;
528  }
529  if ( std::fabs(eta) < 2. ) {
530  nJets++;
531  binW = dNchjdeta->getTH1()->GetBinWidth(1);
532  dNchjdeta->Fill(eta,1./binW);
533  binW = dNchjdpt->getTH1()->GetBinWidth(1);
534  dNchjdpt->Fill(pt,1./binW);
535  if ( pt >= pt1 ) { pt1 = pt; ij1 = iter; }
536  if ( pt < pt1 && pt >= pt2 ) { pt2 = pt; ij2 = iter; }
537  }
538  }
539 
540  nChj->Fill(nJets,weight);
541  if ( nJets > 0 && ij1 != genChJets->end() ) {
542  leadChjpt->Fill(pt1,weight);
543  leadChjeta->Fill((*ij1).eta(),weight);
544  if ( nJets > 1 && ij2 != genChJets->end() ) {
545  pt1pt2optotch->Fill(pt1+pt2,(pt1+pt2)/ptot);
546  }
547  }
548  }
549 
550 
551  // Gather information in the GenJet collection
553  iEvent.getByToken(genjetCollectionToken_, genJets );
554 
555  nJets = 0;
556  pt1 = 0.;
557  pt2 = 0.;
558  double pt3 = 0.;
559 
560 
561  // needed for Jet-Multiplicity Analysis
562  int jm25njets = 0;
563  double jm25HT = 0.;
564  double jm25pt1 = 0.;
565  double jm25pt2 = 0.;
566  double jm25pt3 = 0.;
567  double jm25pt4 = 0.;
568 
569  int jm80njets = 0;
570  double jm80HT = 0.;
571  double jm80pt1 = 0.;
572  double jm80pt2 = 0.;
573  double jm80pt3 = 0.;
574  double jm80pt4 = 0.;
575 
576 
577 
578  reco::GenJetCollection::const_iterator ij3 = genJets->begin();
579  if ( sel6 ) {
580  for (reco::GenJetCollection::const_iterator iter=genJets->begin();iter!=genJets->end();++iter){
581  double eta = (*iter).eta();
582  double pt = (*iter).pt();
583  if ( verbosity_ > 0 ) {
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;
587  }
588  if ( std::fabs(eta) < 5. ) {
589  nJets++;
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; }
593  }
594 
595  // find variables for Jet-Multiplicity Analysis
596  if(fabs(iter->eta()) < 3. && iter->pt()>25.) {
597  jm25njets++;
598  jm25HT += iter->pt();
599  if(iter->pt()>jm25pt1) {
600  jm25pt4 = jm25pt3;
601  jm25pt3 = jm25pt2;
602  jm25pt2 = jm25pt1;
603  jm25pt1 = iter->pt();
604  } else if(iter->pt()>jm25pt2) {
605  jm25pt4 = jm25pt3;
606  jm25pt3 = jm25pt2;
607  jm25pt2 = iter->pt();
608  } else if(iter->pt()>jm25pt3) {
609  jm25pt4 = jm25pt3;
610  jm25pt3 = iter->pt();
611  } else if(iter->pt()>jm25pt4) {
612  jm25pt4 = iter->pt();
613  }
614  // even harder jets...
615  if(iter->pt()>80.) {
616  jm80njets++;
617  jm80HT += iter->pt();
618  if(iter->pt()>jm80pt1) {
619  jm80pt4 = jm80pt3;
620  jm80pt3 = jm80pt2;
621  jm80pt2 = jm80pt1;
622  jm80pt1 = iter->pt();
623  } else if(iter->pt()>jm80pt2) {
624  jm80pt4 = jm80pt3;
625  jm80pt3 = jm80pt2;
626  jm80pt2 = iter->pt();
627  } else if(iter->pt()>jm80pt3) {
628  jm80pt4 = jm80pt3;
629  jm80pt3 = iter->pt();
630  } else if(iter->pt()>jm80pt4) {
631  jm80pt4 = iter->pt();
632  }
633  }
634 
635  }
636 
637  }
638  if(jm25njets>3) {
639  _JM25njets ->Fill(jm25njets,weight);
640  _JM25ht ->Fill(jm25HT,weight);
641  _JM25pt1 ->Fill(jm25pt1,weight);
642  _JM25pt2 ->Fill(jm25pt2,weight);
643  _JM25pt3 ->Fill(jm25pt3,weight);
644  _JM25pt4 ->Fill(jm25pt4,weight);
645  }
646  if(jm80njets>3) {
647  _JM80njets ->Fill(jm80njets,weight);
648  _JM80ht ->Fill(jm80HT,weight);
649  _JM80pt1 ->Fill(jm80pt1,weight);
650  _JM80pt2 ->Fill(jm80pt2,weight);
651  _JM80pt3 ->Fill(jm80pt3,weight);
652  _JM80pt4 ->Fill(jm80pt4,weight);
653  }
654 
655  // select a di-jet event JME-10-001 variant
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;
662  pt1pt2Dphi->Fill(deltaPhi,weight);
663  if ( std::fabs(deltaPhi) > 2.5*CLHEP::degree ) {
664 
665  nDijet->Fill(0.5,weight);
666 
667  for (unsigned int i = 0; i < hepmcGPCollection.size(); i++ ){
668  double eta = hepmcGPCollection[i]->momentum().eta();
669  unsigned int iBin = getHFbin(eta);
670  if ( !isNeutrino(i) && iBin < CaloCellManager::nForwardEta ) {
671  hfDJ[iBin] += hepmcGPCollection[i]->momentum().rho();
672  }
673  if ( !isNeutrino(i) && std::fabs(eta) < 5. ) {
674  sumPartPt += hepmcGPCollection[i]->momentum().perp();
675  if ( isCharged(i) ) {
676  sumChPartPt += hepmcGPCollection[i]->momentum().perp();
677  }
678  }
679  }
680  for (unsigned int i = 0; i < CaloCellManager::nForwardEta; i++ ) {
682  dEdetaHFdj->Fill(i+0.5,hfDJ[i]/binW);
683  }
684 
685  double invMass = (*ij1).energy()*(*ij2).energy()-(*ij1).px()*(*ij2).px()-(*ij1).py()*(*ij2).py()-(*ij1).pz()*(*ij2).pz();
686  invMass = std::sqrt(invMass);
687  pt1pt2InvM->Fill(invMass,weight);
688 
689  sumPt->Fill(sumPartPt,weight);
690  sumChPt->Fill(sumChPartPt,weight);
691 
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. ) {
697  nSelJets++;
698  binW = dNjdeta->getTH1()->GetBinWidth(1);
699  dNjdeta->Fill(eta,1./binW*weight);
700  binW = dNjdpt->getTH1()->GetBinWidth(1);
701  dNjdpt->Fill(pt,1./binW*weight);
702  sumJetEt += (*iter).pt();
703  jpx += (*iter).px();
704  jpy += (*iter).py();
705  }
706  }
707 
708  nj->Fill(nSelJets,weight);
709  double mEt = std::sqrt(jpx*jpx+jpy*jpy);
710  sumJEt->Fill(sumJetEt,weight);
711  missEtosumJEt->Fill(mEt/sumJetEt,weight);
712 
713  if ( nSelJets >= 3 ) { pt3Frac->Fill((*ij3).pt()/(pt1+pt2),weight); }
714 
715  pt1pt2optot->Fill(pt1+pt2,(pt1+pt2)/sumJetEt);
716  pt1pt2balance->Fill((pt1-pt2)/(pt1+pt2),weight);
717  }
718  }
719  }
720  }
721 
722 
723  //compute differential jet rates
724  std::vector<const HepMC::GenParticle*> qcdActivity;
725  HepMCValidationHelper::removeIsolatedLeptons(myGenEvent, 0.2, 3., qcdActivity);
726  //HepMCValidationHelper::allStatus1(myGenEvent, qcdActivity);
727  //fill PseudoJets to use fastjet
728  std::vector<fastjet::PseudoJet> vecs;
729  int counterUser = 1;
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);
736  ++counterUser;
737  }
738  //compute jets
739  fastjet::ClusterSequence cseq(vecs, fastjet::JetDefinition(fastjet::kt_algorithm, 1., fastjet::E_scheme));
740  //access the cluster sequence and get the relevant info
741  djr10->Fill(std::log10(sqrt(cseq.exclusive_dmerge(0))),weight);
742  djr21->Fill(std::log10(sqrt(cseq.exclusive_dmerge(1))),weight);
743  djr32->Fill(std::log10(sqrt(cseq.exclusive_dmerge(2))),weight);
744  djr43->Fill(std::log10(sqrt(cseq.exclusive_dmerge(3))),weight);
745 
746 
747  // compute sumEt for all stable particles
748  std::vector<const HepMC::GenParticle*> allStable;
749  HepMCValidationHelper::allStatus1(myGenEvent, allStable);
750 
751  double sumEt = 0.;
752  double sumEt1 = 0.;
753  double sumEt2 = 0.;
754  double sumEt3 = 0.;
755  double sumEt4 = 0.;
756  double sumEt5 = 0.;
757 
758  for(std::vector<const HepMC::GenParticle*>::const_iterator iter=allStable.begin();
759  iter != allStable.end(); ++iter) {
760 
761  double thisEta=fabs((*iter)->momentum().eta());
762 
763  if(thisEta < 5.) {
764  const HepMC::FourVector mom=(*iter)->momentum();
765  double px=mom.px();
766  double py=mom.py();
767  double pz=mom.pz();
768  double E=mom.e();
769  double thisSumEt = (
770  sqrt(px*px + py*py)*E /
771  sqrt(px*px + py*py + pz*pz)
772  );
773  sumEt += thisSumEt;
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;
779 
780  }
781  }
782 
783  if(sumEt>0.)
784  _sumEt->Fill(sumEt,weight);
785  if(sumEt1>0.)
786  _sumEt1->Fill(sumEt1,weight);
787  if(sumEt2>0.)
788  _sumEt2->Fill(sumEt2,weight);
789  if(sumEt3>0.)
790  _sumEt3->Fill(sumEt3,weight);
791  if(sumEt4>0.)
792  _sumEt4->Fill(sumEt4,weight);
793  if(sumEt5>0.)
794  _sumEt5->Fill(sumEt5,weight);
795 
796  delete myGenEvent;
797 }//analyze
bool isCharged(unsigned int i)
MonitorElement * ncnobquark
int i
Definition: DBlmapReader.cc:9
double getThetaCell()
Definition: CaloCellId.cc:47
MonitorElement * nbquark
static const unsigned int nphiBin
std::vector< const HepMC::GenParticle * > hepmcGPCollection
status 1 GenParticle collection
MonitorElement * sptDenLpt
MonitorElement * leadTracketa
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:462
static const unsigned int nForwardEta
MonitorElement * leadTrackpt
static const unsigned int nBarrelCell
MonitorElement * dSptdphi
MonitorElement * dNchdpt1
MonitorElement * dNchdSpt
MonitorElement * _JM80njets
theIndex(0)
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
double getEtaMin() const
Definition: CaloCellId.h:24
MonitorElement * pt1pt2Dphi
MonitorElement * dNchdeta2
void Fill(long long x)
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
T sqrt(T t)
Definition: SSEVec.h:18
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
MonitorElement * dNchdpt2
MonitorElement * nEvt1
QCD-09-010 analysis.
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
System getSubSys() const
Definition: CaloCellId.h:28
MonitorElement * dNchdphi
TH1 * getTH1(void) const
MonitorElement * dEdetaHFdj
std::vector< double > eneInCell
static const unsigned int nEndcapCell
MonitorElement * pt1pt2balance
HepPDT::ParticleData ParticleData
static const unsigned int nBarrelEta
MonitorElement * leadChjeta
edm::EDGetTokenT< reco::GenJetCollection > genchjetCollectionToken_
MonitorElement * nNoFwdTrig
edm::EDGetTokenT< reco::GenJetCollection > genjetCollectionToken_
edm::EDGetTokenT< edm::HepMCProduct > hepmcCollectionToken_
MonitorElement * ncandbquark
unsigned int getHFbin(double eta)
bool isNeutral(unsigned int i)
T perp() const
Magnitude of transverse component.
MonitorElement * dEdetaHFmb
tuple cout
Definition: gather_cfg.py:145
MonitorElement * nChaDenLpt
unsigned int getCellIndexFromAngle(double eta, double phi)
double weight(const edm::Event &)
MonitorElement * missEtosumJEt
void MBUEandQCDValidation::bookHistograms ( DQMStore::IBooker i,
edm::Run const &  ,
edm::EventSetup const &   
)
overridevirtual

Setting the DQM top directories

Booking the ME's

Implements DQMEDAnalyzer.

Definition at line 51 of file MBUEandQCDValidation.cc.

References _JM25ht, _JM25njets, _JM25pt1, _JM25pt2, _JM25pt3, _JM25pt4, _JM80ht, _JM80njets, _JM80pt1, _JM80pt2, _JM80pt3, _JM80pt4, _sumEt, _sumEt1, _sumEt2, _sumEt3, _sumEt4, _sumEt5, DQMHelper::book1dHisto(), DQMStore::IBooker::bookProfile(), dEdetaHFdj, dEdetaHFmb, djr10, djr21, djr32, djr43, dNchdeta1, dNchdeta2, dNchdphi, dNchdpt1, dNchdpt2, dNchdSpt, dNchjdeta, dNchjdpt, dNjdeta, dNjdpt, dSptdphi, elePt, EmpzHFm, eneHFmSel, leadChjeta, leadChjpt, leadTracketa, leadTrackpt, missEtosumJEt, muoPt, nbquark, ncandbquark, nCha, nChaDenLpt, nChj, ncnobquark, nDijet, nEvt, nEvt1, nEvt2, CaloCellManager::nForwardEta, nGamma, nHFflow, nHFSD, nj, nK0s, nKpm, nL0, nNNbar, nNoFwdTrig, nOmega, nphiBin, nPPbar, nSaFwdTrig, ntHFm, nXim, pGamma, pK0s, pKpm, pL0, pNNbar, pOmega, pPPbar, pt1pt2balance, pt1pt2Dphi, pt1pt2InvM, pt1pt2optot, pt1pt2optotch, pt3Frac, pXim, DQMStore::IBooker::setCurrentFolder(), sptDenLpt, sumChPt, sumJEt, and sumPt.

51  {
53  DQMHelper dqm(&i); i.setCurrentFolder("Generator/MBUEandQCD");
54 
56 
57  // Number of analyzed events
58  nEvt = dqm.book1dHisto("nEvt", "n analyzed Events", 1, 0., 1.," ","Number of events");
59 
60  // Number of events with no forward trigger
61  nNoFwdTrig = dqm.book1dHisto("nNoFwdTrig", "n Events no forward trigger", 1, 0., 1.," ","Number of Events with no Forward Trigger");
62 
63  // Number of Events with a single arm forward trigger
64  nSaFwdTrig = dqm.book1dHisto("nSaFwdTrig", "n Events single arm forward trigger", 1, 0., 1.," ","Number of Events with Single Arm Forward Trigger");
65 
66  // Number of Events with b quark
67  nbquark = dqm.book1dHisto("nbquark", "n Events with b quark", 1, 0., 1.," ","Number of Events with b Quarks");
68 
69  // Number of Events with c and b quark
70  ncandbquark = dqm.book1dHisto("ncandbquark", "n Events with c and b quark", 1, 0., 1.,"","Number of Events with c and b Quark");
71 
72  // Number of Events with c and no 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");
74 
75 
76  // Number of selected events for QCD-09-010
77  nEvt1 = dqm.book1dHisto("nEvt1", "n Events QCD-09-010", 1, 0., 1.,"","Number of Events passing the QCD-09-010 selection");
78  // dNchdpt QCD-09-010
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");
80  // dNchdeta QCD-09-010
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");
82  // Number of selected events for QCD-10-001
83 
84  nEvt2 = dqm.book1dHisto("nEvt2", "n Events QCD-10-001", 1, 0., 1.,"","Number of Events passing the QCD-10-001 selection");
85  // Leading track pt QCD-10-001
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");
87  // Leading track eta QCD-10-001
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");
89  // transverse charged particle density vs leading track pt
90  nChaDenLpt = i.bookProfile("nChaDenLpt", "charged density vs leading pt", 200, 0., 100., 0., 100., " ");
91  // transverse charged particle density vs leading track pt
92  sptDenLpt = i.bookProfile("sptDenLpt", "sum pt density vs leading pt", 200, 0., 100., 0., 300., " ");
93  // dNchdpt QCD-10-001 transverse
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");
95  // dNchdeta QCD-10-001 transverse
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");
97  // nCha QCD-10-001 transverse
98  nCha = dqm.book1dHisto("nCha", "n charged QCD-10-001", 100, 0., 100.,"N^{charged tracks QCD-10-001 selection}","Number of Events");
99  // dNchdSpt transverse
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");
101  // dNchdphi
102  dNchdphi = i.bookProfile("dNchdphi", "dNchdphi QCD-10-001", nphiBin, -180., 180., 0., 30., " ");
103  // dSptdphi
104  dSptdphi = i.bookProfile("dSptdphi", "dSptdphi QCD-10-001", nphiBin, -180., 180., 0., 30., " ");
105 
106  // number of charged jets QCD-10-001
107  nChj = dqm.book1dHisto("nChj", "n charged jets QCD-10-001", 30, 0, 30.,"N^{charged jets QCD-10-001 selection}","Number of Events");
108  // dNchjdeta QCD-10-001
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");
110  // dNchjdpt QCD-10-001
111  dNchjdpt = dqm.book1dHisto("dNchjdpt", "dNchjdpt QCD-10-001", 100, 0., 100.,"P_{t}^{charged jets QCD-10-001 selection}","Number of charged Jets");
112  // leading charged jet pt QCD-10-001
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");
114  // leading charged jet eta QCD-10-001
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");
116  // (pt1+pt2)/ptot
117  pt1pt2optotch = i.bookProfile("pt1pt2optotch", "sum 2 leading jets over ptot", 50, 0., 100., 0., 1., " ");
118 
119  // particle rates in tracker acceptance
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}");
126 
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}");
133 
134  // neutral rate in the barrel + HF acceptance
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");
137 
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");
140 
141  // highest pt electron spectrum
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");
143 
144  // highest pt muon spectrum
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");
146 
147 
148  // number of selected di-jet events
149  nDijet = dqm.book1dHisto("nDijet", "n Dijet Events", 1, 0., 1.," ","Number of Events Passing Di-jet JME-10-001 Selection");
150  // number of jets
151  nj = dqm.book1dHisto("nj", "n jets ", 30, 0, 30.,"N_{jets}^{JME-10-001}","Number of Events");
152  // dNjdeta
153  dNjdeta = dqm.book1dHisto("dNjdeta", "dNjdeta ", 50, -5., 5.,"#eta_{jets}^{JME-10-001 selection}","Number of Jets");
154  // dNjdpt
155  dNjdpt = dqm.book1dHisto("dNjdpt", "dNjdpt ", 60, 0., 300.,"P_{t}^{jets JME-10-001 selection}","Number of Jets");
156  // (pt1+pt2)/ptot
157  pt1pt2optot = i.bookProfile("pt1pt2optot", "sum 2 leading jets over Et tot ", 60, 0., 300., 0., 1.," ");
158  // pt1-pt2
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");
160  // pt1 pt2 Delta phi
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");
162  // pt1 pt2 invariant mass
163  pt1pt2InvM = dqm.book1dHisto("pt1pt2InvM", "pt1 pt2 invariant mass ", 60, 0., 600.,"M_{di-jet}^{JME-10-001 selection}","Number of di-jet events");
164  // pt3 fraction
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");
166  // sum of jets Et
167  sumJEt = dqm.book1dHisto("sumJEt", "sum Jet Et ", 60, 0., 300.,"#Sigma E_{t}^{jets JME-10-001 selection}","Number of di-jet events");
168  // fraction of missing Et over sum of jets Et
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");
170  // sum of final state particle Pt
171  sumPt = dqm.book1dHisto("sumPt", "sum particle Pt ", 60, 0., 600.,"#Sigma P_{t}^{particles passing JME-10-001 selection}","Number of jets");
172  // sum of final state charged particle Pt
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");
174 
175  //Number of selected events for the HF energy flux analysis
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");
177  //Forward energy flow for MinBias BSC selection
178  dEdetaHFmb = i.bookProfile("dEdetaHFmb", "dEdeta HF MinBias", (int)CaloCellManager::nForwardEta, 0, (double)CaloCellManager::nForwardEta, 0., 300.," ");
179  //Forward energy flow for QCD dijet selection
180  dEdetaHFdj = i.bookProfile("dEdetaHFdj", "dEdeta HF QCD dijet", (int)CaloCellManager::nForwardEta, 0, (double)CaloCellManager::nForwardEta, 0., 300., " ");
181 
182  // FWD-10-001 like diffraction analysis
183  nHFSD = dqm.book1dHisto("nHFSD","n single diffraction in HF", 1, 0., 1.," ","Number of single diffraction in HF FWD-10-001 selection");
184  // E-pz HF-
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");
186  // Number of cells above threshold
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");
188  // Energy in HF-
189  eneHFmSel = dqm.book1dHisto("eneHFmSel", "energy in HF-", 40, 0., 200.,"#Sigma E_{cal. cells}^{FWD-10-001 selection}","Number of Events");
190 
191  // number of jets accepted in the 'Jet-Multiplicity' analysis
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");
198 
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");
205 
206 
207  // differential jet rates
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");
212 
213  // sumET analysis
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");
220 
221  return;
222 }
MonitorElement * ncnobquark
MonitorElement * nbquark
static const unsigned int nphiBin
MonitorElement * sptDenLpt
MonitorElement * leadTracketa
MonitorElement * bookProfile(Args &&...args)
Definition: DQMStore.h:157
static const unsigned int nForwardEta
MonitorElement * leadTrackpt
MonitorElement * dSptdphi
MonitorElement * dNchdpt1
MonitorElement * dNchdSpt
MonitorElement * _JM80njets
MonitorElement * dNchjdeta
MonitorElement * dNchdeta1
MonitorElement * pt1pt2Dphi
MonitorElement * dNchdeta2
MonitorElement * _JM25njets
MonitorElement * pt1pt2InvM
MonitorElement * eneHFmSel
MonitorElement * nSaFwdTrig
MonitorElement * pt1pt2optot
MonitorElement * pt1pt2optotch
MonitorElement * leadChjpt
MonitorElement * dNchdpt2
MonitorElement * nEvt1
QCD-09-010 analysis.
MonitorElement * dNchdphi
MonitorElement * dEdetaHFdj
MonitorElement * pt1pt2balance
MonitorElement * leadChjeta
MonitorElement * nNoFwdTrig
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:276
MonitorElement * ncandbquark
MonitorElement * dEdetaHFmb
MonitorElement * nChaDenLpt
MonitorElement * missEtosumJEt
void MBUEandQCDValidation::dqmBeginRun ( const edm::Run r,
const edm::EventSetup c 
)
overridevirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 46 of file MBUEandQCDValidation.cc.

References fPDGTable, and edm::EventSetup::getData().

46  {
47  c.getData( fPDGTable );
48 }
void getData(T &iHolder) const
Definition: EventSetup.h:79
edm::ESHandle< HepPDT::ParticleDataTable > fPDGTable
PDT table.
unsigned int MBUEandQCDValidation::getHFbin ( double  eta)
private

Definition at line 828 of file MBUEandQCDValidation.cc.

References CaloCellManager::getEtaRanges(), i, CaloCellManager::nBarrelEta, CaloCellManager::nEndcapEta, CaloCellManager::nForwardEta, and theCalo.

Referenced by analyze().

828  {
829 
830  unsigned int iBin = 999;
831 
832  std::vector<double> theEtaRanges(theCalo->getEtaRanges());
833 
836  if ( std::fabs(eta) >= theEtaRanges[i] && std::fabs(eta) < theEtaRanges[i+1] )
838  }
839 
840  return iBin;
841 
842 }
int i
Definition: DBlmapReader.cc:9
static const unsigned int nForwardEta
CaloCellManager * theCalo
manager of calorimetric cell structure
static const unsigned int nEndcapEta
std::vector< double > getEtaRanges()
static const unsigned int nBarrelEta
bool MBUEandQCDValidation::isCharged ( unsigned int  i)
private

Definition at line 799 of file MBUEandQCDValidation.cc.

References hepmcCharge, hepmcGPCollection, i, and mps_update::status.

Referenced by analyze().

799  {
800 
801  bool status = false;
802  if ( hepmcGPCollection.size() < i+1 ) { return status; }
803  else { status = (hepmcCharge[i] != 0. && hepmcCharge[i] != -999.); }
804  return status;
805 
806 }
int i
Definition: DBlmapReader.cc:9
std::vector< const HepMC::GenParticle * > hepmcGPCollection
status 1 GenParticle collection
std::vector< double > hepmcCharge
tuple status
Definition: mps_update.py:57
bool MBUEandQCDValidation::isNeutral ( unsigned int  i)
private

Definition at line 808 of file MBUEandQCDValidation.cc.

References funct::abs(), hepmcCharge, hepmcGPCollection, i, SingleMuPt40Fwdv2_cfi_GEN_SIM::pdgId, and mps_update::status.

Referenced by analyze().

808  {
809 
810  bool status = false;
811  int pdgId = std::abs(hepmcGPCollection[i]->pdg_id());
812  if ( hepmcGPCollection.size() < i+1 ) { return status; }
813  else { status = (hepmcCharge[i] == 0. && pdgId != 12 && pdgId != 14 && pdgId != 16) ; }
814  return status;
815 
816 }
int i
Definition: DBlmapReader.cc:9
std::vector< const HepMC::GenParticle * > hepmcGPCollection
status 1 GenParticle collection
std::vector< double > hepmcCharge
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
tuple status
Definition: mps_update.py:57
bool MBUEandQCDValidation::isNeutrino ( unsigned int  i)
private

Definition at line 818 of file MBUEandQCDValidation.cc.

References funct::abs(), hepmcGPCollection, SingleMuPt40Fwdv2_cfi_GEN_SIM::pdgId, and mps_update::status.

Referenced by analyze().

818  {
819 
820  bool status = false;
821  int pdgId = std::abs(hepmcGPCollection[i]->pdg_id());
822  if ( hepmcGPCollection.size() < i+1 ) { return status; }
823  else { status = (pdgId == 12 || pdgId == 14 || pdgId == 16) ; }
824  return status;
825 
826 }
int i
Definition: DBlmapReader.cc:9
std::vector< const HepMC::GenParticle * > hepmcGPCollection
status 1 GenParticle collection
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
tuple status
Definition: mps_update.py:57

Member Data Documentation

MonitorElement* MBUEandQCDValidation::_JM25ht
private

Definition at line 158 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::_JM25njets
private

Definition at line 157 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::_JM25pt1
private

Definition at line 159 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::_JM25pt2
private

Definition at line 160 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::_JM25pt3
private

Definition at line 161 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::_JM25pt4
private

Definition at line 162 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::_JM80ht
private

Definition at line 164 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::_JM80njets
private

Definition at line 163 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::_JM80pt1
private

Definition at line 165 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::_JM80pt2
private

Definition at line 166 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::_JM80pt3
private

Definition at line 167 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::_JM80pt4
private

Definition at line 168 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::_sumEt
private

Definition at line 174 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::_sumEt1
private

Definition at line 175 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::_sumEt2
private

Definition at line 176 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::_sumEt3
private

Definition at line 177 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::_sumEt4
private

Definition at line 178 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::_sumEt5
private

Definition at line 179 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::dEdetaHFdj
private

Definition at line 149 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::dEdetaHFmb
private

Definition at line 148 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::djr10
private

Definition at line 171 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement * MBUEandQCDValidation::djr21
private

Definition at line 171 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement * MBUEandQCDValidation::djr32
private

Definition at line 171 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement * MBUEandQCDValidation::djr43
private

Definition at line 171 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::dNchdeta1
private

Definition at line 85 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::dNchdeta2
private

Definition at line 91 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::dNchdphi
private

Definition at line 95 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::dNchdpt1
private

Definition at line 84 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::dNchdpt2
private

Definition at line 92 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::dNchdSpt
private

Definition at line 94 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::dNchjdeta
private

Definition at line 102 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::dNchjdpt
private

Definition at line 103 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::dNjdeta
private

Definition at line 134 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::dNjdpt
private

Definition at line 135 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::dSptdphi
private

Definition at line 96 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::elePt
private

Definition at line 128 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::EmpzHFm
private

Definition at line 152 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::eneHFmSel
private

Definition at line 154 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

std::vector<double> MBUEandQCDValidation::eneInCell
private

Definition at line 71 of file MBUEandQCDValidation.h.

Referenced by analyze(), and MBUEandQCDValidation().

edm::ESHandle<HepPDT::ParticleDataTable> MBUEandQCDValidation::fPDGTable
private

PDT table.

Definition at line 56 of file MBUEandQCDValidation.h.

Referenced by analyze(), and dqmBeginRun().

edm::InputTag MBUEandQCDValidation::genchjetCollection_
private

Definition at line 50 of file MBUEandQCDValidation.h.

Referenced by MBUEandQCDValidation().

edm::EDGetTokenT<reco::GenJetCollection> MBUEandQCDValidation::genchjetCollectionToken_
private

Definition at line 186 of file MBUEandQCDValidation.h.

Referenced by analyze(), and MBUEandQCDValidation().

edm::InputTag MBUEandQCDValidation::genjetCollection_
private

Definition at line 51 of file MBUEandQCDValidation.h.

Referenced by MBUEandQCDValidation().

edm::EDGetTokenT<reco::GenJetCollection> MBUEandQCDValidation::genjetCollectionToken_
private

Definition at line 187 of file MBUEandQCDValidation.h.

Referenced by analyze(), and MBUEandQCDValidation().

std::vector<double> MBUEandQCDValidation::hepmcCharge
private

Definition at line 60 of file MBUEandQCDValidation.h.

Referenced by analyze(), isCharged(), isNeutral(), and MBUEandQCDValidation().

edm::InputTag MBUEandQCDValidation::hepmcCollection_
private

Definition at line 49 of file MBUEandQCDValidation.h.

Referenced by MBUEandQCDValidation().

edm::EDGetTokenT<edm::HepMCProduct> MBUEandQCDValidation::hepmcCollectionToken_
private

Definition at line 185 of file MBUEandQCDValidation.h.

Referenced by analyze(), and MBUEandQCDValidation().

std::vector<const HepMC::GenParticle*> MBUEandQCDValidation::hepmcGPCollection
private

status 1 GenParticle collection

Definition at line 59 of file MBUEandQCDValidation.h.

Referenced by analyze(), isCharged(), isNeutral(), isNeutrino(), and MBUEandQCDValidation().

const unsigned int MBUEandQCDValidation::initSize = 1000
staticprivate

Definition at line 183 of file MBUEandQCDValidation.h.

Referenced by MBUEandQCDValidation().

MonitorElement* MBUEandQCDValidation::leadChjeta
private

Definition at line 105 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::leadChjpt
private

Definition at line 104 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::leadTracketa
private

Definition at line 90 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::leadTrackpt
private

Definition at line 89 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::missEtosumJEt
private

Definition at line 142 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::muoPt
private

Definition at line 129 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::nbquark
private

Definition at line 78 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::ncandbquark
private

Definition at line 79 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::nCha
private

Definition at line 93 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::nChaDenLpt
private

Definition at line 97 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::nChj
private

Definition at line 101 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::ncnobquark
private

Definition at line 80 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::nDijet
private

Definition at line 132 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::nEvt
private

Definition at line 73 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::nEvt1
private

QCD-09-010 analysis.

Definition at line 83 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::nEvt2
private

Definition at line 88 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::nGamma
private

Definition at line 114 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::nHFflow
private

Definition at line 147 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::nHFSD
private

Definition at line 151 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::nj
private

Definition at line 133 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::nK0s
private

Definition at line 111 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::nKpm
private

Definition at line 110 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::nL0
private

Definition at line 112 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::nNNbar
private

Definition at line 113 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::nNoFwdTrig
private

Definition at line 75 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::nOmega
private

Definition at line 116 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

const unsigned int MBUEandQCDValidation::nphiBin = 36
staticprivate

Definition at line 182 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::nPPbar
private

Definition at line 109 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::nSaFwdTrig
private

Definition at line 76 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::ntHFm
private

Definition at line 153 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::nXim
private

Definition at line 115 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::pGamma
private

Definition at line 124 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::pK0s
private

Definition at line 121 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::pKpm
private

Definition at line 120 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::pL0
private

Definition at line 122 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::pNNbar
private

Definition at line 123 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::pOmega
private

Definition at line 126 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::pPPbar
private

Definition at line 119 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::pt1pt2balance
private

Definition at line 137 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::pt1pt2Dphi
private

Definition at line 138 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::pt1pt2InvM
private

Definition at line 139 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::pt1pt2optot
private

Definition at line 136 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::pt1pt2optotch
private

Definition at line 106 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::pt3Frac
private

Definition at line 140 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::pXim
private

Definition at line 125 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::sptDenLpt
private

Definition at line 98 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::sumChPt
private

Definition at line 144 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::sumJEt
private

Definition at line 141 of file MBUEandQCDValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* MBUEandQCDValidation::sumPt
private
CaloCellManager* MBUEandQCDValidation::theCalo
private

manager of calorimetric cell structure

Definition at line 63 of file MBUEandQCDValidation.h.

Referenced by analyze(), getHFbin(), MBUEandQCDValidation(), and ~MBUEandQCDValidation().

unsigned int MBUEandQCDValidation::verbosity_
private

Definition at line 53 of file MBUEandQCDValidation.h.

Referenced by analyze(), and MBUEandQCDValidation().

WeightManager MBUEandQCDValidation::wmanager_
private

Definition at line 48 of file MBUEandQCDValidation.h.

Referenced by analyze().