Belle II Software  release-05-01-25
EnergyLossEstimator.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2017 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Oliver Frost *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 #pragma once
11 
12 #include <cmath>
13 
14 namespace Belle2 {
19  namespace TrackFindingCDC {
20 
24  class EnergyLossEstimator {
25 
26  public:
30  static EnergyLossEstimator forCDC();
31 
35  static double getMass(int pdgCode);
36 
40  static int getCharge(int pdgCode);
41 
49  EnergyLossEstimator(double eDensity, double I, double bZ = NAN);
50 
57  double getBetheStoppingPower(double p, int pdgCode) const;
58 
62  double getEnergyLoss(double p, int pdgCode, double arcLength) const;
63 
68  double getMomentumLossFactor(double p, int pdgCode, double arcLength) const;
69 
73  double getLossDist2D(double pt, int pdgCode, double arcLength2D) const;
74 
75  private:
77  double m_eDensity;
78 
80  double m_I;
81 
83  double m_bZ;
84  };
85  }
87 }
Belle2::TrackFindingCDC::EnergyLossEstimator::m_bZ
double m_bZ
B field to be used for the distance translation.
Definition: EnergyLossEstimator.h:91
Belle2::TrackFindingCDC::EnergyLossEstimator::getLossDist2D
double getLossDist2D(double pt, int pdgCode, double arcLength2D) const
Calculates a correction term for the two dimensional distance undoing the energy loss after the given...
Definition: EnergyLossEstimator.cc:171
Belle2::TrackFindingCDC::EnergyLossEstimator::getBetheStoppingPower
double getBetheStoppingPower(double p, int pdgCode) const
Stopping power aka energy loss / arc length.
Definition: EnergyLossEstimator.cc:129
Belle2::TrackFindingCDC::EnergyLossEstimator::forCDC
static EnergyLossEstimator forCDC()
Create an energy loss estimator with the material properties of the CDC.
Definition: EnergyLossEstimator.cc:29
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TrackFindingCDC::EnergyLossEstimator::getMomentumLossFactor
double getMomentumLossFactor(double p, int pdgCode, double arcLength) const
Calculates a factor applicable scaling the current momentum to the momentum after traveling given arc...
Definition: EnergyLossEstimator.cc:158
Belle2::TrackFindingCDC::EnergyLossEstimator::getCharge
static int getCharge(int pdgCode)
Lookup the charge for the given pdg code.
Definition: EnergyLossEstimator.cc:106
Belle2::TrackFindingCDC::EnergyLossEstimator::EnergyLossEstimator
EnergyLossEstimator(double eDensity, double I, double bZ=NAN)
Constructor from the material properties.
Definition: EnergyLossEstimator.cc:122
Belle2::TrackFindingCDC::EnergyLossEstimator::getMass
static double getMass(int pdgCode)
Lookup the mass for the given pdg code.
Definition: EnergyLossEstimator.cc:85
Belle2::TrackFindingCDC::EnergyLossEstimator::getEnergyLoss
double getEnergyLoss(double p, int pdgCode, double arcLength) const
Calculates the total energy loss after travelling the given distance.
Definition: EnergyLossEstimator.cc:151
Belle2::TrackFindingCDC::EnergyLossEstimator::m_eDensity
double m_eDensity
Electron density in mol / cm^3.
Definition: EnergyLossEstimator.h:85
Belle2::TrackFindingCDC::EnergyLossEstimator::m_I
double m_I
Mean excitation energy in GeV.
Definition: EnergyLossEstimator.h:88