CMS 3D CMS Logo

List of all members | Public Member Functions | Static Private Member Functions | Private Attributes
DQMPFCandidateAnalyzer Class Reference

#include <DQMPFCandidateAnalyzer.h>

Inheritance diagram for DQMPFCandidateAnalyzer:
one::DQMEDAnalyzer< T > one::dqmimplementation::DQMBaseClass< T... >

Public Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 Get the analysis. More...
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 Inizialize parameters for histo binning. More...
 
void dqmBeginRun (const edm::Run &, const edm::EventSetup &) override
 Initialize run-based parameters. More...
 
 DQMPFCandidateAnalyzer (const edm::ParameterSet &)
 Constructor. More...
 
void endRun (const edm::Run &, const edm::EventSetup &) override
 Finish up a run. More...
 
 ~DQMPFCandidateAnalyzer () override
 Destructor. More...
 
- Public Member Functions inherited from one::DQMEDAnalyzer< T >
 DQMEDAnalyzer ()=default
 
 DQMEDAnalyzer (DQMEDAnalyzer< T... > const &)=delete
 
 DQMEDAnalyzer (DQMEDAnalyzer< T... > &&)=delete
 
 ~DQMEDAnalyzer () override=default
 

Static Private Member Functions

static bool jetSortingRule (reco::Jet x, reco::Jet y)
 

Private Attributes

bool bypassAllDCSChecks_
 
bool bypassAllPVChecks_
 
std::string candidateType_
 
edm::ParameterSet cleaningParameters_
 
std::vector< int > countsPFCand_
 
std::vector< int > countsPFCandRECO_
 
JetMETDQMDCSFilterDCSFilter_
 
std::vector< edm::ParameterSetdiagnosticsParameters_
 
std::vector< double > etaMaxPFCand_
 
std::vector< double > etaMaxPFCandRECO_
 
std::vector< double > etaMinPFCand_
 
std::vector< double > etaMinPFCandRECO_
 
HLTConfigProvider FilterhltConfig_
 
bool hbhenoifilterdecision
 
edm::InputTag hbheNoiseFilterResultTag_
 
edm::EDGetTokenT< bool > hbheNoiseFilterResultToken_
 
std::string HBHENoiseStringMiniAOD
 
double hcalMin_
 
bool isMiniAO_
 
bool isMiniAOD_
 
int LSBegin_
 
int LSEnd_
 
MonitorElementm_HOverTrackP_Barrel_hPt_10_20
 
MonitorElementm_HOverTrackP_Barrel_hPt_1_10
 
MonitorElementm_HOverTrackP_Barrel_hPt_20_50
 
MonitorElementm_HOverTrackP_Barrel_hPt_50
 
MonitorElementm_HOverTrackP_EndCap_hPt_10_20
 
MonitorElementm_HOverTrackP_EndCap_hPt_1_10
 
MonitorElementm_HOverTrackP_EndCap_hPt_20_50
 
MonitorElementm_HOverTrackP_EndCap_hPt_50
 
MonitorElementm_HOverTrackP_trackPtVsEta
 
MonitorElementm_HOverTrackPVsEta_hPt_10_20
 
MonitorElementm_HOverTrackPVsEta_hPt_1_10
 
MonitorElementm_HOverTrackPVsEta_hPt_20_50
 
MonitorElementm_HOverTrackPVsEta_hPt_50
 
MonitorElementm_HOverTrackPVsTrackP_Barrel
 
MonitorElementm_HOverTrackPVsTrackP_EndCap
 
MonitorElementm_HOverTrackPVsTrackPt_Barrel
 
MonitorElementm_HOverTrackPVsTrackPt_EndCap
 
std::map< std::string, MonitorElement * > map_of_MEs
 
edm::InputTag METFilterMiniAODLabel2_
 
edm::InputTag METFilterMiniAODLabel_
 
edm::EDGetTokenT< edm::TriggerResultsMETFilterMiniAODToken2_
 
edm::EDGetTokenT< edm::TriggerResultsMETFilterMiniAODToken_
 
int miniaodfilterdec
 
int miniaodfilterindex
 
edm::InputTag mInputCollection_
 
MonitorElementmProfileIsoPFChHad_EcalOccupancyCentral
 
MonitorElementmProfileIsoPFChHad_EcalOccupancyEndcap
 
MonitorElementmProfileIsoPFChHad_EMPtCentral
 
MonitorElementmProfileIsoPFChHad_EMPtEndcap
 
MonitorElementmProfileIsoPFChHad_HadPtCentral
 
MonitorElementmProfileIsoPFChHad_HadPtEndcap
 
MonitorElementmProfileIsoPFChHad_HcalOccupancyCentral
 
MonitorElementmProfileIsoPFChHad_HcalOccupancyEndcap
 
MonitorElementmProfileIsoPFChHad_TrackOccupancy
 
MonitorElementmProfileIsoPFChHad_TrackPt
 
std::vector< MonitorElement * > multiplicityPFCand_
 
std::vector< std::string > multiplicityPFCand_name_
 
std::vector< std::string > multiplicityPFCand_nameRECO_
 
std::vector< MonitorElement * > multiplicityPFCandRECO_
 
int numPV_
 
std::vector< MonitorElement * > occupancyPFCand_
 
std::vector< std::string > occupancyPFCand_name_
 
std::vector< std::string > occupancyPFCand_name_puppiNolepWeight_
 
std::vector< std::string > occupancyPFCand_nameRECO_
 
std::vector< MonitorElement * > occupancyPFCand_puppiNolepWeight_
 
std::vector< MonitorElement * > occupancyPFCandRECO_
 
edm::EDGetTokenT< std::vector< pat::PackedCandidate > > pflowPackedToken_
 
edm::EDGetTokenT< std::vector< reco::PFCandidate > > pflowToken_
 
double ptMinCand_
 
std::vector< MonitorElement * > ptPFCand_
 
std::vector< std::string > ptPFCand_name_
 
std::vector< std::string > ptPFCand_name_puppiNolepWeight_
 
std::vector< std::string > ptPFCand_nameRECO_
 
std::vector< MonitorElement * > ptPFCand_puppiNolepWeight_
 
std::vector< MonitorElement * > ptPFCandRECO_
 
edm::InputTag theTriggerResultsLabel_
 
std::vector< int > typePFCand_
 
std::vector< int > typePFCandRECO_
 
int verbose_
 
edm::InputTag vertexTag_
 
edm::EDGetTokenT< std::vector< reco::Vertex > > vertexToken_
 

Detailed Description

DQM jetMET analysis monitoring for PFCandidates

    Jan. '16: by

    M. Artur Weber

Definition at line 66 of file DQMPFCandidateAnalyzer.h.

Constructor & Destructor Documentation

DQMPFCandidateAnalyzer::DQMPFCandidateAnalyzer ( const edm::ParameterSet pSet)

Constructor.

Definition at line 60 of file DQMPFCandidateAnalyzer.cc.

References edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), and AlCaHLTBitMon_QueryRunRegistry::string.

