CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Attributes | Private Member Functions | Private Attributes
TauTagValidation Class Reference

#include <TauTagValidation.h>

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

Public Member Functions

void analyze (const edm::Event &iEvent, const edm::EventSetup &iSetup) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
void dqmBeginRun (const edm::Run &, const edm::EventSetup &) override
 
 TauTagValidation (const edm::ParameterSet &)
 
 ~TauTagValidation () override
 
- Public Member Functions inherited from one::DQMEDAnalyzer< T >
 DQMEDAnalyzer ()=default
 
 DQMEDAnalyzer (DQMEDAnalyzer< T... > const &)=delete
 
 DQMEDAnalyzer (DQMEDAnalyzer< T... > &&)=delete
 
 ~DQMEDAnalyzer () override=default
 

Protected Attributes

PFBenchmarkAlgoalgo_
 

Private Member Functions

double getSumPt (const std::vector< edm::Ptr< reco::Candidate > > &candidates)
 sum the transversal momentum of all candidates More...
 
bool stripDiscriminatorLabel (const std::string &discriminatorLabel, std::string &newLabel)
 get rid of redundant parts to shorten the label More...
 

Private Attributes

bool chainCuts_
 
std::vector< edm::EDGetTokenT< reco::PFTauDiscriminator > > currentDiscriminatorToken_
 
std::string dataType_
 What's the reference for the Validation Leptons or Jets. More...
 
std::vector< edm::ParameterSetdiscriminators_
 
std::map< std::string, MonitorElement * > etaTauVisibleMap
 
std::string extensionName_
 
std::string genCuts_
 
GenericTriggerEventFlaggenericTriggerEventFlag_
 generic access to dynamic trigger table More...
 
edm::ParameterSet histoSettings_
 
std::map< std::string, MonitorElement * > massTauVisibleMap
 
double matchDeltaR_Jets_
 
double matchDeltaR_Leptons_
 
std::string moduleLabel_
 label of the current module More...
 
MonitorElementnCaloJet_LeadingTrack_isolationECALhitsEtSum_
 
MonitorElementnCaloJet_LeadingTrack_isolationTracks_
 
MonitorElementnCaloJet_LeadingTrack_signalTracks_
 
MonitorElementnCaloJet_LeadingTrack_signalTracksInvariantMass_
 
MonitorElementnEMIsolated_signalTracks_
 
MonitorElementnEMIsolated_signalTracksInvariantMass_
 
MonitorElementnIsolated_NoChargedHadrons_ChargedHadronsSignal_
 
MonitorElementnIsolated_NoChargedHadrons_GammasIsolAnnulus_
 
MonitorElementnIsolated_NoChargedHadrons_GammasSignal_
 
MonitorElementnIsolated_NoChargedHadrons_NeutralHadronsIsolAnnulus_
 
MonitorElementnIsolated_NoChargedHadrons_NeutralHadronsSignal_
 
MonitorElementnIsolated_NoChargedNoGammas_ChargedHadronsSignal_
 
MonitorElementnIsolated_NoChargedNoGammas_GammasSignal_
 
MonitorElementnIsolated_NoChargedNoGammas_NeutralHadronsIsolAnnulus_
 
MonitorElementnIsolated_NoChargedNoGammas_NeutralHadronsSignal_
 
MonitorElementnPFJet_LeadingChargedHadron_ChargedHadronsIsolAnnulus_
 
MonitorElementnPFJet_LeadingChargedHadron_ChargedHadronsSignal_
 
MonitorElementnPFJet_LeadingChargedHadron_GammasIsolAnnulus_
 
MonitorElementnPFJet_LeadingChargedHadron_GammasSignal_
 
MonitorElementnPFJet_LeadingChargedHadron_NeutralHadronsIsolAnnulus_
 
MonitorElementnPFJet_LeadingChargedHadron_NeutralHadronsSignal_
 
MonitorElementnTaus_
 
std::map< std::string, MonitorElement * > nTauVisibleMap
 
MonitorElementnTrackIsolated_isolationECALhitsEtSum_
 
MonitorElementnTrackIsolated_signalTracks_
 
MonitorElementnTrackIsolated_signalTracksInvariantMass_
 
int numEvents_
 
std::string outPutFile_
 
std::map< std::string, MonitorElement * > phiTauVisibleMap
 
std::map< std::string, MonitorElement * > pileupTauVisibleMap
 
std::map< std::string, MonitorElement * > plotMap_
 
edm::InputTag PrimaryVertexCollection_
 
edm::EDGetTokenT< reco::VertexCollectionprimaryVertexCollectionToken_
 
std::map< std::string, MonitorElement * > ptTauVisibleMap
 
std::string recoCuts_
 
std::string refCollection_
 
edm::InputTag refCollectionInputTag_
 
edm::EDGetTokenT< edm::View< reco::Candidate > > refCollectionInputTagToken_
 
bool saveoutputhistograms_
 
std::map< std::string, MonitorElement * > summaryMap
 
std::map< std::string, int > tauDecayCountMap_
 
std::string TauProducer_
 
edm::InputTag TauProducerInputTag_
 
edm::EDGetTokenT< reco::PFTauCollectiontauProducerInputTagToken_
 
double TauPtCut_
 
bool turnOnTrigger_
 
std::string tversion
 

Detailed Description

Description: <one line="" class="" summary>="">

Class used to do the Validation of the TauTag

Implementation: <Notes on="" implementation>="">

Definition at line 72 of file TauTagValidation.h.

Constructor & Destructor Documentation

TauTagValidation::TauTagValidation ( const edm::ParameterSet iConfig)
explicit

Definition at line 40 of file TauTagValidation.cc.

References chainCuts_, currentDiscriminatorToken_, discriminators_, edm::ParameterSet::exists(), extensionName_, genericTriggerEventFlag_, edm::ParameterSet::getParameter(), edm::getReleaseVersion(), histoSettings_, edm::InputTag::label(), LogDebug, moduleLabel_, numEvents_, outPutFile_, PrimaryVertexCollection_, primaryVertexCollectionToken_, refCollection_, refCollectionInputTag_, refCollectionInputTagToken_, saveoutputhistograms_, TauProducer_, TauProducerInputTag_, tauProducerInputTagToken_, turnOnTrigger_, and tversion.

40  :
41  moduleLabel_(iConfig.getParameter<std::string>("@module_label")),
42  // What do we want to use as source Leptons or Jets (the only difference is the matching criteria)
43  dataType_( iConfig.getParameter<string>("DataType") ),
44  // We need different matching criteria if we talk about leptons or jets
45  matchDeltaR_Leptons_( iConfig.getParameter<double>("MatchDeltaR_Leptons")),
46  matchDeltaR_Jets_( iConfig.getParameter<double>("MatchDeltaR_Jets")),
47  TauPtCut_( iConfig.getParameter<double>("TauPtCut")),
48  //flexible cut interface to filter reco and gen collection. use an empty string to select all.
49  recoCuts_( iConfig.getParameter<std::string>( "recoCuts" )),
50  genCuts_( iConfig.getParameter<std::string>( "genCuts" )),
51  // The output histograms can be stored or not
52  saveoutputhistograms_( iConfig.getParameter<bool>("SaveOutputHistograms")),
53  // Here it can be pretty much anything either a lepton or a jet
54  refCollectionInputTag_( iConfig.getParameter<InputTag>("RefCollection")),
55  // The extension name has information about the Reference collection used
56  extensionName_( iConfig.getParameter<string>("ExtensionName")),
57  // Here is the reconstructed product of interest.
58  TauProducerInputTag_( iConfig.getParameter<InputTag>("TauProducer")),
59  // Get the discriminators and their cuts
60  discriminators_( iConfig.getParameter< std::vector<edm::ParameterSet> >( "discriminators" ))
61 {
62 
63  turnOnTrigger_ = iConfig.exists("turnOnTrigger") && iConfig.getParameter<bool>("turnOnTrigger");
64  genericTriggerEventFlag_ = (iConfig.exists("GenericTriggerSelection") && turnOnTrigger_) ? new GenericTriggerEventFlag(iConfig.getParameter<edm::ParameterSet>("GenericTriggerSelection"), consumesCollector(), *this) : nullptr;
65  if(genericTriggerEventFlag_ != nullptr) LogDebug(moduleLabel_) <<"--> GenericTriggerSelection parameters found in "<<moduleLabel_<<"."<<std::endl;//move to LogDebug
66  else LogDebug(moduleLabel_) <<"--> GenericTriggerSelection not found in "<<moduleLabel_<<"."<<std::endl;//move to LogDebug to keep track of modules that fail and pass
67 
68  //InputTag to strings
71 
72  histoSettings_= (iConfig.exists("histoSettings")) ? iConfig.getParameter<edm::ParameterSet>("histoSettings") : edm::ParameterSet();
73  edm::InputTag PrimaryVertexCollection_ = (iConfig.exists("PrimaryVertexCollection")) ? iConfig.getParameter<InputTag>("PrimaryVertexCollection") : edm::InputTag("offlinePrimaryVertices"); //TO-DO
74 
75  refCollectionInputTagToken_ = consumes<edm::View<reco::Candidate> >(iConfig.getParameter<InputTag>("RefCollection"));
76  primaryVertexCollectionToken_ = consumes<VertexCollection>(PrimaryVertexCollection_); //TO-DO
77  tauProducerInputTagToken_ = consumes<reco::PFTauCollection>(iConfig.getParameter<InputTag>("TauProducer"));
78  for(const auto& it : discriminators_){
79  currentDiscriminatorToken_.push_back( consumes<reco::PFTauDiscriminator>(edm::InputTag(it.getParameter<string>("discriminator"))) );
80  }
81 
83 
84  if (!saveoutputhistograms_) {
85  LogInfo("OutputInfo") << " TauVisible histograms will NOT be saved";
86  } else {
88  outPutFile_.append("_");
89  tversion.erase(0,1);
90  tversion.erase(tversion.size()-1,1);
91  outPutFile_.append(tversion);
92  outPutFile_.append("_"+ refCollection_);
93  if ( ! extensionName_.empty()){
94  outPutFile_.append("_"+ extensionName_);
95  }
96  outPutFile_.append(".root");
97 
98  LogInfo("OutputInfo") << " TauVisiblehistograms will be saved to file:" << outPutFile_;
99  }
100 
101  //---- book-keeping information ---
102  numEvents_ = 0 ;
103 
104  // Check if we want to "chain" the discriminator requirements (i.e. all
105  // prveious discriminators must pass)
106  chainCuts_ = iConfig.exists("chainCuts") ?
107  iConfig.getParameter<bool>("chainCuts") : true;
108 
109 }
#define LogDebug(id)
T getParameter(std::string const &) const
bool exists(std::string const &parameterName) const
checks if a parameter exists
edm::EDGetTokenT< reco::PFTauCollection > tauProducerInputTagToken_
edm::InputTag TauProducerInputTag_
Provides a code based selection for trigger and DCS information in order to have no failing filters i...
std::string refCollection_
std::vector< edm::EDGetTokenT< reco::PFTauDiscriminator > > currentDiscriminatorToken_
std::string outPutFile_
std::vector< edm::ParameterSet > discriminators_
std::string tversion
GenericTriggerEventFlag * genericTriggerEventFlag_
generic access to dynamic trigger table
std::string dataType_
What&#39;s the reference for the Validation Leptons or Jets.
std::string TauProducer_
std::string genCuts_
std::string getReleaseVersion()
edm::EDGetTokenT< edm::View< reco::Candidate > > refCollectionInputTagToken_
std::string extensionName_
std::string const & label() const
Definition: InputTag.h:36
std::string moduleLabel_
label of the current module
edm::InputTag refCollectionInputTag_
edm::InputTag PrimaryVertexCollection_
edm::ParameterSet histoSettings_
std::string recoCuts_
edm::EDGetTokenT< reco::VertexCollection > primaryVertexCollectionToken_
TauTagValidation::~TauTagValidation ( )
override

