Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
TauCombinedTES.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TAURECTOOLS_TAUCOMBINEDTES_H
6 #define TAURECTOOLS_TAUCOMBINEDTES_H
7 
9 
11 
12 #include "xAODTau/TauJet.h"
13 
14 #include "TH1F.h"
15 #include "TF1.h"
16 #include "TGraph.h"
17 
18 #include <array>
19 #include <string>
20 
22 public:
24 
25  TauCombinedTES(const std::string& name="TauCombinedTES");
26 
27  virtual StatusCode initialize() override;
28 
29  virtual StatusCode execute(xAOD::TauJet& xTau) const override;
30 
32  bool getTESCompatibility(const xAOD::TauJet& tau) const;
33 
35  double getMvaEnergyResolution(const xAOD::TauJet& tau) const;
36 
37 private:
38 
39  Gaudi::Property<bool> m_addCalibrationResultVariables{this, "addCalibrationResultVariables", false};
40  Gaudi::Property<std::string> m_calFileName{this, "WeightFileName", ""};
41  Gaudi::Property<bool> m_useMvaResolution{this, "useMvaResolution", false};
42 
43  struct Variables
44  {
45  double pt_constituent{0.0};
46  double pt_tauRecCalibrated{0.0};
47  double pt_weighted{0.0};
48  double weight{-1111.0};
49  double sigma_compatibility{-1111.};
50  double sigma_tauRec{-1111.0};
51  double sigma_constituent{-1111.0};
52  double corrcoeff{-1111.0};
53  };
54 
56  TLorentzVector getCombinedP4(const xAOD::TauJet& tau, Variables& variables) const;
57 
59  bool isValid(const xAOD::TauJet& tau) const;
60 
62  int getEtaIndex(float eta) const;
63 
66 
69 
71  double getCorrelation(int decayModeIndex, int etaIndex) const;
72 
74  double getCaloResolution(double et, int decayModeIndex, int etaIndex) const;
75 
77  double getPanTauResolution(double et, int decayModeIndex, int etaIndex) const;
78 
80  double getCaloCalEt(double et, int decayModeIndex, int etaIndex) const;
81 
83  double getPanTauCalEt(double panTauEt, int decayModeIndex, int etaIndex) const;
84 
86  double getWeight(double caloSigma, double panTauSigma, double correlatioon) const;
87 
89  double getCompatibilitySigma(double caloSigma, double panTauSigma, double correlation) const;
90 
92  double getCombinedEt(double caloEt, double et_substructure,
93  xAOD::TauJetParameters::DecayMode decayMode, float eta,
94  Variables& variables) const;
95 
97  double getNsigmaCompatibility(double caloEt, int decayModeIndex) const;
98 
101 
103  const std::array<std::string, DecayModeBinning> m_decayModeNames = {"1p0n","1p1n","1pXn","3p0n","3pXn"};
104 
106  const std::array<std::string, EtaBinning> m_etaBinNames = {"0", "1", "2", "3", "4"};
107 
109  std::array<std::array<std::unique_ptr<TGraph>, EtaBinning>, DecayModeBinning> m_caloRelBias;
110 
112  std::array<std::array<double, EtaBinning>, DecayModeBinning> m_caloRelBiasMaxEt;
113 
115  std::array<std::array<std::unique_ptr<TGraph>, EtaBinning>, DecayModeBinning> m_caloRes;
116 
118  std::array<std::array<double, EtaBinning>, DecayModeBinning> m_caloResMaxEt;
119 
121  std::array<std::array<std::unique_ptr<TGraph>, EtaBinning>, DecayModeBinning> m_panTauRelBias;
122 
124  std::array<std::array<double, EtaBinning>, DecayModeBinning> m_panTauRelBiasMaxEt;
125 
127  std::array<std::array<std::unique_ptr<TGraph>, EtaBinning>, DecayModeBinning> m_panTauRes;
128 
130  std::array<std::array<double, EtaBinning>, DecayModeBinning> m_panTauResMaxEt;
131 
133  std::array<std::array<std::unique_ptr<TGraph>, EtaBinning>, DecayModeBinning> m_mvaRes;
134 
136  std::array<std::array<double, EtaBinning>, DecayModeBinning> m_mvaResMaxEt;
137 
139  std::array<std::unique_ptr<TH1F>, DecayModeBinning> m_correlationHists;
140 
142  std::array<std::unique_ptr<TF1>, DecayModeBinning> m_nSigmaCompatibility;
143 };
144 
145 #endif // TAURECTOOLS_TAUCOMBINEDTES_H
TauCombinedTES::getCaloCalEt
double getCaloCalEt(double et, int decayModeIndex, int etaIndex) const
Get the Et at the calo TES after calibration correction.
Definition: TauCombinedTES.cxx:267
TauCombinedTES::getMvaEnergyResolution
double getMvaEnergyResolution(const xAOD::TauJet &tau) const
Get MVA Et resolution, invoked by METSignificance.
Definition: TauCombinedTES.cxx:304
TauCombinedTES::m_mvaResMaxEt
std::array< std::array< double, EtaBinning >, DecayModeBinning > m_mvaResMaxEt
Maximum Et of m_mvaRes.
Definition: TauCombinedTES.h:136
TauCombinedTES::getTESCompatibility
bool getTESCompatibility(const xAOD::TauJet &tau) const
Check if MVA TES and CaloTES are compatible, invoked by TauSmearing tool.
Definition: TauCombinedTES.cxx:181
et
Extra patterns decribing particle interation process.
PropertyWrapper.h
checkCoolLatestUpdate.variables
variables
Definition: checkCoolLatestUpdate.py:13
TauCombinedTES::getDecayModeIndex
int getDecayModeIndex(xAOD::TauJetParameters::DecayMode decayMode) const
Get the index of decay mode in the calibration histogram.
Definition: TauCombinedTES.cxx:237
TauCombinedTES::m_useMvaResolution
Gaudi::Property< bool > m_useMvaResolution
Definition: TauCombinedTES.h:41
ASG_TOOL_CLASS2
#define ASG_TOOL_CLASS2(CLASSNAME, INT1, INT2)
Definition: AsgToolMacros.h:77
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:83
TauCombinedTES::EtaBinning
@ EtaBinning
Definition: TauCombinedTES.h:100
TauCombinedTES::isValid
bool isValid(const xAOD::TauJet &tau) const
Whether the tau candidate is valid for the calculation.
Definition: TauCombinedTES.cxx:243
TauCombinedTES::m_caloRelBiasMaxEt
std::array< std::array< double, EtaBinning >, DecayModeBinning > m_caloRelBiasMaxEt
Maximum Et of m_caloRelBias.
Definition: TauCombinedTES.h:112
TauCombinedTES
Definition: TauCombinedTES.h:21
TauRecToolBase.h
TauRecToolBase
The base class for all tau tools.
Definition: TauRecToolBase.h:21
TauCombinedTES::getEtaIndex
int getEtaIndex(float eta) const
Get the index of eta in the calibration histogram.
Definition: TauCombinedTES.cxx:204
TauCombinedTES::initialize
virtual StatusCode initialize() override
Tool initializer.
Definition: TauCombinedTES.cxx:19
TauCombinedTES::Variables::sigma_constituent
double sigma_constituent
Definition: TauCombinedTES.h:51
TauCombinedTES::DecayModeBinning
@ DecayModeBinning
Definition: TauCombinedTES.h:100
TauCombinedTES::m_calFileName
Gaudi::Property< std::string > m_calFileName
Definition: TauCombinedTES.h:40
TauCombinedTES::m_nSigmaCompatibility
std::array< std::unique_ptr< TF1 >, DecayModeBinning > m_nSigmaCompatibility
Maximum tolerence in unit of combined sigma, as a function of calo Et.
Definition: TauCombinedTES.h:142
TauCombinedTES::m_addCalibrationResultVariables
Gaudi::Property< bool > m_addCalibrationResultVariables
Definition: TauCombinedTES.h:39
TauCombinedTES::getCorrelation
double getCorrelation(int decayModeIndex, int etaIndex) const
Get correlation coefficient between the calo TES and PanTau.
Definition: TauCombinedTES.cxx:261
xAOD::TauJetParameters::DecayMode
DecayMode
Definition: TauDefs.h:385
TauCombinedTES::Binning
Binning
Binning in the calibraction graph/hist.
Definition: TauCombinedTES.h:100
TauCombinedTES::Variables::sigma_compatibility
double sigma_compatibility
Definition: TauCombinedTES.h:49
TauCombinedTES::Variables
Definition: TauCombinedTES.h:44
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TauCombinedTES::m_decayModeNames
const std::array< std::string, DecayModeBinning > m_decayModeNames
Decay mode binning in the calibration graph/hist.
Definition: TauCombinedTES.h:103
TauCombinedTES::getCaloResolution
double getCaloResolution(double et, int decayModeIndex, int etaIndex) const
Get the resolution of Et at the calo TES.
Definition: TauCombinedTES.cxx:322
xAOD::TauJet_v3
Class describing a tau jet.
Definition: TauJet_v3.h:41
TauCombinedTES::getCompatibilitySigma
double getCompatibilitySigma(double caloSigma, double panTauSigma, double correlation) const
Get the compatibility sigma of calo TES and PanTau.
Definition: TauCombinedTES.cxx:352
TauCombinedTES::m_correlationHists
std::array< std::unique_ptr< TH1F >, DecayModeBinning > m_correlationHists
Calibration histogram: correlation coefficient of calo TES and PanTau.
Definition: TauCombinedTES.h:139
TauCombinedTES::m_panTauRelBias
std::array< std::array< std::unique_ptr< TGraph >, EtaBinning >, DecayModeBinning > m_panTauRelBias
Calibration graph: mean of bias/panTauEt as a funtion of panTauEt.
Definition: TauCombinedTES.h:121
TauCombinedTES::m_etaBinNames
const std::array< std::string, EtaBinning > m_etaBinNames
Eta binning in the calibration graph.
Definition: TauCombinedTES.h:106
TauCombinedTES::getWeight
double getWeight(double caloSigma, double panTauSigma, double correlatioon) const
Get the weight of calo TES.
Definition: TauCombinedTES.cxx:340
TauCombinedTES::getDecayMode
xAOD::TauJetParameters::DecayMode getDecayMode(const xAOD::TauJet &tau) const
Get the decay mode of the tau candidate.
Definition: TauCombinedTES.cxx:228
TauCombinedTES::execute
virtual StatusCode execute(xAOD::TauJet &xTau) const override
Execute - called for each tau candidate.
Definition: TauCombinedTES.cxx:134
TauCombinedTES::Variables::sigma_tauRec
double sigma_tauRec
Definition: TauCombinedTES.h:50
TauCombinedTES::getPanTauResolution
double getPanTauResolution(double et, int decayModeIndex, int etaIndex) const
Get the resolution of Et at PanTau.
Definition: TauCombinedTES.cxx:331
TauCombinedTES::m_panTauRelBiasMaxEt
std::array< std::array< double, EtaBinning >, DecayModeBinning > m_panTauRelBiasMaxEt
Maximum Et of m_panTauRelBias.
Definition: TauCombinedTES.h:124
TauCombinedTES::getPanTauCalEt
double getPanTauCalEt(double panTauEt, int decayModeIndex, int etaIndex) const
Get the Et at PanTau after calibration correction.
Definition: TauCombinedTES.cxx:286
TauCombinedTES::getNsigmaCompatibility
double getNsigmaCompatibility(double caloEt, int decayModeIndex) const
Get the allowed difference between calo TES and PanTau.
Definition: TauCombinedTES.cxx:362
TauCombinedTES::Variables::weight
double weight
Definition: TauCombinedTES.h:48
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
TauCombinedTES::Variables::pt_tauRecCalibrated
double pt_tauRecCalibrated
Definition: TauCombinedTES.h:46
ITauToolBase
The base class for all tau tools.
Definition: ITauToolBase.h:30
TauCombinedTES::TauCombinedTES
TauCombinedTES(const std::string &name="TauCombinedTES")
Definition: TauCombinedTES.cxx:13
TauCombinedTES::m_caloRelBias
std::array< std::array< std::unique_ptr< TGraph >, EtaBinning >, DecayModeBinning > m_caloRelBias
Calibration graph: mean of bias/caloEt as a function of caloEt.
Definition: TauCombinedTES.h:109
TauCombinedTES::m_caloResMaxEt
std::array< std::array< double, EtaBinning >, DecayModeBinning > m_caloResMaxEt
Maximum Et of m_caloRes.
Definition: TauCombinedTES.h:118
GlobalVariables.Variables
Variables
Definition: GlobalVariables.py:276
TauJet.h
TauCombinedTES::Variables::pt_weighted
double pt_weighted
Definition: TauCombinedTES.h:47
TauCombinedTES::Variables::corrcoeff
double corrcoeff
Definition: TauCombinedTES.h:52
TauCombinedTES::Variables::pt_constituent
double pt_constituent
Definition: TauCombinedTES.h:45
TauCombinedTES::m_caloRes
std::array< std::array< std::unique_ptr< TGraph >, EtaBinning >, DecayModeBinning > m_caloRes
Calibration graph: resolution at Calo TES as a function of caloEt.
Definition: TauCombinedTES.h:115
TauCombinedTES::m_panTauResMaxEt
std::array< std::array< double, EtaBinning >, DecayModeBinning > m_panTauResMaxEt
Maximum Et of m_panTauRes.
Definition: TauCombinedTES.h:130
TauCombinedTES::getCombinedEt
double getCombinedEt(double caloEt, double et_substructure, xAOD::TauJetParameters::DecayMode decayMode, float eta, Variables &variables) const
Get the combined Et of calo TES and PanTau.
Definition: TauCombinedTES.cxx:372
TauCombinedTES::m_mvaRes
std::array< std::array< std::unique_ptr< TGraph >, EtaBinning >, DecayModeBinning > m_mvaRes
Calibration graph: MVA TES resolution as a function of MVA pt.
Definition: TauCombinedTES.h:133
TauCombinedTES::getCombinedP4
TLorentzVector getCombinedP4(const xAOD::TauJet &tau, Variables &variables) const
Get the weighted four momentum of calo TES and PanTau.
Definition: TauCombinedTES.cxx:444
TauCombinedTES::m_panTauRes
std::array< std::array< std::unique_ptr< TGraph >, EtaBinning >, DecayModeBinning > m_panTauRes
Calibration graph: resolution at PanTau as a function of panTauEt.
Definition: TauCombinedTES.h:127