ATLAS Offline Software
PhysicsAnalysis
TauID
TauDQA
src
EfficiencyPtPlots.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include <utility>
6
7
#include "
EfficiencyPtPlots.h
"
8
9
namespace
Tau
{
10
11
EfficiencyPtPlots::EfficiencyPtPlots
(
PlotBase
* pParent,
const
std::string&
sDir
, std::string sTauJetContainerName):
12
PlotBase
(pParent,
sDir
),
13
m_eff_pt_jetRNNloose(nullptr),
14
m_eff_pt_jetRNNmed(nullptr),
15
m_eff_pt_jetRNNtight(nullptr),
16
m_eff_jetRNNloose(nullptr),
17
m_eff_jetRNNmed(nullptr),
18
m_eff_jetRNNtight(nullptr),
19
m_sTauJetContainerName(std::move(sTauJetContainerName))
20
{
21
}
22
23
EfficiencyPtPlots::~EfficiencyPtPlots
()
24
{
25
}
26
27
void
EfficiencyPtPlots::initializePlots
()
28
{
29
m_eff_pt_jetRNNloose
=
BookTProfile
(
"Eff_Pt_jetRNNloose"
,
" Matched Tau loose eff in pt; pt; eff"
, 20, 0., 150.0);
30
m_eff_pt_jetRNNmed
=
BookTProfile
(
"Eff_Pt_jetRNNmed"
,
"Matched Tau med eff in pt; pt; eff"
, 20, 0.0, 150.0);
31
m_eff_pt_jetRNNtight
=
BookTProfile
(
"Eff_Pt_jetRNNtight"
,
"Matched Tau tight eff in pt; pt; eff"
, 20, 0.0, 150.0);
32
m_eff_pt_jetRNNlooseHighPt
=
BookTProfile
(
"Eff_Pt_jetRNNlooseHightPt"
,
" Matched Tau loose eff in pt; pt; eff"
, 20, 0.0, 1500.0);
33
m_eff_pt_jetRNNmedHighPt
=
BookTProfile
(
"Eff_Pt_jetRNNmedHightPt"
,
"Matched Tau med eff in pt; pt; eff"
, 20, 0.0, 1500.0);
34
m_eff_pt_jetRNNtightHighPt
=
BookTProfile
(
"Eff_Pt_jetRNNtightHightPt"
,
"Matched Tau tight eff in pt; pt; eff"
, 20, 0.0, 1500.0);
35
m_eff_jetRNNloose
=
BookTProfile
(
"Eff_jetRNNloose"
,
" Matched Tau loose eff total; bin; eff"
,3,-1.5,1.5);
36
m_eff_jetRNNmed
=
BookTProfile
(
"Eff_jetRNNmed"
,
"Matched Tau med eff total; bin; eff"
,3,-1.5,1.5);
37
m_eff_jetRNNtight
=
BookTProfile
(
"Eff_jetRNNtight"
,
"Matched Tau tight eff total; bin; eff"
,3,-1.5,1.5);
38
}
39
40
void
EfficiencyPtPlots::fill
(
const
xAOD::TauJet
& tau,
float
weight
)
41
{
42
if
( tau.
isTau
(
xAOD::TauJetParameters::JetRNNSigLoose
) ) {
43
m_eff_pt_jetRNNloose
->Fill(tau.
pt
()/1000., 1.,
weight
);
44
m_eff_pt_jetRNNlooseHighPt
->Fill(tau.
pt
()/1000., 1.,
weight
);
45
m_eff_jetRNNloose
->Fill(0., 1.,
weight
);
46
}
47
else
{
48
m_eff_pt_jetRNNloose
->Fill(tau.
pt
()/1000., 0.,
weight
);
49
m_eff_pt_jetRNNlooseHighPt
->Fill(tau.
pt
()/1000., 0.,
weight
);
50
m_eff_jetRNNloose
->Fill(0., 0.,
weight
);
51
}
52
53
if
( tau.
isTau
(
xAOD::TauJetParameters::JetRNNSigMedium
) ) {
54
m_eff_pt_jetRNNmed
->Fill(tau.
pt
()/1000., 1.,
weight
);
55
m_eff_pt_jetRNNmedHighPt
->Fill(tau.
pt
()/1000., 1.,
weight
);
56
m_eff_jetRNNmed
->Fill(0., 1.,
weight
);
57
}
58
else
{
59
m_eff_pt_jetRNNmed
->Fill(tau.
pt
()/1000., 0.,
weight
);
60
m_eff_pt_jetRNNmedHighPt
->Fill(tau.
pt
()/1000., 0.,
weight
);
61
m_eff_jetRNNmed
->Fill(0., 0.,
weight
);
62
}
63
64
if
( tau.
isTau
(
xAOD::TauJetParameters::JetRNNSigTight
) ) {
65
m_eff_pt_jetRNNtight
->Fill(tau.
pt
()/1000., 1.,
weight
);
66
m_eff_pt_jetRNNtightHighPt
->Fill(tau.
pt
()/1000., 1.,
weight
);
67
m_eff_jetRNNtight
->Fill(0., 1.,
weight
);
68
}
69
else
{
70
m_eff_pt_jetRNNtight
->Fill(tau.
pt
()/1000., 0.,
weight
);
71
m_eff_pt_jetRNNtightHighPt
->Fill(tau.
pt
()/1000., 0.,
weight
);
72
m_eff_jetRNNtight
->Fill(0., 0.,
weight
);
73
}
74
}
75
76
}
Tau::EfficiencyPtPlots::m_eff_jetRNNloose
TProfile * m_eff_jetRNNloose
Definition:
EfficiencyPtPlots.h:28
PlotBase
Definition:
PlotBase.h:34
Tau::EfficiencyPtPlots::m_eff_pt_jetRNNmedHighPt
TProfile * m_eff_pt_jetRNNmedHighPt
Definition:
EfficiencyPtPlots.h:25
python.copyTCTOutput.sDir
sDir
Definition:
copyTCTOutput.py:60
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:40
Tau
Definition:
EfficiencyPtPlots.cxx:9
Tau::EfficiencyPtPlots::m_eff_pt_jetRNNtight
TProfile * m_eff_pt_jetRNNtight
Definition:
EfficiencyPtPlots.h:23
dqt_zlumi_pandas.weight
int weight
Definition:
dqt_zlumi_pandas.py:189
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:27
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::EfficiencyPtPlots
EfficiencyPtPlots(PlotBase *pParent, const std::string &sDir, std::string sTauJetContainerName)
Definition:
EfficiencyPtPlots.cxx:11
xAOD::TauJetParameters::JetRNNSigTight
@ JetRNNSigTight
Definition:
TauDefs.h:148
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:273
Tau::EfficiencyPtPlots::~EfficiencyPtPlots
virtual ~EfficiencyPtPlots()
Definition:
EfficiencyPtPlots.cxx:23
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
EfficiencyPtPlots.h
xAOD::TauJetParameters::JetRNNSigLoose
@ JetRNNSigLoose
Definition:
TauDefs.h:146
Generated on Thu Nov 7 2024 21:14:05 for ATLAS Offline Software by
1.8.18