Belle II Software development
PXDCluster.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#pragma once
10
11#include <framework/datastore/RelationsObject.h>
12#include <vxd/dataobjects/VxdID.h>
13#include <vector>
14
15
16namespace Belle2 {
31 public:
32
37 m_clsSize(0), m_uSize(0), m_vSize(0), m_uStart(0), m_vStart(0)
38 {}
39
55 PXDCluster(VxdID sensorID, float uPosition, float vPosition, float uError,
56 float vError, float uvRho, unsigned short clsCharge, unsigned short seedCharge,
57 unsigned short clsSize, unsigned short uSize, unsigned short vSize,
58 unsigned short uStart, unsigned short vStart):
59 m_uPosition(uPosition), m_vPosition(vPosition),
60 m_uPositionSigma(uError), m_vPositionSigma(vError),
61 m_uvRho(uvRho), m_clsKind(0), m_sensorID(sensorID), m_clsCharge(clsCharge),
62 m_seedCharge(seedCharge), m_clsSize(clsSize), m_uSize(uSize),
63 m_vSize(vSize), m_uStart(uStart), m_vStart(vStart)
64 {}
65
82 PXDCluster(VxdID sensorID, float uPosition, float vPosition, float uError,
83 float vError, float uvRho, unsigned short clsCharge, unsigned short seedCharge,
84 unsigned short clsSize, unsigned short uSize, unsigned short vSize,
85 unsigned short uStart, unsigned short vStart, int clsKind):
86 m_uPosition(uPosition), m_vPosition(vPosition),
87 m_uPositionSigma(uError), m_vPositionSigma(vError),
88 m_uvRho(uvRho), m_clsKind(clsKind), m_sensorID(sensorID), m_clsCharge(clsCharge),
89 m_seedCharge(seedCharge), m_clsSize(clsSize), m_uSize(uSize),
90 m_vSize(vSize), m_uStart(uStart), m_vStart(vStart)
91 {}
92
111 PXDCluster(VxdID sensorID, float uPosition, float vPosition, float uError,
112 float vError, float uvRho, unsigned short clsCharge, unsigned short seedCharge,
113 unsigned short clsSize, unsigned short uSize, unsigned short vSize,
114 unsigned short uStart, unsigned short vStart, int clsKind, const std::vector<float>& etaValues,
115 const std::vector<int>& shapeIndices):
116 m_etaValues(etaValues), m_shapeIndices(shapeIndices),
117 m_uPosition(uPosition), m_vPosition(vPosition),
118 m_uPositionSigma(uError), m_vPositionSigma(vError),
119 m_uvRho(uvRho), m_clsKind(clsKind), m_sensorID(sensorID), m_clsCharge(clsCharge),
120 m_seedCharge(seedCharge), m_clsSize(clsSize), m_uSize(uSize),
121 m_vSize(vSize), m_uStart(uStart), m_vStart(vStart)
122 {}
123
127 VxdID getSensorID() const { return m_sensorID; }
128
132 float getU() const { return m_uPosition; }
133
137 float getV() const { return m_vPosition; }
138
142 float getUSigma() const { return m_uPositionSigma; }
143
147 float getVSigma() const { return m_vPositionSigma; }
148
152 float getRho() const { return m_uvRho; }
153
157 unsigned short getCharge() const { return m_clsCharge; }
158
162 unsigned short getSeedCharge() const { return m_seedCharge; }
163
167 unsigned short getSize() const { return m_clsSize; }
168
172 unsigned short getUSize() const { return m_uSize; }
173
177 unsigned short getVSize() const { return m_vSize; }
178
182 unsigned short getUStart() const { return m_uStart; }
183
187 unsigned short getVStart() const { return m_vStart; }
188
192 int getKind() const { return m_clsKind; }
193
198 short getShape() const { return 0; }
199
202 void setKind(short NewClsKind) { m_clsKind = NewClsKind; }
203
206 void setU(float NewuPosition) { m_uPosition = NewuPosition; }
207
210 void setV(float NewvPosition) { m_vPosition = NewvPosition; }
211
214 void setUSigma(float NewuError) { m_uPositionSigma = NewuError; }
215
218 void setVSigma(float NewvError) { m_vPositionSigma = NewvError; }
219
222 void setRho(float NewRho) { m_uvRho = NewRho; }
223
226 const std::vector<int>& getSectorShapeIndices() const { return m_shapeIndices; }
227
230 std::vector<int>& getSectorShapeIndices() { return m_shapeIndices; }
231
234 const std::vector<float>& getSectorEtaValues() const { return m_etaValues; }
235
238 std::vector<float>& getSectorEtaValues() { return m_etaValues; }
239
240 protected:
241 std::vector<float> m_etaValues;
242 std::vector<int> m_shapeIndices;
247 float m_uvRho;
249 unsigned short m_sensorID;
250 unsigned short m_clsCharge;
251 unsigned short m_seedCharge;
252 unsigned short m_clsSize;
253 unsigned short m_uSize;
254 unsigned short m_vSize;
255 unsigned short m_uStart;
256 unsigned short m_vStart;
260 };
261
262
264} //Belle2 namespace
The PXD Cluster class This class stores all information about reconstructed PXD clusters The position...
Definition: PXDCluster.h:30
const std::vector< float > & getSectorEtaValues() const
Get vector of sector eta values.
Definition: PXDCluster.h:234
float getV() const
Get v coordinate of hit position.
Definition: PXDCluster.h:137
void setKind(short NewClsKind)
Set cluster kind.
Definition: PXDCluster.h:202
float getUSigma() const
Get error of u coordinate of hit position.
Definition: PXDCluster.h:142
float m_vPosition
Absolute cell position in z.
Definition: PXDCluster.h:244
unsigned short m_clsSize
Cluster size in pixels.
Definition: PXDCluster.h:252
float m_uPositionSigma
Error in u position.
Definition: PXDCluster.h:245
unsigned short getSeedCharge() const
Get seed charge.
Definition: PXDCluster.h:162
float getVSigma() const
Get error in v coordinate of hit position.
Definition: PXDCluster.h:147
unsigned short m_uSize
Cluster size in pixel columns.
Definition: PXDCluster.h:253
std::vector< int > & getSectorShapeIndices()
Get vector of sector shape indices.
Definition: PXDCluster.h:230
unsigned short m_sensorID
Compressed sensor identifier.
Definition: PXDCluster.h:249
unsigned short getVSize() const
Get cluster size in v direction.
Definition: PXDCluster.h:177
const std::vector< int > & getSectorShapeIndices() const
Get vector of sector shape indices.
Definition: PXDCluster.h:226
float m_uPosition
Absolute cell position in r-phi.
Definition: PXDCluster.h:243
unsigned short m_vSize
Cluster size in pixel rows
Definition: PXDCluster.h:254
std::vector< float > & getSectorEtaValues()
Get vector of sector eta values.
Definition: PXDCluster.h:238
unsigned short getSize() const
Get cluster size.
Definition: PXDCluster.h:167
unsigned short getCharge() const
Get collected charge.
Definition: PXDCluster.h:157
int m_clsKind
Cluster kind.
Definition: PXDCluster.h:248
float getRho() const
Get hit position error covariance coefficient.
Definition: PXDCluster.h:152
PXDCluster(VxdID sensorID, float uPosition, float vPosition, float uError, float vError, float uvRho, unsigned short clsCharge, unsigned short seedCharge, unsigned short clsSize, unsigned short uSize, unsigned short vSize, unsigned short uStart, unsigned short vStart)
Constructor.
Definition: PXDCluster.h:55
unsigned short m_vStart
Start row of the cluster.
Definition: PXDCluster.h:256
unsigned short getUSize() const
Get cluster size in u direction.
Definition: PXDCluster.h:172
float m_vPositionSigma
Error in v position.
Definition: PXDCluster.h:246
unsigned short m_clsCharge
Deposited charge in ADC units.
Definition: PXDCluster.h:250
PXDCluster()
Default constructor for the ROOT IO.
Definition: PXDCluster.h:34
std::vector< float > m_etaValues
Vector of eta values for four angle sectors.
Definition: PXDCluster.h:241
void setV(float NewvPosition)
Set v coordinate of hit position.
Definition: PXDCluster.h:210
VxdID getSensorID() const
Get the sensor ID.
Definition: PXDCluster.h:127
unsigned short getVStart() const
Get cluster start cell in v direction.
Definition: PXDCluster.h:187
short getShape() const
Get cluster kind.
Definition: PXDCluster.h:198
void setRho(float NewRho)
Set error covariance coefficient of hit position.
Definition: PXDCluster.h:222
PXDCluster(VxdID sensorID, float uPosition, float vPosition, float uError, float vError, float uvRho, unsigned short clsCharge, unsigned short seedCharge, unsigned short clsSize, unsigned short uSize, unsigned short vSize, unsigned short uStart, unsigned short vStart, int clsKind, const std::vector< float > &etaValues, const std::vector< int > &shapeIndices)
Constructor for who want to add also cluster kind, shape indices and eta values in one step.
Definition: PXDCluster.h:111
unsigned short m_uStart
Start column of the cluster.
Definition: PXDCluster.h:255
int getKind() const
Get cluster kind.
Definition: PXDCluster.h:192
void setUSigma(float NewuError)
Set error of u coordinate of hit position.
Definition: PXDCluster.h:214
unsigned short m_seedCharge
Cluster seed charge in ADC units.
Definition: PXDCluster.h:251
PXDCluster(VxdID sensorID, float uPosition, float vPosition, float uError, float vError, float uvRho, unsigned short clsCharge, unsigned short seedCharge, unsigned short clsSize, unsigned short uSize, unsigned short vSize, unsigned short uStart, unsigned short vStart, int clsKind)
Constructor for who want to add also cluster kind in one step.
Definition: PXDCluster.h:82
float getU() const
Get u coordinate of hit position.
Definition: PXDCluster.h:132
float m_uvRho
Cluster shape correlation.
Definition: PXDCluster.h:247
void setU(float NewuPosition)
Set u coordinate of hit position.
Definition: PXDCluster.h:206
void setVSigma(float NewvError)
Set error in v coordinate of hit position.
Definition: PXDCluster.h:218
unsigned short getUStart() const
Get cluster start cell in u direction.
Definition: PXDCluster.h:182
std::vector< int > m_shapeIndices
Vector of shape indices for four angle sectors.
Definition: PXDCluster.h:242
Defines interface for accessing relations of objects in StoreArray.
ClassDef(RelationsInterface, 0)
defines interface for accessing relations of objects in StoreArray.
Class to uniquely identify a any structure of the PXD and SVD.
Definition: VxdID.h:33
Abstract base class for different kinds of events.