ATLAS Offline Software
EfficiencyPtPlots.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #include <utility>
6 
7 #include "EfficiencyPtPlots.h"
8 
9 namespace Tau{
10 
11  EfficiencyPtPlots::EfficiencyPtPlots(PlotBase* pParent, const std::string& sDir, std::string sTauJetContainerName):
12  PlotBase(pParent, sDir),
13  m_eff_pt_jetRNNloose(nullptr),
14  m_eff_pt_jetRNNmed(nullptr),
15  m_eff_pt_jetRNNtight(nullptr),
16  m_eff_jetRNNloose(nullptr),
17  m_eff_jetRNNmed(nullptr),
18  m_eff_jetRNNtight(nullptr),
19  m_sTauJetContainerName(std::move(sTauJetContainerName))
20  {
21  }
22 
24  {
25  }
26 
28  {
29  m_eff_pt_jetRNNloose = BookTProfile("Eff_Pt_jetRNNloose"," Matched Tau loose eff in pt; pt; eff", 20, 0., 150.0);
30  m_eff_pt_jetRNNmed = BookTProfile("Eff_Pt_jetRNNmed","Matched Tau med eff in pt; pt; eff", 20, 0.0, 150.0);
31  m_eff_pt_jetRNNtight = BookTProfile("Eff_Pt_jetRNNtight","Matched Tau tight eff in pt; pt; eff", 20, 0.0, 150.0);
32  m_eff_pt_jetRNNlooseHighPt = BookTProfile("Eff_Pt_jetRNNlooseHightPt"," Matched Tau loose eff in pt; pt; eff", 20, 0.0, 1500.0);
33  m_eff_pt_jetRNNmedHighPt = BookTProfile("Eff_Pt_jetRNNmedHightPt","Matched Tau med eff in pt; pt; eff", 20, 0.0, 1500.0);
34  m_eff_pt_jetRNNtightHighPt = BookTProfile("Eff_Pt_jetRNNtightHightPt","Matched Tau tight eff in pt; pt; eff", 20, 0.0, 1500.0);
35  m_eff_jetRNNloose = BookTProfile("Eff_jetRNNloose"," Matched Tau loose eff total; bin; eff",3,-1.5,1.5);
36  m_eff_jetRNNmed = BookTProfile("Eff_jetRNNmed","Matched Tau med eff total; bin; eff",3,-1.5,1.5);
37  m_eff_jetRNNtight = BookTProfile("Eff_jetRNNtight","Matched Tau tight eff total; bin; eff",3,-1.5,1.5);
38  }
39 
41  {
43  m_eff_pt_jetRNNloose ->Fill(tau.pt()/1000., 1., weight);
44  m_eff_pt_jetRNNlooseHighPt->Fill(tau.pt()/1000., 1., weight);
45  m_eff_jetRNNloose ->Fill(0., 1., weight);
46  }
47  else {
48  m_eff_pt_jetRNNloose ->Fill(tau.pt()/1000., 0., weight);
49  m_eff_pt_jetRNNlooseHighPt->Fill(tau.pt()/1000., 0., weight);
50  m_eff_jetRNNloose ->Fill(0., 0., weight);
51  }
52 
54  m_eff_pt_jetRNNmed ->Fill(tau.pt()/1000., 1., weight);
55  m_eff_pt_jetRNNmedHighPt->Fill(tau.pt()/1000., 1., weight);
56  m_eff_jetRNNmed ->Fill(0., 1., weight);
57  }
58  else {
59  m_eff_pt_jetRNNmed ->Fill(tau.pt()/1000., 0., weight);
60  m_eff_pt_jetRNNmedHighPt->Fill(tau.pt()/1000., 0., weight);
61  m_eff_jetRNNmed ->Fill(0., 0., weight);
62  }
63 
65  m_eff_pt_jetRNNtight ->Fill(tau.pt()/1000., 1., weight);
66  m_eff_pt_jetRNNtightHighPt->Fill(tau.pt()/1000., 1., weight);
67  m_eff_jetRNNtight ->Fill(0., 1., weight);
68  }
69  else {
70  m_eff_pt_jetRNNtight ->Fill(tau.pt()/1000., 0., weight);
71  m_eff_pt_jetRNNtightHighPt->Fill(tau.pt()/1000., 0., weight);
72  m_eff_jetRNNtight ->Fill(0., 0., weight);
73  }
74  }
75 
76 }
Tau::EfficiencyPtPlots::m_eff_jetRNNloose
TProfile * m_eff_jetRNNloose
Definition: EfficiencyPtPlots.h:28
PlotBase
Definition: PlotBase.h:34
Tau::EfficiencyPtPlots::m_eff_pt_jetRNNmedHighPt
TProfile * m_eff_pt_jetRNNmedHighPt
Definition: EfficiencyPtPlots.h:25
python.copyTCTOutput.sDir
sDir
Definition: copyTCTOutput.py:60
Tau::EfficiencyPtPlots::m_eff_jetRNNmed
TProfile * m_eff_jetRNNmed
Definition: EfficiencyPtPlots.h:29
Tau::EfficiencyPtPlots::m_eff_pt_jetRNNmed
TProfile * m_eff_pt_jetRNNmed
Definition: EfficiencyPtPlots.h:22
Tau::EfficiencyPtPlots::fill
void fill(const xAOD::TauJet &tau, float weight)
Definition: EfficiencyPtPlots.cxx:40
Tau
Definition: EfficiencyPtPlots.cxx:9
Tau::EfficiencyPtPlots::m_eff_pt_jetRNNtight
TProfile * m_eff_pt_jetRNNtight
Definition: EfficiencyPtPlots.h:23
dqt_zlumi_pandas.weight
int weight
Definition: dqt_zlumi_pandas.py:189
xAOD::TauJet_v3::pt
virtual double pt() const
The transverse momentum ( ) of the particle.
Tau::EfficiencyPtPlots::m_eff_pt_jetRNNlooseHighPt
TProfile * m_eff_pt_jetRNNlooseHighPt
Definition: EfficiencyPtPlots.h:24
Tau::EfficiencyPtPlots::initializePlots
void initializePlots()
Definition: EfficiencyPtPlots.cxx:27
Tau::EfficiencyPtPlots::m_eff_pt_jetRNNloose
TProfile * m_eff_pt_jetRNNloose
Definition: EfficiencyPtPlots.h:21
Tau::EfficiencyPtPlots::m_eff_pt_jetRNNtightHighPt
TProfile * m_eff_pt_jetRNNtightHighPt
Definition: EfficiencyPtPlots.h:26
xAOD::TauJet_v3
Class describing a tau jet.
Definition: TauJet_v3.h:41
Tau::EfficiencyPtPlots::EfficiencyPtPlots
EfficiencyPtPlots(PlotBase *pParent, const std::string &sDir, std::string sTauJetContainerName)
Definition: EfficiencyPtPlots.cxx:11
xAOD::TauJetParameters::JetRNNSigTight
@ JetRNNSigTight
Definition: TauDefs.h:148
Tau::EfficiencyPtPlots::m_eff_jetRNNtight
TProfile * m_eff_jetRNNtight
Definition: EfficiencyPtPlots.h:30
xAOD::TauJetParameters::JetRNNSigMedium
@ JetRNNSigMedium
Definition: TauDefs.h:147
xAOD::TauJet_v3::isTau
bool isTau(TauJetParameters::IsTauFlag flag) const
Get Flag for tau acceptance based on predefined arbitrary criteria.
Definition: TauJet_v3.cxx:273
Tau::EfficiencyPtPlots::~EfficiencyPtPlots
virtual ~EfficiencyPtPlots()
Definition: EfficiencyPtPlots.cxx:23
PlotBase::BookTProfile
TProfile * BookTProfile(const std::string &name, const std::string &labels, int nBinsX, float startX, float endX, float startY=-1, float endY=-1, bool prependDir=true, bool useRMS=false)
Book a TProfile histogram.
Definition: PlotBase.cxx:186
EfficiencyPtPlots.h
xAOD::TauJetParameters::JetRNNSigLoose
@ JetRNNSigLoose
Definition: TauDefs.h:146