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:
DQMEDAnalyzer edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > > edm::stream::EDAnalyzerBase edm::EDConsumerBase

Public Member Functions

void analyze (const edm::Event &, const edm::EventSetup &)
 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 &)
 Initialize run-based parameters. More...
 
 DQMPFCandidateAnalyzer (const edm::ParameterSet &)
 Constructor. More...
 
void endRun (const edm::Run &, const edm::EventSetup &)
 Finish up a run. More...
 
virtual ~DQMPFCandidateAnalyzer ()
 Destructor. More...
 
- Public Member Functions inherited from DQMEDAnalyzer
virtual void beginRun (edm::Run const &, edm::EventSetup const &) final
 
virtual void beginStream (edm::StreamID id) final
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 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
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
virtual ~EDConsumerBase () noexcept(false)
 

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_
 

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, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
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::NoCacheglobalBeginLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *)
 
static std::shared_ptr< dqmDetails::NoCacheglobalBeginRunSummary (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

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 
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_
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
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 ( )
virtual

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 
)

Get the analysis.

Definition at line 410 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.

410  {
411 
412 
413  //Vertex information
414  Handle<VertexCollection> vertexHandle;
415  iEvent.getByToken(vertexToken_, vertexHandle);
416 
417  if (!vertexHandle.isValid()) {
418  LogDebug("") << "CaloMETAnalyzer: Could not find vertex collection" << std::endl;
419  if (verbose_) std::cout << "CaloMETAnalyzer: Could not find vertex collection" << std::endl;
420  }
421  numPV_ = 0;
422  if ( vertexHandle.isValid() ){
423  VertexCollection vertexCollection = *(vertexHandle.product());
424  numPV_ = vertexCollection.size();
425  }
426  bool bPrimaryVertex = (bypassAllPVChecks_ || (numPV_>0));
427 
428 
429  int myLuminosityBlock;
430  myLuminosityBlock = iEvent.luminosityBlock();
431 
432  if (myLuminosityBlock<LSBegin_) return;
433  if (myLuminosityBlock>LSEnd_ && LSEnd_>0) return;
434 
435 
436  if (verbose_) std::cout << "METAnalyzer analyze" << std::endl;
437 
438  std::string DirName = "JetMET/PFCandidates/"+mInputCollection_.label();
439 
440  bool hbhenoifilterdecision=true;
441  if(!isMiniAOD_){//not checked for MiniAOD -> for miniaod decision filled as "triggerResults" bool
442  edm::Handle<bool> HBHENoiseFilterResultHandle;
443  iEvent.getByToken(hbheNoiseFilterResultToken_, HBHENoiseFilterResultHandle);
444  if (!HBHENoiseFilterResultHandle.isValid()) {
445  LogDebug("") << "METAnalyzer: Could not find HBHENoiseFilterResult" << std::endl;
446  if (verbose_) std::cout << "METAnalyzer: Could not find HBHENoiseFilterResult" << std::endl;
447  }
448  hbhenoifilterdecision= *HBHENoiseFilterResultHandle;
449  }else{//need to check if we go for version 1 or version 2
450  edm::Handle<edm::TriggerResults> metFilterResults;
451  iEvent.getByToken(METFilterMiniAODToken_, metFilterResults);
452  if(metFilterResults.isValid()){
453  if(miniaodfilterindex!=-1){
454  hbhenoifilterdecision = metFilterResults->accept(miniaodfilterindex);
455  }
456  }else{
457  iEvent.getByToken(METFilterMiniAODToken2_, metFilterResults);
458  if(metFilterResults.isValid()){
459  if(miniaodfilterindex!=-1){
460  hbhenoifilterdecision = metFilterResults->accept(miniaodfilterindex);
461  }
462  }
463  }
464  }
465 
466  //DCS Filter
467  bool bDCSFilter = (bypassAllDCSChecks_ || DCSFilter_->filter(iEvent, iSetup));
468 
469  for (unsigned int i=0;i<countsPFCand_.size();i++) {
470  countsPFCand_[i]=0;
471  }
472  if(bDCSFilter && hbhenoifilterdecision && bPrimaryVertex){
473  if(isMiniAOD_){
475  iEvent.getByToken(pflowPackedToken_, packedParticleFlow);
476  //11, 13, 22 for el/mu/gamma, 211 chargedHadron, 130 neutralHadrons, 1 and 2 hadHF and EGammaHF
477  for (unsigned int i = 0; i < packedParticleFlow->size(); i++) {
478  const pat::PackedCandidate& c = packedParticleFlow->at(i);
479  for (unsigned int j=0; j<typePFCand_.size(); j++) {
480  if (abs(c.pdgId())==typePFCand_[j]) {
481  //second check for endcap, if inside barrel Max and Min symmetric around 0
482  if ( ((c.eta()>etaMinPFCand_[j]) && (c.eta()<etaMaxPFCand_[j])) || ((c.eta()> (-etaMaxPFCand_[j])) && (c.eta()< (-etaMinPFCand_[j]))) ){
483  countsPFCand_[j]+=1;
484  ptPFCand_[j] = map_of_MEs[DirName + "/"+ptPFCand_name_[j]];
485  if ( ptPFCand_[j] && ptPFCand_[j]->getRootObject()) ptPFCand_[j]->Fill(c.eta(), c.phi(), c.pt()*c.puppiWeight());
486  occupancyPFCand_[j] = map_of_MEs[DirName + "/"+occupancyPFCand_name_[j]];
487  if ( occupancyPFCand_[j] && occupancyPFCand_[j]->getRootObject()) occupancyPFCand_[j]->Fill(c.eta(), c.phi(),c.puppiWeight());
492  }
493  }
494  }
495  }
496  }
497  for (unsigned int j=0; j<countsPFCand_.size(); j++) {
499  if(multiplicityPFCand_[j] && multiplicityPFCand_[j]->getRootObject()){ multiplicityPFCand_[j]->Fill(countsPFCand_[j]);
500  }
501  }
502  }else{
504  iEvent.getByToken(pflowToken_, particleFlow);
505  for (unsigned int i = 0; i < particleFlow->size(); i++) {
506  const reco::PFCandidate& c = particleFlow->at(i);
507  for (unsigned int j=0; j<typePFCandRECO_.size(); j++) {
508  if (c.particleId()==typePFCandRECO_[j]) {
509  //second check for endcap, if inside barrel Max and Min symmetric around 0
510  if ( ((c.eta()>etaMinPFCandRECO_[j]) && (c.eta()<etaMaxPFCandRECO_[j])) || ((c.eta()> (-etaMaxPFCandRECO_[j])) && (c.eta()< (-etaMinPFCandRECO_[j]))) ){
511  countsPFCandRECO_[j]+=1;
512  ptPFCandRECO_[j] = map_of_MEs[DirName + "/"+ptPFCand_nameRECO_[j]];
513  if ( ptPFCandRECO_[j] && ptPFCandRECO_[j]->getRootObject()) ptPFCandRECO_[j]->Fill(c.eta(), c.phi(), c.pt());
515  if ( occupancyPFCandRECO_[j] && occupancyPFCandRECO_[j]->getRootObject()) occupancyPFCandRECO_[j]->Fill(c.eta(), c.phi());
516  }
517  //fill quantities for isolated charged hadron quantities
518  //only for charged hadrons
519  if ( c.particleId() == 1 && c.pt() > ptMinCand_ ){
520  // At least 1 GeV in HCAL
521  double ecalRaw = c.rawEcalEnergy();
522  double hcalRaw = c.rawHcalEnergy();
523  if ( (ecalRaw + hcalRaw) > hcalMin_ ){
524  const PFCandidate::ElementsInBlocks& theElements = c.elementsInBlocks();
525  if( theElements.empty() ) continue;
526  unsigned int iTrack=-999;
527  std::vector<unsigned int> iECAL;// =999;
528  std::vector<unsigned int> iHCAL;// =999;
529  const reco::PFBlockRef blockRef = theElements[0].first;
530  const edm::OwnVector<reco::PFBlockElement>& elements = blockRef->elements();
531  // Check that there is only one track in the block.
532  unsigned int nTracks = 0;
533  for(unsigned int iEle=0; iEle<elements.size(); iEle++) {
534  // Find the tracks in the block
535  PFBlockElement::Type type = elements[iEle].type();
536  switch( type ) {
537  case PFBlockElement::TRACK:
538  iTrack = iEle;
539  nTracks++;
540  break;
542  iECAL.push_back( iEle );
543  break;
545  iHCAL.push_back( iEle );
546  break;
547  default:
548  continue;
549  }
550  }
551  if ( nTracks == 1 ){
552  // Characteristics of the track
553  const reco::PFBlockElementTrack& et = dynamic_cast<const reco::PFBlockElementTrack &>( elements[iTrack] );
554  mProfileIsoPFChHad_TrackOccupancy=map_of_MEs[DirName+"/"+"IsoPfChHad_Track_profile"];
556  mProfileIsoPFChHad_TrackPt=map_of_MEs[DirName+"/"+"IsoPfChHad_TrackPt"];
558  if(c.rawEcalEnergy()==0){//isolated hadron, nothing in ECAL
559  //right now take corrected hcalEnergy, do we want the rawHcalEnergy instead
560  m_HOverTrackP_trackPtVsEta=map_of_MEs[DirName+"/"+"HOverTrackP_trackPtVsEta"];
562  if(c.pt()>1 && c.pt()<10){
563  m_HOverTrackPVsEta_hPt_1_10=map_of_MEs[DirName+"/"+"HOverTrackPVsEta_hPt_1_10"];
565  }else if(c.pt()>10 && c.pt()<20){
566  m_HOverTrackPVsEta_hPt_10_20=map_of_MEs[DirName+"/"+"HOverTrackPVsEta_hPt_10_20"];
568  }else if(c.pt()>20 && c.pt()<50){
569  m_HOverTrackPVsEta_hPt_20_50=map_of_MEs[DirName+"/"+"HOverTrackPVsEta_hPt_20_50"];
571  }else if(c.pt()>50){
572  m_HOverTrackPVsEta_hPt_50=map_of_MEs[DirName+"/"+"HOverTrackPVsEta_hPt_50"];
574  }
575  if(fabs(c.eta()<1.392)){
576  if(c.pt()>1 && c.pt()<10){
577  m_HOverTrackP_Barrel_hPt_1_10=map_of_MEs[DirName+"/"+"HOverTrackP_Barrel_hPt_1_10"];
579  }else if(c.pt()>10 && c.pt()<20){
580  m_HOverTrackP_Barrel_hPt_10_20=map_of_MEs[DirName+"/"+"HOverTrackP_Barrel_hPt_10_20"];
582  }else if(c.pt()>20 && c.pt()<50){
583  m_HOverTrackP_Barrel_hPt_20_50=map_of_MEs[DirName+"/"+"HOverTrackP_Barrel_hPt_20_50"];
585  }else if(c.pt()>50){
586  m_HOverTrackP_Barrel_hPt_50=map_of_MEs[DirName+"/"+"HOverTrackP_Barrel_hPt_50"];
588  }
589  m_HOverTrackPVsTrackP_Barrel=map_of_MEs[DirName+"/"+"HOverTrackPVsTrackP_Barrel"];
591  m_HOverTrackPVsTrackPt_Barrel=map_of_MEs[DirName+"/"+"HOverTrackPVsTrackPt_Barrel"];
593  }else{
594  m_HOverTrackPVsTrackP_EndCap=map_of_MEs[DirName+"/"+"HOverTrackPVsTrackP_EndCap"];
596  m_HOverTrackPVsTrackPt_EndCap=map_of_MEs[DirName+"/"+"HOverTrackPVsTrackPt_EndCap"];
598  if(c.pt()>1 && c.pt()<10){
599  m_HOverTrackP_EndCap_hPt_1_10=map_of_MEs[DirName+"/"+"HOverTrackP_EndCap_hPt_1_10"];
601  }else if(c.pt()>10 && c.pt()<20){
602  m_HOverTrackP_EndCap_hPt_10_20=map_of_MEs[DirName+"/"+"HOverTrackP_EndCap_hPt_10_20"];
604  }else if(c.pt()>20 && c.pt()<50){
605  m_HOverTrackP_EndCap_hPt_20_50=map_of_MEs[DirName+"/"+"HOverTrackP_EndCap_hPt_20_50"];
607  }else if(c.pt()>50){
608  m_HOverTrackP_EndCap_hPt_50=map_of_MEs[DirName+"/"+"HOverTrackP_EndCap_hPt_50"];
610  }
611  }
612  }
613  //ECAL element
614  for(unsigned int ii=0;ii<iECAL.size();ii++) {
615  const reco::PFBlockElementCluster& eecal = dynamic_cast<const reco::PFBlockElementCluster &>( elements[ iECAL[ii] ] );
616  if(fabs(eecal.clusterRef()->eta())<1.479){
617  mProfileIsoPFChHad_EcalOccupancyCentral=map_of_MEs[DirName+"/"+"IsoPfChHad_ECAL_profile_central"];
619  mProfileIsoPFChHad_EMPtCentral=map_of_MEs[DirName+"/"+"IsoPfChHad_EMPt_central"];
621  }else{
622  mProfileIsoPFChHad_EcalOccupancyEndcap=map_of_MEs[DirName+"/"+"IsoPfChHad_ECAL_profile_endcap"];
624  mProfileIsoPFChHad_EMPtEndcap=map_of_MEs[DirName+"/"+"IsoPfChHad_EMPt_endcap"];
626  }
627 
628 
629  }
630  //HCAL element
631  for(unsigned int ii=0;ii<iHCAL.size();ii++) {
632  const reco::PFBlockElementCluster& ehcal = dynamic_cast<const reco::PFBlockElementCluster &>( elements[ iHCAL[ii] ] );
633  if(fabs(ehcal.clusterRef()->eta())<1.740){
634  mProfileIsoPFChHad_HcalOccupancyCentral=map_of_MEs[DirName+"/"+"IsoPfChHad_HCAL_profile_central"];
636  mProfileIsoPFChHad_HadPtCentral=map_of_MEs[DirName+"/"+"IsoPfChHad_HadPt_central"];
638  }else{
639  mProfileIsoPFChHad_HcalOccupancyEndcap=map_of_MEs[DirName+"/"+"IsoPfChHad_HCAL_profile_endcap"];
641  mProfileIsoPFChHad_HadPtEndcap=map_of_MEs[DirName+"/"+"IsoPfChHad_HadPt_endcap"];
643  }
644  }
645  }
646  }
647  }
648  }
649  }
650  }
651  for (unsigned int j=0; j<countsPFCandRECO_.size(); j++) {
654  }
655  }
656  }//candidate loop for both miniaod and reco
657  }
658 }
MonitorElement * m_HOverTrackPVsTrackP_EndCap
#define LogDebug(id)
float puppiWeight() const
Set both weights at once (with option for only full PUPPI)
std::vector< int > typePFCand_
type
Definition: HCALResponse.h:21
std::vector< MonitorElement * > occupancyPFCand_puppiNolepWeight_
virtual double pt() const final
transverse momentum
MonitorElement * m_HOverTrackPVsTrackPt_Barrel
std::vector< double > etaMinPFCandRECO_
const reco::TrackRef & trackRef() const
const unsigned int nTracks(const reco::Vertex &sv)
std::vector< std::string > ptPFCand_name_puppiNolepWeight_
double rawEcalEnergy() const
return corrected Ecal energy
Definition: PFCandidate.h:224
MonitorElement * m_HOverTrackP_Barrel_hPt_20_50
float puppiWeightNoLep() const
Weight from full PUPPI.
int pdgId() const override
PDG identifier.
virtual double eta() const final
momentum pseudorapidity
MonitorElement * m_HOverTrackPVsEta_hPt_20_50
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:460
std::vector< std::string > multiplicityPFCand_nameRECO_
MonitorElement * m_HOverTrackP_trackPtVsEta
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:63
edm::EDGetTokenT< std::vector< pat::PackedCandidate > > pflowPackedToken_
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
const PFClusterRef & clusterRef() const
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:386
std::vector< MonitorElement * > multiplicityPFCandRECO_
void Fill(long long x)
edm::EDGetTokenT< std::vector< reco::PFCandidate > > pflowToken_
virtual double phi() const final
momentum azimuthal angle
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:588
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
TObject * getRootObject(void) const
std::vector< std::string > occupancyPFCand_name_puppiNolepWeight_
MonitorElement * m_HOverTrackP_Barrel_hPt_10_20
T const * product() const
Definition: Handle.h:81
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:39
double hcalEnergy() const
return corrected Hcal energy
Definition: PFCandidate.h:231
MonitorElement * mProfileIsoPFChHad_EcalOccupancyCentral
JetMETDQMDCSFilter * DCSFilter_
std::vector< MonitorElement * > multiplicityPFCand_
virtual ParticleType particleId() const
Definition: PFCandidate.h:373
const ElementsInBlocks & elementsInBlocks() const
Definition: PFCandidate.cc:687
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:234
edm::EDGetTokenT< edm::TriggerResults > METFilterMiniAODToken_
MonitorElement * mProfileIsoPFChHad_HadPtCentral
void DQMPFCandidateAnalyzer::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  iRun,
edm::EventSetup const &   
)
overridevirtual

