Belle II Software development
KLMTriggerTrack.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8
9#ifndef KLMTRIGGERTRACK_H
10#define KLMTRIGGERTRACK_H
11
12#include <framework/datastore/RelationsObject.h>
13
14namespace Belle2 {
21
22 public:
23
26 m_fwd(0),
27 m_sector(0),
28 m_nHits(0),
29 m_slopeXY(0.0),
30 m_interceptXY(0.0),
32 m_chisqXY(0.0),
33 m_slopeXZ(0.0),
34 m_interceptXZ(0.0),
36 m_chisqXZ(0.0),
37 m_nLayers(0),
38 m_firstLayer(0),
39 m_lastLayer(0),
40 m_trigger(false),
41 m_bklm_n_trg_sectors(0),
42 m_eklm_n_trg_sectors(0),
43 m_bklm_back_to_back_flag(0),
44 m_eklm_back_to_back_flag(0)
45 { }
46
50 KLMTriggerTrack(int fwd, int sector):
51 m_fwd(fwd),
52 m_sector(sector),
53 m_nHits(0),
54 m_slopeXY(0.0),
55 m_interceptXY(0.0),
57 m_chisqXY(0.0),
58 m_slopeXZ(0.0),
59 m_interceptXZ(0.0),
61 m_chisqXZ(0.0),
62 m_nLayers(0),
63 m_firstLayer(0),
64 m_lastLayer(0),
65 m_trigger(false),
66 m_bklm_n_trg_sectors(0),
67 m_eklm_n_trg_sectors(0),
68 m_bklm_back_to_back_flag(0),
69 m_eklm_back_to_back_flag(0)
70 { }
71
73 virtual ~KLMTriggerTrack() { }
74
75 // accessors
76
79 int getForward() const { return m_fwd; }
80
83 int getSector() const { return m_sector; }
84
87 double getSlopeXY() const { return m_slopeXY; }
88
91 double getInterceptXY() const { return m_interceptXY; }
92
95 double getImpactParameterXY() const { return m_impactParameterXY; }
96
99 double getChisqXY() const { return m_chisqXY; }
100
103 double getSlopeXZ() const { return m_slopeXZ; }
104
107 double getInterceptXZ() const { return m_interceptXZ; }
108
111 double getImpactParameterXZ() const { return m_impactParameterXZ; }
112
115 double getChisqXZ() const { return m_chisqXZ; }
116
119 int getNLayers() const { return m_nLayers; }
120
123 int getFirstLayer() const { return m_firstLayer; }
124
127 int getLastLayer() const { return m_lastLayer; }
128
131 bool getTrigger() const { return m_trigger; }
132
133 // modifiers
134
137 void setSlopeXY(double slopeXY) { m_slopeXY = slopeXY; }
138
141 void setInterceptXY(double interceptXY) { m_interceptXY = interceptXY; }
142
145 void setImpactParameterXY(double ipXY) { m_impactParameterXY = ipXY; }
146
149 void setChisqXY(double chisqXY) { m_chisqXY = chisqXY; }
150
153 void setSlopeXZ(double slopeXZ) { m_slopeXZ = slopeXZ; }
154
157 void setInterceptXZ(double interceptXZ) { m_interceptXZ = interceptXZ; }
158
161 void setImpactParameterXZ(double ipXZ) { m_impactParameterXZ = ipXZ; }
162
165 void setChisqXZ(double chisqXZ) { m_chisqXZ = chisqXZ; }
166
169 void setNLayers(int nLayers) { m_nLayers = nLayers; }
170
173 void setFirstLayer(int firstLayer) { m_firstLayer = firstLayer; }
174
177 void setLastLayer(int lastLayer) { m_lastLayer = lastLayer; }
178
181 void setTrigger(bool trg) { m_trigger = trg; }
182
183
184 void setBKLM_n_trg_sectors(int n_trg)
185 {
186 m_bklm_n_trg_sectors = n_trg;
187 }
188
189
190 void setEKLM_n_trg_sectors(int n_trg)
191 {
192 m_eklm_n_trg_sectors = n_trg;
193 }
194 void setBKLM_back_to_back_flag(int n_trg)
195 {
196 m_bklm_back_to_back_flag = n_trg;
197
198 }
199 void setEKLM_back_to_back_flag(int n_trg)
200 {
201 m_eklm_back_to_back_flag = n_trg;
202
203 }
204 private:
206 int m_fwd;
207
210
213
215 double m_slopeXY;
216
219
222
224 double m_chisqXY;
225
227 double m_slopeXZ;
228
231
234
236 double m_chisqXZ;
237
240
243
246
249
250
251 int m_bklm_n_trg_sectors;
252 int m_eklm_n_trg_sectors;
253 int m_bklm_back_to_back_flag;
254 int m_eklm_back_to_back_flag;
255
256
260 };
262} // end of namespace Belle2
263
264#endif //KLMTRIGGERTRACK_H
Store KLM TRG track information as a ROOT object.
double m_slopeXY
calculated slope of the straight track in XY plain
virtual ~KLMTriggerTrack()
Destructor.
double m_slopeXZ
calculated slope of the straight track in XZ plain
void setChisqXZ(double chisqXZ)
Set chi squared of the track in XZ plain.
double m_impactParameterXY
calculated impact parameter of the straight track in XY plain
void setInterceptXY(double interceptXY)
Set intercept parameter of the track in XY plain.
double m_interceptXZ
calculated z-intercept of the straight track in XZ plain
int getNLayers() const
Get number of fired layers.
double m_impactParameterXZ
calculated impact parameter of the straight track in XZ plain
void setTrigger(bool trg)
Set trigger flag.
int m_nHits
number of hits in the sector
void setNLayers(int nLayers)
Set number of fired layers.
void setInterceptXZ(double interceptXZ)
Set intercept parameter of the track in XZ plain.
void setImpactParameterXY(double ipXY)
Set impact parameter of the track in XY plain.
void setFirstLayer(int firstLayer)
Set number of the first fired layer.
bool getTrigger() const
Get trigger flag.
double getSlopeXY() const
Get slope parameter of the track in XY plain.
int getSector() const
Get sector number.
double getChisqXY() const
Get chi squared of the track in XY plain.
int m_sector
sector number
int getFirstLayer() const
Get number of the first fired layer.
void setLastLayer(int lastLayer)
Set number of the last fired layer.
int m_lastLayer
number of the last fired layer
ClassDef(KLMTriggerTrack, 1)
Needed to make the ROOT object storable version 4 adds ctime etc.
KLMTriggerTrack(int fwd, int sector)
Constructor with initial values for a track.
double getImpactParameterXZ() const
Get impact parameter of the track in XZ plain.
int getForward() const
Get detector end.
int getLastLayer() const
Get number of the last fired layer.
double getChisqXZ() const
Get chi squared of the track in XZ plain.
double m_chisqXY
calculated chi squared of the straight track in XY plain
void setSlopeXZ(double slopeXZ)
Set slope parameter of the track in XZ plain.
double m_interceptXY
calculated y-intercept of the straight track in XY plain
double getSlopeXZ() const
Get slope parameter of the track in XZ plain.
void setSlopeXY(double slopeXY)
Set slope parameter of the track in XY plain.
double getInterceptXY() const
Get intercept parameter of the track in XY plain.
void setChisqXY(double chisqXY)
Set chi squared of the track in XY plain.
void setImpactParameterXZ(double ipXZ)
Set impact parameter of the track in XZ plain.
double m_chisqXZ
calculated chi squared of the straight track in XZ plain
int m_fwd
forward-backward
bool m_trigger
if the track generates a trigger
int m_nLayers
number of fired layers
int m_firstLayer
number of the first fired layer
double getInterceptXZ() const
Get intercept parameter of the track in XZ plain.
double getImpactParameterXY() const
Get impact parameter of the track in XY plain.
KLMTriggerTrack()
Empty constructor for ROOT IO (needed to make the class storable)
Defines interface for accessing relations of objects in StoreArray.
Abstract base class for different kinds of events.