ATLAS Offline Software
Loading...
Searching...
No Matches
CommonDiTauSmearingTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TAUANALYSISTOOLS_COMMONDITAUSMEARINGTOOL_H
6#define TAUANALYSISTOOLS_COMMONDITAUSMEARINGTOOL_H
7
8/*
9 author: David Kirchmeier
10 mail: david.kirchmeier@cern.ch
11 documentation in: ../doc/README-DiTauSmearingTool.rst
12*/
13
14// Framework include(s):
17
18// EDM include(s):
19#include "xAODTau/DiTauJet.h"
21
22// Local include(s):
28
29#include "TH3.h"
30
31namespace TauAnalysisTools
32{
33
35 : public CommonSmearingTool
36 , public virtual IDiTauSmearingTool
37{
40
41public:
42
43 CommonDiTauSmearingTool(const std::string& sName);
44
45 virtual StatusCode initialize() override;
46
49 virtual CP::CorrectionCode applyCorrection( xAOD::DiTauJet& xDiTau ) override;
52 virtual CP::CorrectionCode correctedCopy( const xAOD::DiTauJet& xDiTau,
53 xAOD::DiTauJet*& xDiTauCopy) override;
54
55
56protected:
57
58 std::map<std::string, TH3*> m_mDTSF;
59 double (*m_fX)(const xAOD::DiTauJet& xDiTau);
60 double (*m_fY)(const xAOD::DiTauJet& xDiTau);
61 double (*m_fZ)(const xAOD::DiTauJet& xDiTau);
62
63 template<class T>
64 void ReadInputs(TFile* fFile, std::map<std::string, T>& mMap);
66 virtual CP::CorrectionCode getValue(const std::string& sHistName,
67 const xAOD::DiTauJet& xDiTau,
68 double& dCorrectionFactor) const;
70
71};
72} // namespace TauAnalysisTools
73
74#endif // TAUANALYSISTOOLS_COMMONEFFICIENCYTOOL_H
75
76
77
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Return value from object correction CP tools.
double(* m_fY)(const xAOD::DiTauJet &xDiTau)
CommonDiTauSmearingTool(const std::string &sName)
Create a proper constructor for Athena.
double(* m_fX)(const xAOD::DiTauJet &xDiTau)
virtual CP::CorrectionCode applyCorrection(xAOD::DiTauJet &xDiTau) override
Declare the interface that the class provides.
virtual CP::CorrectionCode correctedCopy(const xAOD::DiTauJet &xDiTau, xAOD::DiTauJet *&xDiTauCopy) override
Create a corrected copy from a constant ditau.
double(* m_fZ)(const xAOD::DiTauJet &xDiTau)
virtual CP::CorrectionCode getValue(const std::string &sHistName, const xAOD::DiTauJet &xDiTau, double &dCorrectionFactor) const
void ReadInputs(TFile *fFile, std::map< std::string, T > &mMap)
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
virtual CP::CorrectionCode getValue(const std::string &sHistName, const xAOD::TauJet &xTau, double &dEfficiencyScaleFactor) const
CommonSmearingTool(const std::string &sName)
Create a proper constructor for Athena.
virtual CP::CorrectionCode applyCorrection(xAOD::TauJet &xTau) const
Apply the correction on a modifyable object.
virtual CP::CorrectionCode correctedCopy(const xAOD::TauJet &xTau, xAOD::TauJet *&xTauCopy) const
Create a corrected copy from a constant tau.
DiTauJet_v1 DiTauJet
Definition of the current version.
Definition DiTauJet.h:17