ATLAS Offline Software
DiTauEfficiencyCorrectionsTool.h
Go to the documentation of this file.
1 
12 #ifndef TAUANALYSISTOOLS_DITAUEFFICIENCYCORRECTIONSTOOL_H
13 #define TAUANALYSISTOOLS_DITAUEFFICIENCYCORRECTIONSTOOL_H
14 
15 
16 // Framework include(s):
18 #include "AsgTools/AnaToolHandle.h"
20 
21 // Local include(s):
25 
26 namespace TauAnalysisTools
27 {
28 
30  : public virtual IDiTauEfficiencyCorrectionsTool
31  , public asg::AsgMetadataTool
32 {
35 
36 public:
37  /* Create a constructor for standalone usage*/
38  DiTauEfficiencyCorrectionsTool( const std::string& sName );
39 
41 
43  virtual StatusCode initialize();
44 
46  virtual void printConfig() const;
47 
56  double& eff);
57 
58 
66 
67 
75  virtual bool isAffectedBySystematic( const CP::SystematicVariation& systematic ) const;
76 
79 
82 
84  virtual StatusCode applySystematicVariation( const CP::SystematicSet& systConfig );
85 
93  virtual bool isSupportedRunNumber( int /*iRunNumber*/ ) const
94  {
95  return true;
96  };
97 
98 private:
100 
101  std::string ConvertJetIDToString(const int iLevel) const;
102 
105 
106 private:
107 
108  Gaudi::Property<std::string> m_sInputFilePathJetIDHadTau{this, "InputFilePathJetIDHadTau", ""};
109  Gaudi::Property<std::string> m_sVarNameJetIDHadTau{this, "VarNameJetIDHadTau", ""};
110  Gaudi::Property<std::string> m_sRecommendationTag{this, "RecommendationTag", "2017-moriond"};
111  Gaudi::Property<int> m_iJetIDLevel{this, "JetIDLevel", static_cast<int>(JETIDBDTTIGHT)};
112  Gaudi::Property<bool> m_bSkipTruthMatchCheck{this, "SkipTruthMatchCheck", false};
113  Gaudi::Property<std::vector<int>> m_vEfficiencyCorrectionTypes{this, "EfficiencyCorrectionTypes", {SFJetIDHadTau}};
114 
115  std::vector< asg::AnaToolHandle<IDiTauEfficiencyCorrectionsTool>* > m_vCommonEfficiencyTools;
116  bool m_bIsData;
118 
119 }; // class DiTauEfficiencyCorrectionsTool
120 
121 } // namespace TauAnalysisTools
122 
123 #endif // TAUANALYSISTOOLS_DITAUEFFICIENCYCORRECTIONSTOOL_H
TauAnalysisTools
Definition: TruthCollectionMakerTau.h:16
TauAnalysisTools::DiTauEfficiencyCorrectionsTool::m_vEfficiencyCorrectionTypes
Gaudi::Property< std::vector< int > > m_vEfficiencyCorrectionTypes
Definition: DiTauEfficiencyCorrectionsTool.h:113
PropertyWrapper.h
TauAnalysisTools::DiTauEfficiencyCorrectionsTool::beginEvent
StatusCode beginEvent()
Function called when a new events is loaded.
Definition: DiTauEfficiencyCorrectionsTool.cxx:79
TauAnalysisTools::IDiTauEfficiencyCorrectionsTool
Definition: IDiTauEfficiencyCorrectionsTool.h:34
IDiTauEfficiencyCorrectionsTool.h
recommended ditau efficiency correction scale factors and uncertainties
TauAnalysisTools::DiTauEfficiencyCorrectionsTool::DiTauEfficiencyCorrectionsTool
DiTauEfficiencyCorrectionsTool(const std::string &sName)
Create a proper constructor for Athena.
Definition: DiTauEfficiencyCorrectionsTool.cxx:25
CP::SystematicSet
Class to wrap a set of SystematicVariations.
Definition: SystematicSet.h:31
CommonDiTauEfficiencyTool.h
TauAnalysisTools::DiTauEfficiencyCorrectionsTool::m_bIsConfigured
bool m_bIsConfigured
Definition: DiTauEfficiencyCorrectionsTool.h:117
TauAnalysisTools::DiTauEfficiencyCorrectionsTool::applySystematicVariation
virtual StatusCode applySystematicVariation(const CP::SystematicSet &systConfig)
apply systematic variations
Definition: DiTauEfficiencyCorrectionsTool.cxx:175
CP::SystematicVariation
Definition: SystematicVariation.h:47
ITauEfficiencyCorrectionsTool.h
TauAnalysisTools::DiTauEfficiencyCorrectionsTool::~DiTauEfficiencyCorrectionsTool
~DiTauEfficiencyCorrectionsTool()
Definition: DiTauEfficiencyCorrectionsTool.cxx:34
TauAnalysisTools::DiTauEfficiencyCorrectionsTool::m_sRecommendationTag
Gaudi::Property< std::string > m_sRecommendationTag
Definition: DiTauEfficiencyCorrectionsTool.h:110
TauAnalysisTools::DiTauEfficiencyCorrectionsTool::printConfig
virtual void printConfig() const
Print tool configuration.
Definition: DiTauEfficiencyCorrectionsTool.cxx:94
TauAnalysisTools::DiTauEfficiencyCorrectionsTool::m_iJetIDLevel
Gaudi::Property< int > m_iJetIDLevel
Definition: DiTauEfficiencyCorrectionsTool.h:111
TauAnalysisTools::DiTauEfficiencyCorrectionsTool::m_sVarNameJetIDHadTau
Gaudi::Property< std::string > m_sVarNameJetIDHadTau
Definition: DiTauEfficiencyCorrectionsTool.h:109
TauAnalysisTools::DiTauEfficiencyCorrectionsTool::affectingSystematics
virtual CP::SystematicSet affectingSystematics() const
returns: the list of all systematics this tool can be affected by
Definition: DiTauEfficiencyCorrectionsTool.cxx:154
TauAnalysisTools::JETIDBDTTIGHT
@ JETIDBDTTIGHT
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/Enums.h:18
TauAnalysisTools::DiTauEfficiencyCorrectionsTool::ConvertJetIDToString
std::string ConvertJetIDToString(const int iLevel) const
Definition: DiTauEfficiencyCorrectionsTool.cxx:219
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TauAnalysisTools::DiTauEfficiencyCorrectionsTool::m_bSkipTruthMatchCheck
Gaudi::Property< bool > m_bSkipTruthMatchCheck
Definition: DiTauEfficiencyCorrectionsTool.h:112
TauAnalysisTools::DiTauEfficiencyCorrectionsTool::applyEfficiencyScaleFactor
virtual CP::CorrectionCode applyEfficiencyScaleFactor(const xAOD::DiTauJet &xDiTau)
decorate the ditau jet with eff scale factor
Definition: DiTauEfficiencyCorrectionsTool.cxx:126
TauAnalysisTools::DiTauEfficiencyCorrectionsTool::recommendedSystematics
virtual CP::SystematicSet recommendedSystematics() const
returns: the list of all systematics this tool recommends to use
Definition: DiTauEfficiencyCorrectionsTool.cxx:164
TauAnalysisTools::DiTauEfficiencyCorrectionsTool::getEfficiencyScaleFactor
virtual CP::CorrectionCode getEfficiencyScaleFactor(const xAOD::DiTauJet &xDiTau, double &eff)
Get the ditau Efficiency Scale Factor as a return value.
Definition: DiTauEfficiencyCorrectionsTool.cxx:106
AnaToolHandle.h
TauAnalysisTools::DiTauEfficiencyCorrectionsTool::m_bIsData
bool m_bIsData
Definition: DiTauEfficiencyCorrectionsTool.h:116
TauAnalysisTools::DiTauEfficiencyCorrectionsTool::initialize
virtual StatusCode initialize()
Function initialising the tool.
Definition: DiTauEfficiencyCorrectionsTool.cxx:42
TauAnalysisTools::SFJetIDHadTau
@ SFJetIDHadTau
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/Enums.h:72
TauAnalysisTools::DiTauEfficiencyCorrectionsTool
Definition: DiTauEfficiencyCorrectionsTool.h:32
asg::AsgMetadataTool
Base class for dual-use tools that provide file metadata access.
Definition: AsgMetadataTool.h:48
TauAnalysisTools::DiTauEfficiencyCorrectionsTool::isAffectedBySystematic
virtual bool isAffectedBySystematic(const CP::SystematicVariation &systematic) const
returns whether this tool is affected by the given systematic
Definition: DiTauEfficiencyCorrectionsTool.cxx:144
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition: AsgToolMacros.h:68
AsgMetadataTool.h
CP::CorrectionCode
Return value from object correction CP tools.
Definition: CorrectionCode.h:31
xAOD::DiTauJet_v1
Definition: DiTauJet_v1.h:31
TauAnalysisTools::DiTauEfficiencyCorrectionsTool::initializeTools_2017_moriond
StatusCode initializeTools_2017_moriond()
Initialize Moriond 2017 recommendations.
Definition: DiTauEfficiencyCorrectionsTool.cxx:188
TauAnalysisTools::DiTauEfficiencyCorrectionsTool::isSupportedRunNumber
virtual bool isSupportedRunNumber(int) const
check if run number is supperted in recommendations
Definition: DiTauEfficiencyCorrectionsTool.h:93
dqt_zlumi_alleff_HIST.eff
int eff
Definition: dqt_zlumi_alleff_HIST.py:113
TauAnalysisTools::DiTauEfficiencyCorrectionsTool::m_sInputFilePathJetIDHadTau
Gaudi::Property< std::string > m_sInputFilePathJetIDHadTau
Definition: DiTauEfficiencyCorrectionsTool.h:108
TauAnalysisTools::DiTauEfficiencyCorrectionsTool::m_vCommonEfficiencyTools
std::vector< asg::AnaToolHandle< IDiTauEfficiencyCorrectionsTool > * > m_vCommonEfficiencyTools
Definition: DiTauEfficiencyCorrectionsTool.h:115