15namespace ADD_CMODE(TauAnalysisTools)
18TauSmearingTool::TauSmearingTool(
const std::string& sName )
22TauSmearingTool::~TauSmearingTool()
25StatusCode TauSmearingTool::initialize()
29 if (m_bSkipTruthMatchCheck)
30 ATH_MSG_WARNING(
"Truth match check will be skipped. This is ONLY FOR TESTING PURPOSE!");
32 if (m_sInputFilePath.empty()) {
33 std::string sDirectory =
"TauAnalysisTools/" + std::string(
sSharedFilesVersion) +
"/Smearing/";
35 if(m_sRecommendationTag ==
"2025-prerec") {
37 if (m_sCampaign!=
"mc23" && m_sCampaign!=
"mc20"){
38 ATH_MSG_ERROR(
"unknown campaign (mc20|mc23):" << m_sCampaign);
39 return StatusCode::FAILURE;
43 if (m_sCampaign==
"mc23") {
44 m_sInputFilePath = m_useFastSim ? sDirectory+
"TES_TrueHadTau_GNTau_mc23_v0_incl_AF3.root" : sDirectory+
"TES_TrueHadTau_GNTau_mc23_v0.root";
46 m_sInputFilePath = m_useFastSim ? sDirectory+
"TES_TrueHadTau_GNTau_mc20_v0_incl_AF3.root" : sDirectory+
"TES_TrueHadTau_GNTau_mc20_v0.root";
49 if (m_sCampaign==
"mc23") {
50 m_sInputFilePath = m_useFastSim ? sDirectory+
"TES_TrueHadTau_RNN_mc23_v3_incl_AF3.root" : sDirectory+
"TES_TrueHadTau_RNN_mc23_v3.root";
52 m_sInputFilePath = m_useFastSim ? sDirectory+
"TES_TrueHadTau_RNN_mc20_v2_incl_AF3.root" : sDirectory+
"TES_TrueHadTau_RNN_mc20_v2.root";
57 ATH_MSG_ERROR(
"unknown recommendation tag " << m_sRecommendationTag);
58 return StatusCode::FAILURE;
62 if (m_tCommonSmearingTool.empty()){
64 ATH_CHECK(config.setProperty(
"InputFilePath", m_sInputFilePath));
65 ATH_CHECK(config.setProperty(
"SkipTruthMatchCheck", m_bSkipTruthMatchCheck));
66 ATH_CHECK(config.setProperty(
"ApplyFading", m_bApplyFading));
67 ATH_CHECK(config.setProperty(
"MVATESQualityCheck", m_bMVATESQualityCheck));
68 ATH_CHECK(config.setProperty(
"ApplyInsituCorrection", m_bApplyInsituCorrection));
69 ATH_CHECK(config.setProperty(
"OutputLevel", this->msg().level()));
70 ATH_CHECK(config.makePrivateTool(m_tCommonSmearingTool));
72 ATH_CHECK(m_tCommonSmearingTool.retrieve());
77 if (!registry.registerSystematics(*
this)) {
79 return StatusCode::FAILURE;
82 return StatusCode::SUCCESS;
87StatusCode TauSmearingTool::beginInputFile()
91 ATH_CHECK( inputMetaStore()->retrieve( fmd,
"FileMetaData" ) );
92 std::string simType(
"");
95 if(result) std::transform(simType.begin(), simType.end(), simType.begin(), ::toupper);
97 if( simType.find(
"ATLFAST3") != std::string::npos && !m_useFastSim){
98 ATH_MSG_WARNING(
"Input file is AF3 sample but you are _not_ using AF3 corrections and uncertainties, you should set \"useFastSim\" to \"true\"");
99 }
else if (simType.find(
"FULLG4")!=std::string::npos && m_useFastSim){
100 ATH_MSG_WARNING(
"Input file is full simulation but you are using AF3 corrections and uncertainties, you should set \"useFastSim\" to \"false\"");
104 return StatusCode::SUCCESS;
109 return m_tCommonSmearingTool->applyCorrection(xTau);
114 return m_tCommonSmearingTool->correctedCopy(input, output);
120 return m_tCommonSmearingTool->isAffectedBySystematic( systematic );
126 return m_tCommonSmearingTool->affectingSystematics();
132 return m_tCommonSmearingTool->recommendedSystematics();
135StatusCode TauSmearingTool::applySystematicVariation (
const CP::SystematicSet& sSystematicSet )
137 return m_tCommonSmearingTool->applySystematicVariation( sSystematicSet );