ATLAS Offline Software
Loading...
Searching...
No Matches
CommonDiTauEfficiencyTool.h
Go to the documentation of this file.
1
11
12
13#ifndef TAUANALYSISTOOLS_COMMONDITAUEFFICIENCYTOOL_H
14#define TAUANALYSISTOOLS_COMMONDITAUEFFICIENCYTOOL_H
15
16
17// Framework include(s):
18#include "AsgTools/AsgTool.h"
19
20// EDM include(s):
21#include "xAODTau/DiTauJet.h"
22
23// Local include(s):
28
29namespace TauAnalysisTools
30{
32double TruthLeadPt(const xAOD::DiTauJet& xDiTau);
34double TruthSubleadPt(const xAOD::DiTauJet& xDiTau);
36double TruthDeltaR(const xAOD::DiTauJet& xDiTau);
37
40 , public virtual IDiTauEfficiencyCorrectionsTool
41{
44
45public:
46
47 CommonDiTauEfficiencyTool(const std::string& sName);
48
50
51 virtual StatusCode initialize() override;
52
53 // next two lines are needed to achieve overloading of those methods
56
64 virtual CP::CorrectionCode getEfficiencyScaleFactor(const xAOD::DiTauJet& xDiTau, double& dEfficiencyScaleFactor) override;
65
72 virtual CP::CorrectionCode applyEfficiencyScaleFactor(const xAOD::DiTauJet& xDiTau) override;
73
75 double (*m_fXDiTau)(const xAOD::DiTauJet& xDiTau);
77 double (*m_fYDiTau)(const xAOD::DiTauJet& xDiTau);
79 double (*m_fZDiTau)(const xAOD::DiTauJet& xDiTau);
80
81 void ReadInputs(std::unique_ptr<TFile> &fFile);
82
92 CP::CorrectionCode getValue(const std::string& sHistName,
93 const xAOD::DiTauJet& xDiTau,
94 double& dEfficiencyScaleFactor) const;
95
102
103};
104} // namespace TauAnalysisTools
105
106#endif // TAUANALYSISTOOLS_COMMONDITAUEFFICIENCYTOOL_H
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
recommended ditau efficiency correction scale factors and uncertainties
Return value from object correction CP tools.
double(* m_fXDiTau)(const xAOD::DiTauJet &xDiTau)
scale factor bin x (e.g.
CommonDiTauEfficiencyTool(const std::string &sName)
Create a proper constructor for Athena.
void generateSystematicSets()
generate a set of relevant systematic variations to be applied
CP::CorrectionCode getValue(const std::string &sHistName, const xAOD::DiTauJet &xDiTau, double &dEfficiencyScaleFactor) const
Get the scale factor from a particular recommendations histogram.
bool m_bSFIsAvailableDiTau
true if scale factor name is already decorated
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
double(* m_fZDiTau)(const xAOD::DiTauJet &xDiTau)
scale factor bin z (e.g.
void ReadInputs(std::unique_ptr< TFile > &fFile)
virtual CP::CorrectionCode applyEfficiencyScaleFactor(const xAOD::DiTauJet &xDiTau) override
Get the Efficiency Scale Factor of ditau jet.
bool m_bSFIsAvailableCheckedDiTau
true if cale factor name is already decorated has already been checked
double(* m_fYDiTau)(const xAOD::DiTauJet &xDiTau)
scale factor bin y (e.g.
virtual CP::CorrectionCode getEfficiencyScaleFactor(const xAOD::DiTauJet &xDiTau, double &dEfficiencyScaleFactor) override
Get the Efficiency Scale Factor of ditau jet.
virtual CP::CorrectionCode getValue(const std::string &sHistName, const xAOD::TauJet &xTau, double &dEfficiencyScaleFactor) const
CommonEfficiencyTool(const std::string &sName)
Create a proper constructor for Athena.
virtual CP::CorrectionCode getEfficiencyScaleFactor(const xAOD::TauJet &tau, double &dEfficiencyScaleFactor, unsigned int iRunNumber=0)
Declare the interface that the class provides.
virtual CP::CorrectionCode applyEfficiencyScaleFactor(const xAOD::TauJet &xTau, unsigned int iRunNumber=0)
Decorate the tau with its efficiency.
double TruthSubleadPt(const xAOD::DiTauJet &xDiTau)
return the truth vis pT of the subleading pT matched particle.
double TruthDeltaR(const xAOD::DiTauJet &xDiTau)
return the dR of between the leading and subleading pT matched particle.
double TruthLeadPt(const xAOD::DiTauJet &xDiTau)
return the truth vis pT of the leading pT matched particle.
DiTauJet_v1 DiTauJet
Definition of the current version.
Definition DiTauJet.h:17