Loading [MathJax]/jax/output/SVG/config.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
HadProngPlots.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 "HadProngPlots.h"
7 
8 namespace Tau{
9 
10 HadProngPlots::HadProngPlots(PlotBase* pParent, const std::string& sDir,
11  const std::string& sTauJetContainerName):
12  PlotBase(pParent, sDir),
13  m_oGeneralTauPlots(this, "", sTauJetContainerName),
14  m_tauNWideTracks(nullptr),
15  m_tauCoreFrac(nullptr),
16  m_tauEoverPTrk(nullptr),
17  m_tauTrkAvgDist(nullptr),
18  m_tauIpSig(nullptr),
19  m_tauDRMax(nullptr),
20  m_tauMtrks(nullptr),
21  m_SumPtTrkFrac(nullptr),
22  m_innerTrkAvgDist(nullptr),
23  m_ptRatioEflowApprox(nullptr),
24  m_mEflowApprox(nullptr),
25  m_ChPiEMEOverCaloEME(nullptr),
26  m_EMPOverTrkSysP(nullptr),
27  m_HadRadius(nullptr),
28  m_EMRadius(nullptr),
29  m_IsoFrac(nullptr),
30  m_tauSflight(nullptr),
31  m_sTauJetContainerName(sTauJetContainerName)
32 {
33 }
34 
36 {
37 }
38 
40 
41  // m_oGeneralTauPlots.initialize();
42  m_tauCoreFrac = Book1D("CoreFrac",m_sTauJetContainerName + " Tau CoreFrac; CoreFrac; # Taus",40,0.,2.);
43  m_tauEoverPTrk = Book1D("EoverPTrk",m_sTauJetContainerName + " Tau E over pLeadTrk; EoverP; # Taus",50,0.,4.);
44  m_tauTrkAvgDist = Book1D("TrkAvgDist",m_sTauJetContainerName + " Tau track avg dist; TrkAvgDist; # Taus",10,-0.2,.8);
45  m_tauIpSig = Book1D("IpSig",m_sTauJetContainerName + " Tau lead track IP signif. ; IpSig; # Taus",30,-15.,15.);
46  m_tauDRMax = Book1D("DRMax",m_sTauJetContainerName + " Tau DR Max track-seed; DRMax; # Taus",20,0.,0.5);
47  m_tauMtrks = Book1D("Mtracks",m_sTauJetContainerName + " Tau tracks mass ; Mtrks; # Taus",50,-1.,10.);
48  m_SumPtTrkFrac = Book1D("SumPtTrkFrac",m_sTauJetContainerName + " Tau Sum PtTrk Frac ; SumPtTrkFrac; # Taus",100,-10.,20.);
49  m_innerTrkAvgDist = Book1D("innerTrkAvgDist",m_sTauJetContainerName + "Tau innerTrkAvgDist; innerTrkAvgDist; # of Taus",10,-0.2,.8);
50  m_ptRatioEflowApprox = Book1D("ptRatioEflowApprox",m_sTauJetContainerName + "Tau ptRatioEflowApprox; ptRatioEflowApprox; # of Taus", 10, 0, 10);
51  m_mEflowApprox = Book1D("mEflowApprox",m_sTauJetContainerName + "Tau mEflowApprox; mEflowApprox; #Taus",30,0.0,3000.0);
52  m_ChPiEMEOverCaloEME = Book1D("ChPiEMEOverCaloEME",m_sTauJetContainerName + "Tau ChPiEMEOverCaloEME; ChPiEMEOverCaloEME; # of Taus", 30, -15, 15);
53  m_EMPOverTrkSysP = Book1D("EMPOverTrkSysP",m_sTauJetContainerName + "Tau EMPOverTrkSysP; EMPOverTrkSysP; # of Taus", 21, -1, 20);
54  m_HadRadius = Book1D("HadRadius",m_sTauJetContainerName + " Had Radius; HadRadius; # Part",20,0,2.);
55  m_EMRadius = Book1D("EMRadius",m_sTauJetContainerName + " EM Radius; EMRadius; # Part",20,0,2.);
56  m_IsoFrac = Book1D("IsoFrac",m_sTauJetContainerName + " Iso Frac; Iso Frac; # Part",20,0,1.);
57  m_tauSflight = Book1D("Sflight",m_sTauJetContainerName + " Tau flight sign. ; Sflight; # Taus",100,-10.,20.);
58 }
59 
60 void HadProngPlots::fill(const xAOD::TauJet& tau, float weight) {
62 
63  float avariable = 0.;
64 
65  bool test = tau.detail(xAOD::TauJetParameters::centFrac, avariable);
66  if(test) m_tauCoreFrac->Fill(avariable, weight);
67 
69  if(test) m_tauEoverPTrk->Fill(avariable, weight);
70 
72  if(test) m_tauTrkAvgDist->Fill(avariable, weight);
73 
74  static const SG::ConstAccessor<float> d0SigTJVAAcc("d0SigTJVA");
75  if(tau.nTracks()>0 && d0SigTJVAAcc.isAvailable(*tau.track(0))) {
76  m_tauIpSig->Fill(tau.track(0)->d0SigTJVA(), weight);
77  }
78 
79  test = tau.detail(xAOD::TauJetParameters::dRmax, avariable);
80  if(test) m_tauDRMax->Fill(avariable, weight);
81 
83  if(test) m_tauMtrks->Fill(avariable/1000., weight);
84 
86  if(test) m_SumPtTrkFrac->Fill(avariable/1000., weight);
87 
89  if(test) m_innerTrkAvgDist->Fill(avariable, weight);
90 
92  if(test) m_ptRatioEflowApprox->Fill(avariable, weight);
93 
95  if(test) m_mEflowApprox->Fill(avariable, weight);
96 
98  if(test) m_ChPiEMEOverCaloEME->Fill(avariable, weight);
99 
101  if(test) m_EMPOverTrkSysP->Fill(avariable, weight);
102 
104  if(test) m_HadRadius->Fill(avariable, weight);
105 
106  test = tau.detail(xAOD::TauJetParameters::EMRadius, avariable);
107  if(test) m_EMRadius->Fill(avariable, weight);
108 
109  test = tau.detail(xAOD::TauJetParameters::isolFrac, avariable);
110  if (test) m_IsoFrac->Fill(avariable, weight);
111 
113  if(test) m_tauSflight->Fill(avariable, weight);
114 }
115 }
Tau::HadProngPlots::fill
void fill(const xAOD::TauJet &tau, float weight)
Definition: HadProngPlots.cxx:60
Tau::HadProngPlots::m_tauEoverPTrk
TH1 * m_tauEoverPTrk
Definition: HadProngPlots.h:23
Tau::HadProngPlots::m_tauIpSig
TH1 * m_tauIpSig
Definition: HadProngPlots.h:25
Tau::HadProngPlots::m_tauSflight
TH1 * m_tauSflight
Definition: HadProngPlots.h:41
PlotBase
Definition: PlotBase.h:34
xAOD::TauJetParameters::trFlightPathSig
@ trFlightPathSig
Definition: TauDefs.h:163
xAOD::TauTrack_v1::d0SigTJVA
float d0SigTJVA() const
Definition: TauTrack_v1.cxx:129
Tau::HadProngPlots::m_tauTrkAvgDist
TH1 * m_tauTrkAvgDist
Definition: HadProngPlots.h:24
python.copyTCTOutput.sDir
sDir
Definition: copyTCTOutput.py:60
Tau::HadProngPlots::m_EMRadius
TH1 * m_EMRadius
Definition: HadProngPlots.h:38
xAOD::TauJet_v3::nTracks
size_t nTracks(TauJetParameters::TauTrackFlag flag=TauJetParameters::TauTrackFlag::classifiedCharged) const
Definition: TauJet_v3.cxx:526
Tau::HadProngPlots::m_EMPOverTrkSysP
TH1 * m_EMPOverTrkSysP
Definition: HadProngPlots.h:35
Tau::HadProngPlots::m_tauCoreFrac
TH1 * m_tauCoreFrac
Definition: HadProngPlots.h:22
xAOD::TauJetParameters::mEflowApprox
@ mEflowApprox
Definition: TauDefs.h:292
Tau
Definition: EfficiencyPtPlots.cxx:9
Tau::HadProngPlots::~HadProngPlots
virtual ~HadProngPlots()
Definition: HadProngPlots.cxx:35
SG::ConstAccessor< float >
TrigInDetValidation_Base.test
test
Definition: TrigInDetValidation_Base.py:147
Tau::HadProngPlots::m_SumPtTrkFrac
TH1 * m_SumPtTrkFrac
Definition: HadProngPlots.h:28
xAOD::TauJetParameters::ptRatioEflowApprox
@ ptRatioEflowApprox
Definition: TauDefs.h:293
Tau::HadProngPlots::initializePlots
void initializePlots()
Definition: HadProngPlots.cxx:39
xAOD::TauJetParameters::hadRadius
@ hadRadius
Get hadron calorimeter radius.
Definition: TauDefs.h:192
dqt_zlumi_pandas.weight
int weight
Definition: dqt_zlumi_pandas.py:189
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::centFrac
@ centFrac
Get centrality fraction.
Definition: TauDefs.h:200
Tau::HadProngPlots::m_IsoFrac
TH1 * m_IsoFrac
Definition: HadProngPlots.h:39
xAOD::TauJetParameters::dRmax
@ dRmax
Get maximal dR of tracks associated to calo-seeded tau.
Definition: TauDefs.h:226
Tau::HadProngPlots::m_innerTrkAvgDist
TH1 * m_innerTrkAvgDist
Definition: HadProngPlots.h:30
Tau::HadProngPlots::m_tauMtrks
TH1 * m_tauMtrks
Definition: HadProngPlots.h:27
Tau::HadProngPlots::HadProngPlots
HadProngPlots(PlotBase *pParent, const std::string &sDir, const std::string &sTauJetContainerName)
Definition: HadProngPlots.cxx:10
xAOD::TauJetParameters::trkAvgDist
@ trkAvgDist
Get calibrated EM transverse energy (DEPRECATED since r19)
Definition: TauDefs.h:214
xAOD::TauJet_v3
Class describing a tau jet.
Definition: TauJet_v3.h:41
Tau::HadProngPlots::m_HadRadius
TH1 * m_HadRadius
Definition: HadProngPlots.h:37
xAOD::TauJet_v3::track
const TauTrack * track(size_t i, TauJetParameters::TauTrackFlag flag=TauJetParameters::TauTrackFlag::classifiedCharged, int *container_index=0) const
Get the pointer to a given tauTrack associated with this tau /*container index needed by trackNonCons...
Definition: TauJet_v3.cxx:450
xAOD::TauJetParameters::etOverPtLeadTrk
@ etOverPtLeadTrk
Definition: TauDefs.h:158
Tau::HadProngPlots::m_ChPiEMEOverCaloEME
TH1 * m_ChPiEMEOverCaloEME
Definition: HadProngPlots.h:34
xAOD::TauJetParameters::massTrkSys
@ massTrkSys
Definition: TauDefs.h:161
xAOD::TauJet_v3::detail
bool detail(TauJetParameters::Detail detail, int &value) const
Set veto flag.
Definition: TauJet_v3.cxx:292
Tau::HadProngPlots::m_tauDRMax
TH1 * m_tauDRMax
Definition: HadProngPlots.h:26
Tau::HadProngPlots::m_ptRatioEflowApprox
TH1 * m_ptRatioEflowApprox
Definition: HadProngPlots.h:31
xAOD::TauJetParameters::innerTrkAvgDist
@ innerTrkAvgDist
Definition: TauDefs.h:287
xAOD::TauJetParameters::ChPiEMEOverCaloEME
@ ChPiEMEOverCaloEME
Definition: TauDefs.h:278
Tau::HadProngPlots::m_sTauJetContainerName
std::string m_sTauJetContainerName
Definition: HadProngPlots.h:45
Tau::HadProngPlots::m_oGeneralTauPlots
Tau::GeneralTauPlots m_oGeneralTauPlots
Definition: HadProngPlots.h:20
xAOD::TauJetParameters::isolFrac
@ isolFrac
Get isolation fraction.
Definition: TauDefs.h:198
SG::ConstAccessor::isAvailable
bool isAvailable(const ELT &e) const
Test to see if this variable exists in the store.
Tau::GeneralTauPlots::fill
void fill(const xAOD::TauJet &tau, float weight)
Definition: GeneralTauPlots.cxx:55
xAOD::TauJetParameters::SumPtTrkFrac
@ SumPtTrkFrac
Definition: TauDefs.h:289
Tau::HadProngPlots::m_mEflowApprox
TH1 * m_mEflowApprox
Definition: HadProngPlots.h:32
ConstAccessor.h
Helper class to provide constant type-safe access to aux data.
xAOD::TauJetParameters::EMRadius
@ EMRadius
Get E_T radius.
Definition: TauDefs.h:190
xAOD::TauJetParameters::EMPOverTrkSysP
@ EMPOverTrkSysP
Definition: TauDefs.h:279
HadProngPlots.h