63 {
64 
66 
68  //here only choice between miniaod or reco
69 
70  LSBegin_ = pSet.getParameter<int>("LSBegin");
71  LSEnd_ = pSet.getParameter<int>("LSEnd");
72 
73  isMiniAOD_= (std::string("Packed") == candidateType_);
74 
75  mInputCollection_ = pSet.getParameter<edm::InputTag>("PFCandidateLabel");
76 
77  if(isMiniAOD_){
78  pflowPackedToken_ = consumes<std::vector<pat::PackedCandidate> >(mInputCollection_);
79  }else{
80  pflowToken_ = consumes<std::vector<reco::PFCandidate> >(mInputCollection_);
81  }
82 
84 
85  // Smallest track pt
86  ptMinCand_ = pSet.getParameter<double>("ptMinCand");
87 
88  // Smallest raw HCAL energy linked to the track
89  hcalMin_ = pSet.getParameter<double>("hcalMin");
90 
91  diagnosticsParameters_ = pSet.getParameter<std::vector<edm::ParameterSet> >("METDiagonisticsParameters");
92 
93  edm::ConsumesCollector iC = consumesCollector();
94  //DCS
95  DCSFilter_ = new JetMETDQMDCSFilter(pSet.getParameter<ParameterSet>("DCSFilter"), iC );
96  if(isMiniAOD_){
97  METFilterMiniAODLabel_=pSet.getParameter<edm::InputTag>("FilterResultsLabelMiniAOD");
98  METFilterMiniAODToken_=consumes<edm::TriggerResults>(METFilterMiniAODLabel_);
99 
100  METFilterMiniAODLabel2_=pSet.getParameter<edm::InputTag>("FilterResultsLabelMiniAOD2");
101  METFilterMiniAODToken2_=consumes<edm::TriggerResults>(METFilterMiniAODLabel2_);
102 
103 
104  HBHENoiseStringMiniAOD = pSet.getParameter<std::string>("HBHENoiseLabelMiniAOD");
105  }
106 
107  if(!isMiniAOD_){
108  hbheNoiseFilterResultTag_ = pSet.getParameter<edm::InputTag>("HBHENoiseFilterResultLabel");
110  }
111  //jet cleanup parameters
112  cleaningParameters_ = pSet.getParameter<ParameterSet>("CleaningParameters");
113 
114  //Vertex requirements
115  bypassAllPVChecks_ = cleaningParameters_.getParameter<bool>("bypassAllPVChecks");
116  bypassAllDCSChecks_ = cleaningParameters_.getParameter<bool>("bypassAllDCSChecks");
117  vertexTag_ = cleaningParameters_.getParameter<edm::InputTag>("vertexCollection");
118  vertexToken_ = consumes<std::vector<reco::Vertex> >(edm::InputTag(vertexTag_));
119 
120  verbose_= pSet.getParameter<int>("verbose");
121 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
edm::ParameterSet cleaningParameters_
edm::EDGetTokenT< std::vector< pat::PackedCandidate > > pflowPackedToken_
edm::EDGetTokenT< bool > hbheNoiseFilterResultToken_
edm::EDGetTokenT< std::vector< reco::PFCandidate > > pflowToken_
edm::EDGetTokenT< std::vector< reco::Vertex > > vertexToken_
edm::EDGetTokenT< edm::TriggerResults > METFilterMiniAODToken2_
JetMETDQMDCSFilter * DCSFilter_
std::vector< edm::ParameterSet > diagnosticsParameters_
edm::EDGetTokenT< edm::TriggerResults > METFilterMiniAODToken_
DQMPFCandidateAnalyzer::~DQMPFCandidateAnalyzer ( )
override

Destructor.

Definition at line 125 of file DQMPFCandidateAnalyzer.cc.

References LogTrace.

125  {
126 
127  delete DCSFilter_;
128  LogTrace("DQMPFCandidateAnalyzer")<<"[DQMPFCandidateAnalyzer] Saving the histos";
129 }
#define LogTrace(id)
JetMETDQMDCSFilter * DCSFilter_

Member Function Documentation

void DQMPFCandidateAnalyzer::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
override

Get the analysis.

Definition at line 411 of file DQMPFCandidateAnalyzer.cc.

References funct::abs(), edm::HLTGlobalStatus::accept(), EnergyCorrector::c, reco::PFBlockElementCluster::clusterRef(), gather_cfg::cout, cmsPerfPublish::DirName, ECAL, allElectronIsolations_cfi::elements, reco::PFCandidate::elementsInBlocks(), stringResolutionProvider_cfi::et, reco::LeafCandidate::eta(), pat::PackedCandidate::eta(), HcalObjRepresent::Fill(), edm::Event::getByToken(), HCAL, reco::PFCandidate::hcalEnergy(), mps_fire::i, cuy::ii, edm::HandleBase::isValid(), LogDebug, edm::EventBase::luminosityBlock(), nTracks(), pfLinker_cff::particleFlow, reco::PFCandidate::particleId(), pat::PackedCandidate::pdgId(), reco::LeafCandidate::phi(), pat::PackedCandidate::phi(), edm::Handle< T >::product(), reco::LeafCandidate::pt(), pat::PackedCandidate::pt(), pat::PackedCandidate::puppiWeight(), pat::PackedCandidate::puppiWeightNoLep(), reco::PFCandidate::rawEcalEnergy(), reco::PFCandidate::rawHcalEnergy(), edm::OwnVector< T, P >::size(), AlCaHLTBitMon_QueryRunRegistry::string, reco::PFBlockElementTrack::trackRef(), and particleFlowSuperClusterECAL_cfi::vertexCollection.

411  {
412 
413 
414  //Vertex information
415  Handle<VertexCollection> vertexHandle;
416  iEvent.getByToken(vertexToken_, vertexHandle);
417 
418  if (!vertexHandle.isValid()) {
419  LogDebug("") << "CaloMETAnalyzer: Could not find vertex collection" << std::endl;
420  if (verbose_) std::cout << "CaloMETAnalyzer: Could not find vertex collection" << std::endl;
421  }
422  numPV_ = 0;
423  if ( vertexHandle.isValid() ){
424  VertexCollection vertexCollection = *(vertexHandle.product());
425  numPV_ = vertexCollection.size();
426  }
427  bool bPrimaryVertex = (bypassAllPVChecks_ || (numPV_>0));
428 
429 
430  int myLuminosityBlock;
431  myLuminosityBlock = iEvent.luminosityBlock();
432 
433  if (myLuminosityBlock<LSBegin_) return;
434  if (myLuminosityBlock>LSEnd_ && LSEnd_>0) return;
435 
436 
437  if (verbose_) std::cout << "METAnalyzer analyze" << std::endl;
438 
439  std::string DirName = "JetMET/PFCandidates/"+mInputCollection_.label();
440 
441  bool hbhenoifilterdecision=true;
442  if(!isMiniAOD_){//not checked for MiniAOD -> for miniaod decision filled as "triggerResults" bool
443  edm::Handle<bool> HBHENoiseFilterResultHandle;
444  iEvent.getByToken(hbheNoiseFilterResultToken_, HBHENoiseFilterResultHandle);
445  if (!HBHENoiseFilterResultHandle.isValid()) {
446  LogDebug("") << "METAnalyzer: Could not find HBHENoiseFilterResult" << std::endl;
447  if (verbose_) std::cout << "METAnalyzer: Could not find HBHENoiseFilterResult" << std::endl;
448  }
449  hbhenoifilterdecision= *HBHENoiseFilterResultHandle;
450  }else{//need to check if we go for version 1 or version 2
451  edm::Handle<edm::TriggerResults> metFilterResults;
452  iEvent.getByToken(METFilterMiniAODToken_, metFilterResults);
453  if(metFilterResults.isValid()){
454  if(miniaodfilterindex!=-1){
455  hbhenoifilterdecision = metFilterResults->accept(miniaodfilterindex);
456  }
457  }else{
458  iEvent.getByToken(METFilterMiniAODToken2_, metFilterResults);
459  if(metFilterResults.isValid()){
460  if(miniaodfilterindex!=-1){
461  hbhenoifilterdecision = metFilterResults->accept(miniaodfilterindex);
462  }
463  }
464  }
465  }
466 
467  //DCS Filter
468  bool bDCSFilter = (bypassAllDCSChecks_ || DCSFilter_->filter(iEvent, iSetup));
469 
470  for (unsigned int i=0;i<countsPFCand_.size();i++) {
471  countsPFCand_[i]=0;
472  }
473  if(bDCSFilter && hbhenoifilterdecision && bPrimaryVertex){
474  if(isMiniAOD_){
476  iEvent.getByToken(pflowPackedToken_, packedParticleFlow);
477  //11, 13, 22 for el/mu/gamma, 211 chargedHadron, 130 neutralHadrons, 1 and 2 hadHF and EGammaHF
478  for (unsigned int i = 0; i < packedParticleFlow->size(); i++) {
479  const pat::PackedCandidate& c = packedParticleFlow->at(i);
480  for (unsigned int j=0; j<typePFCand_.size(); j++) {
481  if (abs(c.pdgId())==typePFCand_[j]) {
482  //second check for endcap, if inside barrel Max and Min symmetric around 0
483  if ( ((c.eta()>etaMinPFCand_[j]) && (c.eta()<etaMaxPFCand_[j])) || ((c.eta()> (-etaMaxPFCand_[j])) && (c.eta()< (-etaMinPFCand_[j]))) ){
484  countsPFCand_[j]+=1;
485  ptPFCand_[j] = map_of_MEs[DirName + "/"+ptPFCand_name_[j]];
486  if ( ptPFCand_[j] && ptPFCand_[j]->getRootObject()) ptPFCand_[j]->Fill(c.eta(), c.phi(), c.pt()*c.puppiWeight());
487  occupancyPFCand_[j] = map_of_MEs[DirName + "/"+occupancyPFCand_name_[j]];
488  if ( occupancyPFCand_[j] && occupancyPFCand_[j]->getRootObject()) occupancyPFCand_[j]->Fill(c.eta(), c.phi(),c.puppiWeight());
493  }
494  }
495  }
496  }
497  }
498  for (unsigned int j=0; j<countsPFCand_.size(); j++) {
500  if(multiplicityPFCand_[j] && multiplicityPFCand_[j]->getRootObject()){ multiplicityPFCand_[j]->Fill(countsPFCand_[j]);
501  }
502  }
503  }else{
505  iEvent.getByToken(pflowToken_, particleFlow);
506  for (unsigned int i = 0; i < particleFlow->size(); i++) {
507  const reco::PFCandidate& c = particleFlow->at(i);
508  for (unsigned int j=0; j<typePFCandRECO_.size(); j++) {
509  if (c.particleId()==typePFCandRECO_[j]) {
510  //second check for endcap, if inside barrel Max and Min symmetric around 0
511  if ( ((c.eta()>etaMinPFCandRECO_[j]) && (c.eta()<etaMaxPFCandRECO_[j])) || ((c.eta()> (-etaMaxPFCandRECO_[j])) && (c.eta()< (-etaMinPFCandRECO_[j]))) ){
512  countsPFCandRECO_[j]+=1;
513  ptPFCandRECO_[j] = map_of_MEs[DirName + "/"+ptPFCand_nameRECO_[j]];
514  if ( ptPFCandRECO_[j] && ptPFCandRECO_[j]->getRootObject()) ptPFCandRECO_[j]->Fill(c.eta(), c.phi(), c.pt());
516  if ( occupancyPFCandRECO_[j] && occupancyPFCandRECO_[j]->getRootObject()) occupancyPFCandRECO_[j]->Fill(c.eta(), c.phi());
517  }
518  //fill quantities for isolated charged hadron quantities
519  //only for charged hadrons
520  if ( c.particleId() == 1 && c.pt() > ptMinCand_ ){
521  // At least 1 GeV in HCAL
522  double ecalRaw = c.rawEcalEnergy();
523  double hcalRaw = c.rawHcalEnergy();
524  if ( (ecalRaw + hcalRaw) > hcalMin_ ){
525  const PFCandidate::ElementsInBlocks& theElements = c.elementsInBlocks();
526  if( theElements.empty() ) continue;
527  unsigned int iTrack=-999;
528  std::vector<unsigned int> iECAL;// =999;
529  std::vector<unsigned int> iHCAL;// =999;
530  const reco::PFBlockRef blockRef = theElements[0].first;
531  const edm::OwnVector<reco::PFBlockElement>& elements = blockRef->elements();
532  // Check that there is only one track in the block.
533  unsigned int nTracks = 0;
534  for(unsigned int iEle=0; iEle<elements.size(); iEle++) {
535  // Find the tracks in the block
536  PFBlockElement::Type type = elements[iEle].type();
537  switch( type ) {
538  case PFBlockElement::TRACK:
539  iTrack = iEle;
540  nTracks++;
541  break;
543  iECAL.push_back( iEle );
544  break;
546  iHCAL.push_back( iEle );
547  break;
548  default:
549  continue;
550  }
551  }
552  if ( nTracks == 1 ){
553  // Characteristics of the track
554  const reco::PFBlockElementTrack& et = dynamic_cast<const reco::PFBlockElementTrack &>( elements[iTrack] );
555  mProfileIsoPFChHad_TrackOccupancy=map_of_MEs[DirName+"/"+"IsoPfChHad_Track_profile"];
557  mProfileIsoPFChHad_TrackPt=map_of_MEs[DirName+"/"+"IsoPfChHad_TrackPt"];
559  if(c.rawEcalEnergy()==0){//isolated hadron, nothing in ECAL
560  //right now take corrected hcalEnergy, do we want the rawHcalEnergy instead
561  m_HOverTrackP_trackPtVsEta=map_of_MEs[DirName+"/"+"HOverTrackP_trackPtVsEta"];
563  if(c.pt()>1 && c.pt()<10){
564  m_HOverTrackPVsEta_hPt_1_10=map_of_MEs[DirName+"/"+"HOverTrackPVsEta_hPt_1_10"];
566  }else if(c.pt()>10 && c.pt()<20){
567  m_HOverTrackPVsEta_hPt_10_20=map_of_MEs[DirName+"/"+"HOverTrackPVsEta_hPt_10_20"];
569  }else if(c.pt()>20 && c.pt()<50){
570  m_HOverTrackPVsEta_hPt_20_50=map_of_MEs[DirName+"/"+"HOverTrackPVsEta_hPt_20_50"];
572  }else if(c.pt()>50){
573  m_HOverTrackPVsEta_hPt_50=map_of_MEs[DirName+"/"+"HOverTrackPVsEta_hPt_50"];
575  }
576  if(fabs(c.eta()<1.392)){
577  if(c.pt()>1 && c.pt()<10){
578  m_HOverTrackP_Barrel_hPt_1_10=map_of_MEs[DirName+"/"+"HOverTrackP_Barrel_hPt_1_10"];
580  }else if(c.pt()>10 && c.pt()<20){
581  m_HOverTrackP_Barrel_hPt_10_20=map_of_MEs[DirName+"/"+"HOverTrackP_Barrel_hPt_10_20"];
583  }else if(c.pt()>20 && c.pt()<50){
584  m_HOverTrackP_Barrel_hPt_20_50=map_of_MEs[DirName+"/"+"HOverTrackP_Barrel_hPt_20_50"];
586  }else if(c.pt()>50){
587  m_HOverTrackP_Barrel_hPt_50=map_of_MEs[DirName+"/"+"HOverTrackP_Barrel_hPt_50"];
589  }
590  m_HOverTrackPVsTrackP_Barrel=map_of_MEs[DirName+"/"+"HOverTrackPVsTrackP_Barrel"];
592  m_HOverTrackPVsTrackPt_Barrel=map_of_MEs[DirName+"/"+"HOverTrackPVsTrackPt_Barrel"];
594  }else{
595  m_HOverTrackPVsTrackP_EndCap=map_of_MEs[DirName+"/"+"HOverTrackPVsTrackP_EndCap"];
597  m_HOverTrackPVsTrackPt_EndCap=map_of_MEs[DirName+"/"+"HOverTrackPVsTrackPt_EndCap"];
599  if(c.pt()>1 && c.pt()<10){
600  m_HOverTrackP_EndCap_hPt_1_10=map_of_MEs[DirName+"/"+"HOverTrackP_EndCap_hPt_1_10"];
602  }else if(c.pt()>10 && c.pt()<20){
603  m_HOverTrackP_EndCap_hPt_10_20=map_of_MEs[DirName+"/"+"HOverTrackP_EndCap_hPt_10_20"];
605  }else if(c.pt()>20 && c.pt()<50){
606  m_HOverTrackP_EndCap_hPt_20_50=map_of_MEs[DirName+"/"+"HOverTrackP_EndCap_hPt_20_50"];
608  }else if(c.pt()>50){
609  m_HOverTrackP_EndCap_hPt_50=map_of_MEs[DirName+"/"+"HOverTrackP_EndCap_hPt_50"];
611  }
612  }
613  }
614  //ECAL element
615  for(unsigned int ii=0;ii<iECAL.size();ii++) {
616  const reco::PFBlockElementCluster& eecal = dynamic_cast<const reco::PFBlockElementCluster &>( elements[ iECAL[ii] ] );
617  if(fabs(eecal.clusterRef()->eta())<1.479){
618  mProfileIsoPFChHad_EcalOccupancyCentral=map_of_MEs[DirName+"/"+"IsoPfChHad_ECAL_profile_central"];
620  mProfileIsoPFChHad_EMPtCentral=map_of_MEs[DirName+"/"+"IsoPfChHad_EMPt_central"];
622  }else{
623  mProfileIsoPFChHad_EcalOccupancyEndcap=map_of_MEs[DirName+"/"+"IsoPfChHad_ECAL_profile_endcap"];
625  mProfileIsoPFChHad_EMPtEndcap=map_of_MEs[DirName+"/"+"IsoPfChHad_EMPt_endcap"];
627  }
628 
629 
630  }
631  //HCAL element
632  for(unsigned int ii=0;ii<iHCAL.size();ii++) {
633  const reco::PFBlockElementCluster& ehcal = dynamic_cast<const reco::PFBlockElementCluster &>( elements[ iHCAL[ii] ] );
634  if(fabs(ehcal.clusterRef()->eta())<1.740){
635  mProfileIsoPFChHad_HcalOccupancyCentral=map_of_MEs[DirName+"/"+"IsoPfChHad_HCAL_profile_central"];
637  mProfileIsoPFChHad_HadPtCentral=map_of_MEs[DirName+"/"+"IsoPfChHad_HadPt_central"];
639  }else{
640  mProfileIsoPFChHad_HcalOccupancyEndcap=map_of_MEs[DirName+"/"+"IsoPfChHad_HCAL_profile_endcap"];
642  mProfileIsoPFChHad_HadPtEndcap=map_of_MEs[DirName+"/"+"IsoPfChHad_HadPt_endcap"];
644  }
645  }
646  }
647  }
648  }
649  }
650  }
651  }
652  for (unsigned int j=0; j<countsPFCandRECO_.size(); j++) {
655  }
656  }
657  }//candidate loop for both miniaod and reco
658  }
659 }
MonitorElement * m_HOverTrackPVsTrackP_EndCap
#define LogDebug(id)
float puppiWeight() const
std::vector< int > typePFCand_
type
Definition: HCALResponse.h:21
std::vector< MonitorElement * > occupancyPFCand_puppiNolepWeight_
MonitorElement * m_HOverTrackPVsTrackPt_Barrel
std::vector< double > etaMinPFCandRECO_
const unsigned int nTracks(const reco::Vertex &sv)
std::vector< std::string > ptPFCand_name_puppiNolepWeight_
double eta() const final
momentum pseudorapidity
double rawEcalEnergy() const
return corrected Ecal energy
Definition: PFCandidate.h:225
MonitorElement * m_HOverTrackP_Barrel_hPt_20_50
float puppiWeightNoLep() const
Weight from full PUPPI.
int pdgId() const override
PDG identifier.
MonitorElement * m_HOverTrackPVsEta_hPt_20_50
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:517
std::vector< std::string > multiplicityPFCand_nameRECO_
MonitorElement * m_HOverTrackP_trackPtVsEta
TObject * getRootObject() const
const PFClusterRef & clusterRef() const override
const reco::TrackRef & trackRef() const override
MonitorElement * m_HOverTrackPVsEta_hPt_10_20
bool accept() const
Has at least one path accepted the event?
size_type size() const
Definition: OwnVector.h:264
MonitorElement * m_HOverTrackP_Barrel_hPt_1_10
edm::LuminosityBlockNumber_t luminosityBlock() const
Definition: EventBase.h:61
edm::EDGetTokenT< std::vector< pat::PackedCandidate > > pflowPackedToken_
double pt() const final
transverse momentum
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
std::vector< std::string > occupancyPFCand_name_
MonitorElement * m_HOverTrackPVsTrackP_Barrel
std::vector< int > typePFCandRECO_
MonitorElement * m_HOverTrackP_EndCap_hPt_50
std::vector< int > countsPFCandRECO_
edm::EDGetTokenT< bool > hbheNoiseFilterResultToken_
std::vector< ElementInBlock > ElementsInBlocks
Definition: PFCandidate.h:387
std::vector< MonitorElement * > multiplicityPFCandRECO_
void Fill(long long x)
edm::EDGetTokenT< std::vector< reco::PFCandidate > > pflowToken_
MonitorElement * m_HOverTrackPVsEta_hPt_1_10
MonitorElement * mProfileIsoPFChHad_HadPtEndcap
MonitorElement * mProfileIsoPFChHad_HcalOccupancyEndcap
std::vector< MonitorElement * > ptPFCandRECO_
MonitorElement * mProfileIsoPFChHad_EMPtCentral
std::vector< MonitorElement * > occupancyPFCandRECO_
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
std::vector< MonitorElement * > occupancyPFCand_
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
edm::EDGetTokenT< std::vector< reco::Vertex > > vertexToken_
std::vector< double > etaMaxPFCandRECO_
double pt() const override
transverse momentum
std::vector< std::string > multiplicityPFCand_name_
std::vector< std::string > occupancyPFCand_nameRECO_
bool isValid() const
Definition: HandleBase.h:74
std::vector< double > etaMinPFCand_
bool filter(const edm::Event &evt, const edm::EventSetup &es)
ii
Definition: cuy.py:590
std::map< std::string, MonitorElement * > map_of_MEs
MonitorElement * m_HOverTrackPVsTrackPt_EndCap
std::vector< MonitorElement * > ptPFCand_puppiNolepWeight_
double eta() const override
momentum pseudorapidity
double phi() const override
momentum azimuthal angle
edm::EDGetTokenT< edm::TriggerResults > METFilterMiniAODToken2_
MonitorElement * mProfileIsoPFChHad_EcalOccupancyEndcap
std::vector< std::string > occupancyPFCand_name_puppiNolepWeight_
MonitorElement * m_HOverTrackP_Barrel_hPt_10_20
T const * product() const
Definition: Handle.h:74
std::vector< int > countsPFCand_
MonitorElement * m_HOverTrackP_EndCap_hPt_1_10
MonitorElement * mProfileIsoPFChHad_TrackPt
std::vector< std::string > ptPFCand_nameRECO_
MonitorElement * mProfileIsoPFChHad_HcalOccupancyCentral
MonitorElement * mProfileIsoPFChHad_TrackOccupancy
et
define resolution functions of each parameter
MonitorElement * m_HOverTrackP_Barrel_hPt_50
std::string const & label() const
Definition: InputTag.h:36
Particle reconstructed by the particle flow algorithm.
Definition: PFCandidate.h:40
double hcalEnergy() const
return corrected Hcal energy
Definition: PFCandidate.h:232
MonitorElement * mProfileIsoPFChHad_EcalOccupancyCentral
JetMETDQMDCSFilter * DCSFilter_
std::vector< MonitorElement * > multiplicityPFCand_
virtual ParticleType particleId() const
Definition: PFCandidate.h:374
const ElementsInBlocks & elementsInBlocks() const
Definition: PFCandidate.cc:691
double phi() const final
momentum azimuthal angle
MonitorElement * mProfileIsoPFChHad_EMPtEndcap
MonitorElement * m_HOverTrackPVsEta_hPt_50
std::vector< double > etaMaxPFCand_
MonitorElement * m_HOverTrackP_EndCap_hPt_10_20
MonitorElement * m_HOverTrackP_EndCap_hPt_20_50
std::vector< MonitorElement * > ptPFCand_
std::vector< std::string > ptPFCand_name_
double rawHcalEnergy() const
return raw Hcal energy
Definition: PFCandidate.h:235
edm::EDGetTokenT< edm::TriggerResults > METFilterMiniAODToken_
MonitorElement * mProfileIsoPFChHad_HadPtCentral
void DQMPFCandidateAnalyzer::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  iRun,
edm::EventSetup const &   
)
override

