ATLAS Offline Software
TrigSiSpacePointBase.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRIGINDETEVENT_TRIGSISPACEPOINTBASE_H
6 #define TRIGINDETEVENT_TRIGSISPACEPOINTBASE_H
7 
8 #include <cmath>
10 
11 #define MAX_SILICON_LAYER_NUM 19
12 
13 // layer numbering scheme:
14 // 3 Barrel Pixels 0,1,2
15 // 4 Barrel SCT 3,4,5,6 i.e. offsetBarrelSCT = 3
16 // 3 Endcap Pixels 7,8,9 i.e. offsetEndcapPixels = 7
17 // 9 Endcap SCT 10,11,12,13,14,15,16,17,18 i.e. offsetEndcapSCT = 10
18 
19 #define OffsetEndcapPixels 7
20 #define OffsetBarrelSCT 3
21 #define OffsetEndcapSCT 10
22 
24 
25 public:
26 
27  // using cylindrical co-ordinates, no. errors
29  double r, double phi, double z,
30  double dr=0.0, double dz=0.0, const Trk::SpacePoint* offlineSpacePoint = nullptr) :
31  m_layer(layer),
32  m_r(r), m_phi(phi), m_z(z),
33  m_dr(dr), m_dz(dz),
35  {
36  m_x = r * std::cos(phi);
37  m_y = r * std::sin(phi);
38  m_barCode=-1;
39  if (m_offlineSpacePoint) {
40  m_isPixel = (m_offlineSpacePoint->clusterList().second==nullptr);
41  }
42  else {
43  m_isPixel = false;//Arbitrarily choose value when no offline spacepoint
44  }
45  }
46 
47  // Destructor
48  virtual ~TrigSiSpacePointBase() = default;
49 
50  // Methods to set data members
51  void r( const double r ) {m_r = r; }
52  void phi(const double phi) {m_phi = phi;}
53  void z( const double z ) {m_z = z; }
54  void x( const double x ) {m_x = x; }
55  void y( const double y ) {m_y = y; }
56  void dr( const double dr ) {m_dr = dr; }
57  void dz( const double dz ) {m_dz = dz; }
58 
59  void barCode(int code) {m_barCode = code;}
60 
61  double r() const {return m_r;}
62  double phi() const {return m_phi;}
63  double z() const {return m_z;}
64  double dr() const {return m_dr;}
65  double dz() const {return m_dz;}
66  double x() const {return m_x;}
67  double y() const {return m_y;}
68  long layer() const {return m_layer;}
69 
70  bool isPixel() const {return m_isPixel;}
71  bool isSCT() const {return !m_isPixel;}
72 
73  // Methods to calculate associated values
74 
75  double eta(double z0) const {
76  double zr = (m_z-z0)/m_r;
77  return log(zr+std::sqrt(1.+zr*zr));
78  }
79 
80  int barCode() const {return m_barCode;}
82 
83 protected:
84 
85  long m_layer;
86 
87  double m_r;
88  double m_x;
89  double m_y;
90 
91  double m_phi;
92  double m_z;
93  double m_dr;
94  double m_dz;
95 
96  int m_barCode; //MC truth association
97  bool m_isPixel; //Stores whether spacepoint is Pixel or SCT
98 
100 };
101 #endif
102 
103 
104 
105 
Trk::SpacePoint::clusterList
const std::pair< const PrepRawData *, const PrepRawData * > & clusterList() const
return the pair of cluster pointers by reference
Definition: Tracking/TrkEvent/TrkSpacePoint/TrkSpacePoint/SpacePoint.h:127
TrigSiSpacePointBase::phi
void phi(const double phi)
Definition: TrigSiSpacePointBase.h:52
Trk::SpacePoint
Definition: Tracking/TrkEvent/TrkSpacePoint/TrkSpacePoint/SpacePoint.h:35
TrigSiSpacePointBase::TrigSiSpacePointBase
TrigSiSpacePointBase(long layer, double r, double phi, double z, double dr=0.0, double dz=0.0, const Trk::SpacePoint *offlineSpacePoint=nullptr)
Definition: TrigSiSpacePointBase.h:28
TrigSiSpacePointBase::isPixel
bool isPixel() const
Definition: TrigSiSpacePointBase.h:70
TrigSiSpacePointBase::m_barCode
int m_barCode
Definition: TrigSiSpacePointBase.h:96
TrigSiSpacePointBase::eta
double eta(double z0) const
Definition: TrigSiSpacePointBase.h:75
TrigSiSpacePointBase::m_offlineSpacePoint
const Trk::SpacePoint * m_offlineSpacePoint
Definition: TrigSiSpacePointBase.h:99
TrigSiSpacePointBase::m_isPixel
bool m_isPixel
Definition: TrigSiSpacePointBase.h:97
TrigSiSpacePointBase::~TrigSiSpacePointBase
virtual ~TrigSiSpacePointBase()=default
TrigSiSpacePointBase::x
void x(const double x)
Definition: TrigSiSpacePointBase.h:54
TrigSiSpacePointBase::y
double y() const
Definition: TrigSiSpacePointBase.h:67
TrigSiSpacePointBase::phi
double phi() const
Definition: TrigSiSpacePointBase.h:62
TrigSiSpacePointBase::m_dz
double m_dz
Definition: TrigSiSpacePointBase.h:94
drawFromPickle.cos
cos
Definition: drawFromPickle.py:36
TrigSiSpacePointBase::z
double z() const
Definition: TrigSiSpacePointBase.h:63
TrigSiSpacePointBase::offlineSpacePoint
const Trk::SpacePoint * offlineSpacePoint() const
Definition: TrigSiSpacePointBase.h:81
TrigSiSpacePointBase::z
void z(const double z)
Definition: TrigSiSpacePointBase.h:53
TrigSiSpacePointBase::r
double r() const
Definition: TrigSiSpacePointBase.h:61
TrigSiSpacePointBase::m_z
double m_z
Definition: TrigSiSpacePointBase.h:92
TrigSiSpacePointBase::layer
long layer() const
Definition: TrigSiSpacePointBase.h:68
TrigSiSpacePointBase::r
void r(const double r)
Definition: TrigSiSpacePointBase.h:51
TrigSiSpacePointBase::dr
void dr(const double dr)
Definition: TrigSiSpacePointBase.h:56
TrigSiSpacePointBase::dz
double dz() const
Definition: TrigSiSpacePointBase.h:65
TrigSiSpacePointBase::isSCT
bool isSCT() const
Definition: TrigSiSpacePointBase.h:71
TrigSiSpacePointBase::m_x
double m_x
Definition: TrigSiSpacePointBase.h:88
TrigSiSpacePointBase::x
double x() const
Definition: TrigSiSpacePointBase.h:66
SpacePoint.h
TrigSiSpacePointBase::y
void y(const double y)
Definition: TrigSiSpacePointBase.h:55
TrigSiSpacePointBase::barCode
int barCode() const
Definition: TrigSiSpacePointBase.h:80
TrigSiSpacePointBase::dr
double dr() const
Definition: TrigSiSpacePointBase.h:64
TrigSiSpacePointBase::m_layer
long m_layer
Definition: TrigSiSpacePointBase.h:85
TRT::Track::z0
@ z0
Definition: InnerDetector/InDetCalibEvent/TRT_CalibData/TRT_CalibData/TrackInfo.h:63
pmontree.code
code
Definition: pmontree.py:443
TrigSiSpacePointBase::dz
void dz(const double dz)
Definition: TrigSiSpacePointBase.h:57
TrigSiSpacePointBase::barCode
void barCode(int code)
Definition: TrigSiSpacePointBase.h:59
TrigSiSpacePointBase::m_dr
double m_dr
Definition: TrigSiSpacePointBase.h:93
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
TrigSiSpacePointBase::m_y
double m_y
Definition: TrigSiSpacePointBase.h:89
TrigSiSpacePointBase::m_phi
double m_phi
Definition: TrigSiSpacePointBase.h:91
TrigSiSpacePointBase
Definition: TrigSiSpacePointBase.h:23
drawFromPickle.sin
sin
Definition: drawFromPickle.py:36
TrigSiSpacePointBase::m_r
double m_r
Definition: TrigSiSpacePointBase.h:87