ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
TauID
TauDQA
src
DecayModeMigration.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 "
DecayModeMigration.h
"
6
7
namespace
Tau
{
8
9
DecayModeMigration::DecayModeMigration
(
PlotBase
* pParent,
const
std::string& sDir, std::string sTauJetContainerName):
10
PlotBase
(pParent, sDir),
11
m_sTauJetContainerName
(
std
::move(sTauJetContainerName))
12
{
13
}
14
15
void
DecayModeMigration::initializePlots
()
16
{
17
m_migration_panTau
=
Book1D
(
"panTau_migration"
,
m_sTauJetContainerName
+
" panTau migration"
,
DECAYSIZE
,0,
DECAYSIZE
);
18
m_migration_panTauProto
=
Book1D
(
"panTauProto_migration"
,
m_sTauJetContainerName
+
" panTau proto migration"
,
DECAYSIZE
,0,
DECAYSIZE
);
19
m_migration_panTau
->GetXaxis()->SetLabelSize(0.05);
20
m_migration_panTauProto
->GetXaxis()->SetLabelSize(0.05);
21
for
(
int
i=1; i<=
DECAYSIZE
;i++){
22
m_migration_panTauProto
->GetXaxis()->SetBinLabel(i,
m_lable
[i-1]);
23
m_migration_panTau
->GetXaxis()->SetBinLabel(i,
m_lable
[i-1]);
24
}
25
}
26
27
28
void
DecayModeMigration::fill
(
const
xAOD::TauJet
& thisTau,
xAOD::TauJetParameters::DecayMode
trueMode,
float
weight)
29
{
30
int
isPanTauCandidate = 0;
31
bool
foundDetail = thisTau.
panTauDetail
(
xAOD::TauJetParameters::PanTauDetails::PanTau_isPanTauCandidate
, isPanTauCandidate);
32
if
( !foundDetail || !isPanTauCandidate )
return
;
33
34
// panTau
35
int
recMode =
xAOD::TauJetParameters::DecayMode::Mode_Error
;
36
foundDetail = thisTau.
panTauDetail
(
xAOD::TauJetParameters::PanTauDetails::PanTau_DecayMode
, recMode);
37
if
( foundDetail )
decayModeFill
(trueMode, recMode,
m_migration_panTau
, weight);
38
39
// panTauProto
40
recMode =
xAOD::TauJetParameters::DecayMode::Mode_Error
;
41
foundDetail = thisTau.
panTauDetail
(
xAOD::TauJetParameters::PanTauDetails::PanTau_DecayModeProto
, recMode);
42
if
( foundDetail ) {
43
decayModeFill
(trueMode, recMode,
m_migration_panTauProto
, weight);
44
}
45
46
}
47
48
void
DecayModeMigration::decayModeFill
(
int
trueMode,
int
recMode, TH1 *histo,
float
weight)
49
{
50
if
( recMode >=
xAOD::TauJetParameters::DecayMode::Mode_Other
|| trueMode >=
xAOD::TauJetParameters::DecayMode::Mode_Other
)
return
;
51
52
switch
( trueMode ) {
53
case
xAOD::TauJetParameters::DecayMode::Mode_1p0n
:
54
switch
( recMode ) {
55
case
xAOD::TauJetParameters::DecayMode::Mode_1p0n
:
56
histo->Fill(
t10r10
+ 0.5, weight);
57
break
;
58
case
xAOD::TauJetParameters::DecayMode::Mode_1p1n
:
59
histo->Fill(
t10r11
+ 0.5, weight);
60
break
;
61
case
xAOD::TauJetParameters::DecayMode::Mode_1pXn
:
62
histo->Fill(
t10r1x
+ 0.5, weight);
63
break
;
64
default
:
65
histo->Fill(
t1r3
+ 0.5, weight);
66
break
;
67
}
68
break
;
69
case
xAOD::TauJetParameters::DecayMode::Mode_1p1n
:
70
switch
( recMode ) {
71
case
xAOD::TauJetParameters::DecayMode::Mode_1p0n
:
72
histo->Fill(
t11r10
+ 0.5, weight);
73
break
;
74
case
xAOD::TauJetParameters::DecayMode::Mode_1p1n
:
75
histo->Fill(
t11r11
+ 0.5, weight);
76
break
;
77
case
xAOD::TauJetParameters::DecayMode::Mode_1pXn
:
78
histo->Fill(
t11r1x
+ 0.5, weight);
79
break
;
80
default
:
81
histo->Fill(
t1r3
+ 0.5, weight);
82
break
;
83
}
84
break
;
85
case
xAOD::TauJetParameters::DecayMode::Mode_1pXn
:
86
switch
( recMode ) {
87
case
xAOD::TauJetParameters::DecayMode::Mode_1p0n
:
88
histo->Fill(
t1xr10
+ 0.5, weight);
89
break
;
90
case
xAOD::TauJetParameters::DecayMode::Mode_1p1n
:
91
histo->Fill(
t1xr11
+ 0.5, weight);
92
break
;
93
case
xAOD::TauJetParameters::DecayMode::Mode_1pXn
:
94
histo->Fill(
t1xr1x
+ 0.5, weight);
95
break
;
96
default
:
97
histo->Fill(
t1r3
+ 0.5, weight);
98
break
;
99
}
100
break
;
101
case
xAOD::TauJetParameters::DecayMode::Mode_3p0n
:
102
switch
( recMode ) {
103
case
xAOD::TauJetParameters::DecayMode::Mode_3p0n
:
104
histo->Fill(
t30r30
+ 0.5, weight);
105
break
;
106
case
xAOD::TauJetParameters::DecayMode::Mode_3pXn
:
107
histo->Fill(
t30r3x
+ 0.5, weight);
108
break
;
109
default
:
110
histo->Fill(
t3r1
+ 0.5, weight);
111
break
;
112
}
113
break
;
114
case
xAOD::TauJetParameters::DecayMode::Mode_3pXn
:
115
switch
( recMode ) {
116
case
xAOD::TauJetParameters::DecayMode::Mode_3p0n
:
117
histo->Fill(
t3xr30
+ 0.5, weight);
118
break
;
119
case
xAOD::TauJetParameters::DecayMode::Mode_3pXn
:
120
histo->Fill(
t3xr3x
+ 0.5, weight);
121
break
;
122
default
:
123
histo->Fill(
t3r1
+ 0.5, weight);
124
break
;
125
}
126
break
;
127
}
128
return
;
129
}
130
}
DecayModeMigration.h
PlotBase::Book1D
TH1D * Book1D(std::string_view name, std::string_view labels, int nBins, float start, float end, bool prependDir=true)
Book a TH1D histogram.
Definition
PlotBase.cxx:94
PlotBase::PlotBase
PlotBase(PlotBase *parent, std::string_view sDir)
Definition
PlotBase.cxx:29
Tau::DecayModeMigration::DecayModeMigration
DecayModeMigration(PlotBase *pParent, const std::string &sDir, std::string sTauJetContainerName)
Definition
DecayModeMigration.cxx:9
Tau::DecayModeMigration::decayModeFill
void decayModeFill(int trueMode, int recMode, TH1 *histo, float weight)
Definition
DecayModeMigration.cxx:48
Tau::DecayModeMigration::initializePlots
void initializePlots()
Definition
DecayModeMigration.cxx:15
Tau::DecayModeMigration::m_sTauJetContainerName
std::string m_sTauJetContainerName
Definition
DecayModeMigration.h:64
Tau::DecayModeMigration::fill
void fill(const xAOD::TauJet &tau, xAOD::TauJetParameters::DecayMode trueMode, float weight)
Definition
DecayModeMigration.cxx:28
Tau::DecayModeMigration::m_migration_panTau
TH1 * m_migration_panTau
Definition
DecayModeMigration.h:60
Tau::DecayModeMigration::m_migration_panTauProto
TH1 * m_migration_panTauProto
Definition
DecayModeMigration.h:61
Tau::DecayModeMigration::m_lable
const char * m_lable[DECAYSIZE]
Definition
DecayModeMigration.h:42
xAOD::TauJet_v3::panTauDetail
bool panTauDetail(TauJetParameters::PanTauDetails panTauDetail, int &value) const
Get and set values of pantau details variables via enum.
Definition
TauJet_v3.cxx:339
Tau
Definition
TauDQA/src/CorePlots.cxx:8
Tau::t1xr10
@ t1xr10
Definition
DecayModeMigration.h:26
Tau::t1r3
@ t1r3
Definition
DecayModeMigration.h:30
Tau::DECAYSIZE
@ DECAYSIZE
Definition
DecayModeMigration.h:32
Tau::t30r3x
@ t30r3x
Definition
DecayModeMigration.h:28
Tau::t10r1x
@ t10r1x
Definition
DecayModeMigration.h:23
Tau::t1xr1x
@ t1xr1x
Definition
DecayModeMigration.h:19
Tau::t11r1x
@ t11r1x
Definition
DecayModeMigration.h:25
Tau::t11r11
@ t11r11
Definition
DecayModeMigration.h:18
Tau::t1xr11
@ t1xr11
Definition
DecayModeMigration.h:27
Tau::t3xr3x
@ t3xr3x
Definition
DecayModeMigration.h:21
Tau::t3xr30
@ t3xr30
Definition
DecayModeMigration.h:29
Tau::t3r1
@ t3r1
Definition
DecayModeMigration.h:31
Tau::t11r10
@ t11r10
Definition
DecayModeMigration.h:24
Tau::t30r30
@ t30r30
Definition
DecayModeMigration.h:20
Tau::t10r10
@ t10r10
Definition
DecayModeMigration.h:17
Tau::t10r11
@ t10r11
Definition
DecayModeMigration.h:22
std
STL namespace.
xAOD::TauJetParameters::DecayMode
DecayMode
Definition
TauDefs.h:385
xAOD::TauJetParameters::Mode_3pXn
@ Mode_3pXn
Definition
TauDefs.h:390
xAOD::TauJetParameters::Mode_3p0n
@ Mode_3p0n
Definition
TauDefs.h:389
xAOD::TauJetParameters::Mode_1pXn
@ Mode_1pXn
Definition
TauDefs.h:388
xAOD::TauJetParameters::Mode_Error
@ Mode_Error
Definition
TauDefs.h:393
xAOD::TauJetParameters::Mode_1p0n
@ Mode_1p0n
Definition
TauDefs.h:386
xAOD::TauJetParameters::Mode_1p1n
@ Mode_1p1n
Definition
TauDefs.h:387
xAOD::TauJetParameters::Mode_Other
@ Mode_Other
Definition
TauDefs.h:391
xAOD::TauJetParameters::PanTau_DecayModeProto
@ PanTau_DecayModeProto
Definition
TauDefs.h:359
xAOD::TauJetParameters::PanTau_isPanTauCandidate
@ PanTau_isPanTauCandidate
Definition
TauDefs.h:357
xAOD::TauJetParameters::PanTau_DecayMode
@ PanTau_DecayMode
Definition
TauDefs.h:360
xAOD::TauJet
TauJet_v3 TauJet
Definition of the current "tau version".
Definition
TauJet.h:17
Generated on
for ATLAS Offline Software by
1.17.0