ATLAS Offline Software
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 
16  {
17  }
18 
20  {
21  m_migration_panTau = Book1D("panTau_migration",m_sTauJetContainerName + " panTau migration",DECAYSIZE,0,DECAYSIZE);
22  m_migration_panTauProto = Book1D("panTauProto_migration",m_sTauJetContainerName + " panTau proto migration",DECAYSIZE,0,DECAYSIZE);
23  m_migration_panTau->GetXaxis()->SetLabelSize(0.05);
24  m_migration_panTauProto->GetXaxis()->SetLabelSize(0.05);
25  for(int i=1; i<= DECAYSIZE;i++){
26  m_migration_panTauProto->GetXaxis()->SetBinLabel(i,m_lable[i-1]);
27  m_migration_panTau->GetXaxis()->SetBinLabel(i,m_lable[i-1]);
28  }
29  }
30 
31 
33  {
34  int isPanTauCandidate = 0;
35  bool foundDetail = thisTau.panTauDetail(xAOD::TauJetParameters::PanTauDetails::PanTau_isPanTauCandidate, isPanTauCandidate);
36  if ( !foundDetail || !isPanTauCandidate ) return;
37 
38  // panTau
41  if ( foundDetail ) decayModeFill(trueMode, recMode, m_migration_panTau, weight);
42 
43  // panTauProto
46  if ( foundDetail ) {
47  decayModeFill(trueMode, recMode, m_migration_panTauProto, weight);
48  }
49 
50  }
51 
52  void DecayModeMigration::decayModeFill(int trueMode, int recMode, TH1 *histo, float weight)
53  {
55 
56  switch ( trueMode ) {
58  switch ( recMode ) {
60  histo->Fill(t10r10 + 0.5, weight);
61  break;
63  histo->Fill(t10r11 + 0.5, weight);
64  break;
66  histo->Fill(t10r1x + 0.5, weight);
67  break;
68  default:
69  histo->Fill(t1r3 + 0.5, weight);
70  break;
71  }
72  break;
74  switch ( recMode ) {
76  histo->Fill(t11r10 + 0.5, weight);
77  break;
79  histo->Fill(t11r11 + 0.5, weight);
80  break;
82  histo->Fill(t11r1x + 0.5, weight);
83  break;
84  default:
85  histo->Fill(t1r3 + 0.5, weight);
86  break;
87  }
88  break;
90  switch ( recMode ) {
92  histo->Fill(t1xr10 + 0.5, weight);
93  break;
95  histo->Fill(t1xr11 + 0.5, weight);
96  break;
98  histo->Fill(t1xr1x + 0.5, weight);
99  break;
100  default:
101  histo->Fill(t1r3 + 0.5, weight);
102  break;
103  }
104  break;
106  switch ( recMode ) {
108  histo->Fill(t30r30 + 0.5, weight);
109  break;
111  histo->Fill(t30r3x + 0.5, weight);
112  break;
113  default:
114  histo->Fill(t3r1 + 0.5, weight);
115  break;
116  }
117  break;
119  switch ( recMode ) {
121  histo->Fill(t3xr30 + 0.5, weight);
122  break;
124  histo->Fill(t3xr3x + 0.5, weight);
125  break;
126  default:
127  histo->Fill(t3r1 + 0.5, weight);
128  break;
129  }
130  break;
131  }
132  return;
133  }
134 }
xAOD::TauJetParameters::Mode_1p0n
@ Mode_1p0n
Definition: TauDefs.h:386
xAOD::TauJetParameters::PanTau_DecayMode
@ PanTau_DecayMode
Definition: TauDefs.h:360
Tau::t11r1x
@ t11r1x
Definition: DecayModeMigration.h:25
Tau::t10r10
@ t10r10
Definition: DecayModeMigration.h:17
xAOD::TauJetParameters::Mode_1p1n
@ Mode_1p1n
Definition: TauDefs.h:387
Tau::DecayModeMigration::decayModeFill
void decayModeFill(int trueMode, int recMode, TH1 *histo, float weight)
Definition: DecayModeMigration.cxx:52
PlotBase
Definition: PlotBase.h:34
python.copyTCTOutput.sDir
sDir
Definition: copyTCTOutput.py:57
Tau::DecayModeMigration::m_migration_panTau
TH1 * m_migration_panTau
Definition: DecayModeMigration.h:60
Tau::t1xr10
@ t1xr10
Definition: DecayModeMigration.h:26
Tau::DecayModeMigration::fill
void fill(const xAOD::TauJet &tau, xAOD::TauJetParameters::DecayMode trueMode, float weight)
Definition: DecayModeMigration.cxx:32
Tau::DecayModeMigration::m_sTauJetContainerName
std::string m_sTauJetContainerName
Definition: DecayModeMigration.h:64
Tau::t3xr3x
@ t3xr3x
Definition: DecayModeMigration.h:21
Tau
Definition: TauDQA/src/CorePlots.cxx:8
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::t30r30
@ t30r30
Definition: DecayModeMigration.h:20
Tau::t11r11
@ t11r11
Definition: DecayModeMigration.h:18
xAOD::TauJetParameters::Mode_1pXn
@ Mode_1pXn
Definition: TauDefs.h:388
dqt_zlumi_pandas.weight
int weight
Definition: dqt_zlumi_pandas.py:190
PlotBase::Book1D
TH1D * Book1D(const std::string &name, const std::string &labels, int nBins, float start, float end, bool prependDir=true)
Book a TH1D histogram.
Definition: PlotBase.cxx:94
xAOD::TauJetParameters::DecayMode
DecayMode
Definition: TauDefs.h:385
Tau::t10r11
@ t10r11
Definition: DecayModeMigration.h:22
Tau::t3r1
@ t3r1
Definition: DecayModeMigration.h:31
Tau::DECAYSIZE
@ DECAYSIZE
Definition: DecayModeMigration.h:32
lumiFormat.i
int i
Definition: lumiFormat.py:85
Tau::t30r3x
@ t30r3x
Definition: DecayModeMigration.h:28
xAOD::TauJet_v3
Class describing a tau jet.
Definition: TauJet_v3.h:41
Tau::DecayModeMigration::initializePlots
void initializePlots()
Definition: DecayModeMigration.cxx:19
Tau::t10r1x
@ t10r1x
Definition: DecayModeMigration.h:23
xAOD::TauJetParameters::Mode_3p0n
@ Mode_3p0n
Definition: TauDefs.h:389
Tau::DecayModeMigration::m_lable
const char * m_lable[DECAYSIZE]
Definition: DecayModeMigration.h:42
Tau::DecayModeMigration::~DecayModeMigration
virtual ~DecayModeMigration()
Definition: DecayModeMigration.cxx:15
Tau::t1xr11
@ t1xr11
Definition: DecayModeMigration.h:27
DecayModeMigration.h
Tau::t1xr1x
@ t1xr1x
Definition: DecayModeMigration.h:19
Tau::t1r3
@ t1r3
Definition: DecayModeMigration.h:30
xAOD::TauJetParameters::PanTau_DecayModeProto
@ PanTau_DecayModeProto
Definition: TauDefs.h:359
Tau::t3xr30
@ t3xr30
Definition: DecayModeMigration.h:29
xAOD::TauJetParameters::Mode_3pXn
@ Mode_3pXn
Definition: TauDefs.h:390
xAOD::TauJetParameters::PanTau_isPanTauCandidate
@ PanTau_isPanTauCandidate
Definition: TauDefs.h:357
Tau::DecayModeMigration::DecayModeMigration
DecayModeMigration(PlotBase *pParent, const std::string &sDir, std::string sTauJetContainerName)
Definition: DecayModeMigration.cxx:9
xAOD::TauJetParameters::Mode_Error
@ Mode_Error
Definition: TauDefs.h:393
Tau::t11r10
@ t11r10
Definition: DecayModeMigration.h:24
plotBeamSpotCompare.histo
histo
Definition: plotBeamSpotCompare.py:414
Tau::DecayModeMigration::m_migration_panTauProto
TH1 * m_migration_panTauProto
Definition: DecayModeMigration.h:61
xAOD::TauJetParameters::Mode_Other
@ Mode_Other
Definition: TauDefs.h:391