Inizialize parameters for histo binning.

Implements DQMEDAnalyzer.

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_").c_str());
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_").c_str());
170 
171  ptPFCand_nameRECO_.push_back(std::string(v->getParameter<std::string>("name")).append("_pt_").c_str());
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]={-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,
234  // -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,
235  // 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
236  // 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}
237  //
238 
239  const int nbins_eta_hcal_total=28;
240  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,
241  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};
242  float eta_limits_hcal_total_f[nbins_eta_hcal_total];
243  float log_bin_spacing = log(200.)/40.;
244  const int nbins_pt_total_hcal= 41;
245  double pt_limits_hcal[nbins_pt_total_hcal];
246  float pt_limits_hcal_f[nbins_pt_total_hcal];
247  for(int i=0;i<nbins_pt_total_hcal;i++){
248  pt_limits_hcal[i]=exp(i*log_bin_spacing);
249  pt_limits_hcal_f[i]=exp(i*log_bin_spacing);
250  }
251  for(int i=0;i<nbins_eta_hcal_total;i++){
252  eta_limits_hcal_total_f[i]=(float)eta_limits_hcal_total[i];
253  }
254  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);
255  m_HOverTrackPVsTrackP_Barrel = ibooker.bookProfile("HOverTrackPVsTrackP_Barrel","HOverTrackPVsTrackP_Barrel",nbins_pt_total_hcal-1,pt_limits_hcal, 0, 4, " ");
256  m_HOverTrackPVsTrackP_EndCap = ibooker.bookProfile("HOverTrackPVsTrackP_EndCap","HOverTrackPVsTrackP_EndCap",nbins_pt_total_hcal-1,pt_limits_hcal, 0, 4, " ");
257  m_HOverTrackPVsTrackPt_Barrel = ibooker.bookProfile("HOverTrackPVsTrackPt_Barrel","HOverTrackPVsTrackPt_Barrel",nbins_pt_total_hcal-1,pt_limits_hcal, 0, 4, " ");
258  m_HOverTrackPVsTrackPt_EndCap = ibooker.bookProfile("HOverTrackPVsTrackPt_EndCap","HOverTrackPVsTrackPt_EndCap",nbins_pt_total_hcal-1,pt_limits_hcal, 0, 4, " ");
259 
260  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, " ");
261  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, " ");
262  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, " ");
263  m_HOverTrackPVsEta_hPt_50 = ibooker.bookProfile("HOverTrackPVsEta_hPt_50","HOverTrackPVsEta, hPt>50 GeV",nbins_eta_hcal_total-1, eta_limits_hcal_total, 0, 4, " ");
264 
265  m_HOverTrackP_Barrel_hPt_1_10= ibooker.book1D("HOverTrackP_Barrel_hPt_1_10","HOverTrackP_B, 1<hPt<10 GeV",50,0,4);
266  m_HOverTrackP_Barrel_hPt_10_20= ibooker.book1D("HOverTrackP_Barrel_hPt_10_20","HOverTrackP_B, 10<hPt<20 GeV",50,0,4);
267  m_HOverTrackP_Barrel_hPt_20_50= ibooker.book1D("HOverTrackP_Barrel_hPt_20_50","HOverTrackP_B, 20<hPt<50 GeV",50,0,4);
268  m_HOverTrackP_Barrel_hPt_50= ibooker.book1D("HOverTrackP_Barrel_hPt_50","HOverTrackP_B, hPt>50 GeV",50,0,4);
269 
270  m_HOverTrackP_EndCap_hPt_1_10= ibooker.book1D("HOverTrackP_EndCap_hPt_1_10","HOverTrackP_E, 1<hPt<10 GeV",50,0,4);
271  m_HOverTrackP_EndCap_hPt_10_20= ibooker.book1D("HOverTrackP_EndCap_hPt_10_20","HOverTrackP_E, 10<hPt<20 GeV",50,0,4);
272  m_HOverTrackP_EndCap_hPt_20_50= ibooker.book1D("HOverTrackP_EndCap_hPt_20_50","HOverTrackP_E, 20<hPt<50 GeV",50,0,4);
273  m_HOverTrackP_EndCap_hPt_50= ibooker.book1D("HOverTrackP_EndCap_hPt_50","HOverTrackP_E, hPt>50 GeV",50,0,4);
274 
275  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HOverTrackP_trackPtVsEta" ,m_HOverTrackP_trackPtVsEta));
276  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HOverTrackPVsTrackP_Barrel" ,m_HOverTrackPVsTrackP_Barrel));
277  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HOverTrackPVsTrackP_EndCap" ,m_HOverTrackPVsTrackP_EndCap));
278  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HOverTrackPVsTrackPt_Barrel" ,m_HOverTrackPVsTrackPt_Barrel));
279  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HOverTrackPVsTrackPt_EndCap" ,m_HOverTrackPVsTrackPt_EndCap));
280  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HOverTrackPVsEta_hPt_1_10" ,m_HOverTrackPVsEta_hPt_1_10));
281  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HOverTrackPVsEta_hPt_10_20" ,m_HOverTrackPVsEta_hPt_10_20));
282  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HOverTrackPVsEta_hPt_20_50" ,m_HOverTrackPVsEta_hPt_20_50));
283  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HOverTrackPVsEta_hPt_50" ,m_HOverTrackPVsEta_hPt_50));
284  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HOverTrackP_Barrel_hPt_1_10" ,m_HOverTrackP_Barrel_hPt_1_10));
285  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HOverTrackP_Barrel_hPt_10_20" ,m_HOverTrackP_Barrel_hPt_10_20));
286  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HOverTrackP_Barrel_hPt_20_50" ,m_HOverTrackP_Barrel_hPt_20_50));
287  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HOverTrackP_Barrel_hPt_50" ,m_HOverTrackP_Barrel_hPt_50));
288  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HOverTrackP_EndCap_hPt_1_10" ,m_HOverTrackP_EndCap_hPt_1_10));
289  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HOverTrackP_EndCap_hPt_10_20" ,m_HOverTrackP_EndCap_hPt_10_20));
290  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HOverTrackP_EndCap_hPt_20_50" ,m_HOverTrackP_EndCap_hPt_20_50));
291  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"HOverTrackP_EndCap_hPt_50" ,m_HOverTrackP_EndCap_hPt_50));
292  }else{//MiniAOD workflow
293  if(!occupancyPFCand_.empty())occupancyPFCand_.clear();
294  if(!occupancyPFCand_name_.empty())occupancyPFCand_name_.clear();
297  if(!etaMinPFCand_.empty())etaMinPFCand_.clear();
298  if(!etaMaxPFCand_.empty())etaMaxPFCand_.clear();
299  if(!typePFCand_.empty())typePFCand_.clear();
300  if(!countsPFCand_.empty())countsPFCand_.clear();
301  if(!ptPFCand_.empty())ptPFCand_.clear();
302  if(!ptPFCand_name_.empty())ptPFCand_name_.clear();
305  if(!multiplicityPFCand_.empty())multiplicityPFCand_.clear();
307  for (std::vector<edm::ParameterSet>::const_iterator v = diagnosticsParameters_.begin(); v!=diagnosticsParameters_.end(); v++) {
308  int etaNBinsPFCand = v->getParameter<int>("etaNBins");
309  double etaMinPFCand = v->getParameter<double>("etaMin");
310  double etaMaxPFCand = v->getParameter<double>("etaMax");
311  int phiNBinsPFCand = v->getParameter<int>("phiNBins");
312  double phiMinPFCand = v->getParameter<double>("phiMin");
313  double phiMaxPFCand = v->getParameter<double>("phiMax");
314  int nMinPFCand = v->getParameter<int>("nMin");
315  int nMaxPFCand = v->getParameter<int>("nMax");
316  int nbinsPFCand = v->getParameter<double>("nbins");
317 
318  // etaNBins_.push_back(etaNBins);
319  etaMinPFCand_.push_back(etaMinPFCand);
320  etaMaxPFCand_.push_back(etaMaxPFCand);
321  typePFCand_.push_back(v->getParameter<int>("type"));
322  countsPFCand_.push_back(0);
323 
324  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));
325  multiplicityPFCand_name_.push_back(std::string(v->getParameter<std::string>("name")).append("_multiplicity_").c_str());
326  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+ multiplicityPFCand_name_[multiplicityPFCand_name_.size()-1], multiplicityPFCand_[multiplicityPFCand_.size()-1]));
327  //push back names first, we need to create histograms with the name and fill it for endcap plots later
328  occupancyPFCand_name_.push_back(std::string(v->getParameter<std::string>("name")).append("_occupancy_puppiWeight_").c_str());
329  ptPFCand_name_.push_back(std::string(v->getParameter<std::string>("name")).append("_pt_puppiWeight_").c_str());
330  //push back names first, we need to create histograms with the name and fill it for endcap plots later
331  occupancyPFCand_name_puppiNolepWeight_.push_back(std::string(v->getParameter<std::string>("name")).append("_occupancy_puppiNolepWeight_").c_str());
332  ptPFCand_name_puppiNolepWeight_.push_back(std::string(v->getParameter<std::string>("name")).append("_pt_puppiNolepWeight_").c_str());
333  //special booking for endcap plots, merge plots for eminus and eplus into one plot, using variable binning
334  //barrel plots have eta-boundaries on minus and plus side
335  //parameters start on minus side
336  if(etaMinPFCand*etaMaxPFCand<0){//barrel plots, plot only in barrel region
337  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));
338  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));
339  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));
340  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));
341  }else{//endcap or forward plots,
342  const int nbins_eta_endcap=2*(etaNBinsPFCand+1);
343  double eta_limits_endcap[nbins_eta_endcap];
344  for(int i=0;i<nbins_eta_endcap;i++){
345  if(i<(etaNBinsPFCand+1)){
346  eta_limits_endcap[i]=etaMinPFCand+i*(etaMaxPFCand-etaMinPFCand)/(double)etaNBinsPFCand;
347  }else{
348  eta_limits_endcap[i]= -etaMaxPFCand +(i- (etaNBinsPFCand+1) )*(etaMaxPFCand-etaMinPFCand)/(double)etaNBinsPFCand;
349  }
350  }
351  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);
352  occupancyPFCand_.push_back(ibooker.book2D(occupancyPFCand_name_[occupancyPFCand_name_.size()-1],hist_temp_occup));
353  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);
354  ptPFCand_.push_back(ibooker.book2D(ptPFCand_name_[ptPFCand_name_.size()-1], hist_temp_pt));
355  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);
357  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);
358  ptPFCand_puppiNolepWeight_.push_back(ibooker.book2D(ptPFCand_name_puppiNolepWeight_[ptPFCand_name_puppiNolepWeight_.size()-1], hist_temp_pt_puppiNolepWeight));
359  }
361  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+ ptPFCand_name_puppiNolepWeight_[ptPFCand_name_puppiNolepWeight_.size()-1], ptPFCand_puppiNolepWeight_[ptPFCand_puppiNolepWeight_.size()-1]));
362  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+ occupancyPFCand_name_[occupancyPFCand_name_.size()-1], occupancyPFCand_[occupancyPFCand_.size()-1]));
363  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+ ptPFCand_name_[ptPFCand_name_.size()-1], ptPFCand_[ptPFCand_.size()-1]));
364  }
365  }
366 
367 
368 }
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:157
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
std::vector< MonitorElement * > occupancyPFCandRECO_
std::vector< MonitorElement * > occupancyPFCand_
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:115
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_
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:277
MonitorElement * m_HOverTrackP_Barrel_hPt_10_20
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:133
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 
)

