41 moduleLabel_(iConfig.getParameter<
std::
string>(
"@module_label")),
43 dataType_( iConfig.getParameter<
string>(
"DataType") ),
45 matchDeltaR_Leptons_( iConfig.getParameter<double>(
"MatchDeltaR_Leptons")),
46 matchDeltaR_Jets_( iConfig.getParameter<double>(
"MatchDeltaR_Jets")),
47 TauPtCut_( iConfig.getParameter<double>(
"TauPtCut")),
49 recoCuts_( iConfig.getParameter<
std::
string>(
"recoCuts" )),
50 genCuts_( iConfig.getParameter<
std::
string>(
"genCuts" )),
52 saveoutputhistograms_( iConfig.getParameter<
bool>(
"SaveOutputHistograms")),
54 refCollectionInputTag_( iConfig.getParameter<
InputTag>(
"RefCollection")),
56 extensionName_( iConfig.getParameter<
string>(
"ExtensionName")),
58 TauProducerInputTag_( iConfig.getParameter<
InputTag>(
"TauProducer")),
60 discriminators_( iConfig.getParameter<
std::vector<
edm::
ParameterSet> >(
"discriminators" ))
85 LogInfo(
"OutputInfo") <<
" TauVisible histograms will NOT be saved";
98 LogInfo(
"OutputInfo") <<
" TauVisiblehistograms will be saved to file:" <<
outPutFile_;
117 MonitorElement * ptTemp,* etaTemp,* phiTemp, *pileupTemp, *tmpME, *summaryTemp;
121 summaryTemp = ibooker.
book1D(
"summaryPlotNum",
"summaryPlotNum", summaryHinfo.
nbins, summaryHinfo.
min, summaryHinfo.
max);
123 summaryTemp = ibooker.
book1D(
"summaryPlotDen",
"summaryPlotDen", summaryHinfo.
nbins, summaryHinfo.
min, summaryHinfo.
max);
125 summaryTemp = ibooker.
book1D(
"summaryPlot",
"summaryPlot", summaryHinfo.
nbins, summaryHinfo.
min, summaryHinfo.
max);
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);
166 string DiscriminatorLabel = it.getParameter<
string>(
"discriminator");
171 string DiscriminatorLabelReduced = it.getParameter<
string>(
"discriminator");
172 DiscriminatorLabelReduced.erase(0, 24);
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);
189 tmpME = ibooker.
book1D(DiscriminatorLabel +
"_TauCandMass", histogramName +
"_TauCandMass" +
";Cand Mass" +
";Frequency", 30, 0., 2.0);
190 plotMap_.insert( std::make_pair( DiscriminatorLabel +
"_TauCandMass", tmpME ) );
195 std::string xaxisLabel =
";p_{T}^{reco}/p_{T}^{gen}";
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 ) );
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 ) );
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 ) );
231 plotType =
"_nTaus_";
232 xaxisLabel =
";Tau Multiplicity";
233 yaxislabel =
";Frequency";
234 plotName = plotType +
"allHadronic";
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 ) );
266 xaxisLabel =
";size";
267 yaxislabel =
";Frequency";
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 ) );
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";
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 ) );
293 plotType =
"_SumPt_";
294 xaxisLabel =
";p_{T}^{sum}/ GeV";
295 yaxislabel =
";Frequency";
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 ) );
321 if ( DiscriminatorLabel.find(
"LeadingTrackPtCut") != string::npos){
333 if ( DiscriminatorLabel.find(
"ByIsolationLater") != string::npos ){
344 if ( DiscriminatorLabel.find(
"ByIsolation") != string::npos ){
371 double matching_criteria = -1.0;
375 string DiscriminatorLabel = it.getParameter<
string>(
"discriminator");
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;
398 std::cerr <<
" Reference collection: " <<
refCollection_ <<
" not found while running TauTagValidation.cc " << std::endl;
418 pfTauProduct = thePFTauHandle.
product();
422 std::map<std::string, MonitorElement *>::const_iterator element =
plotMap_.end();
425 for (genCandidateCollection::const_iterator RefJet= ReferenceCollection->begin() ; RefJet != ReferenceCollection->end(); RefJet++ ){
436 thePFTauClosest = pfTauProduct->size();
440 if (
algo_->
deltaR(gen_particle, & pfTauProduct->at(iPFTau)) < delta){
441 delta =
algo_->
deltaR(gen_particle, & pfTauProduct->at(iPFTau));
442 thePFTauClosest = iPFTau;
447 if (thePFTauClosest == pfTauProduct->size())
continue;
449 double deltaR =
algo_->
deltaR(gen_particle, & pfTauProduct->at(thePFTauClosest));
452 if (deltaR > matching_criteria && matching_criteria != -1.0)
continue;
459 PFTauRef thePFTau(thePFTauHandle, thePFTauClosest);
464 if(thePFTau->pt() <
TauPtCut_ )
continue;
467 bool pass = selectReco( thePFTau );
468 if( !pass )
continue;
471 pass = selectGen( *gen_particle );
472 if( !pass )
continue;
475 for(
const auto& it : discriminators_){
476 string currentDiscriminatorLabel = it.getParameter<
string>(
"discriminator");
480 if ((*currentDiscriminator)[thePFTau] >= it.getParameter<
double>(
"selectionCut")){
481 ptTauVisibleMap.find( currentDiscriminatorLabel )->second->Fill(RefJet->pt());
482 etaTauVisibleMap.find( currentDiscriminatorLabel )->second->Fill(RefJet->eta());
488 double tauPtRes = thePFTau->pt()/gen_particle->
pt();
489 plotMap_.find( currentDiscriminatorLabel +
"_pTRatio_allHadronic" )->second->Fill(tauPtRes);
493 TAU.SetPtEtaPhiE(thePFTau->pt(), thePFTau->eta(), thePFTau->phi(), thePFTau->energy());
494 plotMap_.find( currentDiscriminatorLabel +
"_TauCandMass" )->second->Fill(TAU.M());
513 plotMap_.find( currentDiscriminatorLabel +
"_pTRatio_" +
"oneProng0Pi0")->second->Fill(tauPtRes);
517 plotMap_.find( currentDiscriminatorLabel +
"_pTRatio_" +
"oneProng1Pi0")->second->Fill(tauPtRes);
521 plotMap_.find( currentDiscriminatorLabel +
"_pTRatio_" +
"oneProng2Pi0")->second->Fill(tauPtRes);
525 plotMap_.find( currentDiscriminatorLabel +
"_pTRatio_" +
"twoProng0Pi0")->second->Fill(tauPtRes);
529 plotMap_.find( currentDiscriminatorLabel +
"_pTRatio_" +
"twoProng1Pi0")->second->Fill(tauPtRes);
533 plotMap_.find( currentDiscriminatorLabel +
"_pTRatio_" +
"twoProng2Pi0")->second->Fill(tauPtRes);
537 plotMap_.find( currentDiscriminatorLabel +
"_pTRatio_" +
"threeProng0Pi0")->second->Fill(tauPtRes);
541 plotMap_.find( currentDiscriminatorLabel +
"_pTRatio_" +
"threeProng1Pi0")->second->Fill(tauPtRes);
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() );
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() ) );
579 if ( currentDiscriminatorLabel.find(
"LeadingTrackPtCut") != string::npos){
587 else if ( currentDiscriminatorLabel.find(
"ByIsolation") != string::npos ){
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);
623 sumPt += (*candidate)->pt();
631 if(separator==std::string::npos){
632 separatorString =
"Discrimination";
633 separator = discriminatorLabel.find(separatorString);
634 if(separator==std::string::npos){
std::map< std::string, MonitorElement * > ptTauVisibleMap
T getParameter(std::string const &) const
MonitorElement * nPFJet_LeadingChargedHadron_ChargedHadronsIsolAnnulus_
std::map< std::string, MonitorElement * > plotMap_
std::vector< PFTau > PFTauCollection
collection of PFTau objects
MonitorElement * nPFJet_LeadingChargedHadron_NeutralHadronsIsolAnnulus_
double matchDeltaR_Leptons_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
double getSumPt(const std::vector< edm::Ptr< reco::Candidate > > &candidates)
sum the transversal momentum of all candidates
void dqmBeginRun(const edm::Run &, const edm::EventSetup &) override
bool exists(std::string const ¶meterName) 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_
MonitorElement * nPFJet_LeadingChargedHadron_GammasSignal_
std::vector< edm::ParameterSet > discriminators_
MonitorElement * nPFJet_LeadingChargedHadron_ChargedHadronsSignal_
void setCurrentFolder(std::string const &fullpath)
GenericTriggerEventFlag * genericTriggerEventFlag_
generic access to dynamic trigger table
MonitorElement * nIsolated_NoChargedNoGammas_ChargedHadronsSignal_
std::string dataType_
What's the reference for the Validation Leptons or Jets.
static double deltaR(const T *, const U *)
MonitorElement * book1D(Args &&...args)
MonitorElement * nIsolated_NoChargedHadrons_GammasSignal_
void analyze(const edm::Event &iEvent, const edm::EventSetup &iSetup) override
MonitorElement * nIsolated_NoChargedHadrons_GammasIsolAnnulus_
std::map< std::string, MonitorElement * > etaTauVisibleMap
std::string getReleaseVersion()
MonitorElement * nIsolated_NoChargedNoGammas_NeutralHadronsSignal_
MonitorElement * nIsolated_NoChargedNoGammas_NeutralHadronsIsolAnnulus_
T const * product() const
MonitorElement * nIsolated_NoChargedHadrons_NeutralHadronsSignal_
virtual double pt() const =0
transverse momentum
edm::EDGetTokenT< edm::View< reco::Candidate > > refCollectionInputTagToken_
std::map< std::string, MonitorElement * > summaryMap
~TauTagValidation() override
std::string extensionName_
MonitorElement * nIsolated_NoChargedHadrons_NeutralHadronsIsolAnnulus_
std::string moduleLabel_
label of the current module
std::map< std::string, int > tauDecayCountMap_
edm::InputTag refCollectionInputTag_
bool stripDiscriminatorLabel(const std::string &discriminatorLabel, std::string &newLabel)
get rid of redundant parts to shorten the label
bool saveoutputhistograms_
edm::InputTag PrimaryVertexCollection_
MonitorElement * nIsolated_NoChargedHadrons_ChargedHadronsSignal_
std::map< std::string, MonitorElement * > phiTauVisibleMap
MonitorElement * nPFJet_LeadingChargedHadron_NeutralHadronsSignal_
void initRun(const edm::Run &run, const edm::EventSetup &setup)
To be called from beginRun() methods.
TauTagValidation(const edm::ParameterSet &)
edm::ParameterSet histoSettings_
MonitorElement * nPFJet_LeadingChargedHadron_GammasIsolAnnulus_
std::map< std::string, MonitorElement * > pileupTauVisibleMap
MonitorElement * nIsolated_NoChargedNoGammas_GammasSignal_
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
edm::EDGetTokenT< reco::VertexCollection > primaryVertexCollectionToken_