ATLAS Offline Software
TauSmearingTool.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_TAUSMEARINGTOOL_H
6 #define TAUANALYSISTOOLS_TAUSMEARINGTOOL_H
7 
8 /*
9  author: Dirk Duschinger
10  mail: dirk.duschinger@cern.ch
11  documentation in: ../README.rst
12  or
13  https://svnweb.cern.ch/trac/atlasoff/browser/PhysicsAnalysis/TauID/TauAnalysisTools/trunk/README.rst
14 */
15 
16 // Framework include(s):
17 #include "AsgTools/AsgTool.h"
18 #include "AsgTools/AnaToolHandle.h"
21 
22 // Local include(s):
23 #include "TauAnalysisTools/Enums.h"
26 
27 namespace TauAnalysisTools
28 {
29 
31  : public asg::AsgMetadataTool
32  , public virtual ITauSmearingTool
33 {
36 
37 public:
39  TauSmearingTool( const std::string& sName );
40 
42 
44  virtual StatusCode initialize();
45 
46  virtual StatusCode beginInputFile();
47 
49  virtual CP::CorrectionCode applyCorrection( xAOD::TauJet& xTau ) const;
50 
52  virtual CP::CorrectionCode correctedCopy( const xAOD::TauJet& input,
53  xAOD::TauJet*& output ) const;
54 
56  virtual bool isAffectedBySystematic( const CP::SystematicVariation& systematic ) const;
57 
60 
63 
64  virtual StatusCode applySystematicVariation( const CP::SystematicSet& systConfig );
65 
66 private:
68 
69  Gaudi::Property<std::string> m_sInputFilePath{this, "InputFilePath", ""};
70  Gaudi::Property<std::string> m_sRecommendationTag{this, "RecommendationTag", "2025-prerec"};
71  Gaudi::Property<std::string> m_sCampaign{this, "Campaign", "mc21"};
72  Gaudi::Property<std::string> m_sGenerator{this, "Generator", "PoPy"};
73  Gaudi::Property<bool> m_bSkipTruthMatchCheck{this, "SkipTruthMatchCheck", false};
74  Gaudi::Property<bool> m_bApplyFading{this, "ApplyFading", true};
75  Gaudi::Property<bool> m_bMVATESQualityCheck{this, "MVATESQualityCheck", true};
76  Gaudi::Property<bool> m_bApplyInsituCorrection{this, "ApplyInsituCorrection", true};
77  Gaudi::Property<bool> m_useFastSim{this, "useFastSim", false};
78 
79 }; // class TauSmearingTool
80 
81 } // namespace TauAnalysisTools
82 
83 #endif // TAUANALYSISTOOLS_TAUSMEARINGTOOL_H
TauAnalysisTools
Definition: TruthCollectionMakerTau.h:16
TauAnalysisTools::ITauSmearingTool
Definition: ITauSmearingTool.h:30
TauAnalysisTools::TauSmearingTool::~TauSmearingTool
~TauSmearingTool()
Definition: TauSmearingTool.cxx:24
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::TauSmearingTool::m_bSkipTruthMatchCheck
Gaudi::Property< bool > m_bSkipTruthMatchCheck
Definition: TauSmearingTool.h:73
Enums.h
TauAnalysisTools::TauSmearingTool::correctedCopy
virtual CP::CorrectionCode correctedCopy(const xAOD::TauJet &input, xAOD::TauJet *&output) const
Create a corrected copy from a constant tau.
Definition: TauSmearingTool.cxx:131
CP::SystematicSet
Class to wrap a set of SystematicVariations.
Definition: SystematicSet.h:31
CP::SystematicVariation
Definition: SystematicVariation.h:47
TauAnalysisTools::TauSmearingTool::m_bMVATESQualityCheck
Gaudi::Property< bool > m_bMVATESQualityCheck
Definition: TauSmearingTool.h:75
TauAnalysisTools::TauSmearingTool::affectingSystematics
virtual CP::SystematicSet affectingSystematics() const
returns: the list of all systematics this tool can be affected by
Definition: TauSmearingTool.cxx:143
TauAnalysisTools::TauSmearingTool::applyCorrection
virtual CP::CorrectionCode applyCorrection(xAOD::TauJet &xTau) const
Apply the correction on a modifyable object.
Definition: TauSmearingTool.cxx:126
TauAnalysisTools::TauSmearingTool::m_sRecommendationTag
Gaudi::Property< std::string > m_sRecommendationTag
Definition: TauSmearingTool.h:70
TauAnalysisTools::TauSmearingTool::m_tCommonSmearingTool
asg::AnaToolHandle< ITauSmearingTool > m_tCommonSmearingTool
Definition: TauSmearingTool.h:67
TauAnalysisTools::TauSmearingTool
Definition: TauSmearingTool.h:33
TauAnalysisTools::TauSmearingTool::recommendedSystematics
virtual CP::SystematicSet recommendedSystematics() const
returns: the list of all systematics this tool recommends to use
Definition: TauSmearingTool.cxx:149
TauAnalysisTools::TauSmearingTool::m_bApplyFading
Gaudi::Property< bool > m_bApplyFading
Definition: TauSmearingTool.h:74
TauAnalysisTools::TauSmearingTool::m_bApplyInsituCorrection
Gaudi::Property< bool > m_bApplyInsituCorrection
Definition: TauSmearingTool.h:76
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TauAnalysisTools::TauSmearingTool::applySystematicVariation
virtual StatusCode applySystematicVariation(const CP::SystematicSet &systConfig)
effects: configure this tool for the given list of systematic variations.
Definition: TauSmearingTool.cxx:154
xAOD::TauJet_v3
Class describing a tau jet.
Definition: TauJet_v3.h:41
AnaToolHandle.h
TauAnalysisTools::TauSmearingTool::TauSmearingTool
TauSmearingTool(const std::string &sName)
Create a proper constructor for Athena.
Definition: TauSmearingTool.cxx:18
TauAnalysisTools::TauSmearingTool::m_sInputFilePath
Gaudi::Property< std::string > m_sInputFilePath
Definition: TauSmearingTool.h:69
TauAnalysisTools::TauSmearingTool::isAffectedBySystematic
virtual bool isAffectedBySystematic(const CP::SystematicVariation &systematic) const
returns: whether this tool is affected by the given systematis
Definition: TauSmearingTool.cxx:137
TauAnalysisTools::TauSmearingTool::m_sCampaign
Gaudi::Property< std::string > m_sCampaign
Definition: TauSmearingTool.h:71
CommonSmearingTool.h
TauAnalysisTools::TauSmearingTool::beginInputFile
virtual StatusCode beginInputFile()
Function called when a new input file is opened.
Definition: TauSmearingTool.cxx:106
asg::AsgMetadataTool
Base class for dual-use tools that provide file metadata access.
Definition: AsgMetadataTool.h:48
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition: AsgToolMacros.h:68
TauAnalysisTools::TauSmearingTool::m_sGenerator
Gaudi::Property< std::string > m_sGenerator
Definition: TauSmearingTool.h:72
AsgMetadataTool.h
CP::CorrectionCode
Return value from object correction CP tools.
Definition: CorrectionCode.h:31
AsgTool.h
TauAnalysisTools::TauSmearingTool::m_useFastSim
Gaudi::Property< bool > m_useFastSim
Definition: TauSmearingTool.h:77
TauAnalysisTools::TauSmearingTool::initialize
virtual StatusCode initialize()
Function initialising the tool.
Definition: TauSmearingTool.cxx:28
ITauSmearingTool.h