Definition at line 111 of file TauTagValidation.cc.

References genericTriggerEventFlag_.

111  {
113 }
GenericTriggerEventFlag * genericTriggerEventFlag_
generic access to dynamic trigger table

Member Function Documentation

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

Definition at line 365 of file TauTagValidation.cc.

References algo_, MessageLogger_cfi::cerr, chainCuts_, gather_cfg::cout, currentDiscriminatorToken_, dataType_, delta, PFBenchmarkAlgo::deltaR(), boostedElectronIsolation_cff::deltaR, discriminators_, etaTauVisibleMap, MonitorElement::Fill(), genCuts_, genericTriggerEventFlag_, edm::Event::getByToken(), getSumPt(), reco::PFTau::kOneProng0PiZero, reco::PFTau::kOneProng1PiZero, reco::PFTau::kOneProng2PiZero, reco::PFTau::kThreeProng0PiZero, reco::PFTau::kThreeProng1PiZero, reco::PFTau::kTwoProng0PiZero, reco::PFTau::kTwoProng1PiZero, reco::PFTau::kTwoProng2PiZero, matchDeltaR_Jets_, matchDeltaR_Leptons_, nIsolated_NoChargedNoGammas_ChargedHadronsSignal_, nIsolated_NoChargedNoGammas_GammasSignal_, nIsolated_NoChargedNoGammas_NeutralHadronsIsolAnnulus_, nIsolated_NoChargedNoGammas_NeutralHadronsSignal_, nPFJet_LeadingChargedHadron_ChargedHadronsIsolAnnulus_, nPFJet_LeadingChargedHadron_ChargedHadronsSignal_, nPFJet_LeadingChargedHadron_GammasIsolAnnulus_, nPFJet_LeadingChargedHadron_GammasSignal_, nPFJet_LeadingChargedHadron_NeutralHadronsIsolAnnulus_, nPFJet_LeadingChargedHadron_NeutralHadronsSignal_, numEvents_, GenericTriggerEventFlag::on(), phiTauVisibleMap, Pi, pileupTauVisibleMap, plotMap_, primaryVertexCollectionToken_, edm::Handle< T >::product(), reco::Candidate::pt(), ptTauVisibleMap, recoCuts_, refCollection_, refCollectionInputTagToken_, AlCaHLTBitMon_QueryRunRegistry::string, summaryMap, pat::TAU, tauDecayCountMap_, TauProducer_, tauProducerInputTagToken_, and TauPtCut_.