Inizialize parameters for histo binning.

Definition at line 132 of file DQMPFCandidateAnalyzer.cc.

References DQMStore::IBooker::book1D(), DQMStore::IBooker::book2D(), DQMStore::IBooker::bookProfile(), cmsPerfPublish::DirName, JetChargeProducer_cfi::exp, objects.autophobj::float, mps_fire::i, cmsBatch::log, M_PI, DQMStore::IBooker::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, and findQualityFiles::v.

134  {
135 
136  ibooker.setCurrentFolder("JetMET/PFCandidates/"+mInputCollection_.label());
137  std::string DirName = "JetMET/PFCandidates/"+mInputCollection_.label();
138 
139  if(!isMiniAOD_){
140  if(!occupancyPFCandRECO_.empty())occupancyPFCandRECO_.clear();
142  if(!etaMinPFCandRECO_.empty())etaMinPFCandRECO_.clear();
143  if(!etaMaxPFCandRECO_.empty())etaMaxPFCandRECO_.clear();
144  if(!typePFCandRECO_.empty())typePFCandRECO_.clear();
145  if(!countsPFCandRECO_.empty())countsPFCandRECO_.clear();
146  if(!ptPFCandRECO_.empty())ptPFCandRECO_.clear();
147  if(!ptPFCand_nameRECO_.empty())ptPFCand_nameRECO_.clear();
150  for (std::vector<edm::ParameterSet>::const_iterator v = diagnosticsParameters_.begin(); v!=diagnosticsParameters_.end(); v++) {
151  int etaNBinsPFCand = v->getParameter<int>("etaNBins");
152  double etaMinPFCand = v->getParameter<double>("etaMin");
153  double etaMaxPFCand = v->getParameter<double>("etaMax");
154  int phiNBinsPFCand = v->getParameter<int>("phiNBins");
155  double phiMinPFCand = v->getParameter<double>("phiMin");
156  double phiMaxPFCand = v->getParameter<double>("phiMax");
157  int nMinPFCand = v->getParameter<int>("nMin");
158  int nMaxPFCand = v->getParameter<int>("nMax");
159  int nbinsPFCand = v->getParameter<double>("nbins");
160  etaMinPFCandRECO_.push_back(etaMinPFCand);
161  etaMaxPFCandRECO_.push_back(etaMaxPFCand);
162  typePFCandRECO_.push_back(v->getParameter<int>("type"));
163  countsPFCandRECO_.push_back(0);
164  multiplicityPFCandRECO_.push_back(ibooker.book1D(std::string(v->getParameter<std::string>("name")).append("_multiplicity_").c_str(),std::string(v->getParameter<std::string>("name"))+"multiplicity", nbinsPFCand, nMinPFCand, nMaxPFCand));
165  multiplicityPFCand_nameRECO_.push_back(std::string(v->getParameter<std::string>("name")).append("_multiplicity_"));
166  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+ multiplicityPFCand_nameRECO_[multiplicityPFCand_nameRECO_.size()-1], multiplicityPFCandRECO_[multiplicityPFCandRECO_.size()-1]));
167 
168  //push back names first, we need to create histograms with the name and fill it for endcap plots later
169  occupancyPFCand_nameRECO_.push_back(std::string(v->getParameter<std::string>("name")).append("_occupancy_"));
170 
171  ptPFCand_nameRECO_.push_back(std::string(v->getParameter<std::string>("name")).append("_pt_"));
172  //special booking for endcap plots, merge plots for eminus and eplus into one plot, using variable binning
173  //barrel plots have eta-boundaries on minus and plus side
174  //parameters start on minus side
175  if(etaMinPFCand*etaMaxPFCand<0){//barrel plots, plot only in barrel region
176  occupancyPFCandRECO_.push_back(ibooker.book2D(std::string(v->getParameter<std::string>("name")).append("_occupancy_").c_str(),std::string(v->getParameter<std::string>("name"))+"occupancy", etaNBinsPFCand, etaMinPFCand, etaMaxPFCand, phiNBinsPFCand, phiMinPFCand, phiMaxPFCand));
177  ptPFCandRECO_.push_back(ibooker.book2D(std::string(v->getParameter<std::string>("name")).append("_pt_").c_str(),std::string(v->getParameter<std::string>("name"))+"pt", etaNBinsPFCand, etaMinPFCand, etaMaxPFCand, phiNBinsPFCand, phiMinPFCand, phiMaxPFCand));
178  }else{//endcap or forward plots,
179  const int nbins_eta_endcap=2*(etaNBinsPFCand+1);
180  double eta_limits_endcap[nbins_eta_endcap];
181  for(int i=0;i<nbins_eta_endcap;i++){
182  if(i<(etaNBinsPFCand+1)){
183  eta_limits_endcap[i]=etaMinPFCand+i*(etaMaxPFCand-etaMinPFCand)/(double)etaNBinsPFCand;
184  }else{
185  eta_limits_endcap[i]= -etaMaxPFCand +(i- (etaNBinsPFCand+1) )*(etaMaxPFCand-etaMinPFCand)/(double)etaNBinsPFCand;
186  }
187  }
188  TH2F* hist_temp_occup = new TH2F((occupancyPFCand_nameRECO_[occupancyPFCand_nameRECO_.size()-1]).c_str(),"occupancy",nbins_eta_endcap-1, eta_limits_endcap, phiNBinsPFCand, phiMinPFCand, phiMaxPFCand);
189  occupancyPFCandRECO_.push_back(ibooker.book2D(occupancyPFCand_nameRECO_[occupancyPFCand_nameRECO_.size()-1],hist_temp_occup));
190  TH2F* hist_temp_pt = new TH2F((ptPFCand_nameRECO_[ptPFCand_nameRECO_.size()-1]).c_str(),"pt",nbins_eta_endcap-1, eta_limits_endcap, phiNBinsPFCand, phiMinPFCand, phiMaxPFCand);
191  ptPFCandRECO_.push_back(ibooker.book2D(ptPFCand_nameRECO_[ptPFCand_nameRECO_.size()-1], hist_temp_pt));
192  }
193 
194  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+ occupancyPFCand_nameRECO_[occupancyPFCand_nameRECO_.size()-1], occupancyPFCandRECO_[occupancyPFCandRECO_.size()-1]));
195  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+ ptPFCand_nameRECO_[ptPFCand_nameRECO_.size()-1], ptPFCandRECO_[ptPFCandRECO_.size()-1]));
196  }
197 
198  mProfileIsoPFChHad_TrackOccupancy=ibooker.book2D("IsoPfChHad_Track_profile","Isolated PFChHadron Tracker_occupancy", 108, -2.7, 2.7, 160, -M_PI,M_PI);
199  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"IsoPfChHad_Track_profile" ,mProfileIsoPFChHad_TrackOccupancy));
200  mProfileIsoPFChHad_TrackPt=ibooker.book2D("IsoPfChHad_TrackPt","Isolated PFChHadron TrackPt", 108, -2.7, 2.7, 160, -M_PI,M_PI);
201  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"IsoPfChHad_TrackPt" ,mProfileIsoPFChHad_TrackPt));
202 
203 
204  mProfileIsoPFChHad_EcalOccupancyCentral = ibooker.book2D("IsoPfChHad_ECAL_profile_central","IsolatedPFChHa ECAL occupancy (Barrel)", 180, -1.479, 1.479, 125, -M_PI,M_PI);
205  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"IsoPfChHad_ECAL_profile_central" ,mProfileIsoPFChHad_EcalOccupancyCentral));
206  mProfileIsoPFChHad_EMPtCentral=ibooker.book2D("IsoPfChHad_EMPt_central","Isolated PFChHadron HadPt_central", 180, -1.479, 1.479, 360, -M_PI,M_PI);
207  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"IsoPfChHad_EMPt_central" ,mProfileIsoPFChHad_EMPtCentral));
208 
209  mProfileIsoPFChHad_EcalOccupancyEndcap = ibooker.book2D("IsoPfChHad_ECAL_profile_endcap","IsolatedPFChHa ECAL occupancy (Endcap)", 110, -2.75, 2.75, 125, -M_PI,M_PI);
210  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"IsoPfChHad_ECAL_profile_endcap" ,mProfileIsoPFChHad_EcalOccupancyEndcap));
211  mProfileIsoPFChHad_EMPtEndcap=ibooker.book2D("IsoPfChHad_EMPt_endcap","Isolated PFChHadron EMPt_endcap", 110, -2.75, 2.75, 125, -M_PI,M_PI);
212  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"IsoPfChHad_EMPt_endcap" ,mProfileIsoPFChHad_EMPtEndcap));
213 
214  const int nbins_eta=16;
215 
216  double eta_limits[nbins_eta]={-2.650,-2.500,-2.322,-2.172,-2.043,-1.930,-1.830,-1.740,1.740,1.830,1.930,2.043,2.172,2.3122,2.500,2.650};
217 
218  TH2F* hist_temp_HCAL =new TH2F("IsoPfChHad_HCAL_profile_endcap","IsolatedPFChHa HCAL occupancy (outer endcap)",nbins_eta-1,eta_limits, 36, -M_PI,M_PI);
219  TH2F* hist_tempPt_HCAL=(TH2F*)hist_temp_HCAL->Clone("Isolated PFCHHadron HadPt (outer endcap)");
220 
221  mProfileIsoPFChHad_HcalOccupancyCentral = ibooker.book2D("IsoPfChHad_HCAL_profile_central","IsolatedPFChHa HCAL occupancy (Central Part)", 40, -1.740, 1.740, 72, -M_PI,M_PI);
222  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"IsoPfChHad_HCAL_profile_central" ,mProfileIsoPFChHad_HcalOccupancyCentral));
223  mProfileIsoPFChHad_HadPtCentral=ibooker.book2D("IsoPfChHad_HadPt_central","Isolated PFChHadron HadPt_central", 40, -1.740, 1.740, 72, -M_PI,M_PI);
224  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"IsoPfChHad_HadPt_central" ,mProfileIsoPFChHad_HadPtCentral));
225 
226  mProfileIsoPFChHad_HcalOccupancyEndcap = ibooker.book2D("IsoPfChHad_HCAL_profile_endcap",hist_temp_HCAL);
227  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"IsoPfChHad_HCAL_profile_endcap" ,mProfileIsoPFChHad_HcalOccupancyEndcap));
228  mProfileIsoPFChHad_HadPtEndcap=ibooker.book2D("IsoPfChHad_HadPt_endcap",hist_tempPt_HCAL);
229  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"IsoPfChHad_HadPt_endcap" ,mProfileIsoPFChHad_HadPtEndcap));
230 
231  //actual HCAL segmentation in pseudorapidity -> reduce by a factor of two
232  //const int nbins_eta_hcal_total=54;
233  //double eta_limits_hcal_total[nbins_eta_hcal_total]=
234  // {-2.650,-2.500,-2.322,-2.172,-2.043,-1.930,-1.830,-1.740,-1.653,-1.566,-1.479,-1.392,-1.305,
235  // -1.218,-1.131,-1.044,-0.957,-0.870,-0.783,-0.696,-0.609,-0.522,-0.435,-0.348,-0.261,-0.174,-0.087,0.0,
236  // 0.087, 0.174, 0.261, 0.348, 0.435, 0.522, 0.609, 0.783, 0.870, 0.957, 1.044, 1.131, 1.218
237  // 1.305, 1.392, 1.479, 1.566, 1.653, 1.740, 1.830, 1.930, 2.043, 2.172, 2.322, 2.500, 2.650}
238  //
239 
240  const int nbins_eta_hcal_total=28;
241  double eta_limits_hcal_total[nbins_eta_hcal_total]={-2.650,-2.322,-2.043,-1.830,-1.653,-1.479,-1.305,-1.131,-0.957,-0.783,-0.609,-0.435,-0.261,-0.087,
242  0.087, 0.261, 0.435, 0.609, 0.783, 0.957, 1.131, 1.305, 1.479, 1.653, 1.830, 2.043, 2.322, 2.650};
243  float eta_limits_hcal_total_f[nbins_eta_hcal_total];
244  float log_bin_spacing = log(200.)/40.;
245  const int nbins_pt_total_hcal= 41;
246  double pt_limits_hcal[nbins_pt_total_hcal];
247  float pt_limits_hcal_f[nbins_pt_total_hcal];
248  for(int i=0;i<nbins_pt_total_hcal;i++){
249  pt_limits_hcal[i]=exp(i*log_bin_spacing);
250  pt_limits_hcal_f[i]=exp(i*log_bin_spacing);
251  }
252  for(int i=0;i<nbins_eta_hcal_total;i++){
253  eta_limits_hcal_total_f[i]=(float)eta_limits_hcal_total[i];
254  }
255  m_HOverTrackP_trackPtVsEta= ibooker.book2D("HOverTrackP_trackPtVsEta","HOverTrackP_trackPtVsEta",nbins_pt_total_hcal-1,pt_limits_hcal_f,nbins_eta_hcal_total-1,eta_limits_hcal_total_f);
256  m_HOverTrackPVsTrackP_Barrel = ibooker.bookProfile("HOverTrackPVsTrackP_Barrel","HOverTrackPVsTrackP_Barrel",nbins_pt_total_hcal-1,pt_limits_hcal, 0, 4, " ");
257  m_HOverTrackPVsTrackP_EndCap = ibooker.bookProfile("HOverTrackPVsTrackP_EndCap","HOverTrackPVsTrackP_EndCap",nbins_pt_total_hcal-1,pt_limits_hcal, 0, 4, " ");
258  m_HOverTrackPVsTrackPt_Barrel = ibooker.bookProfile("HOverTrackPVsTrackPt_Barrel","HOverTrackPVsTrackPt_Barrel",nbins_pt_total_hcal-1,pt_limits_hcal, 0, 4, " ");
259  m_HOverTrackPVsTrackPt_EndCap = ibooker.bookProfile("HOverTrackPVsTrackPt_EndCap","HOverTrackPVsTrackPt_EndCap",nbins_pt_total_hcal-1,pt_limits_hcal, 0, 4, " ");
260 
261  m_HOverTrackPVsEta_hPt_1_10 = ibooker.bookProfile("HOverTrackPVsEta_hPt_1_10","HOverTrackPVsEta, 1<hPt<10 GeV",nbins_eta_hcal_total-1, eta_limits_hcal_total, 0, 4, " ");
262  m_HOverTrackPVsEta_hPt_10_20 = ibooker.bookProfile("HOverTrackPVsEta_hPt_10_20","HOverTrackPVsEta, 10<hPt<20 GeV",nbins_eta_hcal_total-1, eta_limits_hcal_total, 0, 4, " ");
263  m_HOverTrackPVsEta_hPt_20_50 = ibooker.bookProfile("HOverTrackPVsEta_hPt_20_50","HOverTrackPVsEta, 20<hPt<50 GeV",nbins_eta_hcal_total-1, eta_limits_hcal_total, 0, 4, " ");
264  m_HOverTrackPVsEta_hPt_50 = ibooker.bookProfile("HOverTrackPVsEta_hPt_50","HOverTrackPVsEta, hPt>50 GeV",nbins_eta_hcal_total-1, eta_limits_hcal_total, 0, 4, " ");
265 
266  m_HOverTrackP_Barrel_hPt_1_10= ibooker.book1D("HOverTrackP_Barrel_hPt_1_10","HOverTrackP_B, 1<hPt<10 GeV",50,0,4);
267  m_HOverTrackP_Barrel_hPt_10_20= ibooker.book1D("HOverTrackP_Barrel_hPt_10_20","HOverTrackP_B, 10<hPt<20 GeV",50,0,4);
268  m_HOverTrackP_Barrel_hPt_20_50= ibooker.book1D("HOverTrackP_Barrel_hPt_20_50","HOverTrackP_B, 20<hPt<50 GeV",50,0,4);
269  m_HOverTrackP_Barrel_hPt_50= ibooker.book1D("HOverTrackP_Barrel_hPt_50","HOverTrackP_B, hPt>50 GeV",50,0,4);
270 
271  m_HOverTrackP_EndCap_hPt_1_10= ibooker.book1D("HOverTrackP_EndCap_hPt_1_10","HOverTrackP_E, 1<hPt<10 GeV",50,0,4);
272  m_HOverTrackP_EndCap_hPt_10_20= ibooker.book1D("HOverTrackP_EndCap_hPt_10_20","HOverTrackP_E, 10<hPt<20 GeV",50,0,4);
273  m_HOverTrackP_EndCap_hPt_20_50= ibooker.book1D("HOverTrackP_EndCap_hPt_20_50","HOverTrackP_E, 20<hPt<50 GeV",50,0,4);
274  m_HOverTrackP_EndCap_hPt_50= ibooker.book1D("HOverTrackP_EndCap_hPt_50","HOverTrackP_E, hPt>50 GeV",50,0,4);
275 
276  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HOverTrackP_trackPtVsEta" ,m_HOverTrackP_trackPtVsEta));
277  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HOverTrackPVsTrackP_Barrel" ,m_HOverTrackPVsTrackP_Barrel));
278  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HOverTrackPVsTrackP_EndCap" ,m_HOverTrackPVsTrackP_EndCap));
279  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HOverTrackPVsTrackPt_Barrel" ,m_HOverTrackPVsTrackPt_Barrel));
280  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HOverTrackPVsTrackPt_EndCap" ,m_HOverTrackPVsTrackPt_EndCap));
281  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HOverTrackPVsEta_hPt_1_10" ,m_HOverTrackPVsEta_hPt_1_10));
282  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HOverTrackPVsEta_hPt_10_20" ,m_HOverTrackPVsEta_hPt_10_20));
283  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HOverTrackPVsEta_hPt_20_50" ,m_HOverTrackPVsEta_hPt_20_50));
284  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HOverTrackPVsEta_hPt_50" ,m_HOverTrackPVsEta_hPt_50));
285  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HOverTrackP_Barrel_hPt_1_10" ,m_HOverTrackP_Barrel_hPt_1_10));
286  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HOverTrackP_Barrel_hPt_10_20" ,m_HOverTrackP_Barrel_hPt_10_20));
287  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HOverTrackP_Barrel_hPt_20_50" ,m_HOverTrackP_Barrel_hPt_20_50));
288  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HOverTrackP_Barrel_hPt_50" ,m_HOverTrackP_Barrel_hPt_50));
289  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HOverTrackP_EndCap_hPt_1_10" ,m_HOverTrackP_EndCap_hPt_1_10));
290  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HOverTrackP_EndCap_hPt_10_20" ,m_HOverTrackP_EndCap_hPt_10_20));
291  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HOverTrackP_EndCap_hPt_20_50" ,m_HOverTrackP_EndCap_hPt_20_50));
292  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HOverTrackP_EndCap_hPt_50" ,m_HOverTrackP_EndCap_hPt_50));
293  }else{//MiniAOD workflow
294  if(!occupancyPFCand_.empty())occupancyPFCand_.clear();
295  if(!occupancyPFCand_name_.empty())occupancyPFCand_name_.clear();
298  if(!etaMinPFCand_.empty())etaMinPFCand_.clear();
299  if(!etaMaxPFCand_.empty())etaMaxPFCand_.clear();
300  if(!typePFCand_.empty())typePFCand_.clear();
301  if(!countsPFCand_.empty())countsPFCand_.clear();
302  if(!ptPFCand_.empty())ptPFCand_.clear();
303  if(!ptPFCand_name_.empty())ptPFCand_name_.clear();
306  if(!multiplicityPFCand_.empty())multiplicityPFCand_.clear();
308  for (std::vector<edm::ParameterSet>::const_iterator v = diagnosticsParameters_.begin(); v!=diagnosticsParameters_.end(); v++) {
309  int etaNBinsPFCand = v->getParameter<int>("etaNBins");
310  double etaMinPFCand = v->getParameter<double>("etaMin");
311  double etaMaxPFCand = v->getParameter<double>("etaMax");
312  int phiNBinsPFCand = v->getParameter<int>("phiNBins");
313  double phiMinPFCand = v->getParameter<double>("phiMin");
314  double phiMaxPFCand = v->getParameter<double>("phiMax");
315  int nMinPFCand = v->getParameter<int>("nMin");
316  int nMaxPFCand = v->getParameter<int>("nMax");
317  int nbinsPFCand = v->getParameter<double>("nbins");
318 
319  // etaNBins_.push_back(etaNBins);
320  etaMinPFCand_.push_back(etaMinPFCand);
321  etaMaxPFCand_.push_back(etaMaxPFCand);
322  typePFCand_.push_back(v->getParameter<int>("type"));
323  countsPFCand_.push_back(0);
324 
325  multiplicityPFCand_.push_back(ibooker.book1D(std::string(v->getParameter<std::string>("name")).append("_multiplicity_").c_str(),std::string(v->getParameter<std::string>("name"))+"multiplicity", nbinsPFCand, nMinPFCand, nMaxPFCand));
326  multiplicityPFCand_name_.push_back(std::string(v->getParameter<std::string>("name")).append("_multiplicity_"));
327  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+ multiplicityPFCand_name_[multiplicityPFCand_name_.size()-1], multiplicityPFCand_[multiplicityPFCand_.size()-1]));
328  //push back names first, we need to create histograms with the name and fill it for endcap plots later
329  occupancyPFCand_name_.push_back(std::string(v->getParameter<std::string>("name")).append("_occupancy_puppiWeight_"));
330  ptPFCand_name_.push_back(std::string(v->getParameter<std::string>("name")).append("_pt_puppiWeight_"));
331  //push back names first, we need to create histograms with the name and fill it for endcap plots later
332  occupancyPFCand_name_puppiNolepWeight_.push_back(std::string(v->getParameter<std::string>("name")).append("_occupancy_puppiNolepWeight_"));
333  ptPFCand_name_puppiNolepWeight_.push_back(std::string(v->getParameter<std::string>("name")).append("_pt_puppiNolepWeight_"));
334  //special booking for endcap plots, merge plots for eminus and eplus into one plot, using variable binning
335  //barrel plots have eta-boundaries on minus and plus side
336  //parameters start on minus side
337  if(etaMinPFCand*etaMaxPFCand<0){//barrel plots, plot only in barrel region
338  occupancyPFCand_.push_back(ibooker.book2D(std::string(v->getParameter<std::string>("name")).append("_occupancy_puppiWeight_").c_str(),std::string(v->getParameter<std::string>("name"))+"occupancy_puppiWeight_", etaNBinsPFCand, etaMinPFCand, etaMaxPFCand, phiNBinsPFCand, phiMinPFCand, phiMaxPFCand));
339  ptPFCand_.push_back(ibooker.book2D(std::string(v->getParameter<std::string>("name")).append("_pt_puppiWeight_").c_str(),std::string(v->getParameter<std::string>("name"))+"pt_puppiWeight_", etaNBinsPFCand, etaMinPFCand, etaMaxPFCand, phiNBinsPFCand, phiMinPFCand, phiMaxPFCand));
340  occupancyPFCand_puppiNolepWeight_.push_back(ibooker.book2D(std::string(v->getParameter<std::string>("name")).append("_occupancy_puppiNolepWeight_").c_str(),std::string(v->getParameter<std::string>("name"))+"occupancy_puppiNolepWeight", etaNBinsPFCand, etaMinPFCand, etaMaxPFCand, phiNBinsPFCand, phiMinPFCand, phiMaxPFCand));
341  ptPFCand_puppiNolepWeight_.push_back(ibooker.book2D(std::string(v->getParameter<std::string>("name")).append("_pt_puppiNolepWeight_").c_str(),std::string(v->getParameter<std::string>("name"))+"pt_puppiNolepWeight", etaNBinsPFCand, etaMinPFCand, etaMaxPFCand, phiNBinsPFCand, phiMinPFCand, phiMaxPFCand));
342  }else{//endcap or forward plots,
343  const int nbins_eta_endcap=2*(etaNBinsPFCand+1);
344  double eta_limits_endcap[nbins_eta_endcap];
345  for(int i=0;i<nbins_eta_endcap;i++){
346  if(i<(etaNBinsPFCand+1)){
347  eta_limits_endcap[i]=etaMinPFCand+i*(etaMaxPFCand-etaMinPFCand)/(double)etaNBinsPFCand;
348  }else{
349  eta_limits_endcap[i]= -etaMaxPFCand +(i- (etaNBinsPFCand+1) )*(etaMaxPFCand-etaMinPFCand)/(double)etaNBinsPFCand;
350  }
351  }
352  TH2F* hist_temp_occup = new TH2F((occupancyPFCand_name_[occupancyPFCand_name_.size()-1]).c_str(),(occupancyPFCand_name_[occupancyPFCand_name_.size()-1]).c_str(),nbins_eta_endcap-1, eta_limits_endcap, phiNBinsPFCand, phiMinPFCand, phiMaxPFCand);
353  occupancyPFCand_.push_back(ibooker.book2D(occupancyPFCand_name_[occupancyPFCand_name_.size()-1],hist_temp_occup));
354  TH2F* hist_temp_pt = new TH2F((ptPFCand_name_[ptPFCand_name_.size()-1]).c_str(),(ptPFCand_name_[ptPFCand_name_.size()-1]).c_str(),nbins_eta_endcap-1, eta_limits_endcap, phiNBinsPFCand, phiMinPFCand, phiMaxPFCand);
355  ptPFCand_.push_back(ibooker.book2D(ptPFCand_name_[ptPFCand_name_.size()-1], hist_temp_pt));
356  TH2F* hist_temp_occup_puppiNolepWeight = new TH2F((occupancyPFCand_name_puppiNolepWeight_[occupancyPFCand_name_puppiNolepWeight_.size()-1]).c_str(),(occupancyPFCand_name_puppiNolepWeight_[occupancyPFCand_name_puppiNolepWeight_.size()-1]).c_str(),nbins_eta_endcap-1, eta_limits_endcap, phiNBinsPFCand, phiMinPFCand, phiMaxPFCand);
358  TH2F* hist_temp_pt_puppiNolepWeight = new TH2F((ptPFCand_name_puppiNolepWeight_[ptPFCand_name_puppiNolepWeight_.size()-1]).c_str(),(ptPFCand_name_puppiNolepWeight_[ptPFCand_name_puppiNolepWeight_.size()-1]).c_str(),nbins_eta_endcap-1, eta_limits_endcap, phiNBinsPFCand, phiMinPFCand, phiMaxPFCand);
359  ptPFCand_puppiNolepWeight_.push_back(ibooker.book2D(ptPFCand_name_puppiNolepWeight_[ptPFCand_name_puppiNolepWeight_.size()-1], hist_temp_pt_puppiNolepWeight));
360  }
362  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+ ptPFCand_name_puppiNolepWeight_[ptPFCand_name_puppiNolepWeight_.size()-1], ptPFCand_puppiNolepWeight_[ptPFCand_puppiNolepWeight_.size()-1]));
363  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+ occupancyPFCand_name_[occupancyPFCand_name_.size()-1], occupancyPFCand_[occupancyPFCand_.size()-1]));
364  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+ ptPFCand_name_[ptPFCand_name_.size()-1], ptPFCand_[ptPFCand_.size()-1]));
365  }
366  }
367 
368 
369 }
MonitorElement * m_HOverTrackPVsTrackP_EndCap
std::vector< int > typePFCand_
std::vector< MonitorElement * > occupancyPFCand_puppiNolepWeight_
MonitorElement * m_HOverTrackPVsTrackPt_Barrel
std::vector< double > etaMinPFCandRECO_
std::vector< std::string > ptPFCand_name_puppiNolepWeight_
MonitorElement * m_HOverTrackP_Barrel_hPt_20_50
MonitorElement * bookProfile(Args &&...args)
Definition: DQMStore.h:113
MonitorElement * m_HOverTrackPVsEta_hPt_20_50
std::vector< std::string > multiplicityPFCand_nameRECO_
MonitorElement * m_HOverTrackP_trackPtVsEta
MonitorElement * m_HOverTrackPVsEta_hPt_10_20
MonitorElement * m_HOverTrackP_Barrel_hPt_1_10
std::vector< std::string > occupancyPFCand_name_
MonitorElement * m_HOverTrackPVsTrackP_Barrel
std::vector< int > typePFCandRECO_
MonitorElement * m_HOverTrackP_EndCap_hPt_50
std::vector< int > countsPFCandRECO_
std::vector< MonitorElement * > multiplicityPFCandRECO_
MonitorElement * m_HOverTrackPVsEta_hPt_1_10
MonitorElement * mProfileIsoPFChHad_HadPtEndcap
MonitorElement * mProfileIsoPFChHad_HcalOccupancyEndcap
std::vector< MonitorElement * > ptPFCandRECO_
MonitorElement * mProfileIsoPFChHad_EMPtCentral
void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:268
std::vector< MonitorElement * > occupancyPFCandRECO_
std::vector< MonitorElement * > occupancyPFCand_
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:106
std::vector< double > etaMaxPFCandRECO_
std::vector< std::string > multiplicityPFCand_name_
std::vector< std::string > occupancyPFCand_nameRECO_
std::vector< double > etaMinPFCand_
#define M_PI
std::map< std::string, MonitorElement * > map_of_MEs
MonitorElement * m_HOverTrackPVsTrackPt_EndCap
std::vector< MonitorElement * > ptPFCand_puppiNolepWeight_
MonitorElement * mProfileIsoPFChHad_EcalOccupancyEndcap
std::vector< std::string > occupancyPFCand_name_puppiNolepWeight_
MonitorElement * m_HOverTrackP_Barrel_hPt_10_20
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:109
std::vector< int > countsPFCand_
MonitorElement * m_HOverTrackP_EndCap_hPt_1_10
MonitorElement * mProfileIsoPFChHad_TrackPt
std::vector< std::string > ptPFCand_nameRECO_
MonitorElement * mProfileIsoPFChHad_HcalOccupancyCentral
MonitorElement * mProfileIsoPFChHad_TrackOccupancy
MonitorElement * m_HOverTrackP_Barrel_hPt_50
std::string const & label() const
Definition: InputTag.h:36
MonitorElement * mProfileIsoPFChHad_EcalOccupancyCentral
std::vector< MonitorElement * > multiplicityPFCand_
MonitorElement * mProfileIsoPFChHad_EMPtEndcap
MonitorElement * m_HOverTrackPVsEta_hPt_50
std::vector< double > etaMaxPFCand_
MonitorElement * m_HOverTrackP_EndCap_hPt_10_20
MonitorElement * m_HOverTrackP_EndCap_hPt_20_50
std::vector< edm::ParameterSet > diagnosticsParameters_
std::vector< MonitorElement * > ptPFCand_
std::vector< std::string > ptPFCand_name_
MonitorElement * mProfileIsoPFChHad_HadPtCentral
void DQMPFCandidateAnalyzer::dqmBeginRun ( const edm::Run iRun,
const edm::EventSetup iSetup 
)
override

