Belle II Software development
PXDClusterChargeMapPar Class Reference

The payload class for PXD cluster charge calibrations. More...

#include <PXDClusterChargeMapPar.h>

Inheritance diagram for PXDClusterChargeMapPar:

Public Member Functions

 PXDClusterChargeMapPar (int nBinsU=4, int nBinsV=6, float defaultValue=-1.0)
 Default constructor.
 
unsigned short getBinsU () const
 Get number of bins along sensor u side.
 
unsigned short getBinsV () const
 Get number of bins along sensor v side.
 
unsigned short getGlobalID (unsigned short uBin, unsigned short vBin) const
 Get global id from uBin and vBin.
 
void setContent (unsigned short sensorID, unsigned short globalID, float value)
 Set map content.
 
void setContent (unsigned short sensorID, unsigned short uBin, unsigned short vBin, float value)
 Set map content.
 
float getContent (unsigned short sensorID, unsigned short globalID) const
 Get content.
 
float getContent (unsigned short sensorID, unsigned short uBin, unsigned short vBin) const
 Get content.
 
const std::unordered_map< unsigned short, std::vector< float > > & getCalibrationMap () const
 Return unordered_map with all PXD calibrations.
 

Private Member Functions

 ClassDef (PXDClusterChargeMapPar, 1)
 ClassDef, must be the last term before the closing {}.
 

Private Attributes

int m_nBinsU
 Number of bins per sensor along u side.
 
int m_nBinsV
 Number of bins per sensor along v side.
 
float m_defaultValue
 Default value for map.
 
std::unordered_map< unsigned short, std::vector< float > > m_sensorCalibrationMap
 Map for holding the calibrations for all PXD sensors by sensor id (unsigned short).
 

Detailed Description

The payload class for PXD cluster charge calibrations.

The payload class stores the median cluster charge values for PXD sensors on a grid nBinsU x nBinsV. The values are stored in raw ADC units (called ADU).

The granularity of the grid is user adjustable. The default value of a missing calibraiton is -1.0.

Definition at line 30 of file PXDClusterChargeMapPar.h.

Constructor & Destructor Documentation

◆ PXDClusterChargeMapPar()

PXDClusterChargeMapPar ( int  nBinsU = 4,
int  nBinsV = 6,
float  defaultValue = -1.0 
)
inline

Default constructor.

Definition at line 34 of file PXDClusterChargeMapPar.h.

34 : m_nBinsU(nBinsU), m_nBinsV(nBinsV),
35 m_defaultValue(defaultValue), m_sensorCalibrationMap() {}
std::unordered_map< unsigned short, std::vector< float > > m_sensorCalibrationMap
Map for holding the calibrations for all PXD sensors by sensor id (unsigned short).
int m_nBinsV
Number of bins per sensor along v side.
int m_nBinsU
Number of bins per sensor along u side.
float m_defaultValue
Default value for map.

Member Function Documentation

◆ getBinsU()

unsigned short getBinsU ( ) const
inline

Get number of bins along sensor u side.

Definition at line 39 of file PXDClusterChargeMapPar.h.

39{ return m_nBinsU; }

◆ getBinsV()

unsigned short getBinsV ( ) const
inline

Get number of bins along sensor v side.

Definition at line 43 of file PXDClusterChargeMapPar.h.

43{ return m_nBinsV; }

◆ getCalibrationMap()

const std::unordered_map< unsigned short, std::vector< float > > & getCalibrationMap ( ) const
inline

Return unordered_map with all PXD calibrations.

Definition at line 114 of file PXDClusterChargeMapPar.h.

◆ getContent() [1/2]

float getContent ( unsigned short  sensorID,
unsigned short  globalID 
) const
inline

Get content.

Parameters
sensorIDunique ID of the sensor
globalIDunique ID for part of sensor (uBin,vBin)
Returns
value calibration value to store

Definition at line 90 of file PXDClusterChargeMapPar.h.

91 {
92 auto mapIter = m_sensorCalibrationMap.find(sensorID);
93 if (mapIter != m_sensorCalibrationMap.end()) {
94 // Found sensor, return calibration value
95 auto& calVec = mapIter->second;
96 return calVec[globalID];
97 }
98 // Sensor not found, keep low profile and return default calibration value
99 return m_defaultValue;
100 }

◆ getContent() [2/2]

float getContent ( unsigned short  sensorID,
unsigned short  uBin,
unsigned short  vBin 
) const
inline

Get content.

Parameters
sensorIDunique ID of the sensor
uBincalibration bin along u side of sensor
vBincalibration bin along v side of sensor
Returns
value calibration value to store

Definition at line 108 of file PXDClusterChargeMapPar.h.

109 {
110 return getContent(sensorID, getGlobalID(uBin, vBin));
111 }
float getContent(unsigned short sensorID, unsigned short globalID) const
Get content.
unsigned short getGlobalID(unsigned short uBin, unsigned short vBin) const
Get global id from uBin and vBin.

◆ getGlobalID()

unsigned short getGlobalID ( unsigned short  uBin,
unsigned short  vBin 
) const
inline

Get global id from uBin and vBin.

Definition at line 47 of file PXDClusterChargeMapPar.h.

47{ return uBin * m_nBinsV + vBin; }

◆ setContent() [1/2]

void setContent ( unsigned short  sensorID,
unsigned short  globalID,
float  value 
)
inline

Set map content.

Parameters
sensorIDunique ID of the sensor
globalIDunique ID for part of sensor (uBin,vBin)
valuecalibration value to store

Definition at line 55 of file PXDClusterChargeMapPar.h.

56 {
57 auto mapIter = m_sensorCalibrationMap.find(sensorID);
58 if (mapIter != m_sensorCalibrationMap.end()) {
59 // Already some values stored
60 auto& calVec = mapIter->second;
61 // Set the value
62 calVec[globalID] = value;
63 } else {
64 // Create a fresh calibration vector
65 std::vector<float> calVec(m_nBinsU * m_nBinsV, m_defaultValue);
66 // Set the value
67 calVec[globalID] = value;
68 // Add vector to map
69 m_sensorCalibrationMap[sensorID] = calVec;
70 }
71 }

◆ setContent() [2/2]

void setContent ( unsigned short  sensorID,
unsigned short  uBin,
unsigned short  vBin,
float  value 
)
inline

Set map content.

Parameters
sensorIDunique ID of the sensor
uBincalibration bin along u side of sensor
vBincalibration bin along v side of sensor
valuecalibration value to store

Definition at line 80 of file PXDClusterChargeMapPar.h.

81 {
82 setContent(sensorID, getGlobalID(uBin, vBin), value);
83 }
void setContent(unsigned short sensorID, unsigned short globalID, float value)
Set map content.

Member Data Documentation

◆ m_defaultValue

float m_defaultValue
private

Default value for map.

Definition at line 125 of file PXDClusterChargeMapPar.h.

◆ m_nBinsU

int m_nBinsU
private

Number of bins per sensor along u side.

Definition at line 119 of file PXDClusterChargeMapPar.h.

◆ m_nBinsV

int m_nBinsV
private

Number of bins per sensor along v side.

Definition at line 122 of file PXDClusterChargeMapPar.h.

◆ m_sensorCalibrationMap

std::unordered_map<unsigned short, std::vector<float> > m_sensorCalibrationMap
private

Map for holding the calibrations for all PXD sensors by sensor id (unsigned short).

Definition at line 128 of file PXDClusterChargeMapPar.h.


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