Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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_pt_jetRNNlooseHighPt(nullptr),
17  m_eff_pt_jetRNNmedHighPt(nullptr),
18  m_eff_pt_jetRNNtightHighPt(nullptr),
19  m_eff_jetRNNloose(nullptr),
20  m_eff_jetRNNmed(nullptr),
21  m_eff_jetRNNtight(nullptr),
22  m_eff_pt_jetGNTauloose(nullptr),
23  m_eff_pt_jetGNTaumed(nullptr),
24  m_eff_pt_jetGNTautight(nullptr),
25  m_eff_pt_jetGNTaulooseHighPt(nullptr),
26  m_eff_pt_jetGNTaumedHighPt(nullptr),
27  m_eff_pt_jetGNTautightHighPt(nullptr),
28  m_eff_jetGNTauloose(nullptr),
29  m_eff_jetGNTaumed(nullptr),
30  m_eff_jetGNTautight(nullptr),
31  m_sTauJetContainerName(std::move(sTauJetContainerName))
32  {
33  }
34 
36  {
37  }
38 
40  {
41  m_eff_pt_jetRNNloose = BookTProfile("Eff_Pt_jetRNNloose"," Matched Tau loose RNN eff in pt; pt; eff", 20, 0., 150.0);
42  m_eff_pt_jetRNNmed = BookTProfile("Eff_Pt_jetRNNmed","Matched Tau med RNN eff in pt; pt; eff", 20, 0.0, 150.0);
43  m_eff_pt_jetRNNtight = BookTProfile("Eff_Pt_jetRNNtight","Matched Tau tight RNN eff in pt; pt; eff", 20, 0.0, 150.0);
44  m_eff_pt_jetRNNlooseHighPt = BookTProfile("Eff_Pt_jetRNNlooseHightPt"," Matched Tau loose RNN eff in pt; pt; eff", 20, 0.0, 1500.0);
45  m_eff_pt_jetRNNmedHighPt = BookTProfile("Eff_Pt_jetRNNmedHightPt","Matched Tau med RNN eff in pt; pt; eff", 20, 0.0, 1500.0);
46  m_eff_pt_jetRNNtightHighPt = BookTProfile("Eff_Pt_jetRNNtightHightPt","Matched Tau tight RNN eff in pt; pt; eff", 20, 0.0, 1500.0);
47  m_eff_jetRNNloose = BookTProfile("Eff_jetRNNloose"," Matched Tau loose RNN eff total; bin; eff",3,-1.5,1.5);
48  m_eff_jetRNNmed = BookTProfile("Eff_jetRNNmed","Matched Tau med RNN eff total; bin; eff",3,-1.5,1.5);
49  m_eff_jetRNNtight = BookTProfile("Eff_jetRNNtight","Matched Tau tight RNN eff total; bin; eff",3,-1.5,1.5);
50 
51  m_eff_pt_jetGNTauloose = BookTProfile("Eff_Pt_jetGNTauloose"," Matched Tau loose GNTau eff in pt; pt; eff", 20, 0., 150.0);
52  m_eff_pt_jetGNTaumed = BookTProfile("Eff_Pt_jetGNTaumed","Matched Tau med GNTau eff in pt; pt; eff", 20, 0.0, 150.0);
53  m_eff_pt_jetGNTautight = BookTProfile("Eff_Pt_jetGNTautight","Matched Tau tight GNTau eff in pt; pt; eff", 20, 0.0, 150.0);
54  m_eff_pt_jetGNTaulooseHighPt = BookTProfile("Eff_Pt_jetGNTaulooseHightPt"," Matched Tau loose GNTau eff in pt; pt; eff", 20, 0.0, 1500.0);
55  m_eff_pt_jetGNTaumedHighPt = BookTProfile("Eff_Pt_jetGNTaumedHightPt","Matched Tau med GNTau eff in pt; pt; eff", 20, 0.0, 1500.0);
56  m_eff_pt_jetGNTautightHighPt = BookTProfile("Eff_Pt_jetGNTautightHightPt","Matched Tau tight GNTau eff in pt; pt; eff", 20, 0.0, 1500.0);
57  m_eff_jetGNTauloose = BookTProfile("Eff_jetGNTauloose"," Matched Tau loose GNTau eff total; bin; eff",3,-1.5,1.5);
58  m_eff_jetGNTaumed = BookTProfile("Eff_jetGNTaumed","Matched Tau med GNTau eff total; bin; eff",3,-1.5,1.5);
59  m_eff_jetGNTautight = BookTProfile("Eff_jetGNTautight","Matched Tau tight GNTau eff total; bin; eff",3,-1.5,1.5);
60 
61 
62  }
63 
65  {
67  m_eff_pt_jetRNNloose ->Fill(tau.pt()/1000., 1., weight);
68  m_eff_pt_jetRNNlooseHighPt->Fill(tau.pt()/1000., 1., weight);
69  m_eff_jetRNNloose ->Fill(0., 1., weight);
70  }
71  else {
72  m_eff_pt_jetRNNloose ->Fill(tau.pt()/1000., 0., weight);
73  m_eff_pt_jetRNNlooseHighPt->Fill(tau.pt()/1000., 0., weight);
74  m_eff_jetRNNloose ->Fill(0., 0., weight);
75  }
76 
78  m_eff_pt_jetRNNmed ->Fill(tau.pt()/1000., 1., weight);
79  m_eff_pt_jetRNNmedHighPt->Fill(tau.pt()/1000., 1., weight);
80  m_eff_jetRNNmed ->Fill(0., 1., weight);
81  }
82  else {
83  m_eff_pt_jetRNNmed ->Fill(tau.pt()/1000., 0., weight);
84  m_eff_pt_jetRNNmedHighPt->Fill(tau.pt()/1000., 0., weight);
85  m_eff_jetRNNmed ->Fill(0., 0., weight);
86  }
87 
89  m_eff_pt_jetRNNtight ->Fill(tau.pt()/1000., 1., weight);
90  m_eff_pt_jetRNNtightHighPt->Fill(tau.pt()/1000., 1., weight);
91  m_eff_jetRNNtight ->Fill(0., 1., weight);
92  }
93  else {
94  m_eff_pt_jetRNNtight ->Fill(tau.pt()/1000., 0., weight);
95  m_eff_pt_jetRNNtightHighPt->Fill(tau.pt()/1000., 0., weight);
96  m_eff_jetRNNtight ->Fill(0., 0., weight);
97  }
98 
99 
100  static const SG::ConstAccessor<char> acc_GNTauL("GNTauL_v0prune");
101  double pass_loose = acc_GNTauL.withDefault(tau,false);
102  m_eff_pt_jetGNTauloose ->Fill(tau.pt()/1000., pass_loose, weight);
103 
104 
105  static const SG::ConstAccessor<char> acc_GNTauM("GNTauM_v0prune");
106  double pass_medium = acc_GNTauM.withDefault(tau,false);
107  m_eff_pt_jetGNTaumed ->Fill(tau.pt()/1000., pass_medium, weight);
108 
109 
110  static const SG::ConstAccessor<char> acc_GNTauT("GNTauT_v0prune");
111  double pass_tight = acc_GNTauT.withDefault(tau,false);
112  m_eff_pt_jetGNTautight ->Fill(tau.pt()/1000., pass_tight, weight);
113 
114 
115  }
116 
117 
118 }
Tau::EfficiencyPtPlots::m_eff_pt_jetGNTaulooseHighPt
TProfile * m_eff_pt_jetGNTaulooseHighPt
Definition: EfficiencyPtPlots.h:36
Tau::EfficiencyPtPlots::m_eff_jetRNNloose
TProfile * m_eff_jetRNNloose
Definition: EfficiencyPtPlots.h:28
Tau::EfficiencyPtPlots::m_eff_pt_jetGNTautightHighPt
TProfile * m_eff_pt_jetGNTautightHighPt
Definition: EfficiencyPtPlots.h:38
Tau::EfficiencyPtPlots::m_eff_jetGNTauloose
TProfile * m_eff_jetGNTauloose
Definition: EfficiencyPtPlots.h:41
PlotBase
Definition: PlotBase.h:34
Tau::EfficiencyPtPlots::m_eff_pt_jetRNNmedHighPt
TProfile * m_eff_pt_jetRNNmedHighPt
Definition: EfficiencyPtPlots.h:25
Tau::EfficiencyPtPlots::m_eff_jetGNTautight
TProfile * m_eff_jetGNTautight
Definition: EfficiencyPtPlots.h:43
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:64
Tau
Definition: EfficiencyPtPlots.cxx:9
SG::ConstAccessor< char >
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
Tau::EfficiencyPtPlots::m_eff_jetGNTaumed
TProfile * m_eff_jetGNTaumed
Definition: EfficiencyPtPlots.h:42
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:39
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::m_eff_pt_jetGNTautight
TProfile * m_eff_pt_jetGNTautight
Definition: EfficiencyPtPlots.h:34
Tau::EfficiencyPtPlots::EfficiencyPtPlots
EfficiencyPtPlots(PlotBase *pParent, const std::string &sDir, std::string sTauJetContainerName)
Definition: EfficiencyPtPlots.cxx:11
Tau::EfficiencyPtPlots::m_eff_pt_jetGNTaumed
TProfile * m_eff_pt_jetGNTaumed
Definition: EfficiencyPtPlots.h:33
Tau::EfficiencyPtPlots::m_eff_pt_jetGNTaumedHighPt
TProfile * m_eff_pt_jetGNTaumedHighPt
Definition: EfficiencyPtPlots.h:37
xAOD::TauJetParameters::JetRNNSigTight
@ JetRNNSigTight
Definition: TauDefs.h:148
Tau::EfficiencyPtPlots::m_eff_pt_jetGNTauloose
TProfile * m_eff_pt_jetGNTauloose
Definition: EfficiencyPtPlots.h:32
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:35
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
SG::ConstAccessor::withDefault
const_reference_type withDefault(const ELT &e, const T &deflt) const
Fetch the variable for one element, as a const reference, with a default.