From 2de971428afb4b3ad6fb37fe78dde594e7094c4c Mon Sep 17 00:00:00 2001 From: Dirk Uwe Duschinger <dirk.duschinger@cern.ch> Date: Wed, 18 May 2016 19:06:48 +0200 Subject: [PATCH] see ChangeLog (TauAnalysisTools-00-01-40) - CommonEfficiencyTool: fix for coverity issue - TauOverlappingElectronLLHDecorator: fix for TauJet_v3 - TauSelectionTool: fix for TauJet_v3 - TauSmearingTool: fix for coverity issue - TauTruthMatchingTool: fix for coverity issue Former-commit-id: 669f757e2cde440c3ffb15368644f6ac54da2606 --- .../Root/CommonEfficiencyTool.cxx | 3 +++ .../TauID/TauAnalysisTools/Root/SelectionCuts.cxx | 15 +++++++++++++-- .../Root/TauEfficiencyTriggerTool.cxx | 3 +++ .../Root/TauOverlappingElectronLLHDecorator.cxx | 2 +- .../TauAnalysisTools/Root/TauSelectionTool.cxx | 1 + .../TauAnalysisTools/Root/TauSmearingTool.cxx | 1 + .../Root/TauTruthMatchingTool.cxx | 2 +- .../TauAnalysisTools/SelectionCuts.h | 1 + .../TauAnalysisTools/TauSelectionTool.h | 1 - .../TauAnalysisTools/TauSmearingTool.h | 4 +++- 10 files changed, 27 insertions(+), 6 deletions(-) diff --git a/PhysicsAnalysis/TauID/TauAnalysisTools/Root/CommonEfficiencyTool.cxx b/PhysicsAnalysis/TauID/TauAnalysisTools/Root/CommonEfficiencyTool.cxx index 21c97031f19a..5a5f2e49d279 100644 --- a/PhysicsAnalysis/TauID/TauAnalysisTools/Root/CommonEfficiencyTool.cxx +++ b/PhysicsAnalysis/TauID/TauAnalysisTools/Root/CommonEfficiencyTool.cxx @@ -10,6 +10,9 @@ #include "TauAnalysisTools/TauEfficiencyCorrectionsTool.h" #include "xAODTruth/TruthParticleContainer.h" +// ROOT include(s) +#include "TH2F.h" + using namespace TauAnalysisTools; //______________________________________________________________________________ diff --git a/PhysicsAnalysis/TauID/TauAnalysisTools/Root/SelectionCuts.cxx b/PhysicsAnalysis/TauID/TauAnalysisTools/Root/SelectionCuts.cxx index f969de508205..1845c5da2f9b 100644 --- a/PhysicsAnalysis/TauID/TauAnalysisTools/Root/SelectionCuts.cxx +++ b/PhysicsAnalysis/TauID/TauAnalysisTools/Root/SelectionCuts.cxx @@ -439,6 +439,12 @@ SelectionCutEleOLR::SelectionCutEleOLR(TauSelectionTool* tTST) , m_tTOELLHDecorator(0) , m_bCheckEleMatchPassAvailable(true) , m_bEleMatchPassAvailable(true) +#ifndef XAODTAU_VERSIONS_TAUJET_V3_H + , m_sEleOlrLhScoreDecorationName("ele_match_lhscore") +#else + , m_sEleOlrLhScoreDecorationName("EleMatchLikelihoodScore") +#endif + { m_hHistCutPre = CreateControlPlot("hEleOLR_pre","EleOLR_pre;Electron Likelihood Score; events",100,-4,4); m_hHistCut = CreateControlPlot("hEleOLR_cut","EleOLR_cut;Electron Likelihood Score; events",100,-4,4); @@ -458,7 +464,7 @@ void SelectionCutEleOLR::fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist) { // run this to get ele_match_lhscore decoration getEvetoPass(xTau); - static SG::AuxElement::ConstAccessor<float> accEleMatchLhscore("ele_match_lhscore"); + static SG::AuxElement::ConstAccessor<float> accEleMatchLhscore(m_sEleOlrLhScoreDecorationName.c_str()); hHist.Fill(accEleMatchLhscore(xTau)); } @@ -480,7 +486,7 @@ bool SelectionCutEleOLR::accept(const xAOD::TauJet& xTau) return true; } - static SG::AuxElement::ConstAccessor<float> accEleMatchLhscore("ele_match_lhscore"); + static SG::AuxElement::ConstAccessor<float> accEleMatchLhscore(m_sEleOlrLhScoreDecorationName.c_str()); m_tTST->msg() << MSG::VERBOSE << "Tau failed EleOLR requirement, tau overlapping electron llh score: " << accEleMatchLhscore(xTau) << endmsg; return false; } @@ -503,6 +509,7 @@ StatusCode SelectionCutEleOLR::createTOELLHDecorator() bool SelectionCutEleOLR::getEvetoPass(const xAOD::TauJet& xTau) { +#ifndef XAODTAU_VERSIONS_TAUJET_V3_H if (m_bCheckEleMatchPassAvailable) { m_bCheckEleMatchPassAvailable = false; @@ -518,6 +525,10 @@ bool SelectionCutEleOLR::getEvetoPass(const xAOD::TauJet& xTau) throw std::runtime_error ("TOELLHDecorator decoration failed\n"); static SG::AuxElement::ConstAccessor<char> accEleOlrPass("ele_olr_pass"); return (bool)accEleOlrPass(xTau); +#else + return xTau.isTau(xAOD::TauJetParameters::PassEleOLR); +#endif + } //______________________________________________________________________________ diff --git a/PhysicsAnalysis/TauID/TauAnalysisTools/Root/TauEfficiencyTriggerTool.cxx b/PhysicsAnalysis/TauID/TauAnalysisTools/Root/TauEfficiencyTriggerTool.cxx index dea99d4f896a..7e2c47109aa5 100644 --- a/PhysicsAnalysis/TauID/TauAnalysisTools/Root/TauEfficiencyTriggerTool.cxx +++ b/PhysicsAnalysis/TauID/TauAnalysisTools/Root/TauEfficiencyTriggerTool.cxx @@ -12,6 +12,9 @@ #include "TauAnalysisTools/TauEfficiencyTriggerTool.h" #include "TauAnalysisTools/TauEfficiencyCorrectionsTool.h" +// ROOT include(s) +#include "TH2F.h" + using namespace TauAnalysisTools; //______________________________________________________________________________ diff --git a/PhysicsAnalysis/TauID/TauAnalysisTools/Root/TauOverlappingElectronLLHDecorator.cxx b/PhysicsAnalysis/TauID/TauAnalysisTools/Root/TauOverlappingElectronLLHDecorator.cxx index 442ea8de12dc..501dd801f654 100644 --- a/PhysicsAnalysis/TauID/TauAnalysisTools/Root/TauOverlappingElectronLLHDecorator.cxx +++ b/PhysicsAnalysis/TauID/TauAnalysisTools/Root/TauOverlappingElectronLLHDecorator.cxx @@ -88,7 +88,7 @@ StatusCode TauOverlappingElectronLLHDecorator::decorate(const xAOD::TauJet& xTau if (!m_bEleOLRMatchAvailableChecked) { - m_bEleOLRMatchAvailable = xTau.isAvailable<char>("ele_olr_pass"); + m_bEleOLRMatchAvailable = (xTau.isAvailable<char>("ele_olr_pass") || xTau.isAvailable<float>("EleMatchLikelihoodScore")); m_bEleOLRMatchAvailableChecked = true; if (m_bEleOLRMatchAvailable) { diff --git a/PhysicsAnalysis/TauID/TauAnalysisTools/Root/TauSelectionTool.cxx b/PhysicsAnalysis/TauID/TauAnalysisTools/Root/TauSelectionTool.cxx index 86cc7d06987f..a854c7a45863 100644 --- a/PhysicsAnalysis/TauID/TauAnalysisTools/Root/TauSelectionTool.cxx +++ b/PhysicsAnalysis/TauID/TauAnalysisTools/Root/TauSelectionTool.cxx @@ -5,6 +5,7 @@ // Local include(s): #include "TauAnalysisTools/TauSelectionTool.h" #include "TauAnalysisTools/SharedFilesVersion.h" +#include "TauAnalysisTools/SelectionCuts.h" // Framework include(s): #include "PathResolver/PathResolver.h" diff --git a/PhysicsAnalysis/TauID/TauAnalysisTools/Root/TauSmearingTool.cxx b/PhysicsAnalysis/TauID/TauAnalysisTools/Root/TauSmearingTool.cxx index 8eaa9a7ea8b4..4dd57e19856e 100644 --- a/PhysicsAnalysis/TauID/TauAnalysisTools/Root/TauSmearingTool.cxx +++ b/PhysicsAnalysis/TauID/TauAnalysisTools/Root/TauSmearingTool.cxx @@ -8,6 +8,7 @@ // Local include(s): #include "TauAnalysisTools/TauSmearingTool.h" #include "TauAnalysisTools/SharedFilesVersion.h" +#include "TauAnalysisTools/TauSmearingRun1Tool.h" namespace TauAnalysisTools { diff --git a/PhysicsAnalysis/TauID/TauAnalysisTools/Root/TauTruthMatchingTool.cxx b/PhysicsAnalysis/TauID/TauAnalysisTools/Root/TauTruthMatchingTool.cxx index ac5638af9440..80918836b90e 100644 --- a/PhysicsAnalysis/TauID/TauAnalysisTools/Root/TauTruthMatchingTool.cxx +++ b/PhysicsAnalysis/TauID/TauAnalysisTools/Root/TauTruthMatchingTool.cxx @@ -451,7 +451,7 @@ StatusCode TauTruthMatchingTool::findTruthTau(const xAOD::TauJet& xTau) const return checkTruthMatch(xTau, *m_xTruthTauContainer); // } - return StatusCode::SUCCESS; + // return StatusCode::SUCCESS; } //______________________________________________________________________________ diff --git a/PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/SelectionCuts.h b/PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/SelectionCuts.h index 9061c258d062..1ec3ff2cde1e 100644 --- a/PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/SelectionCuts.h +++ b/PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/SelectionCuts.h @@ -163,6 +163,7 @@ private: StatusCode createTOELLHDecorator(); void fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist); + const std::string m_sEleOlrLhScoreDecorationName; }; class SelectionCutMuonVeto diff --git a/PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/TauSelectionTool.h b/PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/TauSelectionTool.h index 6d7b1ec4e9b3..92ce0946bc69 100644 --- a/PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/TauSelectionTool.h +++ b/PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/TauSelectionTool.h @@ -23,7 +23,6 @@ // Local include(s): #include "TauAnalysisTools/ITauSelectionTool.h" -#include "TauAnalysisTools/SelectionCuts.h" #include "TauAnalysisTools/Enums.h" #include "TauAnalysisTools/HelperFunctions.h" diff --git a/PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/TauSmearingTool.h b/PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/TauSmearingTool.h index 13b33d768535..f0a4a3ad9cf4 100644 --- a/PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/TauSmearingTool.h +++ b/PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/TauSmearingTool.h @@ -24,11 +24,13 @@ #include "TauAnalysisTools/Enums.h" #include "TauAnalysisTools/ITauSmearingTool.h" #include "TauAnalysisTools/CommonSmearingTool.h" -#include "TauAnalysisTools/TauSmearingRun1Tool.h" namespace TauAnalysisTools { +// forward includes +class TauSmearingRun1Tool; + class TauSmearingTool : public asg::AsgTool , public virtual ITauSmearingTool -- GitLab