365  {
367  if (!genericTriggerEventFlag_->on()) std::cout<<"TauTagValidation::analyze: No working genericTriggerEventFlag. Did you specify a valid globaltag?"<<std::endl;//move to LogDebug?
368  }
369 
370  numEvents_++;
371  double matching_criteria = -1.0;
372 
373  //Initialize the Tau Multiplicity Counter
374  for(const auto& it : discriminators_){
375  string DiscriminatorLabel = it.getParameter<string>("discriminator");
376  tauDecayCountMap_["allHadronic" + DiscriminatorLabel] = 0;
377  tauDecayCountMap_["oneProng0Pi0" + DiscriminatorLabel] = 0;
378  tauDecayCountMap_["oneProng1Pi0" + DiscriminatorLabel] = 0;
379  tauDecayCountMap_["oneProng2Pi0" + DiscriminatorLabel] = 0;
380  tauDecayCountMap_["twoProng0Pi0" + DiscriminatorLabel] = 0;
381  tauDecayCountMap_["twoProng1Pi0" + DiscriminatorLabel] = 0;
382  tauDecayCountMap_["twoProng2Pi0" + DiscriminatorLabel] = 0;
383  tauDecayCountMap_["threeProng0Pi0" + DiscriminatorLabel] = 0;
384  tauDecayCountMap_["threeProng1Pi0" + DiscriminatorLabel] = 0;
385  }
386 
387  typedef edm::View<reco::Candidate> genCandidateCollection;
388 
389  // ----------------------- Reference product -----------------------------------------------------------------------
390 
391  Handle<genCandidateCollection> ReferenceCollection;
392  bool isGen = iEvent.getByToken( refCollectionInputTagToken_, ReferenceCollection );
393 
394  Handle<VertexCollection> pvHandle;
395  iEvent.getByToken( primaryVertexCollectionToken_, pvHandle ); //TO-DO
396 
397  if (!isGen) {
398  std::cerr << " Reference collection: " << refCollection_ << " not found while running TauTagValidation.cc " << std::endl;
399  return;
400  }
401 
402  if(dataType_ == "Leptons"){
403  matching_criteria = matchDeltaR_Leptons_;
404  }
405  else
406  {
407  matching_criteria = matchDeltaR_Jets_;
408  }
409 
410  // ------------------------------ PFTauCollection Matched and other discriminators ---------------------------------------------------------
411 
412  if ( TauProducer_.find("PFTau") != string::npos || TauProducer_.find("hpsTancTaus") != string::npos )
413  {
414  Handle<PFTauCollection> thePFTauHandle;
415  iEvent.getByToken( tauProducerInputTagToken_, thePFTauHandle );
416 
417  const PFTauCollection *pfTauProduct;
418  pfTauProduct = thePFTauHandle.product();
419 
420  PFTauCollection::size_type thePFTauClosest;
421 
422  std::map<std::string, MonitorElement *>::const_iterator element = plotMap_.end();
423 
424  //Run the Reference Collection
425  for (genCandidateCollection::const_iterator RefJet= ReferenceCollection->begin() ; RefJet != ReferenceCollection->end(); RefJet++ ){
426 
427  ptTauVisibleMap.find(refCollection_)->second->Fill(RefJet->pt());
428  etaTauVisibleMap.find(refCollection_)->second->Fill(RefJet->eta());
429  phiTauVisibleMap.find(refCollection_)->second->Fill(RefJet->phi()*180.0/TMath::Pi());
430  pileupTauVisibleMap.find(refCollection_)->second->Fill(pvHandle->size());
431 
432  const reco::Candidate *gen_particle = &(*RefJet);
433 
434  double delta=TMath::Pi();
435 
436  thePFTauClosest = pfTauProduct->size();
437 
438  for (PFTauCollection::size_type iPFTau=0 ; iPFTau < pfTauProduct->size() ; iPFTau++)
439  {
440  if (algo_->deltaR(gen_particle, & pfTauProduct->at(iPFTau)) < delta){
441  delta = algo_->deltaR(gen_particle, & pfTauProduct->at(iPFTau));
442  thePFTauClosest = iPFTau;
443  }
444  }
445 
446  // Skip if there is no reconstructed Tau matching the Reference
447  if (thePFTauClosest == pfTauProduct->size()) continue;
448 
449  double deltaR = algo_->deltaR(gen_particle, & pfTauProduct->at(thePFTauClosest));
450 
451  // Skip if the delta R difference is larger than the required criteria
452  if (deltaR > matching_criteria && matching_criteria != -1.0) continue;
453 
454  ptTauVisibleMap.find( TauProducer_+"Matched")->second->Fill(RefJet->pt());
455  etaTauVisibleMap.find( TauProducer_+"Matched" )->second->Fill(RefJet->eta());
456  phiTauVisibleMap.find( TauProducer_+"Matched" )->second->Fill(RefJet->phi()*180.0/TMath::Pi());
457  pileupTauVisibleMap.find( TauProducer_+"Matched")->second->Fill(pvHandle->size());
458 
459  PFTauRef thePFTau(thePFTauHandle, thePFTauClosest);
460 
461  Handle<PFTauDiscriminator> currentDiscriminator;
462 
463  //filter the candidates
464  if(thePFTau->pt() < TauPtCut_ ) continue;//almost deprecated, since recoCuts_ provides more flexibility
465  //reco
467  bool pass = selectReco( thePFTau );
468  if( !pass ) continue;
469  //gen
471  pass = selectGen( *gen_particle );
472  if( !pass ) continue;
473 
474  int j = 0;
475  for(const auto& it : discriminators_){
476  string currentDiscriminatorLabel = it.getParameter<string>("discriminator");
477  iEvent.getByToken( currentDiscriminatorToken_[j], currentDiscriminator );
478  summaryMap.find(refCollection_+"Den")->second->Fill(j);
479 
480  if ((*currentDiscriminator)[thePFTau] >= it.getParameter<double>("selectionCut")){
481  ptTauVisibleMap.find( currentDiscriminatorLabel )->second->Fill(RefJet->pt());
482  etaTauVisibleMap.find( currentDiscriminatorLabel )->second->Fill(RefJet->eta());
483  phiTauVisibleMap.find( currentDiscriminatorLabel )->second->Fill(RefJet->phi()*180.0/TMath::Pi());
484  pileupTauVisibleMap.find( currentDiscriminatorLabel )->second->Fill(pvHandle->size());
485  summaryMap.find(refCollection_+"Num")->second->Fill(j);
486 
487  //fill the momentum resolution plots
488  double tauPtRes = thePFTau->pt()/gen_particle->pt();//WARNING: use only the visible parts!
489  plotMap_.find( currentDiscriminatorLabel + "_pTRatio_allHadronic" )->second->Fill(tauPtRes);
490 
491  //Fill Tau Cand Mass
492  TLorentzVector TAU;
493  TAU.SetPtEtaPhiE(thePFTau->pt(), thePFTau->eta(), thePFTau->phi(), thePFTau->energy());
494  plotMap_.find( currentDiscriminatorLabel + "_TauCandMass" )->second->Fill(TAU.M());
495 
496  //Tau Counter, allHadronic mode
497  tauDecayCountMap_.find( "allHadronic" + currentDiscriminatorLabel)->second++;
498 
499  /*
500  //is there a better way than casting the candidate?
501  const reco::GenJet *tauGenJet = dynamic_cast<const reco::GenJet*>(gen_particle);
502  if(tauGenJet){
503  std::string genTauDecayMode = JetMCTagUtils::genTauDecayMode(*tauGenJet); // gen_particle is the tauGenJet matched to the reconstructed tau
504  element = plotMap_.find( currentDiscriminatorLabel + "_pTRatio_" + genTauDecayMode );
505  if( element != plotMap_.end() ) element->second->Fill(tauPtRes);
506  tauDecayCountMap_.find( genTauDecayMode + currentDiscriminatorLabel)->second++;
507  }else{
508  LogInfo("TauTagValidation") << " Failed to cast the MC candidate.";
509  }*/
510 
511  if (thePFTau->decayMode() == reco::PFTau::kOneProng0PiZero){
512  tauDecayCountMap_.find("oneProng0Pi0" + currentDiscriminatorLabel)->second++;
513  plotMap_.find( currentDiscriminatorLabel + "_pTRatio_" + "oneProng0Pi0")->second->Fill(tauPtRes);
514  }
515  else if (thePFTau->decayMode() == reco::PFTau::kOneProng1PiZero){
516  tauDecayCountMap_.find("oneProng1Pi0" + currentDiscriminatorLabel)->second++;
517  plotMap_.find( currentDiscriminatorLabel + "_pTRatio_" + "oneProng1Pi0")->second->Fill(tauPtRes);
518  }
519  else if (thePFTau->decayMode() == reco::PFTau::kOneProng2PiZero){
520  tauDecayCountMap_.find("oneProng2Pi0" + currentDiscriminatorLabel)->second++;
521  plotMap_.find( currentDiscriminatorLabel + "_pTRatio_" + "oneProng2Pi0")->second->Fill(tauPtRes);
522  }
523  else if (thePFTau->decayMode() == reco::PFTau::kTwoProng0PiZero){
524  tauDecayCountMap_.find("twoProng0Pi0" + currentDiscriminatorLabel)->second++;
525  plotMap_.find( currentDiscriminatorLabel + "_pTRatio_" + "twoProng0Pi0")->second->Fill(tauPtRes);
526  }
527  else if (thePFTau->decayMode() == reco::PFTau::kTwoProng1PiZero){
528  tauDecayCountMap_.find("twoProng1Pi0" + currentDiscriminatorLabel)->second++;
529  plotMap_.find( currentDiscriminatorLabel + "_pTRatio_" + "twoProng1Pi0")->second->Fill(tauPtRes);
530  }
531  else if (thePFTau->decayMode() == reco::PFTau::kTwoProng2PiZero){
532  tauDecayCountMap_.find("twoProng2Pi0" + currentDiscriminatorLabel)->second++;
533  plotMap_.find( currentDiscriminatorLabel + "_pTRatio_" + "twoProng2Pi0")->second->Fill(tauPtRes);
534  }
535  else if (thePFTau->decayMode() == reco::PFTau::kThreeProng0PiZero){
536  tauDecayCountMap_.find("threeProng0Pi0" + currentDiscriminatorLabel)->second++;
537  plotMap_.find( currentDiscriminatorLabel + "_pTRatio_" + "threeProng0Pi0")->second->Fill(tauPtRes);
538  }
539  else if (thePFTau->decayMode() == reco::PFTau::kThreeProng1PiZero){
540  tauDecayCountMap_.find("threeProng1Pi0" + currentDiscriminatorLabel)->second++;
541  plotMap_.find( currentDiscriminatorLabel + "_pTRatio_" + "threeProng1Pi0")->second->Fill(tauPtRes);
542  }
543  //fill: size and sumPt within tau isolation
544  std::string plotType = "_Size_";
545  element = plotMap_.find( currentDiscriminatorLabel + plotType + "signalCands" );
546  if( element != plotMap_.end() ) element->second->Fill( thePFTau->signalCands().size() );
547  element = plotMap_.find( currentDiscriminatorLabel + plotType + "signalChargedHadrCands" );
548  if( element != plotMap_.end() ) element->second->Fill( thePFTau->signalChargedHadrCands().size() );
549  element = plotMap_.find( currentDiscriminatorLabel + plotType + "signalNeutrHadrCands" );
550  if( element != plotMap_.end() ) element->second->Fill( thePFTau->signalNeutrHadrCands().size() );
551  element = plotMap_.find( currentDiscriminatorLabel + plotType + "isolationCands" );
552  if( element != plotMap_.end() ) element->second->Fill( thePFTau->isolationCands().size() );
553  element = plotMap_.find( currentDiscriminatorLabel + plotType + "isolationChargedHadrCands" );
554  if( element != plotMap_.end() ) element->second->Fill( thePFTau->isolationChargedHadrCands().size() );
555  element = plotMap_.find( currentDiscriminatorLabel + plotType + "isolationNeutrHadrCands" );
556  if( element != plotMap_.end() ) element->second->Fill( thePFTau->isolationNeutrHadrCands().size() );
557  element = plotMap_.find( currentDiscriminatorLabel + plotType + "isolationGammaCands" );
558  if( element != plotMap_.end() ) element->second->Fill( thePFTau->isolationGammaCands().size() );
559 
560  plotType = "_SumPt_";
561  element = plotMap_.find( currentDiscriminatorLabel + plotType + "signalCands" );
562  if( element != plotMap_.end() ) element->second->Fill( getSumPt( thePFTau->signalCands() ) );
563  element = plotMap_.find( currentDiscriminatorLabel + plotType + "signalChargedHadrCands" );
564  if( element != plotMap_.end() ) element->second->Fill( getSumPt( thePFTau->signalChargedHadrCands() ) );
565  element = plotMap_.find( currentDiscriminatorLabel + plotType + "signalNeutrHadrCands" );
566  if( element != plotMap_.end() ) element->second->Fill( getSumPt( thePFTau->signalNeutrHadrCands() ) );
567  element = plotMap_.find( currentDiscriminatorLabel + plotType + "isolationCands" );
568  if( element != plotMap_.end() ) element->second->Fill( getSumPt( thePFTau->isolationCands() ) );
569  element = plotMap_.find( currentDiscriminatorLabel + plotType + "isolationChargedHadrCands" );
570  if( element != plotMap_.end() ) element->second->Fill( getSumPt( thePFTau->isolationChargedHadrCands() ) );
571  element = plotMap_.find( currentDiscriminatorLabel + plotType + "isolationNeutrHadrCands" );
572  if( element != plotMap_.end() ) element->second->Fill( getSumPt( thePFTau->isolationNeutrHadrCands() ) );
573  element = plotMap_.find( currentDiscriminatorLabel + plotType + "isolationGammaCands" );
574  if( element != plotMap_.end() ) element->second->Fill( getSumPt( thePFTau->isolationGammaCands() ) );
575 
576  //deprecated
577 
578  if( TauProducer_.find("PFTau") != string::npos ){
579  if ( currentDiscriminatorLabel.find("LeadingTrackPtCut") != string::npos){
580  nPFJet_LeadingChargedHadron_ChargedHadronsSignal_->Fill((*thePFTau).signalChargedHadrCands().size());
581  nPFJet_LeadingChargedHadron_ChargedHadronsIsolAnnulus_->Fill((*thePFTau).isolationChargedHadrCands().size());
582  nPFJet_LeadingChargedHadron_GammasSignal_->Fill((*thePFTau).signalGammaCands().size());
583  nPFJet_LeadingChargedHadron_GammasIsolAnnulus_->Fill((*thePFTau).isolationGammaCands().size());
584  nPFJet_LeadingChargedHadron_NeutralHadronsSignal_->Fill((*thePFTau).signalNeutrHadrCands().size());
585  nPFJet_LeadingChargedHadron_NeutralHadronsIsolAnnulus_->Fill((*thePFTau).isolationNeutrHadrCands().size());
586  }
587  else if ( currentDiscriminatorLabel.find("ByIsolation") != string::npos ){
588  nIsolated_NoChargedNoGammas_ChargedHadronsSignal_->Fill((*thePFTau).signalChargedHadrCands().size());
589  nIsolated_NoChargedNoGammas_GammasSignal_->Fill((*thePFTau).signalGammaCands().size());
590  nIsolated_NoChargedNoGammas_NeutralHadronsSignal_->Fill((*thePFTau).signalNeutrHadrCands().size());
591  nIsolated_NoChargedNoGammas_NeutralHadronsIsolAnnulus_->Fill((*thePFTau).isolationNeutrHadrCands().size());
592  }
593  }
594  }
595  else {
596  if (chainCuts_)
597  break;
598  }
599  j++;
600  }
601  }//End of Reference Collection Loop
602 
603  //Fill the Tau Multiplicity Histograms
604  for(const auto& it : discriminators_){
605  string currentDiscriminatorLabel = it.getParameter<string>("discriminator");
606  plotMap_.find(currentDiscriminatorLabel + "_nTaus_allHadronic")->second->Fill(tauDecayCountMap_.find( "allHadronic" + currentDiscriminatorLabel)->second);
607  plotMap_.find(currentDiscriminatorLabel + "_nTaus_oneProng0Pi0")->second->Fill(tauDecayCountMap_.find( "oneProng0Pi0" + currentDiscriminatorLabel)->second);
608  plotMap_.find(currentDiscriminatorLabel + "_nTaus_oneProng1Pi0")->second->Fill(tauDecayCountMap_.find( "oneProng1Pi0" + currentDiscriminatorLabel)->second);
609  plotMap_.find(currentDiscriminatorLabel + "_nTaus_oneProng2Pi0")->second->Fill(tauDecayCountMap_.find( "oneProng2Pi0" + currentDiscriminatorLabel)->second);
610  plotMap_.find(currentDiscriminatorLabel + "_nTaus_twoProng0Pi0")->second->Fill(tauDecayCountMap_.find( "twoProng0Pi0" + currentDiscriminatorLabel)->second);
611  plotMap_.find(currentDiscriminatorLabel + "_nTaus_twoProng1Pi0")->second->Fill(tauDecayCountMap_.find( "twoProng1Pi0" + currentDiscriminatorLabel)->second);
612  plotMap_.find(currentDiscriminatorLabel + "_nTaus_twoProng2Pi0")->second->Fill(tauDecayCountMap_.find( "twoProng2Pi0" + currentDiscriminatorLabel)->second);
613  plotMap_.find(currentDiscriminatorLabel + "_nTaus_threeProng0Pi0")->second->Fill(tauDecayCountMap_.find( "threeProng0Pi0" + currentDiscriminatorLabel)->second);
614  plotMap_.find(currentDiscriminatorLabel + "_nTaus_threeProng1Pi0")->second->Fill(tauDecayCountMap_.find( "threeProng1Pi0" + currentDiscriminatorLabel)->second);
615  }
616 
617  }//End of PFTau Collection If Loop
618 }
std::map< std::string, MonitorElement * > ptTauVisibleMap
dbl * delta
Definition: mlp_gen.cc:36
const double Pi
MonitorElement * nPFJet_LeadingChargedHadron_ChargedHadronsIsolAnnulus_
std::map< std::string, MonitorElement * > plotMap_
std::vector< PFTau > PFTauCollection
collection of PFTau objects
Definition: PFTauFwd.h:9
MonitorElement * nPFJet_LeadingChargedHadron_NeutralHadronsIsolAnnulus_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:517
double getSumPt(const std::vector< edm::Ptr< reco::Candidate > > &candidates)
sum the transversal momentum of all candidates
edm::EDGetTokenT< reco::PFTauCollection > tauProducerInputTagToken_
std::string refCollection_
uint16_t size_type
std::vector< edm::EDGetTokenT< reco::PFTauDiscriminator > > currentDiscriminatorToken_
void Fill(long long x)
MonitorElement * nPFJet_LeadingChargedHadron_GammasSignal_
std::vector< edm::ParameterSet > discriminators_
MonitorElement * nPFJet_LeadingChargedHadron_ChargedHadronsSignal_
GenericTriggerEventFlag * genericTriggerEventFlag_
generic access to dynamic trigger table
MonitorElement * nIsolated_NoChargedNoGammas_ChargedHadronsSignal_
std::string dataType_
What&#39;s the reference for the Validation Leptons or Jets.
std::string TauProducer_
static double deltaR(const T *, const U *)
std::string genCuts_
std::map< std::string, MonitorElement * > etaTauVisibleMap
MonitorElement * nIsolated_NoChargedNoGammas_NeutralHadronsSignal_
MonitorElement * nIsolated_NoChargedNoGammas_NeutralHadronsIsolAnnulus_
T const * product() const
Definition: Handle.h:74
virtual double pt() const =0
transverse momentum
edm::EDGetTokenT< edm::View< reco::Candidate > > refCollectionInputTagToken_
std::map< std::string, MonitorElement * > summaryMap
std::map< std::string, int > tauDecayCountMap_
std::map< std::string, MonitorElement * > phiTauVisibleMap
MonitorElement * nPFJet_LeadingChargedHadron_NeutralHadronsSignal_
MonitorElement * nPFJet_LeadingChargedHadron_GammasIsolAnnulus_
std::string recoCuts_
std::map< std::string, MonitorElement * > pileupTauVisibleMap
MonitorElement * nIsolated_NoChargedNoGammas_GammasSignal_
PFBenchmarkAlgo * algo_
edm::EDGetTokenT< reco::VertexCollection > primaryVertexCollectionToken_
void TauTagValidation::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  iRun,
edm::EventSetup const &   
)
override

Definition at line 115 of file TauTagValidation.cc.

References create_public_pileup_plots::bins, DQMStore::IBooker::book1D(), discriminators_, etaTauVisibleMap, edm::ParameterSet::exists(), extensionName_, edm::ParameterSet::getParameter(), histoSettings_, hinfo::max, hinfo::min, hinfo::nbins, nIsolated_NoChargedHadrons_ChargedHadronsSignal_, nIsolated_NoChargedHadrons_GammasIsolAnnulus_, nIsolated_NoChargedHadrons_GammasSignal_, nIsolated_NoChargedHadrons_NeutralHadronsIsolAnnulus_, nIsolated_NoChargedHadrons_NeutralHadronsSignal_, nIsolated_NoChargedNoGammas_ChargedHadronsSignal_, nIsolated_NoChargedNoGammas_GammasSignal_, nIsolated_NoChargedNoGammas_NeutralHadronsIsolAnnulus_, nIsolated_NoChargedNoGammas_NeutralHadronsSignal_, nPFJet_LeadingChargedHadron_ChargedHadronsIsolAnnulus_, nPFJet_LeadingChargedHadron_ChargedHadronsSignal_, nPFJet_LeadingChargedHadron_GammasIsolAnnulus_, nPFJet_LeadingChargedHadron_GammasSignal_, nPFJet_LeadingChargedHadron_NeutralHadronsIsolAnnulus_, nPFJet_LeadingChargedHadron_NeutralHadronsSignal_, phiTauVisibleMap, pileupTauVisibleMap, plotMap_, ptTauVisibleMap, refCollection_, DQMStore::IBooker::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, stripDiscriminatorLabel(), summaryMap, and TauProducer_.

116 {
117  MonitorElement * ptTemp,* etaTemp,* phiTemp, *pileupTemp, *tmpME, *summaryTemp;
118 
119  ibooker.setCurrentFolder("RecoTauV/" + TauProducer_ + extensionName_ + "_Summary" );
120  hinfo summaryHinfo = (histoSettings_.exists("summary")) ? hinfo(histoSettings_.getParameter<edm::ParameterSet>("summary")) : hinfo(21, -0.5, 20.5);
121  summaryTemp = ibooker.book1D("summaryPlotNum", "summaryPlotNum", summaryHinfo.nbins, summaryHinfo.min, summaryHinfo.max);
122  summaryMap.insert( std::make_pair(refCollection_+"Num",summaryTemp));
123  summaryTemp = ibooker.book1D("summaryPlotDen", "summaryPlotDen", summaryHinfo.nbins, summaryHinfo.min, summaryHinfo.max);
124  summaryMap.insert( std::make_pair(refCollection_+"Den",summaryTemp));
125  summaryTemp = ibooker.book1D("summaryPlot", "summaryPlot", summaryHinfo.nbins, summaryHinfo.min, summaryHinfo.max);
126  summaryMap.insert( std::make_pair(refCollection_,summaryTemp));
127 
128  ibooker.setCurrentFolder("RecoTauV/" + TauProducer_ + extensionName_ + "_ReferenceCollection" );
129 
130  //Histograms settings
131  hinfo ptHinfo = (histoSettings_.exists("pt")) ? hinfo(histoSettings_.getParameter<edm::ParameterSet>("pt")) : hinfo(500, 0., 1000.);
132  hinfo etaHinfo = (histoSettings_.exists("eta")) ? hinfo(histoSettings_.getParameter<edm::ParameterSet>("eta")) : hinfo(60, -3.0, 3.0);
133  hinfo phiHinfo = (histoSettings_.exists("phi")) ? hinfo(histoSettings_.getParameter<edm::ParameterSet>("phi")) : hinfo(40, -200., 200.);
134  hinfo pileupHinfo = (histoSettings_.exists("pileup")) ? hinfo(histoSettings_.getParameter<edm::ParameterSet>("pileup")) : hinfo(100, 0., 100.);
135  //hinfo dRHinfo = (histoSettings_.exists("deltaR")) ? hinfo(histoSettings_.getParameter<edm::ParameterSet>("deltaR")) : hinfo(10, 0., 0.5);
136 
137  // What kind of Taus do we originally have!
138 
139  ptTemp = ibooker.book1D("nRef_Taus_vs_ptTauVisible", "nRef_Taus_vs_ptTauVisible", ptHinfo.nbins, ptHinfo.min, ptHinfo.max);
140  etaTemp = ibooker.book1D("nRef_Taus_vs_etaTauVisible", "nRef_Taus_vs_etaTauVisible", etaHinfo.nbins, etaHinfo.min, etaHinfo.max );
141  phiTemp = ibooker.book1D("nRef_Taus_vs_phiTauVisible", "nRef_Taus_vs_phiTauVisible", phiHinfo.nbins, phiHinfo.min, phiHinfo.max);
142  pileupTemp = ibooker.book1D("nRef_Taus_vs_pileupTauVisible", "nRef_Taus_vs_pileupTauVisible", pileupHinfo.nbins, pileupHinfo.min, pileupHinfo.max);
143 
144  ptTauVisibleMap.insert( std::make_pair( refCollection_,ptTemp));
145  etaTauVisibleMap.insert( std::make_pair(refCollection_,etaTemp));
146  phiTauVisibleMap.insert( std::make_pair(refCollection_,phiTemp));
147  pileupTauVisibleMap.insert( std::make_pair(refCollection_,pileupTemp));
148 
149  // Number of Tau Candidates matched to MC Taus
150 
151  ibooker.setCurrentFolder("RecoTauV/"+ TauProducer_ + extensionName_ + "_Matched");
152 
153  ptTemp = ibooker.book1D(TauProducer_ +"Matched_vs_ptTauVisible", TauProducer_ +"Matched_vs_ptTauVisible", ptHinfo.nbins, ptHinfo.min, ptHinfo.max);
154  etaTemp = ibooker.book1D(TauProducer_ +"Matched_vs_etaTauVisible", TauProducer_ +"Matched_vs_etaTauVisible", etaHinfo.nbins, etaHinfo.min, etaHinfo.max );
155  phiTemp = ibooker.book1D(TauProducer_ +"Matched_vs_phiTauVisible", TauProducer_ +"Matched_vs_phiTauVisible", phiHinfo.nbins, phiHinfo.min, phiHinfo.max );
156  pileupTemp = ibooker.book1D(TauProducer_ +"Matched_vs_pileupTauVisible", TauProducer_ +"Matched_vs_pileupTauVisible", pileupHinfo.nbins, pileupHinfo.min, pileupHinfo.max);
157 
158  ptTauVisibleMap.insert( std::make_pair( TauProducer_+"Matched" ,ptTemp));
159  etaTauVisibleMap.insert( std::make_pair(TauProducer_+"Matched" ,etaTemp));
160  phiTauVisibleMap.insert( std::make_pair(TauProducer_+"Matched" ,phiTemp));
161  pileupTauVisibleMap.insert( std::make_pair(TauProducer_+"Matched" ,pileupTemp));
162 
163  int j = 0;
164  for(const auto& it : discriminators_)
165  {
166  string DiscriminatorLabel = it.getParameter<string>("discriminator");
167  std::string histogramName;
168  stripDiscriminatorLabel(DiscriminatorLabel, histogramName);
169 
170  //Summary plots
171  string DiscriminatorLabelReduced = it.getParameter<string>("discriminator");
172  DiscriminatorLabelReduced.erase(0, 24);
173  summaryMap.find(refCollection_+"Den")->second->setBinLabel(j+1,DiscriminatorLabelReduced);
174  summaryMap.find(refCollection_+"Num")->second->setBinLabel(j+1,DiscriminatorLabelReduced);
175  summaryMap.find(refCollection_)->second->setBinLabel(j+1,DiscriminatorLabelReduced);
176 
177  ibooker.setCurrentFolder("RecoTauV/" + TauProducer_ + extensionName_ + "_" + DiscriminatorLabel );
178 
179  ptTemp = ibooker.book1D(DiscriminatorLabel + "_vs_ptTauVisible", histogramName +"_vs_ptTauVisible", ptHinfo.nbins, ptHinfo.min, ptHinfo.max);
180  etaTemp = ibooker.book1D(DiscriminatorLabel + "_vs_etaTauVisible", histogramName + "_vs_etaTauVisible", etaHinfo.nbins, etaHinfo.min, etaHinfo.max );
181  phiTemp = ibooker.book1D(DiscriminatorLabel + "_vs_phiTauVisible", histogramName + "_vs_phiTauVisible", phiHinfo.nbins, phiHinfo.min, phiHinfo.max);
182  pileupTemp = ibooker.book1D(DiscriminatorLabel + "_vs_pileupTauVisible", histogramName + "_vs_pileupTauVisible", pileupHinfo.nbins, pileupHinfo.min, pileupHinfo.max);
183 
184  ptTauVisibleMap.insert( std::make_pair(DiscriminatorLabel,ptTemp));
185  etaTauVisibleMap.insert( std::make_pair(DiscriminatorLabel,etaTemp));
186  phiTauVisibleMap.insert( std::make_pair(DiscriminatorLabel,phiTemp));
187  pileupTauVisibleMap.insert( std::make_pair(DiscriminatorLabel,pileupTemp));
188 
189  tmpME = ibooker.book1D(DiscriminatorLabel + "_TauCandMass", histogramName + "_TauCandMass" + ";Cand Mass" + ";Frequency", 30, 0., 2.0);
190  plotMap_.insert( std::make_pair( DiscriminatorLabel + "_TauCandMass", tmpME ) );
191 
192  // momentum resolution for several decay modes
193 
194  std::string plotType = "_pTRatio_";//use underscores (this allows to parse plot type in later stages)
195  std::string xaxisLabel = ";p_{T}^{reco}/p_{T}^{gen}";
196  std::string yaxislabel = ";Frequency";
197  std::string plotName = plotType + "allHadronic";
198  int bins = 40;
199  tmpME = ibooker.book1D(DiscriminatorLabel + plotName, histogramName + plotName + xaxisLabel + yaxislabel, bins, 0., 2.);
200  plotMap_.insert( std::make_pair( DiscriminatorLabel + plotName, tmpME ) );
201  plotName = plotType + "oneProng0Pi0";
202  tmpME = ibooker.book1D(DiscriminatorLabel + plotName, histogramName + plotName + xaxisLabel + yaxislabel, bins, 0., 2.);
203  plotMap_.insert( std::make_pair( DiscriminatorLabel + plotName, tmpME ) );
204  plotName = plotType + "oneProng1Pi0";
205  tmpME = ibooker.book1D(DiscriminatorLabel + plotName, histogramName + plotName + xaxisLabel + yaxislabel, bins, 0., 2.);
206  plotMap_.insert( std::make_pair( DiscriminatorLabel + plotName, tmpME ) );
207  plotName = plotType + "oneProng2Pi0";
208  tmpME = ibooker.book1D(DiscriminatorLabel + plotName, histogramName + plotName + xaxisLabel + yaxislabel, bins, 0., 2.);
209  plotMap_.insert( std::make_pair( DiscriminatorLabel + plotName, tmpME ) );
210 
211  plotName = plotType + "twoProng0Pi0";
212  tmpME = ibooker.book1D(DiscriminatorLabel + plotName, histogramName + plotName + xaxisLabel + yaxislabel, bins, 0., 2.);
213  plotMap_.insert( std::make_pair( DiscriminatorLabel + plotName, tmpME ) );
214  plotName = plotType + "twoProng1Pi0";
215  tmpME = ibooker.book1D(DiscriminatorLabel + plotName, histogramName + plotName + xaxisLabel + yaxislabel, bins, 0., 2.);
216  plotMap_.insert( std::make_pair( DiscriminatorLabel + plotName, tmpME ) );
217  plotName = plotType + "twoProng2Pi0";
218  tmpME = ibooker.book1D(DiscriminatorLabel + plotName, histogramName + plotName + xaxisLabel + yaxislabel, bins, 0., 2.);
219  plotMap_.insert( std::make_pair( DiscriminatorLabel + plotName, tmpME ) );
220 
221  plotName = plotType + "threeProng0Pi0";
222  tmpME = ibooker.book1D(DiscriminatorLabel + plotName, histogramName + plotName + xaxisLabel + yaxislabel, bins, 0., 2.);
223  plotMap_.insert( std::make_pair( DiscriminatorLabel + plotName, tmpME ) );
224  plotName = plotType + "threeProng1Pi0";
225  tmpME = ibooker.book1D(DiscriminatorLabel + plotName, histogramName + plotName + xaxisLabel + yaxislabel, bins, 0., 2.);
226  plotMap_.insert( std::make_pair( DiscriminatorLabel + plotName, tmpME ) );
227 
228 
229  // Tau Multiplicity for several decay modes
230 
231  plotType = "_nTaus_";//use underscores (this allows to parse plot type in later stages)
232  xaxisLabel = ";Tau Multiplicity";
233  yaxislabel = ";Frequency";
234  plotName = plotType + "allHadronic";
235  bins = 50;
236  tmpME = ibooker.book1D(DiscriminatorLabel + plotName, histogramName + plotName + xaxisLabel + yaxislabel, bins, 0., 50.);
237  plotMap_.insert( std::make_pair( DiscriminatorLabel + plotName, tmpME ) );
238  plotName = plotType + "oneProng0Pi0";
239  tmpME = ibooker.book1D(DiscriminatorLabel + plotName, histogramName + plotName + xaxisLabel + yaxislabel, bins, 0., 50.);
240  plotMap_.insert( std::make_pair( DiscriminatorLabel + plotName, tmpME ) );
241  plotName = plotType + "oneProng1Pi0";
242  tmpME = ibooker.book1D(DiscriminatorLabel + plotName, histogramName + plotName + xaxisLabel + yaxislabel, bins, 0., 50.);
243  plotMap_.insert( std::make_pair( DiscriminatorLabel + plotName, tmpME ) );
244  plotName = plotType + "oneProng2Pi0";
245  tmpME = ibooker.book1D(DiscriminatorLabel + plotName, histogramName + plotName + xaxisLabel + yaxislabel, bins, 0., 50.);
246  plotMap_.insert( std::make_pair( DiscriminatorLabel + plotName, tmpME ) );
247  plotName = plotType + "twoProng0Pi0";
248  tmpME = ibooker.book1D(DiscriminatorLabel + plotName, histogramName + plotName + xaxisLabel + yaxislabel, bins, 0., 50.);
249  plotMap_.insert( std::make_pair( DiscriminatorLabel + plotName, tmpME ) );
250  plotName = plotType + "twoProng1Pi0";
251  tmpME = ibooker.book1D(DiscriminatorLabel + plotName, histogramName + plotName + xaxisLabel + yaxislabel, bins, 0., 50.);
252  plotMap_.insert( std::make_pair( DiscriminatorLabel + plotName, tmpME ) );
253  plotName = plotType + "twoProng2Pi0";
254  tmpME = ibooker.book1D(DiscriminatorLabel + plotName, histogramName + plotName + xaxisLabel + yaxislabel, bins, 0., 50.);
255  plotMap_.insert( std::make_pair( DiscriminatorLabel + plotName, tmpME ) );
256  plotName = plotType + "threeProng0Pi0";
257  tmpME = ibooker.book1D(DiscriminatorLabel + plotName, histogramName + plotName + xaxisLabel + yaxislabel, bins, 0., 50.);
258  plotMap_.insert( std::make_pair( DiscriminatorLabel + plotName, tmpME ) );
259  plotName = plotType + "threeProng1Pi0";
260  tmpME = ibooker.book1D(DiscriminatorLabel + plotName, histogramName + plotName + xaxisLabel + yaxislabel, bins, 0., 50.);
261  plotMap_.insert( std::make_pair( DiscriminatorLabel + plotName, tmpME ) );
262 
263  //size and sumPt within tau isolation
264 
265  plotType = "_Size_";
266  xaxisLabel = ";size";
267  yaxislabel = ";Frequency";
268  bins = 20;
269  plotName = plotType + "signalCands";
270  tmpME = ibooker.book1D(DiscriminatorLabel + plotName, histogramName + plotName + xaxisLabel + yaxislabel, bins, -0.5, bins-0.5);
271  plotMap_.insert( std::make_pair( DiscriminatorLabel + plotName, tmpME ) );
272  plotName = plotType + "signalChargedHadrCands";
273  tmpME = ibooker.book1D(DiscriminatorLabel + plotName, histogramName + plotName + xaxisLabel + yaxislabel, bins, -0.5, bins-0.5);
274  plotMap_.insert( std::make_pair( DiscriminatorLabel + plotName, tmpME ) );
275  plotName = plotType + "signalNeutrHadrCands";
276  tmpME = ibooker.book1D(DiscriminatorLabel + plotName, histogramName + plotName + xaxisLabel + yaxislabel, bins, -0.5, bins-0.5);
277  plotMap_.insert( std::make_pair( DiscriminatorLabel + plotName, tmpME ) );
278 
279  plotName = plotType + "isolationCands";
280  tmpME = ibooker.book1D(DiscriminatorLabel + plotName, histogramName + plotName + xaxisLabel + yaxislabel, bins, -0.5, bins-0.5);
281  plotMap_.insert( std::make_pair( DiscriminatorLabel + plotName, tmpME ) );
282  plotName = plotType + "isolationChargedHadrCands";
283  bins = 10;
284  tmpME = ibooker.book1D(DiscriminatorLabel + plotName, histogramName + plotName + xaxisLabel + yaxislabel, bins, -0.5, bins-0.5);
285  plotMap_.insert( std::make_pair( DiscriminatorLabel + plotName, tmpME ) );
286  plotName = plotType + "isolationNeutrHadrCands";
287  tmpME = ibooker.book1D(DiscriminatorLabel + plotName, histogramName + plotName + xaxisLabel + yaxislabel, bins, -0.5, bins-0.5);
288  plotMap_.insert( std::make_pair( DiscriminatorLabel + plotName, tmpME ) );
289  plotName = plotType + "isolationGammaCands";
290  tmpME = ibooker.book1D(DiscriminatorLabel + plotName, histogramName + plotName + xaxisLabel + yaxislabel, bins, -0.5, bins-0.5);
291  plotMap_.insert( std::make_pair( DiscriminatorLabel + plotName, tmpME ) );
292 
293  plotType = "_SumPt_";
294  xaxisLabel = ";p_{T}^{sum}/ GeV";
295  yaxislabel = ";Frequency";
296  bins = 20;
297  plotName = plotType + "signalCands";
298  tmpME = ibooker.book1D(DiscriminatorLabel + plotName, histogramName + plotName + xaxisLabel + yaxislabel, bins, 0., 50.);
299  plotMap_.insert( std::make_pair( DiscriminatorLabel + plotName, tmpME ) );
300  plotName = plotType + "signalChargedHadrCands";
301  tmpME = ibooker.book1D(DiscriminatorLabel + plotName, histogramName + plotName + xaxisLabel + yaxislabel, bins, 0., 50.);
302  plotMap_.insert( std::make_pair( DiscriminatorLabel + plotName, tmpME ) );
303  plotName = plotType + "signalNeutrHadrCands";
304  tmpME = ibooker.book1D(DiscriminatorLabel + plotName, histogramName + plotName + xaxisLabel + yaxislabel, bins, 0., 50.);
305  plotMap_.insert( std::make_pair( DiscriminatorLabel + plotName, tmpME ) );
306  plotName = plotType + "isolationCands";
307  tmpME = ibooker.book1D(DiscriminatorLabel + plotName, histogramName + plotName + xaxisLabel + yaxislabel, bins, 0., 50.);
308  plotMap_.insert( std::make_pair( DiscriminatorLabel + plotName, tmpME ) );
309  plotName = plotType + "isolationChargedHadrCands";
310  tmpME = ibooker.book1D(DiscriminatorLabel + plotName, histogramName + plotName + xaxisLabel + yaxislabel, bins, 0., 10.);
311  plotMap_.insert( std::make_pair( DiscriminatorLabel + plotName, tmpME ) );
312  plotName = plotType + "isolationNeutrHadrCands";
313  tmpME = ibooker.book1D(DiscriminatorLabel + plotName, histogramName + plotName + xaxisLabel + yaxislabel, bins, 0., 30.);
314  plotMap_.insert( std::make_pair( DiscriminatorLabel + plotName, tmpME ) );
315  plotName = plotType + "isolationGammaCands";
316  tmpME = ibooker.book1D(DiscriminatorLabel + plotName, histogramName + plotName + xaxisLabel + yaxislabel, bins, 0., 20.);
317  plotMap_.insert( std::make_pair( DiscriminatorLabel + plotName, tmpME ) );
318 
319  //deprecated!
320 
321  if ( DiscriminatorLabel.find("LeadingTrackPtCut") != string::npos){
322  if ( TauProducer_.find("PFTau") != string::npos)
323  {
324  nPFJet_LeadingChargedHadron_ChargedHadronsSignal_ =ibooker.book1D(DiscriminatorLabel + "_ChargedHadronsSignal",DiscriminatorLabel + "_ChargedHadronsSignal", 21, -0.5, 20.5);
325  nPFJet_LeadingChargedHadron_ChargedHadronsIsolAnnulus_ =ibooker.book1D(DiscriminatorLabel + "_ChargedHadronsIsolAnnulus",DiscriminatorLabel + "_ChargedHadronsIsolAnnulus", 21, -0.5, 20.5);
326  nPFJet_LeadingChargedHadron_GammasSignal_ =ibooker.book1D(DiscriminatorLabel + "_GammasSignal",DiscriminatorLabel + "_GammasSignal",21, -0.5, 20.5);
327  nPFJet_LeadingChargedHadron_GammasIsolAnnulus_ =ibooker.book1D(DiscriminatorLabel + "_GammasIsolAnnulus",DiscriminatorLabel + "_GammasIsolAnnulus",21, -0.5, 20.5);
328  nPFJet_LeadingChargedHadron_NeutralHadronsSignal_ =ibooker.book1D(DiscriminatorLabel + "_NeutralHadronsSignal",DiscriminatorLabel + "_NeutralHadronsSignal",21, -0.5, 20.5);
329  nPFJet_LeadingChargedHadron_NeutralHadronsIsolAnnulus_ =ibooker.book1D(DiscriminatorLabel + "_NeutralHadronsIsolAnnulus",DiscriminatorLabel + "_NeutralHadronsIsolAnnulus",21, -0.5, 20.5);
330  }
331  }
332 
333  if ( DiscriminatorLabel.find("ByIsolationLater") != string::npos ){
334  if ( TauProducer_.find("PFTau") != string::npos)
335  {
336  nIsolated_NoChargedHadrons_ChargedHadronsSignal_ =ibooker.book1D(DiscriminatorLabel + "_ChargedHadronsSignal",DiscriminatorLabel + "_ChargedHadronsSignal", 21, -0.5, 20.5);
337  nIsolated_NoChargedHadrons_GammasSignal_ =ibooker.book1D(DiscriminatorLabel + "_GammasSignal",DiscriminatorLabel + "_GammasSignal",21, -0.5, 20.5);
338  nIsolated_NoChargedHadrons_GammasIsolAnnulus_ =ibooker.book1D(DiscriminatorLabel + "_GammasIsolAnnulus",DiscriminatorLabel + "_GammasIsolAnnulus",21, -0.5, 20.5);
339  nIsolated_NoChargedHadrons_NeutralHadronsSignal_ =ibooker.book1D(DiscriminatorLabel + "_NeutralHadronsSignal",DiscriminatorLabel + "_NeutralHadronsSignal",21, -0.5, 20.5);
340  nIsolated_NoChargedHadrons_NeutralHadronsIsolAnnulus_ =ibooker.book1D(DiscriminatorLabel + "_NeutralHadronsIsolAnnulus",DiscriminatorLabel + "_NeutralHadronsIsolAnnulus",21, -0.5, 20.5);
341  }
342  }
343 
344  if ( DiscriminatorLabel.find("ByIsolation") != string::npos ){
345  if ( TauProducer_.find("PFTau") != string::npos)
346  {
347  nIsolated_NoChargedNoGammas_ChargedHadronsSignal_ =ibooker.book1D(DiscriminatorLabel + "_ChargedHadronsSignal",DiscriminatorLabel + "_ChargedHadronsSignal", 21, -0.5, 20.5);
348  nIsolated_NoChargedNoGammas_GammasSignal_ =ibooker.book1D(DiscriminatorLabel + "_GammasSignal",DiscriminatorLabel + "_GammasSignal",21, -0.5, 20.5);
349  nIsolated_NoChargedNoGammas_NeutralHadronsSignal_ =ibooker.book1D(DiscriminatorLabel + "_NeutralHadronsSignal",DiscriminatorLabel + "_NeutralHadronsSignal",21, -0.5, 20.5);
350  nIsolated_NoChargedNoGammas_NeutralHadronsIsolAnnulus_ =ibooker.book1D(DiscriminatorLabel + "_NeutralHadronsIsolAnnulus",DiscriminatorLabel + "_NeutralHadronsIsolAnnulus",21, -0.5, 20.5);
351  }
352  }
353  j++;
354  }
355 }
std::map< std::string, MonitorElement * > ptTauVisibleMap
T getParameter(std::string const &) const
MonitorElement * nPFJet_LeadingChargedHadron_ChargedHadronsIsolAnnulus_
std::map< std::string, MonitorElement * > plotMap_
double max
MonitorElement * nPFJet_LeadingChargedHadron_NeutralHadronsIsolAnnulus_
bool exists(std::string const &parameterName) const
checks if a parameter exists
std::string refCollection_
MonitorElement * nPFJet_LeadingChargedHadron_GammasSignal_
std::vector< edm::ParameterSet > discriminators_
MonitorElement * nPFJet_LeadingChargedHadron_ChargedHadronsSignal_
void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:268
MonitorElement * nIsolated_NoChargedNoGammas_ChargedHadronsSignal_
std::string TauProducer_
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:106
MonitorElement * nIsolated_NoChargedHadrons_GammasSignal_
MonitorElement * nIsolated_NoChargedHadrons_GammasIsolAnnulus_
std::map< std::string, MonitorElement * > etaTauVisibleMap
MonitorElement * nIsolated_NoChargedNoGammas_NeutralHadronsSignal_
double min
MonitorElement * nIsolated_NoChargedNoGammas_NeutralHadronsIsolAnnulus_
MonitorElement * nIsolated_NoChargedHadrons_NeutralHadronsSignal_
std::map< std::string, MonitorElement * > summaryMap
std::string extensionName_
MonitorElement * nIsolated_NoChargedHadrons_NeutralHadronsIsolAnnulus_
bool stripDiscriminatorLabel(const std::string &discriminatorLabel, std::string &newLabel)
get rid of redundant parts to shorten the label
MonitorElement * nIsolated_NoChargedHadrons_ChargedHadronsSignal_
std::map< std::string, MonitorElement * > phiTauVisibleMap
MonitorElement * nPFJet_LeadingChargedHadron_NeutralHadronsSignal_
edm::ParameterSet histoSettings_
MonitorElement * nPFJet_LeadingChargedHadron_GammasIsolAnnulus_
std::map< std::string, MonitorElement * > pileupTauVisibleMap
MonitorElement * nIsolated_NoChargedNoGammas_GammasSignal_
void TauTagValidation::dqmBeginRun ( const edm::Run iRun,
const edm::EventSetup iSetup 
)
override

Definition at line 357 of file TauTagValidation.cc.

References genericTriggerEventFlag_, GenericTriggerEventFlag::initRun(), and GenericTriggerEventFlag::on().

357  {
359  if (genericTriggerEventFlag_->on()) {
360  genericTriggerEventFlag_->initRun(iRun, iSetup);
361  }
362  }
363 }
GenericTriggerEventFlag * genericTriggerEventFlag_
generic access to dynamic trigger table
void initRun(const edm::Run &run, const edm::EventSetup &setup)
To be called from beginRun() methods.
double TauTagValidation::getSumPt ( const std::vector< edm::Ptr< reco::Candidate > > &  candidates)
private

sum the transversal momentum of all candidates

Definition at line 620 of file TauTagValidation.cc.

References objects.IsoTrackAnalyzer::candidates, and TtFullHadEvtBuilder_cfi::sumPt.

Referenced by analyze().

620  {
621  double sumPt = 0.;
622  for (std::vector<edm::Ptr<reco::Candidate> >::const_iterator candidate = candidates.begin(); candidate!=candidates.end(); ++candidate) {
623  sumPt += (*candidate)->pt();
624  }
625  return sumPt;
626 }
bool TauTagValidation::stripDiscriminatorLabel ( const std::string &  discriminatorLabel,
std::string &  newLabel 
)
private

get rid of redundant parts to shorten the label

Definition at line 628 of file TauTagValidation.cc.

References tablePrinter::postfix, tablePrinter::prefix, mps_merge::separator, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by bookHistograms().

628  {
629  std::string separatorString = "DiscriminationBy";
630  std::string::size_type separator = discriminatorLabel.find(separatorString);
631  if(separator==std::string::npos){
632  separatorString = "Discrimination";//DiscriminationAgainst, keep the 'against' here
633  separator = discriminatorLabel.find(separatorString);
634  if(separator==std::string::npos){
635  return false;
636  }
637  }
638  std::string prefix = discriminatorLabel.substr(0,separator);
639  std::string postfix = discriminatorLabel.substr(separator+separatorString.size());
640  newLabel = prefix+postfix;
641  return true;
642 }
string separator
Definition: mps_merge.py:79
uint16_t size_type

Member Data Documentation

PFBenchmarkAlgo* TauTagValidation::algo_
protected

Definition at line 197 of file TauTagValidation.h.

Referenced by analyze().

bool TauTagValidation::chainCuts_
private

Definition at line 200 of file TauTagValidation.h.

Referenced by analyze(), and TauTagValidation().

std::vector<edm::EDGetTokenT<reco::PFTauDiscriminator> > TauTagValidation::currentDiscriminatorToken_
private

