Class for handling the PID calibration weight matrix.
More...
#include <PIDCalibrationWeight.h>
Class for handling the PID calibration weight matrix.
Definition at line 35 of file PIDCalibrationWeight.h.
◆ PIDCalibrationWeight() [1/2]
◆ PIDCalibrationWeight() [2/2]
◆ getWeight() [1/2]
Get the weight for the given combination of the PDG code and the detector in Const::EDetector.
- Parameters
-
- Returns
- weight for the given set of the PDG code and the detector in Const::EDetector
Definition at line 93 of file PIDCalibrationWeight.h.
94 {
95 std::vector<double> weightVector =
getWeights(pdg);
96
97 int det_index = Const::PIDDetectors::c_set.getIndex(det);
98 return weightVector[det_index];
99 };
Eigen::VectorXd getWeights(int Size)
Get the vector of weights to calculate the integral over the Chebyshev nodes The nodes are by definit...
◆ 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
-
| pdg | is the PDG code |
| detector | is the detector name |
- Returns
- weight for the given combination of the PDG code and the detector name
Definition at line 69 of file PIDCalibrationWeight.h.
70 {
71 std::vector<double> weightVector =
getWeights(pdg);
72
73 Const::EDetector det = Const::invalidDetector;
74 boost::to_lower(detector);
75 if (detector == "svd") det = Const::SVD;
76 else if (detector == "cdc") det = Const::CDC;
77 else if (detector == "top") det = Const::TOP;
78 else if (detector == "arich") det = Const::ARICH;
79 else if (detector == "ecl") det = Const::ECL;
80 else if (detector == "klm") det = Const::KLM;
81 else B2FATAL("Unknown detector component: " << detector);
82 int det_index = Const::PIDDetectors::c_set.getIndex(det);
83
84 return weightVector[det_index];
85 };
◆ getWeightMatrix()
◆ getWeights()
| std::vector< double > getWeights |
( |
int | pdg | ) |
const |
|
inline |
Get the weights for the given PDG code.
- Parameters
-
- Returns
- weights for the given PDG code
Definition at line 106 of file PIDCalibrationWeight.h.
107 {
108 int p_index = -1;
109 for (const auto& pdgIter : Const::chargedStableSet) {
110 if (pdgIter.getPDGCode() == pdg) {
111 p_index = pdgIter.getIndex();
112 break;
113 }
114 }
115 if (p_index == -1)
116 B2FATAL("Invalid particle: " << pdg);
117
118 return m_weightMatrix[p_index];
119 };
◆ setWeightMatrix()
◆ m_weightMatrix
The documentation for this class was generated from the following file: