Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Properties
Related Functions
:
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
v
w
x
z
Files
File List
File Members
All
$
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Variables
$
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
v
x
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
GitLab
LXR
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
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
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
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 Tue Mar 18 2025 21:21:05 for ATLAS Offline Software by
1.8.18