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 m_clsKind(0) {}
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_sensorID(sensorID), m_uPosition(uPosition), m_vPosition(vPosition),
60 m_uPositionSigma(uError), m_vPositionSigma(vError),
61 m_uvRho(uvRho), m_clsCharge(clsCharge),
62 m_seedCharge(seedCharge), m_clsSize(clsSize), m_uSize(uSize),
63 m_vSize(vSize), m_uStart(uStart), m_vStart(vStart), m_clsKind(0)
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_sensorID(sensorID), m_uPosition(uPosition), m_vPosition(vPosition),
87 m_uPositionSigma(uError), m_vPositionSigma(vError),
88 m_uvRho(uvRho), m_clsCharge(clsCharge),
89 m_seedCharge(seedCharge), m_clsSize(clsSize), m_uSize(uSize),
90 m_vSize(vSize), m_uStart(uStart), m_vStart(vStart), m_clsKind(clsKind)
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_sensorID(sensorID), m_uPosition(uPosition), m_vPosition(vPosition),
117 m_uPositionSigma(uError), m_vPositionSigma(vError),
118 m_uvRho(uvRho), m_clsCharge(clsCharge),
119 m_seedCharge(seedCharge), m_clsSize(clsSize), m_uSize(uSize),
120 m_vSize(vSize), m_uStart(uStart), m_vStart(vStart), m_clsKind(clsKind), m_etaValues(etaValues), m_shapeIndices(shapeIndices)
121 {}
122
126 VxdID getSensorID() const { return m_sensorID; }
127
131 float getU() const { return m_uPosition; }
132
136 float getV() const { return m_vPosition; }
137
141 float getUSigma() const { return m_uPositionSigma; }
142
146 float getVSigma() const { return m_vPositionSigma; }
147
151 float getRho() const { return m_uvRho; }
152
156 unsigned short getCharge() const { return m_clsCharge; }
157
161 unsigned short getSeedCharge() const { return m_seedCharge; }
162
166 unsigned short getSize() const { return m_clsSize; }
167
171 unsigned short getUSize() const { return m_uSize; }
172
176 unsigned short getVSize() const { return m_vSize; }
177
181 unsigned short getUStart() const { return m_uStart; }
182
186 unsigned short getVStart() const { return m_vStart; }
187
191 int getKind() const { return m_clsKind; }
192
197 short getShape() const { return 0; }
198
201 void setKind(short NewClsKind) { m_clsKind = NewClsKind; }
202
205 void setU(float NewuPosition) { m_uPosition = NewuPosition; }
206
209 void setV(float NewvPosition) { m_vPosition = NewvPosition; }
210
213 void setUSigma(float NewuError) { m_uPositionSigma = NewuError; }
214
217 void setVSigma(float NewvError) { m_vPositionSigma = NewvError; }
218
221 void setRho(float NewRho) { m_uvRho = NewRho; }
222
225 const std::vector<int>& getSectorShapeIndices() const { return m_shapeIndices; }
226
229 std::vector<int>& getSectorShapeIndices() { return m_shapeIndices; }
230
233 const std::vector<float>& getSectorEtaValues() const { return m_etaValues; }
234
237 std::vector<float>& getSectorEtaValues() { return m_etaValues; }
238
239 protected:
240 unsigned short m_sensorID;
245 float m_uvRho;
246 unsigned short m_clsCharge;
247 unsigned short m_seedCharge;
248 unsigned short m_clsSize;
249 unsigned short m_uSize;
250 unsigned short m_vSize;
251 unsigned short m_uStart;
252 unsigned short m_vStart;
254 std::vector<float> m_etaValues;
255 std::vector<int> m_shapeIndices;
259 };
260
261
263} //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:233
float getV() const
Get v coordinate of hit position.
Definition: PXDCluster.h:136
void setKind(short NewClsKind)
Set cluster kind.
Definition: PXDCluster.h:201
float getUSigma() const
Get error of u coordinate of hit position.
Definition: PXDCluster.h:141
float m_vPosition
Absolute cell position in z.
Definition: PXDCluster.h:242
unsigned short m_clsSize
Cluster size in pixels.
Definition: PXDCluster.h:248
float m_uPositionSigma
Error in u position.
Definition: PXDCluster.h:243
unsigned short getSeedCharge() const
Get seed charge.
Definition: PXDCluster.h:161
float getVSigma() const
Get error in v coordinate of hit position.
Definition: PXDCluster.h:146
unsigned short m_uSize
Cluster size in pixel columns.
Definition: PXDCluster.h:249
std::vector< int > & getSectorShapeIndices()
Get vector of sector shape indices.
Definition: PXDCluster.h:229
unsigned short m_sensorID
Compressed sensor identifier.
Definition: PXDCluster.h:240
unsigned short getVSize() const
Get cluster size in v direction.
Definition: PXDCluster.h:176
const std::vector< int > & getSectorShapeIndices() const
Get vector of sector shape indices.
Definition: PXDCluster.h:225
float m_uPosition
Absolute cell position in r-phi.
Definition: PXDCluster.h:241
unsigned short m_vSize
Cluster size in pixel rows
Definition: PXDCluster.h:250
std::vector< float > & getSectorEtaValues()
Get vector of sector eta values.
Definition: PXDCluster.h:237
unsigned short getSize() const
Get cluster size.
Definition: PXDCluster.h:166
unsigned short getCharge() const
Get collected charge.
Definition: PXDCluster.h:156
int m_clsKind
Cluster kind.
Definition: PXDCluster.h:253
float getRho() const
Get hit position error covariance coefficient.
Definition: PXDCluster.h:151
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:252
unsigned short getUSize() const
Get cluster size in u direction.
Definition: PXDCluster.h:171
float m_vPositionSigma
Error in v position.
Definition: PXDCluster.h:244
unsigned short m_clsCharge
Deposited charge in ADC units.
Definition: PXDCluster.h:246
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:254
void setV(float NewvPosition)
Set v coordinate of hit position.
Definition: PXDCluster.h:209
VxdID getSensorID() const
Get the sensor ID.
Definition: PXDCluster.h:126
unsigned short getVStart() const
Get cluster start cell in v direction.
Definition: PXDCluster.h:186
short getShape() const
Get cluster kind.
Definition: PXDCluster.h:197
void setRho(float NewRho)
Set error covariance coefficient of hit position.
Definition: PXDCluster.h:221
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:251
int getKind() const
Get cluster kind.
Definition: PXDCluster.h:191
void setUSigma(float NewuError)
Set error of u coordinate of hit position.
Definition: PXDCluster.h:213
unsigned short m_seedCharge
Cluster seed charge in ADC units.
Definition: PXDCluster.h:247
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:131
float m_uvRho
Cluster shape correlation.
Definition: PXDCluster.h:245
void setU(float NewuPosition)
Set u coordinate of hit position.
Definition: PXDCluster.h:205
void setVSigma(float NewvError)
Set error in v coordinate of hit position.
Definition: PXDCluster.h:217
unsigned short getUStart() const
Get cluster start cell in u direction.
Definition: PXDCluster.h:181
std::vector< int > m_shapeIndices
Vector of shape indices for four angle sectors.
Definition: PXDCluster.h:255
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.