Belle II Software development
|
Muid element numbers. More...
#include <MuidElementNumbers.h>
Public Types | |
enum | Outcome { c_NotReached = 0 , c_StopInBarrel = 1 , c_StopInForwardEndcap = 2 , c_ExitBarrel = 3 , c_ExitForwardEndcap = 4 , c_StopInBackwardEndcap = 5 , c_ExitBackwardEndcap = 6 , c_CrossBarrelStopInForwardMin = 7 , c_CrossBarrelStopInForwardMax = 21 , c_CrossBarrelStopInBackwardMin = 22 , c_CrossBarrelStopInBackwardMax = 36 , c_CrossBarrelExitForwardMin = 37 , c_CrossBarrelExitForwardMax = 51 , c_CrossBarrelExitBackwardMin = 52 , c_CrossBarrelExitBackwardMax = 66 } |
Outcome of the track extrapolation. More... | |
enum | DetectorsCrossed { c_Both = 0 , c_OnlyBarrel = KLMElementNumbers::c_BKLM , c_OnlyEndcap = KLMElementNumbers::c_EKLM } |
Labels for detectors crossed. More... | |
enum | Hypothesis { c_NotValid = -1 , c_Positron = 0 , c_Electron = 1 , c_Deuteron = 2 , c_AntiDeuteron = 3 , c_Proton = 4 , c_AntiProton = 5 , c_PionPlus = 6 , c_PionMinus = 7 , c_KaonPlus = 8 , c_KaonMinus = 9 , c_MuonPlus = 10 , c_MuonMinus = 11 } |
Hypothesis number. More... | |
enum | IdentifierBits { c_OutcomeBit = 7 , c_LastLayerBit = 4 , c_DetectorBit = 2 , c_DegreesOfFreedomBit = 6 } |
Bits used for unique identifiers in getLongitudinalID() and in getTransverseID(). More... | |
Public Member Functions | |
MuidElementNumbers () | |
Constructor. | |
~MuidElementNumbers () | |
Destructor. | |
Static Public Member Functions | |
static bool | checkExtrapolationOutcome (unsigned int outcome, int lastLayer) |
Check the track extrapolation outcome. | |
static unsigned int | calculateExtrapolationOutcome (bool isForward, bool escaped, int lastBarrelLayer, int lastEndcapLayer) |
Calculate the track extrapolation outcome. | |
static Hypothesis | calculateHypothesisFromPDG (int pdg) |
Calculate hypothesis number from PDG code. | |
static constexpr int | getMaximalBarrelLayer () |
Get maximal barrel layer number (0-based). | |
static constexpr int | getMaximalEndcapForwardLayer () |
Get maximal endcap-forward layer number (0-based). | |
static constexpr int | getMaximalEndcapBackwardLayer () |
Get maximal endcap-forward layer number (0-based). | |
static constexpr int | getMaximalOutcome () |
Get maximal value of the track extrapolation outcome. | |
static constexpr int | getMaximalDetector () |
Get maximal value of the detector selector (for transverse scattering). | |
static constexpr int | getMaximalHalfNdof () |
Get maximal value of NDof/2 (for transverse scattering). | |
static constexpr int | getSizeReducedChiSquared () |
Get size of array with reduced chi-squared values (for transverse scattering). | |
static constexpr double | getMaximalReducedChiSquared () |
Get maximal value of reduced chi-squared (for transverse scattering). | |
static std::vector< int > | getPDGVector (int charge) |
Get a vector with all the hypothesis PDG codes used for Muid. | |
static std::vector< int > | getPDGVector () |
Get a vector with all the hypothesis PDG codes used for Muid. | |
static int | getLongitudinalID (int hypothesis, int outcome, int lastLayer) |
Get the unique longitudinal identifier for given hypothesis, outcome and last layer crossed. | |
static int | getTransverseID (int hypothesis, int detector, int degreesOfFreedom) |
Get the unique transverse identifier for given hypothesis, detector and degrees of freedom. | |
Static Protected Attributes | |
static constexpr int | m_MaximalBarrelLayer = BKLMElementNumbers::getMaximalLayerNumber() - 1 |
Maximal barrel layer number (0-based). | |
static constexpr int | m_MaximalEndcapForwardLayer = EKLMElementNumbers::getMaximalLayerNumber() - 1 |
Maximal endcap-forward layer number (0-based). | |
static constexpr int | m_MaximalEndcapBackwardLayer = m_MaximalEndcapForwardLayer - 2 |
Maximal endcap-backward layer number (0-based). | |
static constexpr int | m_MaximalOutcome = c_CrossBarrelExitBackwardMax |
Maximal value of the outcome extrapolation. | |
static constexpr int | m_MaximalDetector = c_OnlyEndcap |
Maximal value of the detector selector (for transverse scattering). | |
static constexpr int | m_MaximalHalfNDof = 18 |
Maximal value of NDof/2 (for transverse scattering). | |
static constexpr int | m_SizeReducedChiSquared = 100 |
Size of array with reduced chi-squared values (for transverse scattering). | |
static constexpr double | m_MaximalReducedChiSquared = 10. |
Maximal value of reduced chi-squared (for transverse scattering). | |
Muid element numbers.
Definition at line 28 of file MuidElementNumbers.h.
enum DetectorsCrossed |
Labels for detectors crossed.
Definition at line 56 of file MuidElementNumbers.h.
enum Hypothesis |
Hypothesis number.
Definition at line 65 of file MuidElementNumbers.h.
enum IdentifierBits |
Bits used for unique identifiers in getLongitudinalID() and in getTransverseID().
Enumerator | |
---|---|
c_OutcomeBit | Number of bits occupied by outcome in getLongitudinalID(). |
c_LastLayerBit | Number of bits occupied by lastLayer in getLongitudinalID(). |
c_DetectorBit | Number of bits occupied by detector in getTransverseID(). |
c_DegreesOfFreedomBit | Number of bits occupied by degreesOfFreedom in getTransverseID(). |
Definition at line 84 of file MuidElementNumbers.h.
enum Outcome |
Outcome of the track extrapolation.
Definition at line 35 of file MuidElementNumbers.h.
~MuidElementNumbers | ( | ) |
|
static |
Calculate the track extrapolation outcome.
[in] | isForward | Forward or backward. |
[in] | escaped | Escaped or not from KLM volumes. |
[in] | lastBarrelLayer | Last barrel layer crossed during the extrapolation. |
[in] | lastEndcapLayer | Last endcap layer crossed during the extrapolation. |
Definition at line 77 of file MuidElementNumbers.cc.
|
static |
Calculate hypothesis number from PDG code.
[in] | pdg | PDG code. |
Definition at line 121 of file MuidElementNumbers.cc.
|
static |
Check the track extrapolation outcome.
[in] | outcome | Track extrapolation outcome. |
[in] | lastLayer | Last layer crossed during the extrapolation. |
Definition at line 25 of file MuidElementNumbers.cc.
|
static |
Get the unique longitudinal identifier for given hypothesis, outcome and last layer crossed.
bits 0-3 for hypothesis; bits 4-10 for outcome; bits 11-14 for last layer crossed.
[in] | hypothesis | Hypothesis number. |
[in] | outcome | Track extrapolation outcome. |
[in] | lastLayer | Last layer crossed during the extrapolation.. |
Definition at line 174 of file MuidElementNumbers.cc.
|
inlinestaticconstexpr |
Get maximal barrel layer number (0-based).
Definition at line 130 of file MuidElementNumbers.h.
|
inlinestaticconstexpr |
Get maximal value of the detector selector (for transverse scattering).
Definition at line 162 of file MuidElementNumbers.h.
|
inlinestaticconstexpr |
Get maximal endcap-forward layer number (0-based).
Definition at line 146 of file MuidElementNumbers.h.
|
inlinestaticconstexpr |
Get maximal endcap-forward layer number (0-based).
Definition at line 138 of file MuidElementNumbers.h.
|
inlinestaticconstexpr |
Get maximal value of NDof/2 (for transverse scattering).
Definition at line 170 of file MuidElementNumbers.h.
|
inlinestaticconstexpr |
Get maximal value of the track extrapolation outcome.
Definition at line 154 of file MuidElementNumbers.h.
|
inlinestaticconstexpr |
Get maximal value of reduced chi-squared (for transverse scattering).
Definition at line 186 of file MuidElementNumbers.h.
|
static |
Get a vector with all the hypothesis PDG codes used for Muid.
Both positive and negative charges are returned.
Definition at line 165 of file MuidElementNumbers.cc.
|
static |
Get a vector with all the hypothesis PDG codes used for Muid.
Only the codes of the selected charge are returned.
[in] | charge | Only codes of the selected charge are returned. |
Definition at line 153 of file MuidElementNumbers.cc.
|
inlinestaticconstexpr |
Get size of array with reduced chi-squared values (for transverse scattering).
Definition at line 178 of file MuidElementNumbers.h.
|
static |
Get the unique transverse identifier for given hypothesis, detector and degrees of freedom.
bit 0-3 for hypothesis; bit 4-5 for detector; bit 6-11 for degrees of freedom.
[in] | hypothesis | Hypothesis number. |
[in] | detector | Detector number. |
[in] | degreesOfFreedom | Number of degrees of freedom. |
Definition at line 182 of file MuidElementNumbers.cc.
|
staticconstexprprotected |
Maximal barrel layer number (0-based).
Definition at line 229 of file MuidElementNumbers.h.
|
staticconstexprprotected |
Maximal value of the detector selector (for transverse scattering).
Definition at line 241 of file MuidElementNumbers.h.
|
staticconstexprprotected |
Maximal endcap-backward layer number (0-based).
Definition at line 235 of file MuidElementNumbers.h.
|
staticconstexprprotected |
Maximal endcap-forward layer number (0-based).
Definition at line 232 of file MuidElementNumbers.h.
|
staticconstexprprotected |
Maximal value of NDof/2 (for transverse scattering).
Definition at line 244 of file MuidElementNumbers.h.
|
staticconstexprprotected |
Maximal value of the outcome extrapolation.
Definition at line 238 of file MuidElementNumbers.h.
|
staticconstexprprotected |
Maximal value of reduced chi-squared (for transverse scattering).
Definition at line 250 of file MuidElementNumbers.h.
|
staticconstexprprotected |
Size of array with reduced chi-squared values (for transverse scattering).
Definition at line 247 of file MuidElementNumbers.h.