ATLAS Offline Software
Trigger
TrigAnalysis
TrigEgammaEmulationTool
Root
TrigEgammaEmulationFastElectronHypoTool.cxx
Go to the documentation of this file.
1
2
3
4
#include "
TrigEgammaEmulationTool/TrigEgammaEmulationFastElectronHypoTool.h
"
5
#include "GaudiKernel/SystemOfUnits.h"
6
7
8
using namespace
Trig
;
9
10
//**********************************************************************
11
12
TrigEgammaEmulationFastElectronHypoTool::TrigEgammaEmulationFastElectronHypoTool
(
const
std::string& myname )
13
:
TrigEgammaEmulationBaseHypoTool
(myname)
14
{}
15
16
17
18
//=================================================================
19
20
bool
TrigEgammaEmulationFastElectronHypoTool::emulate
(
const
Trig::TrigData
&
input
,
21
bool
&pass)
const
22
{
23
pass=
false
;
24
25
if
( !
input
.roi )
return
false
;
26
27
if
(
input
.trig_electrons.empty() )
return
false
;
28
29
for
(
const
auto
&
el
:
input
.trig_electrons )
30
{
31
if
(
decide
(
input
,
el
) ){
32
pass=
true
;
33
return
true
;
34
}
35
}
36
37
return
false
;
38
}
39
40
//=================================================================
41
42
bool
TrigEgammaEmulationFastElectronHypoTool::decide
(
const
Trig::TrigData
&
/*input*/
,
43
const
xAOD::TrigElectron
*
electron
)
const
44
{
45
46
if
(
m_acceptAll
) {
47
ATH_MSG_DEBUG
(
"AcceptAll property is set: taking all events"
);
48
return
true
;
49
}
else
{
50
ATH_MSG_DEBUG
(
"AcceptAll property not set: applying selection"
);
51
}
52
53
54
const
xAOD::TrackParticle
* trkIter =
electron
-> trackParticle();
55
if
( trkIter == 0 ){
// disconsider candidates without track
56
return
false
;
57
}
58
59
// Retrieve all quantities
60
float
dPhiCalo =
electron
->trkClusDphi();
61
float
dEtaCalo =
electron
->trkClusDeta();
62
float
ptCalo =
electron
->pt();
63
float
eToverPt =
electron
->etOverPt();
64
float
NTRHits =
electron
->nTRTHits();
65
float
NStrawHits =
electron
->nTRTHiThresholdHits();
66
float
TRTHitRatio = NStrawHits == 0 ? 1e10 : NTRHits/NStrawHits;
67
68
if
( ptCalo <
m_trackPt
){
69
ATH_MSG_DEBUG
(
"Fails pt cut"
<< ptCalo <<
" < "
<<
m_trackPt
);
70
return
false
;
71
}
72
73
if
( dEtaCalo >
m_caloTrackDEta
) {
74
ATH_MSG_DEBUG
(
"Fails dEta cut "
<< dEtaCalo <<
" < "
<<
m_caloTrackDEta
);
75
return
false
;
76
}
77
if
( dPhiCalo >
m_caloTrackDPhi
) {
78
ATH_MSG_DEBUG
(
"Fails dPhi cut "
<< dPhiCalo <<
" < "
<<
m_caloTrackDPhi
);
79
return
false
;
80
}
81
82
if
( eToverPt <
m_caloTrackdEoverPLow
) {
83
ATH_MSG_DEBUG
(
"Fails eoverp low cut "
<< eToverPt <<
" < "
<<
m_caloTrackdEoverPLow
);
84
return
false
;
85
}
86
if
( eToverPt >
m_caloTrackdEoverPHigh
) {
87
ATH_MSG_DEBUG
(
"Fails eoverp high cut "
<< eToverPt <<
" < "
<<
m_caloTrackdEoverPHigh
);
88
return
false
;
89
}
90
if
( TRTHitRatio <
m_trtRatio
){
91
ATH_MSG_DEBUG
(
"Fails TRT cut "
<< TRTHitRatio <<
" < "
<<
m_trtRatio
);
92
return
false
;
93
}
94
95
96
if
(
m_doLRT
){
97
ATH_MSG_DEBUG
(
"doLRT: "
<<
m_doLRT
);
98
ATH_MSG_DEBUG
(
"Track d0: "
<<
m_trkd0
);
99
float
trk_d0 = std::fabs(trkIter->
d0
());
100
if
(trk_d0 <
m_trkd0
){
101
ATH_MSG_DEBUG
(
"Fails d0 cut "
<<trk_d0<<
" < "
<<
m_trkd0
);
102
return
false
;
103
}
104
}
105
106
107
ATH_MSG_DEBUG
(
"Passed selection"
);
108
return
true
;
109
110
}
111
xAOD::TrigElectron_v1
Class describing an electron reconstructed in the HLT.
Definition:
TrigElectron_v1.h:39
Trig
The common trigger namespace for trigger analysis tools.
Definition:
LArCellMonAlg.h:33
Trig::TrigEgammaEmulationFastElectronHypoTool::decide
bool decide(const Trig::TrigData &input, const xAOD::TrigElectron *electron) const
Definition:
TrigEgammaEmulationFastElectronHypoTool.cxx:42
Trig::TrigEgammaEmulationFastElectronHypoTool::m_acceptAll
Gaudi::Property< bool > m_acceptAll
Definition:
TrigEgammaEmulationFastElectronHypoTool.h:35
Trig::TrigEgammaEmulationFastElectronHypoTool::m_caloTrackdEoverPHigh
Gaudi::Property< float > m_caloTrackdEoverPHigh
Definition:
TrigEgammaEmulationFastElectronHypoTool.h:41
xAOD::TrackParticle_v1::d0
float d0() const
Returns the parameter.
Trig::TrigEgammaEmulationFastElectronHypoTool::m_caloTrackdEoverPLow
Gaudi::Property< float > m_caloTrackdEoverPLow
Definition:
TrigEgammaEmulationFastElectronHypoTool.h:40
Trig::TrigEgammaEmulationBaseHypoTool
Definition:
TrigEgammaEmulationBaseHypoTool.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition:
AthMsgStreamMacros.h:29
PlotPulseshapeFromCool.input
input
Definition:
PlotPulseshapeFromCool.py:106
Trig::TrigEgammaEmulationFastElectronHypoTool::m_doLRT
Gaudi::Property< bool > m_doLRT
Definition:
TrigEgammaEmulationFastElectronHypoTool.h:36
plotIsoValidation.el
el
Definition:
plotIsoValidation.py:197
Trig::TrigEgammaEmulationFastElectronHypoTool::m_trackPt
Gaudi::Property< float > m_trackPt
Definition:
TrigEgammaEmulationFastElectronHypoTool.h:37
Trig::TrigEgammaEmulationFastElectronHypoTool::m_caloTrackDEta
Gaudi::Property< float > m_caloTrackDEta
Definition:
TrigEgammaEmulationFastElectronHypoTool.h:38
TrigEgammaEmulationFastElectronHypoTool.h
Trig::TrigEgammaEmulationFastElectronHypoTool::m_trkd0
Gaudi::Property< float > m_trkd0
Definition:
TrigEgammaEmulationFastElectronHypoTool.h:43
Trig::TrigEgammaEmulationFastElectronHypoTool::m_trtRatio
Gaudi::Property< float > m_trtRatio
Definition:
TrigEgammaEmulationFastElectronHypoTool.h:42
Trig::TrigData
Definition:
TrigEgammaEmulationToolMT.h:40
xAOD::EgammaParameters::electron
@ electron
Definition:
EgammaEnums.h:18
Trig::TrigEgammaEmulationFastElectronHypoTool::emulate
virtual bool emulate(const Trig::TrigData &input, bool &pass) const override
Definition:
TrigEgammaEmulationFastElectronHypoTool.cxx:20
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition:
TrackParticle_v1.h:43
Trig::TrigEgammaEmulationFastElectronHypoTool::m_caloTrackDPhi
Gaudi::Property< float > m_caloTrackDPhi
Definition:
TrigEgammaEmulationFastElectronHypoTool.h:39
Trig::TrigEgammaEmulationFastElectronHypoTool::TrigEgammaEmulationFastElectronHypoTool
TrigEgammaEmulationFastElectronHypoTool(const std::string &myname)
Definition:
TrigEgammaEmulationFastElectronHypoTool.cxx:12
Generated on Thu Nov 7 2024 21:29:35 for ATLAS Offline Software by
1.8.18