ATLAS Offline Software
Loading...
Searching...
No Matches
MuonFeature.h
Go to the documentation of this file.
1// -*- C++ -*-
2
3/*
4 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
5*/
6
7#ifndef TRIGMUONEVENT_MUON_FEATURE_H
8#define TRIGMUONEVENT_MUON_FEATURE_H
9
10// STL include(s):
11#include <string>
12#include <map>
13
14// Gaudi/Athena include(s):
17
18// Forward declaration(s):
19class MsgStream;
20
22
23public:
24 enum AlgoId{GEV900ID=0, MUONID=1, HALOID=2, NULLID=99999};
25
27 // keep this for backward compatibility
28 MuonFeature(int saddress, float pt, float radius, float eta,
29 float phi, float dir_phi, float zeta, float dir_zeta, float beta);
30 // new constructor
31 MuonFeature(int saddress, float pt, float radius, float eta,
32 float phi, float dir_phi, float zeta, float dir_zeta, float beta,
33 float sp1_r, float sp1_z, float sp1_slope,
34 float sp2_r, float sp2_z, float sp2_slope,
35 float sp3_r, float sp3_z, float sp3_slope,
36 float br_radius, float br_sagitta,
37 float ec_alpha, float ec_beta,
38 double dq_var1, double dq_var2);
39
40 MuonFeature(const MuonFeature* muon_feature);
41 MuonFeature(const MuonFeature& muon_feature);
42
43 MuonFeature& operator=(const MuonFeature& muon_feature);
44
45 AlgoId algoId(void) const {return m_algoId;}
46 int roiId(void) const {return m_RoIId;}
47 int saddress(void) const {return m_saddress;}
48 float pt(void) const {return m_pt;}
49 float radius(void) const {return m_radius;}
50 float eta(void) const {return m_eta;}
51 float phi(void) const {return m_phi;}
52 float dir_phi(void) const {return m_dir_phi;}
53 float zeta(void) const {return m_zeta;}
54 float dir_zeta(void) const {return m_dir_zeta;}
55 float beta(void) const {return m_beta;}
56 float sp1_r(void) const {return m_sp1_r; }
57 float sp1_z(void) const {return m_sp1_z; }
58 float sp1_slope(void) const {return m_sp1_slope; }
59 float sp2_r(void) const {return m_sp2_r; }
60 float sp2_z(void) const {return m_sp2_z; }
61 float sp2_slope(void) const {return m_sp2_slope; }
62 float sp3_r(void) const {return m_sp3_r; }
63 float sp3_z(void) const {return m_sp3_z; }
64 float sp3_slope(void) const {return m_sp3_slope; }
65 float br_radius(void) const {return m_br_radius; }
66 float br_sagitta(void) const {return m_br_sagitta; }
67 float ec_alpha(void) const {return m_ec_alpha; }
68 float ec_beta(void) const {return m_ec_beta; }
69 double dq_var1(void) const {return m_dq_var1; }
70 double dq_var2(void) const {return m_dq_var2; }
71
74 void set_sp1(float r, float z, float slope) {m_sp1_r=r; m_sp1_z=z; m_sp1_slope=slope;}
75 void set_sp2(float r, float z, float slope) {m_sp2_r=r; m_sp2_z=z; m_sp2_slope=slope;}
76 void set_sp3(float r, float z, float slope) {m_sp3_r=r; m_sp3_z=z; m_sp3_slope=slope;}
77 void set_br(float radius, float sagitta) {m_br_radius=radius; m_br_sagitta=sagitta;}
78 void set_ec(float alpha, float beta) {m_ec_alpha =alpha ; m_ec_beta =beta;}
79 void set_dq(double var1, double var2) {m_dq_var1 =var1 ; m_dq_var2 =var2;}
80
81private:
85 float m_pt;
86 float m_radius;
87 float m_eta;
88 float m_phi;
89 float m_dir_phi;
90 float m_zeta;
92 float m_beta;
93 float m_sp1_r;
94 float m_sp1_z;
96 float m_sp2_r;
97 float m_sp2_z;
99 float m_sp3_r;
100 float m_sp3_z;
106 double m_dq_var1;
107 double m_dq_var2;
108
109};
110
112std::string str( const MuonFeature& muon );
114MsgStream& operator<< ( MsgStream& m, const MuonFeature& muon );
115
117bool operator== ( const MuonFeature& left, const MuonFeature& right );
119inline bool operator!= ( const MuonFeature& left, const MuonFeature& right ) {
120 return !( left == right );
121}
122
124void diff( const MuonFeature& left, const MuonFeature& right,
125 std::map< std::string, double >& varChange );
126
127CLASS_DEF(MuonFeature, 1500, 1)
128CLASS_DEF(DataVector<MuonFeature>, 227312873, 1)
129
130
131#endif // TRIGMUONEVENT_MUON_FEATURE_H
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
macros to associate a CLID to a type
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
An STL vector of pointers that by default owns its pointed-to elements.
MsgStream & operator<<(MsgStream &m, const MuonFeature &muon)
Helper operator for printing the object.
void diff(const MuonFeature &left, const MuonFeature &right, std::map< std::string, double > &varChange)
Comparison with feedback.
bool operator!=(const MuonFeature &left, const MuonFeature &right)
Operator comparing two MuonFeature objects for inequality.
bool operator==(const MuonFeature &left, const MuonFeature &right)
Operator comparing two MuonFeature objects for equality.
#define z
Derived DataVector<T>.
Definition DataVector.h:795
float zeta(void) const
Definition MuonFeature.h:53
void set_algoId(AlgoId algoId)
Definition MuonFeature.h:72
float m_br_radius
float br_radius(void) const
Definition MuonFeature.h:65
float m_sp3_slope
float m_sp1_z
Definition MuonFeature.h:94
float sp2_z(void) const
Definition MuonFeature.h:60
float ec_alpha(void) const
Definition MuonFeature.h:67
float br_sagitta(void) const
Definition MuonFeature.h:66
void set_br(float radius, float sagitta)
Definition MuonFeature.h:77
float sp1_r(void) const
Definition MuonFeature.h:56
float m_sp2_slope
Definition MuonFeature.h:98
float sp2_r(void) const
Definition MuonFeature.h:59
int saddress(void) const
Definition MuonFeature.h:47
double dq_var1(void) const
Definition MuonFeature.h:69
float pt(void) const
Definition MuonFeature.h:48
AlgoId algoId(void) const
Definition MuonFeature.h:45
double m_dq_var1
float m_ec_alpha
float m_br_sagitta
int roiId(void) const
Definition MuonFeature.h:46
float beta(void) const
Definition MuonFeature.h:55
void set_sp3(float r, float z, float slope)
Definition MuonFeature.h:76
float phi(void) const
Definition MuonFeature.h:51
float m_dir_phi
Definition MuonFeature.h:89
float m_dir_zeta
Definition MuonFeature.h:91
double dq_var2(void) const
Definition MuonFeature.h:70
float sp1_z(void) const
Definition MuonFeature.h:57
float dir_zeta(void) const
Definition MuonFeature.h:54
void set_sp2(float r, float z, float slope)
Definition MuonFeature.h:75
float m_sp2_r
Definition MuonFeature.h:96
float ec_beta(void) const
Definition MuonFeature.h:68
float sp1_slope(void) const
Definition MuonFeature.h:58
float m_sp2_z
Definition MuonFeature.h:97
float m_sp1_slope
Definition MuonFeature.h:95
void set_ec(float alpha, float beta)
Definition MuonFeature.h:78
float radius(void) const
Definition MuonFeature.h:49
void set_dq(double var1, double var2)
Definition MuonFeature.h:79
float m_radius
Definition MuonFeature.h:86
float sp2_slope(void) const
Definition MuonFeature.h:61
void set_sp1(float r, float z, float slope)
Definition MuonFeature.h:74
AlgoId m_algoId
Definition MuonFeature.h:82
float m_sp3_r
Definition MuonFeature.h:99
float sp3_slope(void) const
Definition MuonFeature.h:64
float dir_phi(void) const
Definition MuonFeature.h:52
double m_dq_var2
float m_ec_beta
float sp3_z(void) const
Definition MuonFeature.h:63
void set_roiId(int roiId)
Definition MuonFeature.h:73
float eta(void) const
Definition MuonFeature.h:50
float m_sp1_r
Definition MuonFeature.h:93
float sp3_r(void) const
Definition MuonFeature.h:62
MuonFeature & operator=(const MuonFeature &muon_feature)
int r
Definition globals.cxx:22