Initialize run-based parameters.

Definition at line 372 of file DQMPFCandidateAnalyzer.cc.

References runEdmFileComparison::found, mps_fire::i, cond::persistency::search(), electronDataDiscovery::search2(), and AlCaHLTBitMon_QueryRunRegistry::string.

373 {
374 
376 
377  if(isMiniAOD_){
378  bool changed_filter=true;
379  if (FilterhltConfig_.init(iRun,iSetup,METFilterMiniAODLabel_.process(),changed_filter)){
381  for(unsigned int i=0;i<FilterhltConfig_.size();i++){
382  std::string search=FilterhltConfig_.triggerName(i).substr(5);//actual label of filter, the first 5 items are Flag_, so stripped off
383  std::string search2=HBHENoiseStringMiniAOD;//all filters end with DQM, which is not in the flag --> ONLY not for HBHEFilters
384  std::size_t found=search2.find(search);
385  if(found!=std::string::npos){
387  }
388  }
389  }else if(FilterhltConfig_.init(iRun,iSetup,METFilterMiniAODLabel2_.process(),changed_filter)){
391  for(unsigned int i=0;i<FilterhltConfig_.size();i++){
392  std::string search=FilterhltConfig_.triggerName(i).substr(5);//actual label of filter, the first 5 items are Flag_, so stripped off
393  std::string search2=HBHENoiseStringMiniAOD;//all filters end with DQM, which is not in the flag --> ONLY not for HBHEFilters
394  std::size_t found=search2.find(search);
395  if(found!=std::string::npos){
397  }
398  }
399  }else{
400  edm::LogWarning("MiniAOD MET Filter HLT OBject version")<<"nothing found with both RECO and reRECO label"<<std::endl;
401  }
402  }
403 }
unsigned int size() const
number of trigger paths in trigger table
const std::string & triggerName(unsigned int triggerIndex) const
std::vector< T >::const_iterator search(const cond::Time_t &val, const std::vector< T > &container)
Definition: IOVProxy.cc:314
HLTConfigProvider FilterhltConfig_
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d&#39;tor
std::string const & process() const
Definition: InputTag.h:40
void DQMPFCandidateAnalyzer::endRun ( const edm::Run iRun,
const edm::EventSetup iSetup 
)
override

