ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
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
#include "
TauAnalysisTools/ITauTruthMatchingTool.h
"
10
11
namespace
Tau
{
12
13
ResolutionPlots::ResolutionPlots
(
PlotBase
*pParent,
const
std::string& sDir, std::string sTauJetContainerName):
14
PlotBase
(pParent, sDir),
15
m_sTauJetContainerName
(
std
::move(sTauJetContainerName))
16
{
17
}
18
19
void
ResolutionPlots::initializePlots
(){
20
m_ptResolution
=
Book1D
(
"ptResolution"
,
m_sTauJetContainerName
+
" pt Resolution; pt(TauReco)/pt(visTauTruth); # Part"
,100,0.5,1.5);
21
m_etaResolution
=
Book1D
(
"etaResolution"
,
m_sTauJetContainerName
+
" eta Resolution; eta(TauReco) - eta(visTauTruth); # Part"
,100,-0.1,0.1);
22
m_phiResolution
=
Book1D
(
"phiResolution"
,
m_sTauJetContainerName
+
" phi Resolution; phi(TauReco) - phi(visTauTruth); # Part"
,100,-0.1,0.1);
23
m_chargeResolution
=
Book1D
(
"chargeResolution"
,
m_sTauJetContainerName
+
" charge Resolution; charge(TauReco) - charge(TauTruth); # Part"
,12,-6,6);
24
}
25
26
void
ResolutionPlots::fill
(
const
xAOD::TauJet
& tau,
const
xAOD::TruthParticle
& truthtau,
float
weight) {
27
28
static
const
SG::ConstAccessor<double>
acc_ptvis(
"pt_vis"
);
29
static
const
SG::ConstAccessor<double>
acc_etavis(
"eta_vis"
);
30
static
const
SG::ConstAccessor<double>
acc_phivis(
"phi_vis"
);
31
static
const
SG::ConstAccessor<double>
acc_mvis(
"m_vis"
);
32
static
const
SG::ConstAccessor<int>
acc_pdgID(
"pdgId"
);
33
float
ptratio = -999;
34
float
pt = acc_ptvis(truthtau);
35
if
(pt>0.) ptratio = tau.
pt
()/pt;
36
float
eta
= acc_etavis(truthtau);
37
float
phi
= acc_phivis(truthtau);
38
float
m = acc_mvis(truthtau);
39
m_ptResolution
->Fill(ptratio, weight);
40
m_etaResolution
->Fill(tau.
eta
() -
eta
, weight);
41
TLorentzVector LV_TauJet(0,0,0,0);
42
TLorentzVector LV_TruthTau(0,0,0,0);
43
LV_TauJet.SetPtEtaPhiM(tau.
pt
(), tau.
eta
(), tau.
phi
(), tau.
m
());
44
LV_TruthTau.SetPtEtaPhiM(pt,
eta
,
phi
, m);
45
m_phiResolution
->Fill(LV_TauJet.DeltaPhi(LV_TruthTau), weight);
46
47
int
pdgID = acc_pdgID(truthtau);
48
float
truth_charge = 0.;
49
if
(pdgID > 0) truth_charge = -1.;
50
else
if
(pdgID < 0) truth_charge = 1.;
51
float
charge_diff = tau.
charge
() - truth_charge;
52
53
m_chargeResolution
->Fill(charge_diff, weight);
54
55
}
56
57
}
eta
Scalar eta() const
pseudorapidity method
Definition
AmgMatrixBasePlugin.h:83
phi
Scalar phi() const
phi method
Definition
AmgMatrixBasePlugin.h:67
ConstAccessor.h
Helper class to provide constant type-safe access to aux data.
ITauTruthMatchingTool.h
ResolutionPlots.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
SG::ConstAccessor
Helper class to provide constant type-safe access to aux data.
Definition
ConstAccessor.h:55
Tau::ResolutionPlots::fill
void fill(const xAOD::TauJet &tau, const xAOD::TruthParticle &, float weight)
Definition
PhysicsAnalysis/TauID/TauDQA/src/ResolutionPlots.cxx:26
Tau::ResolutionPlots::initializePlots
void initializePlots()
Definition
PhysicsAnalysis/TauID/TauDQA/src/ResolutionPlots.cxx:19
Tau::ResolutionPlots::ResolutionPlots
ResolutionPlots(PlotBase *pParent, const std::string &sDir, std::string sTauJetContainerName)
Definition
PhysicsAnalysis/TauID/TauDQA/src/ResolutionPlots.cxx:13
Tau::ResolutionPlots::m_ptResolution
TH1 * m_ptResolution
Definition
PhysicsAnalysis/TauID/TauDQA/src/ResolutionPlots.h:22
Tau::ResolutionPlots::m_phiResolution
TH1 * m_phiResolution
Definition
PhysicsAnalysis/TauID/TauDQA/src/ResolutionPlots.h:24
Tau::ResolutionPlots::m_sTauJetContainerName
std::string m_sTauJetContainerName
Definition
PhysicsAnalysis/TauID/TauDQA/src/ResolutionPlots.h:29
Tau::ResolutionPlots::m_chargeResolution
TH1 * m_chargeResolution
Definition
PhysicsAnalysis/TauID/TauDQA/src/ResolutionPlots.h:25
Tau::ResolutionPlots::m_etaResolution
TH1 * m_etaResolution
Definition
PhysicsAnalysis/TauID/TauDQA/src/ResolutionPlots.h:23
xAOD::TauJet_v3::phi
virtual double phi() const
The azimuthal angle ( ) of the particle.
xAOD::TauJet_v3::charge
float charge() const
xAOD::TauJet_v3::pt
virtual double pt() const
The transverse momentum ( ) of the particle.
xAOD::TauJet_v3::m
virtual double m() const
The invariant mass of the particle.
xAOD::TauJet_v3::eta
virtual double eta() const
The pseudorapidity ( ) of the particle.
Tau
Definition
TauDQA/src/CorePlots.cxx:8
std
STL namespace.
xAOD::TauJet
TauJet_v3 TauJet
Definition of the current "tau version".
Definition
TauJet.h:17
xAOD::TruthParticle
TruthParticle_v1 TruthParticle
Typedef to implementation.
Definition
Event/xAOD/xAODTruth/xAODTruth/TruthParticle.h:15
Generated on
for ATLAS Offline Software by
1.17.0