ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigMonitoring
TrigIDR4Monitoring
src
Efficiencies.cxx
Go to the documentation of this file.
1
9
10
#include "
Efficiencies.h
"
11
12
16
IDTPM2::Efficiencies::Efficiencies
(
const
std::string&
name
, ToolHandle<GenericMonitoringTool>* m )
17
:
IPlotBase
(
name
, m )
18
{ }
19
23
void
IDTPM2::Efficiencies::initialize
() {
24
25
// MY_MSG_DEBUG << "Booking efficiency plots in " << getDirectory() << endmsg;
26
27
m_eff_vs_inclusive
=
TIDA::Histogram2D<float,bool>
(
monTool
(),
"eff_vs_inclusive"
);
28
m_eff_vs_ntracks
=
TIDA::Histogram2D<float,bool>
(
monTool
(),
"eff_vs_ntracks"
);
29
m_eff_vs_pt
=
TIDA::Histogram2D<float,bool>
(
monTool
(),
"eff_vs_pt"
);
30
// may still want these in the future ...
31
// m_eff_vs_logPt = TIDA::Histogram2D<float,bool>( monTool(), "eff_vs_logPt" );
32
// m_eff_vs_lowPt = TIDA::Histogram2D<float,bool>( monTool(), "eff_vs_lowPt" );
33
m_eff_vs_eta
=
TIDA::Histogram2D<float,bool>
(
monTool
(),
"eff_vs_eta"
);
34
m_eff_vs_phi
=
TIDA::Histogram2D<float,bool>
(
monTool
(),
"eff_vs_phi"
);
35
m_eff_vs_d0
=
TIDA::Histogram2D<float,bool>
(
monTool
(),
"eff_vs_d0"
);
36
m_eff_vs_z0
=
TIDA::Histogram2D<float,bool>
(
monTool
(),
"eff_vs_z0"
);
37
38
m_eff_vs_Et
=
TIDA::Histogram2D<float,bool>
(
monTool
(),
"eff_vs_Et"
);
39
m_eff_vs_EtovPt
=
TIDA::Histogram2D<float,bool>
(
monTool
(),
"eff_vs_EtovPt"
);
40
41
43
m_eff_vs_actualMu
=
TIDA::Histogram2D<float,bool>
(
monTool
(),
"eff_vs_actualMu"
);
44
46
// if( m_doTruthMuPlots ) m_eff_vs_truthMu = TIDA::Histogram<float,bool>( monTool(), "eff_vs_truthMu" );
47
// }
48
53
54
55
}
56
57
61
void
IDTPM2::Efficiencies::execute
(
const
TrackAnalysisStore
& collections )
const
{
62
63
const
std::vector<const TrackView*>&
ref
= collections.reference_tracks();
64
66
// const std::vector<const TrackView*>& test = collections.test_tracks();
67
68
double
mu = collections.eventInfo()->actualInteractionsPerCrossing();
69
70
const
TIDA::Associator<const TrackView>
* matcher = collections.matcher();
71
72
for
(
size_t
i=0 ; i<
ref
.size(); i++ ) {
73
74
const
TrackView
& p = *
ref
[i];
75
76
bool
matched =
false
;
77
79
if
( matcher->matched(
ref
[i]) ) matched =
true
;
80
82
float
ppt = p.pt() / Gaudi::Units::GeV;
83
float
peta = p.eta();
84
float
pphi = p.phi();
85
float
pd0 = p.d0();
86
float
pz0 = p.z0();
87
88
float
Et = p.ET() / Gaudi::Units::GeV;
89
90
if
( p.hasParent() ) Et = p.parent()->ET()*0.001;
91
92
float
EtovPt = Et/ppt;
// pt should never be 0 so don't bother to check that
93
96
m_eff_vs_inclusive
.Fill( 1, matched );
97
98
m_eff_vs_ntracks
.Fill(
ref
.size(), matched );
99
100
m_eff_vs_pt
.Fill( ppt, matched );
101
// m_eff_vs_logPt.Fill( ppt, matched );
102
// m_eff_vs_lowPt.Fill( ppt, matched );
103
m_eff_vs_eta
.Fill( peta, matched );
104
m_eff_vs_phi
.Fill( pphi, matched );
105
m_eff_vs_d0
.Fill( pd0, matched );
106
m_eff_vs_z0
.Fill( pz0, matched );
107
108
m_eff_vs_Et
.Fill( Et, matched );
109
m_eff_vs_EtovPt
.Fill( EtovPt, matched );
110
111
m_eff_vs_actualMu
.Fill( mu, matched );
112
114
// m_eff_vs_eta_vs_pt.Fill( ppt, matched, ppt );
115
// m_eff_vs_eta_vs_phi.Fill( pphi, pet, matched );
116
// m_eff_vs_z0_vs_d0.Fill( pd0, pz0, matched );
117
// float ptheta = p.theta(); /// no point setting it unless it is needed
118
// m_eff_vs_z0sin_vs_d0.Fill( pz0*std::sin(ptheta), pd0, matched );
119
121
// if( m_doTruthMuPlots ) m_eff_vs_truthMu.Fill( matched, matched );
122
}
123
}
124
125
126
130
void
IDTPM2::Efficiencies::finalize
() {
MY_MSG_DEBUG
<<
"Finalising efficiency plots"
<<
endmsg
; }
131
132
ref
const std::regex ref(r_ef)
endmsg
#define endmsg
Definition
AnalysisConfig_Ntuple.cxx:54
MY_MSG_DEBUG
#define MY_MSG_DEBUG
Definition
MsgMacros.h:25
Efficiencies.h
emacs: this is -*- c++ -*-
IDTPM2::Efficiencies::m_eff_vs_inclusive
TIDA::Histogram2D< float, bool > m_eff_vs_inclusive
NB: the egregious root convention for a TEfficiency is Fill( ismatched, variable ),...
Definition
TrigMonitoring/TrigIDR4Monitoring/src/Efficiencies.h:43
IDTPM2::Efficiencies::m_eff_vs_d0
TIDA::Histogram2D< float, bool > m_eff_vs_d0
Definition
TrigMonitoring/TrigIDR4Monitoring/src/Efficiencies.h:52
IDTPM2::Efficiencies::m_eff_vs_z0
TIDA::Histogram2D< float, bool > m_eff_vs_z0
Definition
TrigMonitoring/TrigIDR4Monitoring/src/Efficiencies.h:53
IDTPM2::Efficiencies::m_eff_vs_pt
TIDA::Histogram2D< float, bool > m_eff_vs_pt
Definition
TrigMonitoring/TrigIDR4Monitoring/src/Efficiencies.h:47
IDTPM2::Efficiencies::finalize
void finalize()
Print out final stats on histograms.
Definition
Efficiencies.cxx:130
IDTPM2::Efficiencies::m_eff_vs_phi
TIDA::Histogram2D< float, bool > m_eff_vs_phi
Definition
TrigMonitoring/TrigIDR4Monitoring/src/Efficiencies.h:51
IDTPM2::Efficiencies::m_eff_vs_eta
TIDA::Histogram2D< float, bool > m_eff_vs_eta
Definition
TrigMonitoring/TrigIDR4Monitoring/src/Efficiencies.h:50
IDTPM2::Efficiencies::m_eff_vs_ntracks
TIDA::Histogram2D< float, bool > m_eff_vs_ntracks
Definition
TrigMonitoring/TrigIDR4Monitoring/src/Efficiencies.h:45
IDTPM2::Efficiencies::m_eff_vs_actualMu
TIDA::Histogram2D< float, bool > m_eff_vs_actualMu
Definition
TrigMonitoring/TrigIDR4Monitoring/src/Efficiencies.h:58
IDTPM2::Efficiencies::m_eff_vs_EtovPt
TIDA::Histogram2D< float, bool > m_eff_vs_EtovPt
Definition
TrigMonitoring/TrigIDR4Monitoring/src/Efficiencies.h:56
IDTPM2::Efficiencies::execute
void execute(const TrackAnalysisStore &collections) const
Definition
Efficiencies.cxx:61
IDTPM2::Efficiencies::initialize
void initialize()
Dedicated fill method (for tracks and/or truth particles).
Definition
Efficiencies.cxx:23
IDTPM2::Efficiencies::m_eff_vs_Et
TIDA::Histogram2D< float, bool > m_eff_vs_Et
Definition
TrigMonitoring/TrigIDR4Monitoring/src/Efficiencies.h:55
IDTPM2::IPlotBase::monTool
ToolHandle< GenericMonitoringTool > * monTool()
mon tool
Definition
IPlotBase.h:71
IDTPM2::IPlotBase::name
const std::string & name() const
generic utilities, just in case
Definition
IPlotBase.h:68
IDTPM2::IPlotBase::IPlotBase
IPlotBase(const std::string &name, ToolHandle< GenericMonitoringTool > *m=0)
built from dirName and anaTag
Definition
IPlotBase.h:41
IDTPM2::TrackAnalysisStore
Definition
TrackAnalysisStore.h:78
TIDA::Associator
Definition
TIDAAssociator.h:26
TIDA::Histogram2D
Definition
TIDAHistogram.h:81
TrackView
forward declaration required for function prototype
Definition
TrackView.h:43
TrigGlobEffCorr::Efficiencies::Efficiencies
Efficiencies()=default
Generated on
for ATLAS Offline Software by
1.17.0