Belle II Software light-2406-ragdoll
PIDCalibrationWeight Class Reference

Class for handling the PID calibration weight matrix. More...

#include <PIDCalibrationWeight.h>

Inheritance diagram for PIDCalibrationWeight:
Collaboration diagram for PIDCalibrationWeight:

Public Member Functions

 PIDCalibrationWeight ()
 Constructor.
 
 PIDCalibrationWeight (WeightMatrix weightMatrix)
 Constructor with the initial WeightMatrix.
 
void setWeightMatrix (WeightMatrix weightMatrix)
 Set the WeightMatrix.
 
WeightMatrix getWeightMatrix () const
 Get the WeightMatrix.
 
double getWeight (int pdg, std::string detector) const
 Get the weight for the given combination of the PDG code and the detector name.
 
double getWeight (int pdg, Const::EDetector det) const
 Get the weight for the given combination of the PDG code and the detector in Const::EDetector.
 
std::vector< double > getWeights (int pdg) const
 Get the weights for the given PDG code.
 

Private Member Functions

 ClassDef (PIDCalibrationWeight, 1)
 ClassDef as this is a TObject.
 

Private Attributes

WeightMatrix m_weightMatrix
 PID calibration weight matrix.
 

Detailed Description

Class for handling the PID calibration weight matrix.

Definition at line 35 of file PIDCalibrationWeight.h.

Constructor & Destructor Documentation

◆ PIDCalibrationWeight() [1/2]

Constructor.

Definition at line 39 of file PIDCalibrationWeight.h.

39{};

◆ PIDCalibrationWeight() [2/2]

PIDCalibrationWeight ( WeightMatrix  weightMatrix)
inline

Constructor with the initial WeightMatrix.

Definition at line 42 of file PIDCalibrationWeight.h.

43 {
44 m_weightMatrix = weightMatrix;
45 };
WeightMatrix m_weightMatrix
PID calibration weight matrix.

Member Function Documentation

◆ getWeight() [1/2]

double getWeight ( int  pdg,
Const::EDetector  det 
) const
inline

Get the weight for the given combination of the PDG code and the detector in Const::EDetector.

Parameters
pdgis the PDG code
detis the detector in Const::EDetector
Returns
weight for the given set of the PDG code and the detector in Const::EDetector

Definition at line 94 of file PIDCalibrationWeight.h.

95 {
96 std::vector<double> weightVector = getWeights(pdg);
97
98 int det_index = Const::PIDDetectors::c_set.getIndex(det);
99 return weightVector[det_index];
100 };
int getIndex(EDetector det) const
Getter for the index of a given detector in this set.
Definition: UnitConst.cc:278
static const DetectorSet c_set
The set of valid PID detectors.
Definition: Const.h:375
std::vector< double > getWeights(int pdg) const
Get the weights for the given PDG code.

◆ getWeight() [2/2]

double getWeight ( int  pdg,
std::string  detector 
) const
inline

Get the weight for the given combination of the PDG code and the detector name.

Parameters
pdgis the PDG code
detectoris the detector name
Returns
weight for the given combination of the PDG code and the detector name

Definition at line 70 of file PIDCalibrationWeight.h.

71 {
72 std::vector<double> weightVector = getWeights(pdg);
73
75 boost::to_lower(detector);
76 if (detector == "svd") det = Const::SVD;
77 else if (detector == "cdc") det = Const::CDC;
78 else if (detector == "top") det = Const::TOP;
79 else if (detector == "arich") det = Const::ARICH;
80 else if (detector == "ecl") det = Const::ECL;
81 else if (detector == "klm") det = Const::KLM;
82 else B2FATAL("Unknown detector component: " << detector);
83 int det_index = Const::PIDDetectors::c_set.getIndex(det);
84
85 return weightVector[det_index];
86 };
EDetector
Enum for identifying the detector components (detector and subdetector).
Definition: Const.h:42

◆ getWeightMatrix()

WeightMatrix getWeightMatrix ( ) const
inline

Get the WeightMatrix.

Definition at line 59 of file PIDCalibrationWeight.h.

60 {
61 return m_weightMatrix;
62 };

◆ getWeights()

std::vector< double > getWeights ( int  pdg) const
inline

Get the weights for the given PDG code.

Parameters
pdgis the PDG code
Returns
weights for the given PDG code

Definition at line 107 of file PIDCalibrationWeight.h.

108 {
109 int p_index = -1;
110 for (const auto& pdgIter : Const::chargedStableSet) {
111 if (pdgIter.getPDGCode() == pdg) {
112 p_index = pdgIter.getIndex();
113 break;
114 }
115 }
116 if (p_index == -1)
117 B2FATAL("Invalid particle: " << pdg);
118
119 return m_weightMatrix[p_index];
120 };
static const ParticleSet chargedStableSet
set of charged stable particles
Definition: Const.h:618

◆ setWeightMatrix()

void setWeightMatrix ( WeightMatrix  weightMatrix)
inline

Set the WeightMatrix.

Parameters
weightMatrixis the weight matrix to be set.

Definition at line 51 of file PIDCalibrationWeight.h.

52 {
53 m_weightMatrix = weightMatrix;
54 };

Member Data Documentation

◆ m_weightMatrix

WeightMatrix m_weightMatrix
private

PID calibration weight matrix.

Definition at line 127 of file PIDCalibrationWeight.h.


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