Finish up a run.

Definition at line 406 of file DQMPFCandidateAnalyzer.cc.

407 {
408 }
static bool DQMPFCandidateAnalyzer::jetSortingRule ( reco::Jet  x,
reco::Jet  y 
)
inlinestaticprivate

Definition at line 91 of file DQMPFCandidateAnalyzer.h.

References reco::LeafCandidate::pt().

91 {return x.pt() > y.pt();}
double pt() const final
transverse momentum

Member Data Documentation

bool DQMPFCandidateAnalyzer::bypassAllDCSChecks_
private

Definition at line 187 of file DQMPFCandidateAnalyzer.h.

bool DQMPFCandidateAnalyzer::bypassAllPVChecks_
private

Definition at line 186 of file DQMPFCandidateAnalyzer.h.

std::string DQMPFCandidateAnalyzer::candidateType_
private

Definition at line 118 of file DQMPFCandidateAnalyzer.h.

edm::ParameterSet DQMPFCandidateAnalyzer::cleaningParameters_
private

Definition at line 125 of file DQMPFCandidateAnalyzer.h.

std::vector<int> DQMPFCandidateAnalyzer::countsPFCand_
private

Definition at line 172 of file DQMPFCandidateAnalyzer.h.

std::vector<int> DQMPFCandidateAnalyzer::countsPFCandRECO_
private

