Belle II Software  release-08-01-10
PXDClusterPositionEstimator Class Reference

Singleton class that estimates cluster positions taking into account the estimated track incidence angles into the sensor. More...

#include <PXDClusterPositionEstimator.h>

Collaboration diagram for PXDClusterPositionEstimator:

Public Member Functions

void initialize ()
 Initialize PXDClusterPositionEstimator from DB.
 
void setShapeIndexFromDB ()
 Set ShapeIndex from DB.
 
void setPositionEstimatorFromDB ()
 Set PositionEstimator from DB.
 
const PXDClusterPositionEstimatorPargetPositionEstimatorParameters () const
 Return cluster position estimator parameters from Database.
 
const PXDClusterShapeIndexPargetShapeIndexParameters () const
 Return shape index parameters from Database.
 
const PXDClusterOffsetPargetClusterOffset (const PXDCluster &cluster, double tu, double tv) const
 Return pointer to cluster offsets, can be nullptr.
 
float getShapeLikelyhood (const PXDCluster &cluster, double tu, double tv) const
 Return cluster shape likelyhood.
 
float computeEta (const std::set< Pixel > &pixels, int vStart, int vSize, double thetaU, double thetaV) const
 Return the normed charge ratio between head and tail pixels (size>=2) or the charge of the seed (size=1) .
 
int computeShapeIndex (const std::set< Pixel > &pixels, int uStart, int vStart, int vSize, double thetaU, double thetaV) const
 Return the shape index of the pixels.
 
const std::string getShortName (const std::set< Pixel > &pixels, int uStart, int vStart, int vSize, double thetaU, double thetaV) const
 Return the name for the pixel set.
 
const std::string getMirroredShortName (const std::set< Pixel > &pixels, int uStart, int vStart, int vSize, double thetaU, double thetaV) const
 Return the mirrored name for the pixel set.
 
const std::string getFullName (const std::set< Pixel > &pixels, int uStart, int vStart) const
 Return a name for the pixel set.
 
int getClusterkind (const PXDCluster &cluster) const
 Return kind of cluster needed to find cluster position correction.
 
int getClusterkind (const std::vector< Belle2::PXD::Pixel > &pixels, const Belle2::VxdID &sensorID) const
 Return kind of cluster needed to find cluster position correction.
 
int getSectorIndex (double thetaU, double thetaV) const
 Get sector index from angles. More...
 

Static Public Member Functions

static PXDClusterPositionEstimatorgetInstance ()
 Main (and only) way to access the PXDClusterPositionEstimator.
 

Private Member Functions

const PixelgetHeadPixel (const std::set< Pixel > &pixels, int vStart, int vSize, double thetaU, double thetaV) const
 Return reference to the head pixel in pixel set.
 
const PixelgetTailPixel (const std::set< Pixel > &pixels, int vStart, int vSize, double thetaU, double thetaV) const
 Return reference to the tail pixel in pixel set.
 
const PixelgetLastPixelWithVOffset (const std::set< Pixel > &pixels, int vStart, int vOffset) const
 Return reference to the last pixel in pixel set with given vOffset from vStart.
 
const PixelgetFirstPixelWithVOffset (const std::set< Pixel > &pixels, int vStart, int vOffset) const
 Return reference to the first pixel in pixel set with given vOffset from vStart.
 
 PXDClusterPositionEstimator ()
 Singleton class, hidden constructor.
 
 PXDClusterPositionEstimator (const PXDClusterPositionEstimator &)=delete
 Singleton class, forbidden copy constructor.
 
PXDClusterPositionEstimatoroperator= (const PXDClusterPositionEstimator &)=delete
 Singleton class, forbidden assignment operator.
 

Private Attributes

std::unique_ptr< DBObjPtr< PXDClusterShapeIndexPar > > m_shapeIndexFromDB
 PXDClusterShapeIndex retrieved from DB.
 
std::unique_ptr< DBObjPtr< PXDClusterPositionEstimatorPar > > m_positionEstimatorFromDB
 PXDClusterPositionEstimatorPar retrieved from DB.
 
PXDClusterShapeIndexPar m_shapeIndexPar
 Current valid PXDClusterShapeIndex.
 
PXDClusterPositionEstimatorPar m_positionEstimatorPar
 Currrent valid PXDClusterPositionEstimatorPar.
 

Detailed Description

Singleton class that estimates cluster positions taking into account the estimated track incidence angles into the sensor.

The class also provides an interface to get the likelyhood that a given cluster was created by a charged track with given incidence angles.

Definition at line 33 of file PXDClusterPositionEstimator.h.

Member Function Documentation

◆ getSectorIndex()

int getSectorIndex ( double  thetaU,
double  thetaV 
) const

Get sector index from angles.

Sectors in thetaU and thetaV are numbered ++, -+, –, +-.

Definition at line 291 of file PXDClusterPositionEstimator.cc.

292 {
293  int sectorIndex = 0;
294  if (thetaU >= 0) {
295  if (thetaV >= 0) {
296  sectorIndex = 0;
297  } else {
298  sectorIndex = 3;
299  }
300  } else {
301  if (thetaV >= 0) {
302  sectorIndex = 1;
303  } else {
304  sectorIndex = 2;
305  }
306  }
307  return sectorIndex;
308 }

The documentation for this class was generated from the following files: