CMS 3D CMS Logo

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

#include <TauValidationMiniAOD.h>

Inheritance diagram for TauValidationMiniAOD:
DQMEDAnalyzer edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >

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
 
 TauValidationMiniAOD (const edm::ParameterSet &)
 
 ~TauValidationMiniAOD () override
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &event, edm::EventSetup const &setup) final
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
void beginStream (edm::StreamID id) final
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer ()
 
void endLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
 EDProducer ()=default
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 

Private Attributes

std::map< std::string, MonitorElement * > byDeepTau2017v2p1VSerawMap
 
std::map< std::string, MonitorElement * > byDeepTau2017v2p1VSjetrawMap
 
std::map< std::string, MonitorElement * > byDeepTau2017v2p1VSmurawMap
 
std::map< std::string, MonitorElement * > decayModeFindingMap
 
std::map< std::string, MonitorElement * > decayModeMap
 
std::vector< edm::ParameterSetdiscriminators_
 
std::map< std::string, MonitorElement * > etaMap
 
std::string extensionName_
 
edm::ParameterSet histoSettings_
 
std::map< std::string, MonitorElement * > massMap
 
std::map< std::string, MonitorElement * > phiMap
 
std::map< std::string, MonitorElement * > ptMap
 
edm::EDGetTokenT< edm::View< reco::Candidate > > refCollectionInputTagToken_
 
std::map< std::string, MonitorElement * > summaryMap
 
edm::EDGetTokenT< std::vector< pat::Tau > > tauCollection_
 

Additional Inherited Members

- Public Types inherited from DQMEDAnalyzer
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
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
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static void globalEndJob (DQMEDAnalyzerGlobalCache const *)
 
static void globalEndLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup, LuminosityBlockContext const *context)
 
static void globalEndRunProduce (edm::Run &run, edm::EventSetup const &setup, RunContext const *context)
 
static std::unique_ptr< DQMEDAnalyzerGlobalCacheinitializeGlobalCache (edm::ParameterSet const &)
 
- Protected Member Functions inherited from DQMEDAnalyzer
uint64_t meId () const
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 
unsigned int streamId_
 

Detailed Description

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

Class used to do the Validation of the Tau in miniAOD

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

Definition at line 53 of file TauValidationMiniAOD.h.

Constructor & Destructor Documentation

◆ TauValidationMiniAOD()

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

Definition at line 26 of file TauValidationMiniAOD.cc.

26  {
27  tauCollection_ = consumes<pat::TauCollection>(iConfig.getParameter<InputTag>("tauCollection"));
28  refCollectionInputTagToken_ = consumes<edm::View<reco::Candidate> >(iConfig.getParameter<InputTag>("RefCollection"));
29  extensionName_ = iConfig.getParameter<string>("ExtensionName");
30  discriminators_ = iConfig.getParameter<std::vector<edm::ParameterSet> >("discriminators");
31 }

References edm::ParameterSet::getParameter().

◆ ~TauValidationMiniAOD()

TauValidationMiniAOD::~TauValidationMiniAOD ( )
override

Definition at line 33 of file TauValidationMiniAOD.cc.

33 {}

Member Function Documentation

◆ analyze()

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

Reimplemented from DQMEDAnalyzer.

Definition at line 129 of file TauValidationMiniAOD.cc.

129  {
131  bool isTau = iEvent.getByToken(tauCollection_, taus);
132  if (!isTau) {
133  edm::LogWarning("TauValidationMiniAOD") << " Tau collection not found while running TauValidationMiniAOD.cc ";
134  return;
135  }
136  typedef edm::View<reco::Candidate> refCandidateCollection;
137  Handle<refCandidateCollection> ReferenceCollection;
138  bool isRef = iEvent.getByToken(refCollectionInputTagToken_, ReferenceCollection);
139  if (!isRef) {
140  edm::LogWarning("TauValidationMiniAOD") << " Reference collection not found while running TauValidationMiniAOD.cc ";
141  return;
142  }
143  for (refCandidateCollection::const_iterator RefJet = ReferenceCollection->begin();
144  RefJet != ReferenceCollection->end();
145  RefJet++) {
146  float dRmin = 0.15;
147  unsigned matchedTauIndex = -99;
148  for (unsigned iTau = 0; iTau < taus->size(); iTau++) {
149  pat::TauRef tau(taus, iTau);
150  //for (pat::TauCollection::const_iterator tau = taus->begin(); tau != taus->end(); tau++) {
151  //pat::TauRef matchedTau(*tau);
152  float dR = deltaR(tau->eta(), tau->phi(), RefJet->eta(), RefJet->phi());
153  if (dR < dRmin) {
154  dRmin = dR;
155  matchedTauIndex = iTau;
156  }
157  }
158  if (dRmin < 0.15) {
159  pat::TauRef matchedTau(taus, matchedTauIndex);
160  ptMap.find("")->second->Fill(matchedTau->pt());
161  etaMap.find("")->second->Fill(matchedTau->eta());
162  phiMap.find("")->second->Fill(matchedTau->phi());
163  massMap.find("")->second->Fill(matchedTau->mass());
164  decayModeMap.find("")->second->Fill(matchedTau->decayMode());
165  if (matchedTau->isTauIDAvailable("decayModeFinding"))
166  decayModeFindingMap.find("")->second->Fill(matchedTau->tauID("decayModeFinding"));
167  if (matchedTau->isTauIDAvailable("byDeepTau2017v2p1VSeraw"))
168  byDeepTau2017v2p1VSerawMap.find("")->second->Fill(matchedTau->tauID("byDeepTau2017v2p1VSeraw"));
169  if (matchedTau->isTauIDAvailable("byDeepTau2017v2p1VSjetraw"))
170  byDeepTau2017v2p1VSjetrawMap.find("")->second->Fill(matchedTau->tauID("byDeepTau2017v2p1VSjetraw"));
171  if (matchedTau->isTauIDAvailable("byDeepTau2017v2p1VSmuraw"))
172  byDeepTau2017v2p1VSmurawMap.find("")->second->Fill(matchedTau->tauID("byDeepTau2017v2p1VSmuraw"));
173  int j = 0;
174  for (const auto& it : discriminators_) {
175  string currentDiscriminator = it.getParameter<string>("discriminator");
176  double selectionCut = it.getParameter<double>("selectionCut");
177  summaryMap.find("Den")->second->Fill(j);
178  if (matchedTau->tauID(currentDiscriminator) >= selectionCut)
179  summaryMap.find("Num")->second->Fill(j);
180  j = j + 1;
181  }
182  }
183  }
184 }

References PbPb_ZMuSkimMuonDPG_cff::deltaR, HGC3DClusterGenMatchSelector_cfi::dR, jetAnalyzer_cfi::etaMap, iEvent, reco::isTau(), dqmiolumiharvest::j, PDWG_TauSkim_cff::selectionCut, metsig::tau, and Tau3MuMonitor_cff::taus.

◆ bookHistograms()

void TauValidationMiniAOD::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  iRun,
edm::EventSetup const &   
)
overridevirtual

Implements DQMEDAnalyzer.

Definition at line 35 of file TauValidationMiniAOD.cc.

37  {
38  MonitorElement *ptTemp, *etaTemp, *phiTemp, *massTemp, *decayModeFindingTemp, *decayModeTemp,
39  *byDeepTau2017v2p1VSerawTemp, *byDeepTau2017v2p1VSjetrawTemp, *byDeepTau2017v2p1VSmurawTemp, *summaryTemp;
40  ibooker.setCurrentFolder("RecoTauV/miniAODValidation" + extensionName_);
41 
42  //summary plots
43  histoInfo summaryHinfo = (histoSettings_.exists("summary"))
45  : histoInfo(21, -0.5, 20.5);
46  summaryTemp =
47  ibooker.book1D("summaryPlotNum", "summaryPlotNum", summaryHinfo.nbins, summaryHinfo.min, summaryHinfo.max);
48  summaryMap.insert(std::make_pair("Num", summaryTemp));
49  summaryTemp =
50  ibooker.book1D("summaryPlotDen", "summaryPlotDen", summaryHinfo.nbins, summaryHinfo.min, summaryHinfo.max);
51  summaryMap.insert(std::make_pair("Den", summaryTemp));
52  summaryTemp = ibooker.book1D("summaryPlot", "summaryPlot", summaryHinfo.nbins, summaryHinfo.min, summaryHinfo.max);
53  summaryMap.insert(std::make_pair("", summaryTemp));
54 
55  int j = 0;
56  for (const auto& it : discriminators_) {
57  string DiscriminatorLabel = it.getParameter<string>("discriminator");
58  summaryMap.find("Den")->second->setBinLabel(j + 1, DiscriminatorLabel);
59  summaryMap.find("Num")->second->setBinLabel(j + 1, DiscriminatorLabel);
60  summaryMap.find("")->second->setBinLabel(j + 1, DiscriminatorLabel);
61  j = j + 1;
62  }
63 
64  //other plots
66  : histoInfo(200, 0., 1000.);
68  : histoInfo(200, -3, 3.);
70  : histoInfo(200, -3, 3.);
71  histoInfo massHinfo = (histoSettings_.exists("mass"))
73  : histoInfo(200, 0, 10.);
74  histoInfo decayModeFindingHinfo = (histoSettings_.exists("decayModeFinding"))
76  : histoInfo(2, -0.5, 1.5);
77  histoInfo decayModeHinfo = (histoSettings_.exists("decayMode"))
79  : histoInfo(11, -0.5, 10.5);
80  histoInfo byDeepTau2017v2p1VSerawHinfo =
81  (histoSettings_.exists("byDeepTau2017v2p1VSeraw"))
82  ? histoInfo(histoSettings_.getParameter<edm::ParameterSet>("byDeepTau2017v2p1VSeraw"))
83  : histoInfo(200, 0., 1.);
84  histoInfo byDeepTau2017v2p1VSjetrawHinfo =
85  (histoSettings_.exists("byDeepTau2017v2p1VSjetraw"))
86  ? histoInfo(histoSettings_.getParameter<edm::ParameterSet>("byDeepTau2017v2p1VSjetraw"))
87  : histoInfo(200, 0., 1.);
88  histoInfo byDeepTau2017v2p1VSmurawHinfo =
89  (histoSettings_.exists("byDeepTau2017v2p1VSmuraw"))
90  ? histoInfo(histoSettings_.getParameter<edm::ParameterSet>("byDeepTau2017v2p1VSmuraw"))
91  : histoInfo(200, 0., 1.);
92  ptTemp = ibooker.book1D("tau_pt", "tau_pt", ptHinfo.nbins, ptHinfo.min, ptHinfo.max);
93  etaTemp = ibooker.book1D("tau_eta", "tau_eta", etaHinfo.nbins, etaHinfo.min, etaHinfo.max);
94  phiTemp = ibooker.book1D("tau_phi", "tau_phi", phiHinfo.nbins, phiHinfo.min, phiHinfo.max);
95  massTemp = ibooker.book1D("tau_mass", "tau_mass", massHinfo.nbins, massHinfo.min, massHinfo.max);
96  decayModeFindingTemp = ibooker.book1D("tau_decayModeFinding",
97  "tau_decayModeFinding",
98  decayModeFindingHinfo.nbins,
99  decayModeFindingHinfo.min,
100  decayModeFindingHinfo.max);
101  decayModeTemp =
102  ibooker.book1D("tau_decayMode", "tau_decayMode", decayModeHinfo.nbins, decayModeHinfo.min, decayModeHinfo.max);
103  byDeepTau2017v2p1VSerawTemp = ibooker.book1D("tau_byDeepTau2017v2p1VSeraw",
104  "tau_byDeepTau2017v2p1VSeraw",
105  byDeepTau2017v2p1VSerawHinfo.nbins,
106  byDeepTau2017v2p1VSerawHinfo.min,
107  byDeepTau2017v2p1VSerawHinfo.max);
108  byDeepTau2017v2p1VSjetrawTemp = ibooker.book1D("tau_byDeepTau2017v2p1VSjetraw",
109  "tau_byDeepTau2017v2p1VSjetraw",
110  byDeepTau2017v2p1VSjetrawHinfo.nbins,
111  byDeepTau2017v2p1VSjetrawHinfo.min,
112  byDeepTau2017v2p1VSjetrawHinfo.max);
113  byDeepTau2017v2p1VSmurawTemp = ibooker.book1D("tau_byDeepTau2017v2p1VSmuraw",
114  "tau_byDeepTau2017v2p1VSmuraw",
115  byDeepTau2017v2p1VSmurawHinfo.nbins,
116  byDeepTau2017v2p1VSmurawHinfo.min,
117  byDeepTau2017v2p1VSmurawHinfo.max);
118  ptMap.insert(std::make_pair("", ptTemp));
119  etaMap.insert(std::make_pair("", etaTemp));
120  phiMap.insert(std::make_pair("", phiTemp));
121  massMap.insert(std::make_pair("", massTemp));
122  decayModeFindingMap.insert(std::make_pair("", decayModeFindingTemp));
123  decayModeMap.insert(std::make_pair("", decayModeTemp));
124  byDeepTau2017v2p1VSerawMap.insert(std::make_pair("", byDeepTau2017v2p1VSerawTemp));
125  byDeepTau2017v2p1VSjetrawMap.insert(std::make_pair("", byDeepTau2017v2p1VSjetrawTemp));
126  byDeepTau2017v2p1VSmurawMap.insert(std::make_pair("", byDeepTau2017v2p1VSmurawTemp));
127 }

References dqm::implementation::IBooker::book1D(), jetAnalyzer_cfi::etaMap, dqmiolumiharvest::j, histoInfo::max, histoInfo::min, histoInfo::nbins, and dqm::implementation::NavigatorBase::setCurrentFolder().

Member Data Documentation

◆ byDeepTau2017v2p1VSerawMap

std::map<std::string, MonitorElement *> TauValidationMiniAOD::byDeepTau2017v2p1VSerawMap
private

Definition at line 64 of file TauValidationMiniAOD.h.

◆ byDeepTau2017v2p1VSjetrawMap

std::map<std::string, MonitorElement *> TauValidationMiniAOD::byDeepTau2017v2p1VSjetrawMap
private

Definition at line 64 of file TauValidationMiniAOD.h.

◆ byDeepTau2017v2p1VSmurawMap

std::map<std::string, MonitorElement *> TauValidationMiniAOD::byDeepTau2017v2p1VSmurawMap
private

Definition at line 64 of file TauValidationMiniAOD.h.

◆ decayModeFindingMap

std::map<std::string, MonitorElement *> TauValidationMiniAOD::decayModeFindingMap
private

Definition at line 64 of file TauValidationMiniAOD.h.

◆ decayModeMap

std::map<std::string, MonitorElement *> TauValidationMiniAOD::decayModeMap
private

Definition at line 64 of file TauValidationMiniAOD.h.

◆ discriminators_

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

Definition at line 68 of file TauValidationMiniAOD.h.

◆ etaMap

std::map<std::string, MonitorElement *> TauValidationMiniAOD::etaMap
private

Definition at line 64 of file TauValidationMiniAOD.h.

◆ extensionName_

std::string TauValidationMiniAOD::extensionName_
private

Definition at line 67 of file TauValidationMiniAOD.h.

◆ histoSettings_

edm::ParameterSet TauValidationMiniAOD::histoSettings_
private

Definition at line 66 of file TauValidationMiniAOD.h.

◆ massMap

std::map<std::string, MonitorElement *> TauValidationMiniAOD::massMap
private

Definition at line 64 of file TauValidationMiniAOD.h.

◆ phiMap

std::map<std::string, MonitorElement *> TauValidationMiniAOD::phiMap
private

Definition at line 64 of file TauValidationMiniAOD.h.

◆ ptMap

std::map<std::string, MonitorElement *> TauValidationMiniAOD::ptMap
private

Definition at line 64 of file TauValidationMiniAOD.h.

◆ refCollectionInputTagToken_

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

Definition at line 63 of file TauValidationMiniAOD.h.

◆ summaryMap

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

Definition at line 64 of file TauValidationMiniAOD.h.

◆ tauCollection_

edm::EDGetTokenT<std::vector<pat::Tau> > TauValidationMiniAOD::tauCollection_
private

Definition at line 62 of file TauValidationMiniAOD.h.

