![]() |
Belle II Software
release-05-02-19
|
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. | |
enum | DetectorsCrossed { c_Both = 0, c_OnlyBarrel = KLMElementNumbers::c_BKLM, c_OnlyEndcap = KLMElementNumbers::c_EKLM } |
Labels for detectors crossed. | |
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. | |
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. More... | |
static unsigned int | calculateExtrapolationOutcome (bool isForward, bool escaped, int lastBarrelLayer, int lastEndcapLayer) |
Calculate the track extrapolation outcome. More... | |
static Hypothesis | calculateHypothesisFromPDG (int pdg) |
Calculate hypothesis number from PDG code. More... | |
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. More... | |
static std::vector< int > | getPDGVector () |
Get a vector with all the hypothesis PDG codes used for Muid. More... | |
static int | getLongitudinalID (int hypothesis, int outcome, int lastLayer) |
Get the unique longitudinal identifier for given hypothesis, outcome and last layer crossed. More... | |
static int | getTransverseID (int hypothesis, int detector, int degreesOfFreedom) |
Get the unique transverse identifier for given hypothesis, detector and degrees of freedom. More... | |
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 38 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 94 of file MuidElementNumbers.h.
|
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 79 of file MuidElementNumbers.cc.
|
static |
Calculate hypothesis number from PDG code.
[in] | pdg | PDG code. |
Definition at line 123 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 27 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 176 of file MuidElementNumbers.cc.
|
static |
Get a vector with all the hypothesis PDG codes used for Muid.
Both positive and negative charges are returned.
Definition at line 167 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 155 of file MuidElementNumbers.cc.
|
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 184 of file MuidElementNumbers.cc.