Belle II Software  release-08-01-10
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 
14 namespace 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 
209  int m_sector;
210 
212  int m_nHits;
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 
248  bool m_trigger;
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.