ATLAS Offline Software
Loading...
Searching...
No Matches
TauEfficiencyCorrectionsTool.h File Reference
Include dependency graph for TauEfficiencyCorrectionsTool.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

namespace ADD_CMODE (TauAnalysisTools)

Function Documentation

◆ ADD_CMODE()

namespace ADD_CMODE ( TauAnalysisTools )

Create a proper constructor for Athena

Create a constructor for standalone usage

Function initialising the tool

Print tool configuration

Get the tau efficiency scale factor

Decorate the tau with its efficiency scale factor

returns: whether this tool is affected by the given systematics

returns: the list of all systematics this tool can be affected by

returns: the list of all systematics this tool recommends to use

Definition at line 1 of file TauEfficiencyCorrectionsTool.h.

29{
30
31class TauEfficiencyCorrectionsTool
32 : public virtual ITauEfficiencyCorrectionsTool
34{
36 ASG_TOOL_CLASS( TauEfficiencyCorrectionsTool, TauAnalysisTools::ITauEfficiencyCorrectionsTool )
37
38public:
40 TauEfficiencyCorrectionsTool( const std::string& sName );
41
42 ~TauEfficiencyCorrectionsTool();
43
45 virtual StatusCode initialize();
46
47 virtual StatusCode beginInputFile();
48
50 virtual void printConfig() const;
51
53 virtual CP::CorrectionCode getEfficiencyScaleFactor( const xAOD::TauJet& xTau,
54 double& eff, unsigned int iRunNumber = 0);
55
57 virtual CP::CorrectionCode applyEfficiencyScaleFactor( const xAOD::TauJet& xTau,
58 unsigned int iRunNumber = 0);
59
61 virtual bool isAffectedBySystematic( const CP::SystematicVariation& systematic ) const;
62
64 virtual CP::SystematicSet affectingSystematics() const;
65
67 virtual CP::SystematicSet recommendedSystematics() const;
68
69 virtual StatusCode applySystematicVariation( const CP::SystematicSet& systConfig );
70
71 virtual bool isSupportedRunNumber( int /*iRunNumber*/ ) const
72 {
73 return true;
74 };
75
76private:
77 StatusCode firstEvent();
79
80 std::string ConvertJetIDToString(const int iLevel) const;
81
82 std::string ConvertEleIDToString(const int iLevel) const;
83
84 std::string ConvertTriggerIDToString(const int iLevel) const;
85
86 std::string GetTriggerSFMeasurementString() const;
87
88 StatusCode initializeTools_2025_prerec();
89
90 StatusCode readRandomRunNumber();
91
92private:
93
94 Gaudi::Property<std::string> m_sInputFilePathRecoHadTau{this, "InputFilePathRecoHadTau", ""};
95 Gaudi::Property<std::string> m_sInputFilePathEleIDHadTau{this, "InputFilePathEleIDHadTau", ""};
96 Gaudi::Property<std::string> m_sInputFilePathEleIDElectron{this, "InputFilePathEleIDElectron", ""};
97 Gaudi::Property<std::string> m_sInputFilePathJetIDHadTau{this, "InputFilePathJetIDHadTau", ""};
98 Gaudi::Property<std::string> m_sInputFilePathTriggerHadTau{this, "InputFilePathTriggerHadTau", ""};
99 Gaudi::Property<std::string> m_sRecommendationTag{this, "RecommendationTag", "2025-prerec"};
100 Gaudi::Property<std::string> m_sTriggerName{this, "TriggerName", ""};
101 Gaudi::Property<bool> m_bReadRandomRunNumber{this, "AutoTriggerYear", false};
102 Gaudi::Property<std::string> m_sTriggerSFMeasurement{this, "TriggerSFMeasurement", "combined"};
103 Gaudi::Property<bool> m_bUseTauSubstructure{this, "UseTauSubstructure", false};
104 Gaudi::Property<int> m_iJetIDLevel{this, "JetIDLevel", static_cast<int>(TauAnalysisTools::JETIDNONE)};
105 Gaudi::Property<bool> m_useGNTau{this, "useGNTau", false};
106 Gaudi::Property<int> m_iEleIDLevel{this, "EleIDLevel", static_cast<int>(TauAnalysisTools::ELEIDNONE)};
107 Gaudi::Property<std::string> m_sCampaign{this, "Campaign", ""};
108 Gaudi::Property<bool> m_useFastSim{this, "useFastSim", false};
109 Gaudi::Property<bool> m_bSkipTruthMatchCheck{this, "SkipTruthMatchCheck", false};
110 Gaudi::Property<bool> m_applyToData{this, "ApplyToData", false}; // for experts only
111 Gaudi::Property<std::vector<int>> m_vecEfficiencyCorrectionTypes{this, "EfficiencyCorrectionTypes", {}};
112
113 std::vector<int> m_vEfficiencyCorrectionTypes;
114 ToolHandle<ITauEfficiencyCorrectionsTool> m_tTool{this, "Tool", {}};
115 std::string m_sInputFilePathDecayModeHadTau;
116 std::string m_sVarName;
117 bool m_bIsData;
118 bool m_bIsConfigured;
119 bool m_firstEvent = false;
120 unsigned int m_iRunNumber;
121
122}; // class TauEfficiencyCorrectionsTool
123
124} // namespace ADD_CMODE(TauAnalysisTools)
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Base class for dual-use tools that provide file metadata access.
virtual StatusCode beginInputFile()
Function called when a new input file is opened.
virtual StatusCode beginEvent()
Function called when a new events is loaded.
virtual StatusCode initialize()
Dummy implementation of the initialisation function.
Definition AsgTool.h:133
::StatusCode StatusCode
StatusCode definition for legacy code.
TauJet_v3 TauJet
Definition of the current "tau version".
Definition TauJet.h:17