ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigEvent
TrigMuonEvent
TrigMuonEvent
CombinedMuonFeature.h
Go to the documentation of this file.
1
// -*- C++ -*-
2
3
/*
4
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5
*/
6
7
#ifndef TRIGMUONEVENT_COMBINED_MUON_FEATURE_H
8
#define TRIGMUONEVENT_COMBINED_MUON_FEATURE_H
9
10
// Gaudi/Athena include(s):
11
#include "
AthenaKernel/CLASS_DEF.h
"
12
#include "
AthContainers/DataVector.h
"
13
#include "
EventKernel/INavigable4Momentum.h
"
14
#include "
FourMom/P4PtEtaPhiMBase.h
"
15
#include "
Navigation/NavigableTerminalNode.h
"
16
#include "AthLinks/ElementLink.h"
17
#include "
TruthUtils/ParticleConstants.h
"
18
19
// STL include(s):
20
#include <vector>
21
#include <stdint.h>
22
#include <map>
23
#include <string>
24
25
// Trigger include(s):
26
#include "
TrigMuonEvent/MuonFeatureContainer.h
"
27
#include "
TrigInDetEvent/TrigInDetTrackCollection.h
"
28
29
class
CombinedMuonFeature
:
public
P4PtEtaPhiMBase
,
30
public
NavigableTerminalNode
,
31
virtual
public
INavigable4Momentum
{
32
33
public
:
34
CombinedMuonFeature
();
35
CombinedMuonFeature
(
float
ptsigned,
float
sigma_pt
,
36
const
ElementLink< MuonFeatureContainer>
& muFastOutput,
37
const
ElementLink< TrigInDetTrackCollection>
& IdscanOutput);
38
39
CombinedMuonFeature
(
float
ptsigned,
float
sigma_pt
,
int
fs
,
int
fe,
int
fm,
40
const
ElementLink< MuonFeatureContainer>
& muFastOutput,
41
const
ElementLink< TrigInDetTrackCollection>
& IdscanOutput);
42
43
CombinedMuonFeature
(
float
pt
,
float
sigma_pt
,
float
q,
int
fs
,
int
fe,
int
fm,
44
const
ElementLink< MuonFeatureContainer>
& muFastOutput,
45
const
ElementLink< TrigInDetTrackCollection>
& IdscanOutput);
46
47
CombinedMuonFeature
(
float
pt
,
float
sigma_pt
,
float
q,
int
flag,
48
const
ElementLink< MuonFeatureContainer>
& muFastOutput,
49
const
ElementLink< TrigInDetTrackCollection>
& IdscanOutput);
50
51
CombinedMuonFeature
(
const
CombinedMuonFeature
* muon_feature);
52
CombinedMuonFeature
(
const
CombinedMuonFeature
& muon_feature);
53
54
public
:
55
CombinedMuonFeature
&
operator=
(
const
CombinedMuonFeature
& muon_feature);
56
57
double
pt
(
void
)
const
{
return
fabs(
m_pt
);}
58
double
charge
(
void
)
const
{
return
fabs(
m_charge
)>0?
m_charge
:(
m_pt
>0?1.0:-1.0);}
59
double
ptq
(
void
)
const
{
return
fabs(
m_charge
)>0?
m_pt
*
m_charge
:
m_pt
;}
60
double
sigma_pt
(
void
)
const
;
61
double
sigma_pt_raw
(
void
)
const
{
return
m_sigma_pt
; }
62
int
comb_strategy
(
void
)
const
;
63
int
comb_errorFlag
(
void
)
const
;
64
int
comb_matchFlag
(
void
)
const
;
65
int
getFlag
(
void
)
const
{
return
m_flag
; }
66
const
MuonFeature
*
muFastTrack
(
void
)
const
{
return
m_muFastTrack
.isValid() ? *
m_muFastTrack
: 0;}
67
const
TrigInDetTrack
*
IDTrack
(
void
)
const
{
return
m_IDTrack
.isValid() ? *
m_IDTrack
: 0;}
68
const
ElementLink<MuonFeatureContainer>
&
muFastTrackLink
(
void
)
const
{
return
m_muFastTrack
;}
69
const
ElementLink<TrigInDetTrackCollection>
&
IDTrackLink
(
void
)
const
{
return
m_IDTrack
;}
70
71
double
eta
(
void
)
const
;
72
double
phi
(
void
)
const
;
73
double
m
(
void
)
const
{
return
ParticleConstants::muonMassInMeV
;}
74
75
76
private
:
77
float
m_pt
;
78
float
m_sigma_pt
;
79
float
m_charge
;
80
int
m_flag
;
81
ElementLink<MuonFeatureContainer>
m_muFastTrack
;
82
ElementLink<TrigInDetTrackCollection>
m_IDTrack
;
83
};
84
86
std::string
str
(
const
CombinedMuonFeature
& d );
88
MsgStream&
operator<<
( MsgStream& m,
const
CombinedMuonFeature
& d );
89
91
bool
operator==
(
const
CombinedMuonFeature
&
a
,
const
CombinedMuonFeature
& b );
93
inline
bool
operator!=
(
const
CombinedMuonFeature
&
a
,
const
CombinedMuonFeature
& b ) {
94
return
!(
a
== b );
95
}
96
98
void
diff
(
const
CombinedMuonFeature
&
a
,
const
CombinedMuonFeature
& b,
99
std::map< std::string, double >& variableChange );
100
101
CLASS_DEF
(
CombinedMuonFeature
, 1501, 1)
102
CLASS_DEF
(
DataVector
<
CombinedMuonFeature
> , 225396276 , 1 )
103
104
#include "TrigMuonEvent/CombinedMuonFeatureContainer.h"
105
106
#endif
// TRIGMUONEVENT_COMBINED_MUON_FEATURE_H
diff
void diff(const CombinedMuonFeature &a, const CombinedMuonFeature &b, std::map< std::string, double > &variableChange)
Comparison with feedback.
Definition
CombinedMuonFeature.cxx:212
operator<<
MsgStream & operator<<(MsgStream &m, const CombinedMuonFeature &d)
Helper operator for printing the object.
Definition
CombinedMuonFeature.cxx:186
operator!=
bool operator!=(const CombinedMuonFeature &a, const CombinedMuonFeature &b)
Operator comparing two CombinedMuonFeature objects for inequality.
Definition
CombinedMuonFeature.h:93
operator==
bool operator==(const CombinedMuonFeature &a, const CombinedMuonFeature &b)
Operator comparing two CombinedMuonFeature objects for equality.
Definition
CombinedMuonFeature.cxx:191
CLASS_DEF.h
macros to associate a CLID to a type
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition
Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:67
DataVector.h
An STL vector of pointers that by default owns its pointed-to elements.
INavigable4Momentum.h
a
static Double_t a
Definition
LArPhysWaveHECTool.cxx:38
fs
static Double_t fs
Definition
LArPhysWaveHECTool.cxx:37
MuonFeatureContainer.h
NavigableTerminalNode.h
P4PtEtaPhiMBase.h
ParticleConstants.h
A number of constexpr particle constants to avoid hardcoding them directly in various places.
TrigInDetTrackCollection.h
CombinedMuonFeature
Definition
CombinedMuonFeature.h:31
CombinedMuonFeature::muFastTrackLink
const ElementLink< MuonFeatureContainer > & muFastTrackLink(void) const
Definition
CombinedMuonFeature.h:68
CombinedMuonFeature::operator=
CombinedMuonFeature & operator=(const CombinedMuonFeature &muon_feature)
Definition
CombinedMuonFeature.cxx:152
CombinedMuonFeature::charge
double charge(void) const
Definition
CombinedMuonFeature.h:58
CombinedMuonFeature::comb_errorFlag
int comb_errorFlag(void) const
Definition
CombinedMuonFeature.cxx:108
CombinedMuonFeature::ptq
double ptq(void) const
Definition
CombinedMuonFeature.h:59
CombinedMuonFeature::getFlag
int getFlag(void) const
Definition
CombinedMuonFeature.h:65
CombinedMuonFeature::muFastTrack
const MuonFeature * muFastTrack(void) const
Definition
CombinedMuonFeature.h:66
CombinedMuonFeature::m
double m(void) const
mass
Definition
CombinedMuonFeature.h:73
CombinedMuonFeature::IDTrackLink
const ElementLink< TrigInDetTrackCollection > & IDTrackLink(void) const
Definition
CombinedMuonFeature.h:69
CombinedMuonFeature::m_muFastTrack
ElementLink< MuonFeatureContainer > m_muFastTrack
Definition
CombinedMuonFeature.h:81
CombinedMuonFeature::pt
double pt(void) const
transverse momentum
Definition
CombinedMuonFeature.h:57
CombinedMuonFeature::comb_matchFlag
int comb_matchFlag(void) const
Definition
CombinedMuonFeature.cxx:114
CombinedMuonFeature::CombinedMuonFeature
CombinedMuonFeature()
Definition
CombinedMuonFeature.cxx:21
CombinedMuonFeature::sigma_pt
double sigma_pt(void) const
Definition
CombinedMuonFeature.cxx:84
CombinedMuonFeature::m_charge
float m_charge
Definition
CombinedMuonFeature.h:79
CombinedMuonFeature::eta
double eta(void) const
pseudo rapidity
Definition
CombinedMuonFeature.cxx:163
CombinedMuonFeature::m_sigma_pt
float m_sigma_pt
Definition
CombinedMuonFeature.h:78
CombinedMuonFeature::m_IDTrack
ElementLink< TrigInDetTrackCollection > m_IDTrack
Definition
CombinedMuonFeature.h:82
CombinedMuonFeature::IDTrack
const TrigInDetTrack * IDTrack(void) const
Definition
CombinedMuonFeature.h:67
CombinedMuonFeature::m_pt
float m_pt
Definition
CombinedMuonFeature.h:77
CombinedMuonFeature::m_flag
int m_flag
Definition
CombinedMuonFeature.h:80
CombinedMuonFeature::sigma_pt_raw
double sigma_pt_raw(void) const
Definition
CombinedMuonFeature.h:61
CombinedMuonFeature::phi
double phi(void) const
phi in [-pi,pi[
Definition
CombinedMuonFeature.cxx:167
CombinedMuonFeature::comb_strategy
int comb_strategy(void) const
Definition
CombinedMuonFeature.cxx:97
DataVector
Derived DataVector<T>.
Definition
DataVector.h:795
ElementLink
ElementLink implementation for ROOT usage.
Definition
A/AthLinks/ElementLink.h:40
INavigable4Momentum
Definition
INavigable4Momentum.h:21
MuonFeature
Definition
MuonFeature.h:21
NavigableTerminalNode::NavigableTerminalNode
NavigableTerminalNode()
Definition
NavigableTerminalNode.h:27
P4PtEtaPhiMBase
P4PtEtaPhiMBase is a base class for classes with 4-momentum behavior, for which pt,...
Definition
P4PtEtaPhiMBase.h:26
TrigInDetTrack
represents a LVL2 ID track
Definition
TrigInDetTrack.h:34
ParticleConstants::PDG2011::muonMassInMeV
constexpr double muonMassInMeV
the mass of the muon (in MeV)
Definition
ParticleConstants.h:29
str
Definition
BTagTrackIpAccessor.cxx:11
Generated on
for ATLAS Offline Software by
1.17.0