Definition at line 178 of file DQMPFCandidateAnalyzer.h.

JetMETDQMDCSFilter* DQMPFCandidateAnalyzer::DCSFilter_
private

Definition at line 123 of file DQMPFCandidateAnalyzer.h.

std::vector<edm::ParameterSet> DQMPFCandidateAnalyzer::diagnosticsParameters_
private

Definition at line 126 of file DQMPFCandidateAnalyzer.h.

std::vector<double> DQMPFCandidateAnalyzer::etaMaxPFCand_
private

Definition at line 171 of file DQMPFCandidateAnalyzer.h.

std::vector<double> DQMPFCandidateAnalyzer::etaMaxPFCandRECO_
private

Definition at line 177 of file DQMPFCandidateAnalyzer.h.

std::vector<double> DQMPFCandidateAnalyzer::etaMinPFCand_
private

Definition at line 171 of file DQMPFCandidateAnalyzer.h.

std::vector<double> DQMPFCandidateAnalyzer::etaMinPFCandRECO_
private

Definition at line 177 of file DQMPFCandidateAnalyzer.h.

HLTConfigProvider DQMPFCandidateAnalyzer::FilterhltConfig_
private

Definition at line 104 of file DQMPFCandidateAnalyzer.h.

bool DQMPFCandidateAnalyzer::hbhenoifilterdecision
private

