ATLAS Offline Software
DiTauSmearingTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TAUANALYSISTOOLS_DITAUSMEARINGTOOL_H
6 #define TAUANALYSISTOOLS_DITAUSMEARINGTOOL_H
7 
8 /*
9  author: David Kirchmeier
10  mail: david.kirchmeier@cern.ch
11  ported in R22 by: Antonio De Maria
12  mail: antonio.de.maria@cern.ch
13  documentation in: ../doc/README-DiTauSmearingTool.rst
14 */
15 
16 
17 // Framework include(s):
18 #include "AsgTools/AsgTool.h"
19 #include "AsgTools/AnaToolHandle.h"
21 
22 // Local include(s):
25 
26 namespace TauAnalysisTools
27 {
28 
30  : public asg::AsgTool
31  , public virtual IDiTauSmearingTool
32 {
35 
36 public:
38  DiTauSmearingTool( const std::string& sName );
39 
41  virtual StatusCode initialize() override;
42 
44  virtual CP::CorrectionCode applyCorrection( xAOD::DiTauJet& xDiTau ) override;
46  virtual CP::CorrectionCode correctedCopy( const xAOD::DiTauJet& input,
47  xAOD::DiTauJet*& output ) override;
48 
50  virtual bool isAffectedBySystematic( const CP::SystematicVariation& systematic ) const override;
51 
53  virtual CP::SystematicSet affectingSystematics() const override;
54 
56  virtual CP::SystematicSet recommendedSystematics() const override;
57 
58  virtual StatusCode applySystematicVariation( const CP::SystematicSet& systConfig ) override;
59 
60 private:
62  std::string m_sInputFilePath;
63 
64  Gaudi::Property<std::string> m_sRecommendationTag{this, "RecommendationTag", "2019-winter"};
65  Gaudi::Property<bool> m_bSkipTruthMatchCheck{this, "SkipTruthMatchCheck", false};
66 
67 
68 }; // class DiTauSmearingTool
69 
70 } // namespace TauAnalysisTools
71 
72 #endif // TAUANALYSISTOOLS_DITAUSMEARINGTOOL_H
73 
74 
75 
TauAnalysisTools
Definition: TruthCollectionMakerTau.h:16
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
PropertyWrapper.h
asg::AnaToolHandle
a modified tool handle that allows its owner to configure new tools from the C++ side
Definition: AnaToolHandle.h:34
TauAnalysisTools::DiTauSmearingTool::applyCorrection
virtual CP::CorrectionCode applyCorrection(xAOD::DiTauJet &xDiTau) override
Apply the correction on a modifyable object.
Definition: DiTauSmearingTool.cxx:62
CommonDiTauSmearingTool.h
TauAnalysisTools::DiTauSmearingTool::applySystematicVariation
virtual StatusCode applySystematicVariation(const CP::SystematicSet &systConfig) override
effects: configure this tool for the given list of systematic variations.
Definition: DiTauSmearingTool.cxx:91
TauAnalysisTools::DiTauSmearingTool::recommendedSystematics
virtual CP::SystematicSet recommendedSystematics() const override
returns: the list of all systematics this tool recommends to use
Definition: DiTauSmearingTool.cxx:86
CP::SystematicSet
Class to wrap a set of SystematicVariations.
Definition: SystematicSet.h:31
TauAnalysisTools::IDiTauSmearingTool
Definition: IDiTauSmearingTool.h:29
CP::SystematicVariation
Definition: SystematicVariation.h:47
IDiTauSmearingTool.h
TauAnalysisTools::DiTauSmearingTool::correctedCopy
virtual CP::CorrectionCode correctedCopy(const xAOD::DiTauJet &input, xAOD::DiTauJet *&output) override
Create a corrected copy from a constant ditau.
Definition: DiTauSmearingTool.cxx:67
TauAnalysisTools::DiTauSmearingTool::affectingSystematics
virtual CP::SystematicSet affectingSystematics() const override
returns: the list of all systematics this tool can be affected by
Definition: DiTauSmearingTool.cxx:80
TauAnalysisTools::DiTauSmearingTool::m_bSkipTruthMatchCheck
Gaudi::Property< bool > m_bSkipTruthMatchCheck
Definition: DiTauSmearingTool.h:65
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TauAnalysisTools::DiTauSmearingTool
Definition: DiTauSmearingTool.h:32
TauAnalysisTools::DiTauSmearingTool::m_tCommonDiTauSmearingTool
asg::AnaToolHandle< IDiTauSmearingTool > m_tCommonDiTauSmearingTool
Definition: DiTauSmearingTool.h:61
AnaToolHandle.h
TauAnalysisTools::DiTauSmearingTool::initialize
virtual StatusCode initialize() override
Function initialising the tool.
Definition: DiTauSmearingTool.cxx:22
TauAnalysisTools::DiTauSmearingTool::m_sInputFilePath
std::string m_sInputFilePath
Definition: DiTauSmearingTool.h:62
TauAnalysisTools::DiTauSmearingTool::DiTauSmearingTool
DiTauSmearingTool(const std::string &sName)
Create a proper constructor for Athena.
Definition: DiTauSmearingTool.cxx:15
TauAnalysisTools::DiTauSmearingTool::isAffectedBySystematic
virtual bool isAffectedBySystematic(const CP::SystematicVariation &systematic) const override
returns: whether this tool is affected by the given systematis
Definition: DiTauSmearingTool.cxx:74
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition: AsgToolMacros.h:68
CP::CorrectionCode
Return value from object correction CP tools.
Definition: CorrectionCode.h:31
xAOD::DiTauJet_v1
Definition: DiTauJet_v1.h:31
TauAnalysisTools::DiTauSmearingTool::m_sRecommendationTag
Gaudi::Property< std::string > m_sRecommendationTag
Definition: DiTauSmearingTool.h:64
AsgTool.h