ATLAS Offline Software
PhysicsAnalysis
TauID
TauDQA
src
PhysicsAnalysis/TauID/TauDQA/src/ResolutionPlots.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
#include "
ResolutionPlots.h
"
7
#include "
AthContainers/ConstAccessor.h
"
8
#include "TLorentzVector.h"
9
namespace
Tau
{
10
11
ResolutionPlots::ResolutionPlots
(
PlotBase
*pParent,
const
std::string&
sDir
, std::string sTauJetContainerName):
12
PlotBase
(pParent,
sDir
),
13
m_sTauJetContainerName(std::move(sTauJetContainerName))
14
{
15
}
16
17
ResolutionPlots::~ResolutionPlots
()
18
{
19
}
20
21
22
void
ResolutionPlots::initializePlots
(){
23
m_ptResolution
=
Book1D
(
"ptResolution"
,
m_sTauJetContainerName
+
" pt Resolution; pt(TauReco)/pt(visTauTruth); # Part"
,100,0.5,1.5);
24
m_etaResolution
=
Book1D
(
"etaResolution"
,
m_sTauJetContainerName
+
" eta Resolution; eta(TauReco) - eta(visTauTruth); # Part"
,100,-0.1,0.1);
25
m_phiResolution
=
Book1D
(
"phiResolution"
,
m_sTauJetContainerName
+
" phi Resolution; phi(TauReco) - phi(visTauTruth); # Part"
,100,-0.1,0.1);
26
m_chargeResolution
=
Book1D
(
"chargeResolution"
,
m_sTauJetContainerName
+
" charge Resolution; charge(TauReco) - charge(TauTruth); # Part"
,12,-6,6);
27
}
28
29
void
ResolutionPlots::fill
(
const
xAOD::TauJet
& tau,
const
xAOD::TruthParticle
& truthtau,
float
weight
) {
30
31
static
const
SG::ConstAccessor<double>
acc_ptvis(
"pt_vis"
);
32
static
const
SG::ConstAccessor<double>
acc_etavis(
"eta_vis"
);
33
static
const
SG::ConstAccessor<double>
acc_phivis(
"phi_vis"
);
34
static
const
SG::ConstAccessor<double>
acc_mvis(
"m_vis"
);
35
static
const
SG::ConstAccessor<int>
acc_pdgID(
"pdgId"
);
36
float
ptratio = -999;
37
float
pt
= acc_ptvis(truthtau);
38
if
(
pt
>0.) ptratio = tau.
pt
()/
pt
;
39
float
eta = acc_etavis(truthtau);
40
float
phi = acc_phivis(truthtau);
41
float
m
= acc_mvis(truthtau);
42
m_ptResolution
->Fill(ptratio,
weight
);
43
m_etaResolution
->Fill(tau.
eta
() - eta,
weight
);
44
TLorentzVector LV_TauJet(0,0,0,0);
45
TLorentzVector LV_TruthTau(0,0,0,0);
46
LV_TauJet.SetPtEtaPhiM(tau.
pt
(), tau.
eta
(), tau.
phi
(), tau.
m
());
47
LV_TruthTau.SetPtEtaPhiM(
pt
, eta, phi,
m
);
48
m_phiResolution
->Fill(LV_TauJet.DeltaPhi(LV_TruthTau),
weight
);
49
50
int
pdgID = acc_pdgID(truthtau);
51
float
truth_charge = 0.;
52
if
(pdgID > 0) truth_charge = -1.;
53
else
if
(pdgID < 0) truth_charge = 1.;
54
float
charge_diff = tau.
charge
() - truth_charge;
55
56
m_chargeResolution
->Fill(charge_diff,
weight
);
57
58
}
59
60
}
PlotBase
Definition:
PlotBase.h:34
xAOD::TauJet_v3::eta
virtual double eta() const
The pseudorapidity ( ) of the particle.
Tau::ResolutionPlots::m_sTauJetContainerName
std::string m_sTauJetContainerName
Definition:
PhysicsAnalysis/TauID/TauDQA/src/ResolutionPlots.h:26
ResolutionPlots.h
python.copyTCTOutput.sDir
sDir
Definition:
copyTCTOutput.py:59
Tau::ResolutionPlots::ResolutionPlots
ResolutionPlots(PlotBase *pParent, const std::string &sDir, std::string sTauJetContainerName)
Definition:
PhysicsAnalysis/TauID/TauDQA/src/ResolutionPlots.cxx:11
xAOD::TauJet_v3::m
virtual double m() const
The invariant mass of the particle.
Tau::ResolutionPlots::~ResolutionPlots
virtual ~ResolutionPlots()
Definition:
PhysicsAnalysis/TauID/TauDQA/src/ResolutionPlots.cxx:17
Tau::ResolutionPlots::fill
void fill(const xAOD::TauJet &tau, const xAOD::TruthParticle &, float weight)
Definition:
PhysicsAnalysis/TauID/TauDQA/src/ResolutionPlots.cxx:29
test_pyathena.pt
pt
Definition:
test_pyathena.py:11
Tau
Definition:
EfficiencyPtPlots.cxx:10
Tau::ResolutionPlots::initializePlots
void initializePlots()
Definition:
PhysicsAnalysis/TauID/TauDQA/src/ResolutionPlots.cxx:22
SG::ConstAccessor< double >
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::TauJet_v3::pt
virtual double pt() const
The transverse momentum ( ) of the particle.
xAOD::TauJet_v3::phi
virtual double phi() const
The azimuthal angle ( ) of the particle.
Tau::ResolutionPlots::m_phiResolution
TH1 * m_phiResolution
Definition:
PhysicsAnalysis/TauID/TauDQA/src/ResolutionPlots.h:21
xAOD::TruthParticle_v1
Class describing a truth particle in the MC record.
Definition:
TruthParticle_v1.h:37
xAOD::TauJet_v3
Class describing a tau jet.
Definition:
TauJet_v3.h:41
Tau::ResolutionPlots::m_etaResolution
TH1 * m_etaResolution
Definition:
PhysicsAnalysis/TauID/TauDQA/src/ResolutionPlots.h:20
xAOD::TauJet_v3::charge
float charge() const
Tau::ResolutionPlots::m_ptResolution
TH1 * m_ptResolution
Definition:
PhysicsAnalysis/TauID/TauDQA/src/ResolutionPlots.h:19
Tau::ResolutionPlots::m_chargeResolution
TH1 * m_chargeResolution
Definition:
PhysicsAnalysis/TauID/TauDQA/src/ResolutionPlots.h:22
ConstAccessor.h
Helper class to provide constant type-safe access to aux data.
python.SystemOfUnits.m
float m
Definition:
SystemOfUnits.py:106
Generated on Tue Sep 2 2025 21:19:37 for ATLAS Offline Software by
1.8.18