Definition at line 110 of file DQMPFCandidateAnalyzer.h.

edm::InputTag DQMPFCandidateAnalyzer::hbheNoiseFilterResultTag_
private

Definition at line 100 of file DQMPFCandidateAnalyzer.h.

edm::EDGetTokenT<bool> DQMPFCandidateAnalyzer::hbheNoiseFilterResultToken_
private

Definition at line 101 of file DQMPFCandidateAnalyzer.h.

std::string DQMPFCandidateAnalyzer::HBHENoiseStringMiniAOD
private

Definition at line 102 of file DQMPFCandidateAnalyzer.h.

double DQMPFCandidateAnalyzer::hcalMin_
private

Definition at line 130 of file DQMPFCandidateAnalyzer.h.

bool DQMPFCandidateAnalyzer::isMiniAO_
private

Definition at line 120 of file DQMPFCandidateAnalyzer.h.

bool DQMPFCandidateAnalyzer::isMiniAOD_
private

Definition at line 191 of file DQMPFCandidateAnalyzer.h.

int DQMPFCandidateAnalyzer::LSBegin_
private

Definition at line 183 of file DQMPFCandidateAnalyzer.h.

int DQMPFCandidateAnalyzer::LSEnd_
private

Definition at line 184 of file DQMPFCandidateAnalyzer.h.

MonitorElement* DQMPFCandidateAnalyzer::m_HOverTrackP_Barrel_hPt_10_20
private

Definition at line 145 of file DQMPFCandidateAnalyzer.h.

MonitorElement* DQMPFCandidateAnalyzer::m_HOverTrackP_Barrel_hPt_1_10
private

Definition at line 144 of file DQMPFCandidateAnalyzer.h.

MonitorElement* DQMPFCandidateAnalyzer::m_HOverTrackP_Barrel_hPt_20_50
private

Definition at line 146 of file DQMPFCandidateAnalyzer.h.

MonitorElement* DQMPFCandidateAnalyzer::m_HOverTrackP_Barrel_hPt_50
private

Definition at line 147 of file DQMPFCandidateAnalyzer.h.

MonitorElement* DQMPFCandidateAnalyzer::m_HOverTrackP_EndCap_hPt_10_20
private