Definition at line 113 of file TauTagValidation.h.

Referenced by analyze(), and TauTagValidation().

std::string TauTagValidation::dataType_
private

What's the reference for the Validation Leptons or Jets.

Definition at line 95 of file TauTagValidation.h.

Referenced by analyze().

std::vector< edm::ParameterSet > TauTagValidation::discriminators_
private

Definition at line 126 of file TauTagValidation.h.

Referenced by analyze(), bookHistograms(), and TauTagValidation().

std::map<std::string, MonitorElement *> TauTagValidation::etaTauVisibleMap
private

Definition at line 134 of file TauTagValidation.h.

Referenced by analyze(), and bookHistograms().

std::string TauTagValidation::extensionName_
private

Definition at line 117 of file TauTagValidation.h.

Referenced by bookHistograms(), and TauTagValidation().

std::string TauTagValidation::genCuts_
private

Definition at line 103 of file TauTagValidation.h.

Referenced by analyze().

GenericTriggerEventFlag* TauTagValidation::genericTriggerEventFlag_
private

generic access to dynamic trigger table

Definition at line 92 of file TauTagValidation.h.

Referenced by analyze(), dqmBeginRun(), TauTagValidation(), and ~TauTagValidation().

edm::ParameterSet TauTagValidation::histoSettings_
private

Definition at line 90 of file TauTagValidation.h.

Referenced by bookHistograms(), and TauTagValidation().

std::map<std::string, MonitorElement *> TauTagValidation::massTauVisibleMap
private

Definition at line 138 of file TauTagValidation.h.

double TauTagValidation::matchDeltaR_Jets_
private

Definition at line 99 of file TauTagValidation.h.

Referenced by analyze().

double TauTagValidation::matchDeltaR_Leptons_
private

Definition at line 98 of file TauTagValidation.h.

Referenced by analyze().

std::string TauTagValidation::moduleLabel_
private
MonitorElement* TauTagValidation::nCaloJet_LeadingTrack_isolationECALhitsEtSum_
private

Definition at line 179 of file TauTagValidation.h.

MonitorElement* TauTagValidation::nCaloJet_LeadingTrack_isolationTracks_
private

Definition at line 178 of file TauTagValidation.h.

MonitorElement* TauTagValidation::nCaloJet_LeadingTrack_signalTracks_
private

Definition at line 177 of file TauTagValidation.h.

MonitorElement* TauTagValidation::nCaloJet_LeadingTrack_signalTracksInvariantMass_
private

Definition at line 176 of file TauTagValidation.h.

MonitorElement* TauTagValidation::nEMIsolated_signalTracks_
private

Definition at line 190 of file TauTagValidation.h.

MonitorElement* TauTagValidation::nEMIsolated_signalTracksInvariantMass_
private

Definition at line 189 of file TauTagValidation.h.

MonitorElement* TauTagValidation::nIsolated_NoChargedHadrons_ChargedHadronsSignal_
private

Definition at line 159 of file TauTagValidation.h.

Referenced by bookHistograms().

MonitorElement* TauTagValidation::nIsolated_NoChargedHadrons_GammasIsolAnnulus_
private

Definition at line 161 of file TauTagValidation.h.

Referenced by bookHistograms().

MonitorElement* TauTagValidation::nIsolated_NoChargedHadrons_GammasSignal_
private

Definition at line 160 of file TauTagValidation.h.

Referenced by bookHistograms().

MonitorElement* TauTagValidation::nIsolated_NoChargedHadrons_NeutralHadronsIsolAnnulus_
private

Definition at line 163 of file TauTagValidation.h.

Referenced by bookHistograms().

MonitorElement* TauTagValidation::nIsolated_NoChargedHadrons_NeutralHadronsSignal_
private

Definition at line 162 of file TauTagValidation.h.

Referenced by bookHistograms().

MonitorElement* TauTagValidation::nIsolated_NoChargedNoGammas_ChargedHadronsSignal_
private

Definition at line 167 of file TauTagValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* TauTagValidation::nIsolated_NoChargedNoGammas_GammasSignal_
private

Definition at line 168 of file TauTagValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* TauTagValidation::nIsolated_NoChargedNoGammas_NeutralHadronsIsolAnnulus_
private

Definition at line 170 of file TauTagValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* TauTagValidation::nIsolated_NoChargedNoGammas_NeutralHadronsSignal_
private

Definition at line 169 of file TauTagValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* TauTagValidation::nPFJet_LeadingChargedHadron_ChargedHadronsIsolAnnulus_
private

Definition at line 151 of file TauTagValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* TauTagValidation::nPFJet_LeadingChargedHadron_ChargedHadronsSignal_
private

Definition at line 150 of file TauTagValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* TauTagValidation::nPFJet_LeadingChargedHadron_GammasIsolAnnulus_
private

Definition at line 153 of file TauTagValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* TauTagValidation::nPFJet_LeadingChargedHadron_GammasSignal_
private

Definition at line 152 of file TauTagValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* TauTagValidation::nPFJet_LeadingChargedHadron_NeutralHadronsIsolAnnulus_
private

Definition at line 155 of file TauTagValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* TauTagValidation::nPFJet_LeadingChargedHadron_NeutralHadronsSignal_
private

Definition at line 154 of file TauTagValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* TauTagValidation::nTaus_
private

Definition at line 144 of file TauTagValidation.h.

std::map<std::string, MonitorElement *> TauTagValidation::nTauVisibleMap
private

Definition at line 137 of file TauTagValidation.h.

MonitorElement* TauTagValidation::nTrackIsolated_isolationECALhitsEtSum_
private

Definition at line 183 of file TauTagValidation.h.

MonitorElement* TauTagValidation::nTrackIsolated_signalTracks_
private

Definition at line 185 of file TauTagValidation.h.

MonitorElement* TauTagValidation::nTrackIsolated_signalTracksInvariantMass_
private

Definition at line 184 of file TauTagValidation.h.

int TauTagValidation::numEvents_
private

Definition at line 193 of file TauTagValidation.h.

Referenced by analyze(), and TauTagValidation().

std::string TauTagValidation::outPutFile_
private

Definition at line 131 of file TauTagValidation.h.

Referenced by TauTagValidation().

std::map<std::string, MonitorElement *> TauTagValidation::phiTauVisibleMap
private

Definition at line 135 of file TauTagValidation.h.

Referenced by analyze(), and bookHistograms().

std::map<std::string, MonitorElement *> TauTagValidation::pileupTauVisibleMap
private

Definition at line 136 of file TauTagValidation.h.

Referenced by analyze(), and bookHistograms().

std::map<std::string, MonitorElement *> TauTagValidation::plotMap_
private

Definition at line 139 of file TauTagValidation.h.

Referenced by analyze(), and bookHistograms().

edm::InputTag TauTagValidation::PrimaryVertexCollection_
private

Definition at line 120 of file TauTagValidation.h.

Referenced by TauTagValidation().

edm::EDGetTokenT<reco::VertexCollection> TauTagValidation::primaryVertexCollectionToken_
private

Definition at line 112 of file TauTagValidation.h.

Referenced by analyze(), and TauTagValidation().

std::map<std::string, MonitorElement *> TauTagValidation::ptTauVisibleMap
private

Definition at line 133 of file TauTagValidation.h.

Referenced by analyze(), and bookHistograms().

std::string TauTagValidation::recoCuts_
private

Definition at line 103 of file TauTagValidation.h.

Referenced by analyze().

std::string TauTagValidation::refCollection_
private

Definition at line 114 of file TauTagValidation.h.

Referenced by analyze(), bookHistograms(), and TauTagValidation().

edm::InputTag TauTagValidation::refCollectionInputTag_
private

Definition at line 109 of file TauTagValidation.h.

Referenced by TauTagValidation().

edm::EDGetTokenT<edm::View<reco::Candidate> > TauTagValidation::refCollectionInputTagToken_
private

Definition at line 110 of file TauTagValidation.h.

Referenced by analyze(), and TauTagValidation().

bool TauTagValidation::saveoutputhistograms_
private

Definition at line 106 of file TauTagValidation.h.

Referenced by TauTagValidation().

std::map<std::string, MonitorElement *> TauTagValidation::summaryMap
private

Definition at line 140 of file TauTagValidation.h.

Referenced by analyze(), and bookHistograms().

std::map<std::string, int> TauTagValidation::tauDecayCountMap_
private

Definition at line 142 of file TauTagValidation.h.

Referenced by analyze().

std::string TauTagValidation::TauProducer_
private

Definition at line 121 of file TauTagValidation.h.

Referenced by analyze(), bookHistograms(), and TauTagValidation().

edm::InputTag TauTagValidation::TauProducerInputTag_
private

Definition at line 120 of file TauTagValidation.h.

Referenced by TauTagValidation().

edm::EDGetTokenT<reco::PFTauCollection> TauTagValidation::tauProducerInputTagToken_
private

Definition at line 111 of file TauTagValidation.h.

Referenced by analyze(), and TauTagValidation().

double TauTagValidation::TauPtCut_
private

Definition at line 100 of file TauTagValidation.h.

Referenced by analyze().

bool TauTagValidation::turnOnTrigger_
private

Definition at line 106 of file TauTagValidation.h.

Referenced by TauTagValidation().

std::string TauTagValidation::tversion
private

Definition at line 130 of file TauTagValidation.h.

Referenced by TauTagValidation().