ATLAS Offline Software
EfficiencyPtPlots.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #include <utility>
6 
7 #include "EfficiencyPtPlots.h"
8 #include "AthenaKernel/Units.h"
9 
10 namespace Tau{
11 
12  EfficiencyPtPlots::EfficiencyPtPlots(PlotBase* pParent, const std::string& sDir, std::string sTauJetContainerName):
13  PlotBase(pParent, sDir),
14  m_sTauJetContainerName(std::move(sTauJetContainerName))
15  {
16  }
17 
19  {
20  }
21 
23  {
24  m_eff_pt_jetRNNloose = BookTProfile("Eff_Pt_jetRNNloose"," Matched Tau loose RNN eff in pt; pt; eff",20, 0., 150.0);
25  m_eff_pt_jetRNNmed = BookTProfile("Eff_Pt_jetRNNmed","Matched Tau med RNN eff in pt; pt; eff", 20, 0.0, 150.0);
26  m_eff_pt_jetRNNtight = BookTProfile("Eff_Pt_jetRNNtight","Matched Tau tight RNN eff in pt; pt; eff", 20, 0.0, 150.0);
27  m_eff_pt_jetRNNlooseHighPt = BookTProfile("Eff_Pt_jetRNNlooseHightPt"," Matched Tau loose RNN eff in pt; pt; eff", 20, 0.0, 1500.0);
28  m_eff_pt_jetRNNmedHighPt = BookTProfile("Eff_Pt_jetRNNmedHightPt","Matched Tau med RNN eff in pt; pt; eff", 20, 0.0, 1500.0);
29  m_eff_pt_jetRNNtightHighPt = BookTProfile("Eff_Pt_jetRNNtightHightPt","Matched Tau tight RNN eff in pt; pt; eff", 20, 0.0, 1500.0);
30  m_eff_jetRNNloose = BookTProfile("Eff_jetRNNloose"," Matched Tau loose RNN eff total; bin; eff",3,-1.5,1.5);
31  m_eff_jetRNNmed = BookTProfile("Eff_jetRNNmed","Matched Tau med RNN eff total; bin; eff",3,-1.5,1.5);
32  m_eff_jetRNNtight = BookTProfile("Eff_jetRNNtight","Matched Tau tight RNN eff total; bin; eff",3,-1.5,1.5);
33 
34  m_eff_pt_jetGNTauloose = BookTProfile("Eff_Pt_jetGNTauloose"," Matched Tau loose GNTau eff in pt; pt; eff", 20, 0., 150.0);
35  m_eff_pt_jetGNTaumed = BookTProfile("Eff_Pt_jetGNTaumed","Matched Tau med GNTau eff in pt; pt; eff", 20, 0.0, 150.0);
36  m_eff_pt_jetGNTautight = BookTProfile("Eff_Pt_jetGNTautight","Matched Tau tight GNTau eff in pt; pt; eff", 20, 0.0, 150.0);
37  m_eff_pt_jetGNTaulooseHighPt = BookTProfile("Eff_Pt_jetGNTaulooseHightPt"," Matched Tau loose GNTau eff in pt; pt; eff", 20, 0.0, 1500.0);
38  m_eff_pt_jetGNTaumedHighPt = BookTProfile("Eff_Pt_jetGNTaumedHightPt","Matched Tau med GNTau eff in pt; pt; eff", 20, 0.0, 1500.0);
39  m_eff_pt_jetGNTautightHighPt = BookTProfile("Eff_Pt_jetGNTautightHightPt","Matched Tau tight GNTau eff in pt; pt; eff", 20, 0.0, 1500.0);
40  m_eff_jetGNTauloose = BookTProfile("Eff_jetGNTauloose"," Matched Tau loose GNTau eff total; bin; eff",3,-1.5,1.5);
41  m_eff_jetGNTaumed = BookTProfile("Eff_jetGNTaumed","Matched Tau med GNTau eff total; bin; eff",3,-1.5,1.5);
42  m_eff_jetGNTautight = BookTProfile("Eff_jetGNTautight","Matched Tau tight GNTau eff total; bin; eff",3,-1.5,1.5);
43 
44  m_eff_pt_eVetoloose = BookTProfile("Eff_Pt_eVetoloose"," loose eVeto eff in pt; pt; eff", 7, 0.0, 140.0);
45  m_eff_pt_eVetomed = BookTProfile("Eff_Pt_eVetomed"," med eVeto eff in pt; pt; eff", 7, 0.0, 140.0);
46  m_eff_pt_eVetotight = BookTProfile("Eff_Pt_eVetotight","tight eVeto eff in pt; pt; eff", 7, 0.0, 140.0);
47  m_eff_pt_eVetolooseHighPt = BookTProfile("Eff_Pt_eVetolooseHightPt"," loose eVeto eff in pt; pt; eff", 20, 0.0, 1500.0);
48  m_eff_pt_eVetomedHighPt = BookTProfile("Eff_Pt_eVetomedHightPt","med eVeto eff in pt; pt; eff", 20, 0.0, 1500.0);
49  m_eff_pt_eVetotightHighPt = BookTProfile("Eff_Pt_eVetotightHightPt","tight eVeto eff in pt; pt; eff", 20, 0.0, 1500.0);
50  m_eff_eta_eVetoloose = BookTProfile("Eff_Eta_eVetoloose"," loose eVeto eff in eta; eta; eff", 15, -3.0,3.0);
51  m_eff_eta_eVetomed = BookTProfile("Eff_Eta_eVetomed"," med eVeto eff in eta; eta; eff", 15, -3.0,3.0);
52  m_eff_eta_eVetotight = BookTProfile("Eff_Eta_eVetotight","tight eVeto eff in eta; eta; eff", 15, -3.0,3.0);
53  m_eff_eVetoloose = BookTProfile("Eff_eVetoloose"," loose eVeto eff total; bin; eff",3,-1.5,1.5);
54  m_eff_eVetomed = BookTProfile("Eff_eVetomed","med eVeto eff total; bin; eff",3,-1.5,1.5);
55  m_eff_eVetotight = BookTProfile("Eff_eVetotight","tight eVeto eff total; bin; eff",3,-1.5,1.5);
56 
57  }
58 
60  {
64  m_eff_jetRNNloose ->Fill(0., 1., weight);
65  }
66  else {
69  m_eff_jetRNNloose ->Fill(0., 0., weight);
70  }
71 
75  m_eff_jetRNNmed ->Fill(0., 1., weight);
76  }
77  else {
80  m_eff_jetRNNmed ->Fill(0., 0., weight);
81  }
82 
86  m_eff_jetRNNtight ->Fill(0., 1., weight);
87  }
88  else {
91  m_eff_jetRNNtight ->Fill(0., 0., weight);
92  }
93 
94 
95  static const SG::ConstAccessor<char> acc_GNTauL("GNTauL_v0prune");
96  double pass_loose = acc_GNTauL.withDefault(tau,false);
97  m_eff_pt_jetGNTauloose->Fill(tau.pt()/Athena::Units::GeV, pass_loose, weight);
98  m_eff_pt_jetGNTaulooseHighPt->Fill(tau.pt()/Athena::Units::GeV, pass_loose, weight);
99  m_eff_jetGNTauloose->Fill(0.,pass_loose , weight);
100 
101 
102  static const SG::ConstAccessor<char> acc_GNTauM("GNTauM_v0prune");
103  double pass_medium = acc_GNTauM.withDefault(tau,false);
104  m_eff_pt_jetGNTaumed->Fill(tau.pt()/Athena::Units::GeV, pass_medium, weight);
105  m_eff_pt_jetGNTaumedHighPt->Fill(tau.pt()/Athena::Units::GeV, pass_medium, weight);
106  m_eff_jetGNTaumed->Fill(0., pass_medium, weight);
107 
108  static const SG::ConstAccessor<char> acc_GNTauT("GNTauT_v0prune");
109  double pass_tight = acc_GNTauT.withDefault(tau,false);
110  m_eff_pt_jetGNTautight->Fill(tau.pt()/Athena::Units::GeV, pass_tight, weight);
111  m_eff_pt_jetGNTautightHighPt->Fill(tau.pt()/Athena::Units::GeV, pass_tight, weight);
112  m_eff_jetGNTautight->Fill(0., pass_tight, weight);
113 
114 
115  static const SG::ConstAccessor<char> acc_RNNEleLoose("EleRNNLoose_v1");
116  double pass_eVeto_loose = acc_RNNEleLoose.withDefault(tau,false);
117  m_eff_pt_eVetoloose->Fill(tau.pt()/Athena::Units::GeV, pass_eVeto_loose, weight);
118  m_eff_pt_eVetolooseHighPt->Fill(tau.pt()/Athena::Units::GeV, pass_eVeto_loose, weight);
119  m_eff_eVetoloose->Fill(0., pass_eVeto_loose, weight);
120  m_eff_eta_eVetoloose->Fill(tau.eta(), pass_eVeto_loose, weight);
121 
122 
123  static const SG::ConstAccessor<char> acc_RNNEleMedium("EleRNNMedium_v1");
124  double pass_eVeto_medium = acc_RNNEleMedium.withDefault(tau,false);
125  m_eff_pt_eVetomed->Fill(tau.pt()/Athena::Units::GeV, pass_eVeto_medium, weight);
126  m_eff_pt_eVetomedHighPt->Fill(tau.pt()/Athena::Units::GeV, pass_eVeto_medium, weight);
127  m_eff_eVetomed->Fill(0., pass_eVeto_medium, weight);
128  m_eff_eta_eVetomed->Fill(tau.eta(), pass_eVeto_medium, weight);
129 
130  static const SG::ConstAccessor<char> acc_RNNEleTight("EleRNNTight_v1");
131  double pass_eVeto_tight = acc_RNNEleTight.withDefault(tau,false);
132  m_eff_pt_eVetotight->Fill(tau.pt()/Athena::Units::GeV, pass_eVeto_tight, weight);
133  m_eff_pt_eVetotightHighPt->Fill(tau.pt()/Athena::Units::GeV, pass_eVeto_tight, weight);
134  m_eff_eVetotight->Fill(0., pass_eVeto_tight, weight);
135  m_eff_eta_eVetotight->Fill(tau.eta(), pass_eVeto_tight, weight);
136 
137  }
138 
139 
140 }
Tau::EfficiencyPtPlots::m_eff_pt_jetGNTaulooseHighPt
TProfile * m_eff_pt_jetGNTaulooseHighPt
Definition: EfficiencyPtPlots.h:36
Tau::EfficiencyPtPlots::m_eff_pt_eVetotightHighPt
TProfile * m_eff_pt_eVetotightHighPt
Definition: EfficiencyPtPlots.h:50
Tau::EfficiencyPtPlots::m_eff_jetRNNloose
TProfile * m_eff_jetRNNloose
Definition: EfficiencyPtPlots.h:28
GeV
#define GeV
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/Root/HelperFunctions.cxx:18
Tau::EfficiencyPtPlots::m_eff_pt_jetGNTautightHighPt
TProfile * m_eff_pt_jetGNTautightHighPt
Definition: EfficiencyPtPlots.h:38
Tau::EfficiencyPtPlots::m_eff_jetGNTauloose
TProfile * m_eff_jetGNTauloose
Definition: EfficiencyPtPlots.h:40
Tau::EfficiencyPtPlots::m_eff_pt_eVetotight
TProfile * m_eff_pt_eVetotight
Definition: EfficiencyPtPlots.h:46
PlotBase
Definition: PlotBase.h:34
xAOD::TauJet_v3::eta
virtual double eta() const
The pseudorapidity ( ) of the particle.
Tau::EfficiencyPtPlots::m_eff_pt_jetRNNmedHighPt
TProfile * m_eff_pt_jetRNNmedHighPt
Definition: EfficiencyPtPlots.h:25
Tau::EfficiencyPtPlots::m_eff_jetGNTautight
TProfile * m_eff_jetGNTautight
Definition: EfficiencyPtPlots.h:42
python.copyTCTOutput.sDir
sDir
Definition: copyTCTOutput.py:59
Tau::EfficiencyPtPlots::m_eff_jetRNNmed
TProfile * m_eff_jetRNNmed
Definition: EfficiencyPtPlots.h:29
Tau::EfficiencyPtPlots::m_eff_pt_jetRNNmed
TProfile * m_eff_pt_jetRNNmed
Definition: EfficiencyPtPlots.h:22
Tau::EfficiencyPtPlots::fill
void fill(const xAOD::TauJet &tau, float weight)
Definition: EfficiencyPtPlots.cxx:59
Tau
Definition: EfficiencyPtPlots.cxx:10
SG::ConstAccessor< char >
Tau::EfficiencyPtPlots::m_eff_pt_jetRNNtight
TProfile * m_eff_pt_jetRNNtight
Definition: EfficiencyPtPlots.h:23
Tau::EfficiencyPtPlots::m_eff_pt_eVetomedHighPt
TProfile * m_eff_pt_eVetomedHighPt
Definition: EfficiencyPtPlots.h:49
dqt_zlumi_pandas.weight
int weight
Definition: dqt_zlumi_pandas.py:190
Tau::EfficiencyPtPlots::m_eff_jetGNTaumed
TProfile * m_eff_jetGNTaumed
Definition: EfficiencyPtPlots.h:41
xAOD::TauJet_v3::pt
virtual double pt() const
The transverse momentum ( ) of the particle.
Tau::EfficiencyPtPlots::m_eff_pt_jetRNNlooseHighPt
TProfile * m_eff_pt_jetRNNlooseHighPt
Definition: EfficiencyPtPlots.h:24
Tau::EfficiencyPtPlots::initializePlots
void initializePlots()
Definition: EfficiencyPtPlots.cxx:22
Tau::EfficiencyPtPlots::m_eff_pt_eVetolooseHighPt
TProfile * m_eff_pt_eVetolooseHighPt
Definition: EfficiencyPtPlots.h:48
Tau::EfficiencyPtPlots::m_eff_pt_jetRNNloose
TProfile * m_eff_pt_jetRNNloose
Definition: EfficiencyPtPlots.h:21
Tau::EfficiencyPtPlots::m_eff_pt_jetRNNtightHighPt
TProfile * m_eff_pt_jetRNNtightHighPt
Definition: EfficiencyPtPlots.h:26
xAOD::TauJet_v3
Class describing a tau jet.
Definition: TauJet_v3.h:41
Tau::EfficiencyPtPlots::m_eff_pt_jetGNTautight
TProfile * m_eff_pt_jetGNTautight
Definition: EfficiencyPtPlots.h:34
Tau::EfficiencyPtPlots::EfficiencyPtPlots
EfficiencyPtPlots(PlotBase *pParent, const std::string &sDir, std::string sTauJetContainerName)
Definition: EfficiencyPtPlots.cxx:12
Tau::EfficiencyPtPlots::m_eff_pt_jetGNTaumed
TProfile * m_eff_pt_jetGNTaumed
Definition: EfficiencyPtPlots.h:33
Tau::EfficiencyPtPlots::m_eff_eVetotight
TProfile * m_eff_eVetotight
Definition: EfficiencyPtPlots.h:58
Tau::EfficiencyPtPlots::m_eff_pt_jetGNTaumedHighPt
TProfile * m_eff_pt_jetGNTaumedHighPt
Definition: EfficiencyPtPlots.h:37
xAOD::TauJetParameters::JetRNNSigTight
@ JetRNNSigTight
Definition: TauDefs.h:148
Tau::EfficiencyPtPlots::m_eff_eta_eVetotight
TProfile * m_eff_eta_eVetotight
Definition: EfficiencyPtPlots.h:54
Tau::EfficiencyPtPlots::m_eff_pt_jetGNTauloose
TProfile * m_eff_pt_jetGNTauloose
Definition: EfficiencyPtPlots.h:32
Units.h
Wrapper to avoid constant divisions when using units.
Tau::EfficiencyPtPlots::m_eff_jetRNNtight
TProfile * m_eff_jetRNNtight
Definition: EfficiencyPtPlots.h:30
xAOD::TauJetParameters::JetRNNSigMedium
@ JetRNNSigMedium
Definition: TauDefs.h:147
xAOD::TauJet_v3::isTau
bool isTau(TauJetParameters::IsTauFlag flag) const
Get Flag for tau acceptance based on predefined arbitrary criteria.
Definition: TauJet_v3.cxx:245
Tau::EfficiencyPtPlots::m_eff_eVetoloose
TProfile * m_eff_eVetoloose
Definition: EfficiencyPtPlots.h:56
Tau::EfficiencyPtPlots::m_eff_pt_eVetoloose
TProfile * m_eff_pt_eVetoloose
Definition: EfficiencyPtPlots.h:44
Tau::EfficiencyPtPlots::m_eff_eVetomed
TProfile * m_eff_eVetomed
Definition: EfficiencyPtPlots.h:57
Tau::EfficiencyPtPlots::~EfficiencyPtPlots
virtual ~EfficiencyPtPlots()
Definition: EfficiencyPtPlots.cxx:18
PlotBase::BookTProfile
TProfile * BookTProfile(const std::string &name, const std::string &labels, int nBinsX, float startX, float endX, float startY=-1, float endY=-1, bool prependDir=true, bool useRMS=false)
Book a TProfile histogram.
Definition: PlotBase.cxx:186
Tau::EfficiencyPtPlots::m_eff_eta_eVetoloose
TProfile * m_eff_eta_eVetoloose
Definition: EfficiencyPtPlots.h:52
Tau::EfficiencyPtPlots::m_eff_eta_eVetomed
TProfile * m_eff_eta_eVetomed
Definition: EfficiencyPtPlots.h:53
EfficiencyPtPlots.h
xAOD::TauJetParameters::JetRNNSigLoose
@ JetRNNSigLoose
Definition: TauDefs.h:146
Tau::EfficiencyPtPlots::m_eff_pt_eVetomed
TProfile * m_eff_pt_eVetomed
Definition: EfficiencyPtPlots.h:45
SG::ConstAccessor::withDefault
const_reference_type withDefault(const ELT &e, const T &deflt) const
Fetch the variable for one element, as a const reference, with a default.