Definition at line 150 of file DQMPFCandidateAnalyzer.h.

MonitorElement* DQMPFCandidateAnalyzer::m_HOverTrackP_EndCap_hPt_1_10
private

Definition at line 149 of file DQMPFCandidateAnalyzer.h.

MonitorElement* DQMPFCandidateAnalyzer::m_HOverTrackP_EndCap_hPt_20_50
private

Definition at line 151 of file DQMPFCandidateAnalyzer.h.

MonitorElement* DQMPFCandidateAnalyzer::m_HOverTrackP_EndCap_hPt_50
private

Definition at line 152 of file DQMPFCandidateAnalyzer.h.

MonitorElement* DQMPFCandidateAnalyzer::m_HOverTrackP_trackPtVsEta
private

Definition at line 132 of file DQMPFCandidateAnalyzer.h.

MonitorElement* DQMPFCandidateAnalyzer::m_HOverTrackPVsEta_hPt_10_20
private

Definition at line 140 of file DQMPFCandidateAnalyzer.h.

MonitorElement* DQMPFCandidateAnalyzer::m_HOverTrackPVsEta_hPt_1_10
private

Definition at line 139 of file DQMPFCandidateAnalyzer.h.

MonitorElement* DQMPFCandidateAnalyzer::m_HOverTrackPVsEta_hPt_20_50
private

Definition at line 141 of file DQMPFCandidateAnalyzer.h.

MonitorElement* DQMPFCandidateAnalyzer::m_HOverTrackPVsEta_hPt_50
private

Definition at line 142 of file DQMPFCandidateAnalyzer.h.

MonitorElement* DQMPFCandidateAnalyzer::m_HOverTrackPVsTrackP_Barrel
private

Definition at line 133 of file DQMPFCandidateAnalyzer.h.

MonitorElement* DQMPFCandidateAnalyzer::m_HOverTrackPVsTrackP_EndCap
private

Definition at line 134 of file DQMPFCandidateAnalyzer.h.

MonitorElement* DQMPFCandidateAnalyzer::m_HOverTrackPVsTrackPt_Barrel
private

Definition at line 136 of file DQMPFCandidateAnalyzer.h.

MonitorElement* DQMPFCandidateAnalyzer::m_HOverTrackPVsTrackPt_EndCap
private

Definition at line 137 of file DQMPFCandidateAnalyzer.h.

std::map< std::string,MonitorElement* > DQMPFCandidateAnalyzer::map_of_MEs
private

Definition at line 189 of file DQMPFCandidateAnalyzer.h.

edm::InputTag DQMPFCandidateAnalyzer::METFilterMiniAODLabel2_
private

Definition at line 107 of file DQMPFCandidateAnalyzer.h.

edm::InputTag DQMPFCandidateAnalyzer::METFilterMiniAODLabel_
private

Definition at line 105 of file DQMPFCandidateAnalyzer.h.

edm::EDGetTokenT<edm::TriggerResults> DQMPFCandidateAnalyzer::METFilterMiniAODToken2_
private

Definition at line 108 of file DQMPFCandidateAnalyzer.h.

edm::EDGetTokenT<edm::TriggerResults> DQMPFCandidateAnalyzer::METFilterMiniAODToken_
private

Definition at line 106 of file DQMPFCandidateAnalyzer.h.

int DQMPFCandidateAnalyzer::miniaodfilterdec
private

Definition at line 113 of file DQMPFCandidateAnalyzer.h.

int DQMPFCandidateAnalyzer::miniaodfilterindex
private

Definition at line 111 of file DQMPFCandidateAnalyzer.h.

edm::InputTag DQMPFCandidateAnalyzer::mInputCollection_
private

Definition at line 98 of file DQMPFCandidateAnalyzer.h.

MonitorElement* DQMPFCandidateAnalyzer::mProfileIsoPFChHad_EcalOccupancyCentral
private

Definition at line 162 of file DQMPFCandidateAnalyzer.h.

MonitorElement* DQMPFCandidateAnalyzer::mProfileIsoPFChHad_EcalOccupancyEndcap
private

Definition at line 163 of file DQMPFCandidateAnalyzer.h.

MonitorElement* DQMPFCandidateAnalyzer::mProfileIsoPFChHad_EMPtCentral
private

Definition at line 156 of file DQMPFCandidateAnalyzer.h.

MonitorElement* DQMPFCandidateAnalyzer::mProfileIsoPFChHad_EMPtEndcap
private

Definition at line 157 of file DQMPFCandidateAnalyzer.h.

MonitorElement* DQMPFCandidateAnalyzer::mProfileIsoPFChHad_HadPtCentral
private

Definition at line 154 of file DQMPFCandidateAnalyzer.h.

MonitorElement* DQMPFCandidateAnalyzer::mProfileIsoPFChHad_HadPtEndcap
private

Definition at line 155 of file DQMPFCandidateAnalyzer.h.

MonitorElement* DQMPFCandidateAnalyzer::mProfileIsoPFChHad_HcalOccupancyCentral
private

Definition at line 160 of file DQMPFCandidateAnalyzer.h.

MonitorElement* DQMPFCandidateAnalyzer::mProfileIsoPFChHad_HcalOccupancyEndcap
private

Definition at line 161 of file DQMPFCandidateAnalyzer.h.

MonitorElement* DQMPFCandidateAnalyzer::mProfileIsoPFChHad_TrackOccupancy
private

Definition at line 164 of file DQMPFCandidateAnalyzer.h.

MonitorElement* DQMPFCandidateAnalyzer::mProfileIsoPFChHad_TrackPt
private

Definition at line 158 of file DQMPFCandidateAnalyzer.h.

std::vector<MonitorElement* > DQMPFCandidateAnalyzer::multiplicityPFCand_
private

Definition at line 167 of file DQMPFCandidateAnalyzer.h.

std::vector<std::string> DQMPFCandidateAnalyzer::multiplicityPFCand_name_
private

Definition at line 168 of file DQMPFCandidateAnalyzer.h.

std::vector<std::string> DQMPFCandidateAnalyzer::multiplicityPFCand_nameRECO_
private

Definition at line 176 of file DQMPFCandidateAnalyzer.h.

std::vector<MonitorElement* > DQMPFCandidateAnalyzer::multiplicityPFCandRECO_
private

Definition at line 175 of file DQMPFCandidateAnalyzer.h.

int DQMPFCandidateAnalyzer::numPV_
private

Definition at line 180 of file DQMPFCandidateAnalyzer.h.

std::vector<MonitorElement* > DQMPFCandidateAnalyzer::occupancyPFCand_
private

Definition at line 167 of file DQMPFCandidateAnalyzer.h.

std::vector<std::string> DQMPFCandidateAnalyzer::occupancyPFCand_name_
private

Definition at line 168 of file DQMPFCandidateAnalyzer.h.

std::vector<std::string> DQMPFCandidateAnalyzer::occupancyPFCand_name_puppiNolepWeight_
private

Definition at line 170 of file DQMPFCandidateAnalyzer.h.

std::vector<std::string> DQMPFCandidateAnalyzer::occupancyPFCand_nameRECO_
private

Definition at line 176 of file DQMPFCandidateAnalyzer.h.

std::vector<MonitorElement* > DQMPFCandidateAnalyzer::occupancyPFCand_puppiNolepWeight_
private

Definition at line 169 of file DQMPFCandidateAnalyzer.h.

std::vector<MonitorElement* > DQMPFCandidateAnalyzer::occupancyPFCandRECO_
private

Definition at line 175 of file DQMPFCandidateAnalyzer.h.

edm::EDGetTokenT<std::vector<pat::PackedCandidate> > DQMPFCandidateAnalyzer::pflowPackedToken_
private

Definition at line 116 of file DQMPFCandidateAnalyzer.h.

edm::EDGetTokenT<std::vector<reco::PFCandidate> > DQMPFCandidateAnalyzer::pflowToken_
private

Definition at line 115 of file DQMPFCandidateAnalyzer.h.

double DQMPFCandidateAnalyzer::ptMinCand_
private

Definition at line 128 of file DQMPFCandidateAnalyzer.h.

std::vector<MonitorElement* > DQMPFCandidateAnalyzer::ptPFCand_
private

Definition at line 167 of file DQMPFCandidateAnalyzer.h.

std::vector<std::string> DQMPFCandidateAnalyzer::ptPFCand_name_
private

Definition at line 168 of file DQMPFCandidateAnalyzer.h.

std::vector<std::string> DQMPFCandidateAnalyzer::ptPFCand_name_puppiNolepWeight_
private

Definition at line 170 of file DQMPFCandidateAnalyzer.h.

std::vector<std::string> DQMPFCandidateAnalyzer::ptPFCand_nameRECO_
private

Definition at line 176 of file DQMPFCandidateAnalyzer.h.

std::vector<MonitorElement* > DQMPFCandidateAnalyzer::ptPFCand_puppiNolepWeight_
private

Definition at line 169 of file DQMPFCandidateAnalyzer.h.

std::vector<MonitorElement* > DQMPFCandidateAnalyzer::ptPFCandRECO_
private

Definition at line 175 of file DQMPFCandidateAnalyzer.h.

edm::InputTag DQMPFCandidateAnalyzer::theTriggerResultsLabel_
private

Definition at line 99 of file DQMPFCandidateAnalyzer.h.

std::vector<int> DQMPFCandidateAnalyzer::typePFCand_
private

Definition at line 172 of file DQMPFCandidateAnalyzer.h.

std::vector<int> DQMPFCandidateAnalyzer::typePFCandRECO_
private

Definition at line 178 of file DQMPFCandidateAnalyzer.h.

int DQMPFCandidateAnalyzer::verbose_
private

Definition at line 181 of file DQMPFCandidateAnalyzer.h.

edm::InputTag DQMPFCandidateAnalyzer::vertexTag_
private

Definition at line 95 of file DQMPFCandidateAnalyzer.h.

edm::EDGetTokenT<std::vector<reco::Vertex> > DQMPFCandidateAnalyzer::vertexToken_
private

Definition at line 96 of file DQMPFCandidateAnalyzer.h.