TauValidationMiniAOD::phiMap
std::map< std::string, MonitorElement * > phiMap
Definition: TauValidationMiniAOD.h:64
histoInfo::max
double max
Definition: TauValidationMiniAOD.h:39
metsig::tau
Definition: SignAlgoResolutions.h:49
Tau3MuMonitor_cff.taus
taus
Definition: Tau3MuMonitor_cff.py:7
TauValidationMiniAOD::byDeepTau2017v2p1VSmurawMap
std::map< std::string, MonitorElement * > byDeepTau2017v2p1VSmurawMap
Definition: TauValidationMiniAOD.h:64
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
dqm::legacy::MonitorElement
Definition: MonitorElement.h:461
edm::Handle
Definition: AssociativeIterator.h:50
edm::LogWarning
Log< level::Warning, false > LogWarning
Definition: MessageLogger.h:122
edm::Ref
Definition: AssociativeIterator.h:58
TauValidationMiniAOD::refCollectionInputTagToken_
edm::EDGetTokenT< edm::View< reco::Candidate > > refCollectionInputTagToken_
Definition: TauValidationMiniAOD.h:63
TauValidationMiniAOD::byDeepTau2017v2p1VSerawMap
std::map< std::string, MonitorElement * > byDeepTau2017v2p1VSerawMap
Definition: TauValidationMiniAOD.h:64
TauValidationMiniAOD::massMap
std::map< std::string, MonitorElement * > massMap
Definition: TauValidationMiniAOD.h:64
TauValidationMiniAOD::etaMap
std::map< std::string, MonitorElement * > etaMap
Definition: TauValidationMiniAOD.h:64
histoInfo::min
double min
Definition: TauValidationMiniAOD.h:38
PbPb_ZMuSkimMuonDPG_cff.deltaR
deltaR
Definition: PbPb_ZMuSkimMuonDPG_cff.py:63
edm::ParameterSet::exists
bool exists(std::string const &parameterName) const
checks if a parameter exists
Definition: ParameterSet.cc:681
edm::View
Definition: CaloClusterFwd.h:14
edm::ParameterSet
Definition: ParameterSet.h:47
TauValidationMiniAOD::decayModeFindingMap
std::map< std::string, MonitorElement * > decayModeFindingMap
Definition: TauValidationMiniAOD.h:64
TauValidationMiniAOD::ptMap
std::map< std::string, MonitorElement * > ptMap
Definition: TauValidationMiniAOD.h:64
TauValidationMiniAOD::summaryMap
std::map< std::string, MonitorElement * > summaryMap
Definition: TauValidationMiniAOD.h:64
histoInfo::nbins
int nbins
Definition: TauValidationMiniAOD.h:37
iEvent
int iEvent
Definition: GenABIO.cc:224
TauValidationMiniAOD::extensionName_
std::string extensionName_
Definition: TauValidationMiniAOD.h:67
histoInfo
Definition: TauValidationMiniAOD.h:36
TauValidationMiniAOD::discriminators_
std::vector< edm::ParameterSet > discriminators_
Definition: TauValidationMiniAOD.h:68
TauValidationMiniAOD::histoSettings_
edm::ParameterSet histoSettings_
Definition: TauValidationMiniAOD.h:66
TauValidationMiniAOD::byDeepTau2017v2p1VSjetrawMap
std::map< std::string, MonitorElement * > byDeepTau2017v2p1VSjetrawMap
Definition: TauValidationMiniAOD.h:64
TauValidationMiniAOD::tauCollection_
edm::EDGetTokenT< std::vector< pat::Tau > > tauCollection_
Definition: TauValidationMiniAOD.h:62
PDWG_TauSkim_cff.selectionCut
selectionCut
Definition: PDWG_TauSkim_cff.py:8
TauValidationMiniAOD::decayModeMap
std::map< std::string, MonitorElement * > decayModeMap
Definition: TauValidationMiniAOD.h:64
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
reco::isTau
bool isTau(const Candidate &part)
Definition: pdgIdUtils.h:11
HGC3DClusterGenMatchSelector_cfi.dR
dR
Definition: HGC3DClusterGenMatchSelector_cfi.py:7
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
edm::InputTag
Definition: InputTag.h:15
dqm::implementation::IBooker::book1D
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98