5#ifndef TAUANALYSISTOOLS_TAUEFFICIENCYCORRECTIONSTOOL_H
6#define TAUANALYSISTOOLS_TAUEFFICIENCYCORRECTIONSTOOL_H
28namespace ADD_CMODE(TauAnalysisTools)
31class TauEfficiencyCorrectionsTool
32 :
public virtual ITauEfficiencyCorrectionsTool
36 ASG_TOOL_CLASS( TauEfficiencyCorrectionsTool, TauAnalysisTools::ITauEfficiencyCorrectionsTool )
40 TauEfficiencyCorrectionsTool(
const std::string& sName );
42 ~TauEfficiencyCorrectionsTool();
47 virtual StatusCode beginInputFile();
50 virtual void printConfig()
const;
54 double& eff,
unsigned int iRunNumber = 0);
58 unsigned int iRunNumber = 0);
69 virtual StatusCode applySystematicVariation(
const CP::SystematicSet& systConfig );
71 virtual bool isSupportedRunNumber(
int )
const
77 StatusCode firstEvent();
78 StatusCode beginEvent();
80 std::string ConvertJetIDToString(
const int iLevel)
const;
82 std::string ConvertEleIDToString(
const int iLevel)
const;
84 std::string ConvertTriggerIDToString(
const int iLevel)
const;
86 std::string GetTriggerSFMeasurementString()
const;
88 StatusCode initializeTools_2025_prerec();
90 StatusCode readRandomRunNumber();
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};
105 Gaudi::Property<bool> m_useGNTau{
this,
"useGNTau",
false};
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};
111 Gaudi::Property<std::vector<int>> m_vecEfficiencyCorrectionTypes{
this,
"EfficiencyCorrectionTypes", {}};
113 std::vector<int> m_vEfficiencyCorrectionTypes;
114 ToolHandle<ITauEfficiencyCorrectionsTool> m_tTool{
this,
"Tool", {}};
115 std::string m_sInputFilePathDecayModeHadTau;
116 std::string m_sVarName;
118 bool m_bIsConfigured;
119 bool m_firstEvent =
false;
120 unsigned int m_iRunNumber;