Initialize run-based parameters.

Definition at line 371 of file DQMPFCandidateAnalyzer.cc.

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

372 {
373 
375 
376  if(isMiniAOD_){
377  bool changed_filter=true;
378  if (FilterhltConfig_.init(iRun,iSetup,METFilterMiniAODLabel_.process(),changed_filter)){
380  for(unsigned int i=0;i<FilterhltConfig_.size();i++){
381  std::string search=FilterhltConfig_.triggerName(i).substr(5);//actual label of filter, the first 5 items are Flag_, so stripped off
382  std::string search2=HBHENoiseStringMiniAOD;//all filters end with DQM, which is not in the flag --> ONLY not for HBHEFilters
383  std::size_t found=search2.find(search);
384  if(found!=std::string::npos){
386  }
387  }
388  }else if(FilterhltConfig_.init(iRun,iSetup,METFilterMiniAODLabel2_.process(),changed_filter)){
390  for(unsigned int i=0;i<FilterhltConfig_.size();i++){
391  std::string search=FilterhltConfig_.triggerName(i).substr(5);//actual label of filter, the first 5 items are Flag_, so stripped off
392  std::string search2=HBHENoiseStringMiniAOD;//all filters end with DQM, which is not in the flag --> ONLY not for HBHEFilters
393  std::size_t found=search2.find(search);
394  if(found!=std::string::npos){
396  }
397  }
398  }else{
399  edm::LogWarning("MiniAOD MET Filter HLT OBject version")<<"nothing found with both RECO and reRECO label"<<std::endl;
400  }
401  }
402 }
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 
)

Finish up a run.

Definition at line 405 of file DQMPFCandidateAnalyzer.cc.

406 {
407 }
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();}
virtual 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.