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
Reconstruction
PFlow
PFlowUtils
Root
FEMuonHelper.cxx
Go to the documentation of this file.
1
#include "
PFlowUtils/FEMuonHelper.h
"
2
3
FEMuonHelper::FEMuonHelper
() : AsgMessaging(
"FEMuonHelper"
) {};
4
5
bool
FEMuonHelper::checkMuonLinks
(
const
std::vector <
ElementLink< xAOD::MuonContainer >
>& FE_MuonLinks,
const
std::string& qualityString)
const
{
6
7
for
(
const
ElementLink<xAOD::MuonContainer>
&
MuonLink
: FE_MuonLinks){
8
if
(!
MuonLink
.
isValid
()){
9
ATH_MSG_WARNING
(
"JetPFlowSelectionAlg encountered an invalid muon element link. Skipping. "
);
10
continue
;
11
}
12
13
//Details of muon working points are here:
14
//https://twiki.cern.ch/twiki/bin/view/Atlas/MuonSelectionTool
15
const
xAOD::Muon
*
muon
= *
MuonLink
;
16
xAOD::Muon::Quality
quality
=
xAOD::Muon::VeryLoose
;
17
18
if
(qualityString ==
"Loose"
)
quality
=
xAOD::Muon::Loose
;
19
else
if
(qualityString ==
"Medium"
)
quality
=
xAOD::Muon::Medium
;
20
else
if
(qualityString ==
"Tight"
)
quality
=
xAOD::Muon::Tight
;
21
22
if
(
muon
->quality() <=
quality
&&
muon
->muonType() ==
xAOD::Muon::Combined
){
23
return
true
;
24
}
25
}
26
27
return
false
;
28
}
29
30
TLorentzVector
FEMuonHelper::adjustNeutralCaloEnergy
(
const
std::vector<double>& clusterMuonEnergyFracs,
const
xAOD::FlowElement
& theFE)
const
{
31
32
double
totalMuonCaloEnergy = 0.0;
33
for
(
auto
energy
: clusterMuonEnergyFracs ) totalMuonCaloEnergy +=
energy
;
34
35
TLorentzVector newP4;
36
newP4.SetPxPyPzE(theFE.
p4
().Px(),theFE.
p4
().Py(),theFE.
p4
().Pz(),theFE.
e
() - totalMuonCaloEnergy);
37
return
newP4;
38
39
}
FEMuonHelper::adjustNeutralCaloEnergy
TLorentzVector adjustNeutralCaloEnergy(const std::vector< double > &clusterMuonEnergyFracs, const xAOD::FlowElement &theFE) const
Definition:
FEMuonHelper.cxx:30
LikeEnum::Loose
@ Loose
Definition:
LikelihoodEnums.h:12
xAOD::muon
@ muon
Definition:
TrackingPrimitives.h:196
MuonLink
ElementLink< xAOD::MuonContainer > MuonLink
Definition:
BPhysHelper.cxx:21
FEMuonHelper.h
LikeEnum::VeryLoose
@ VeryLoose
Definition:
LikelihoodEnums.h:11
ElementLink::isValid
bool isValid() const
Test to see if the link can be dereferenced.
xAOD::Muon_v1
Class describing a Muon.
Definition:
Muon_v1.h:38
ParticleGun_FastCalo_ChargeFlip_Config.energy
energy
Definition:
ParticleGun_FastCalo_ChargeFlip_Config.py:78
FEMuonHelper::FEMuonHelper
FEMuonHelper()
Definition:
FEMuonHelper.cxx:3
Trk::Combined
@ Combined
Definition:
TrackSummaryTool.h:32
ElementLink
ElementLink implementation for ROOT usage.
Definition:
AthLinks/ElementLink.h:123
LikeEnum::Tight
@ Tight
Definition:
LikelihoodEnums.h:15
xAOD::FlowElement_v1::e
virtual double e() const override
The total energy of the particle.
Definition:
FlowElement_v1.cxx:25
xAOD::FlowElement_v1::p4
virtual FourMom_t p4() const override
The full 4-momentum of the particle.
Definition:
FlowElement_v1.cxx:33
FEMuonHelper::checkMuonLinks
bool checkMuonLinks(const std::vector< ElementLink< xAOD::MuonContainer > > &FE_MuonLinks, const std::string &qualityString) const
Verify if at least one combined muon in a list passes the relevant quality criteria Details of muon w...
Definition:
FEMuonHelper.cxx:5
LikeEnum::Medium
@ Medium
Definition:
LikelihoodEnums.h:14
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition:
AthMsgStreamMacros.h:32
python.TrackLeptonConfig.quality
quality
Definition:
TrackLeptonConfig.py:16
xAOD::FlowElement_v1
A detector object made of other lower level object(s)
Definition:
FlowElement_v1.h:25
Generated on Sat Apr 5 2025 21:10:48 for ATLAS Offline Software by
1.8.18