|
ATLAS Offline Software
|
#include <PixeldEdxData.h>
|
void | setPar (const int i, const double param) |
|
void | setPosNeg (const bool posneg) |
|
void | setFunctionType (const std::string &fun) |
|
void | setBetheBlochType (const std::string &bb) |
|
void | setMinimumdEdxForMass (const double mindedxMass) |
|
double | dEdxPdf (const double dedx, const double signedP, const double mass, const std::array< double, 9 > &par, const int offset) const |
|
double | fdEdxZero (const double x, const std::array< double, 9 > &par) const |
|
double | getPar (const int i, const int j) const |
|
std::array< double, 3 > | getP (const double dedxArg, const double signedP, const int nGoodPixels) const |
|
std::array< double, 9 > | getFirstNPar (const double p, const int nGoodPixels, const int np) const |
|
double | getMass (const double dedx, const double signedP, const int nGoodPixels) const |
|
double | getdEdx (const double p, const double mass, const int nGoodPixels) const |
|
double | getdEdx (const double p, const double mass, const std::array< double, 9 > &par) const |
|
std::vector< float > | getLikelihoods (const double dedx2, const double p2, const int nGoodPixels) const |
|
|
static double | crystalBall (const double x, const double x0, const double sig, const double alp, const double n) |
|
static double | asymGaus (const double x, const double x0, const double sig, const double asym) |
|
static double | moyal (const double x, const double Ep, const double R) |
|
static double | dEdx_5p_BG_aleph (const double xbg, const std::array< double, 9 > &pp) |
|
static double | dEdx_5p_aleph (const double p, double mass, const std::array< double, 9 > &pp) |
|
static double | dEdx_5p_BG (const double xbg, const std::array< double, 9 > &pp) |
|
static double | dEdx_5p (const double p, const double mass, const std::array< double, 9 > &pp) |
|
static double | dEdx_BG (const double xbg, const std::array< double, 9 > &pp) |
|
static double | dEdx_def (const double p, const double mass, const std::array< double, 9 > &pp) |
|
static double | dEdx_3p (const double p, const double mass, const std::array< double, 9 > &pp) |
|
|
static constexpr double | m_piMass = 0.13957 |
|
static constexpr double | m_kMass = 0.49368 |
|
static constexpr double | m_pMass = 0.93827 |
|
Definition at line 23 of file PixeldEdxData.h.
◆ asymGaus()
double PixeldEdxData::asymGaus |
( |
const double |
x, |
|
|
const double |
x0, |
|
|
const double |
sig, |
|
|
const double |
asym |
|
) |
| |
|
static |
Definition at line 164 of file PixeldEdxData.cxx.
165 double sigp =
sig*asym;
166 double sigm =
sig/asym;
168 if (
x>x0) {
fun = TMath::Gaus(
x,x0,sigp,
false); }
169 else {
fun = TMath::Gaus(
x,x0,sigm,
false); }
170 return fun/(std::sqrt(2*
M_PI)*((sigp*0.5) + (sigm*0.5)));
◆ crystalBall()
Definition at line 152 of file PixeldEdxData.cxx.
154 double B =
n/std::abs(alp)-std::abs(alp);
156 double N =
sig*(
n/alp*(1/(
n-1))*
std::exp(-alp*alp*0.5)+std::sqrt(M_PI_2)*(1+std::erf(alp*M_SQRT1_2)));
◆ dEdx_3p()
double PixeldEdxData::dEdx_3p |
( |
const double |
p, |
|
|
const double |
mass, |
|
|
const std::array< double, 9 > & |
pp |
|
) |
| |
|
static |
◆ dEdx_5p()
double PixeldEdxData::dEdx_5p |
( |
const double |
p, |
|
|
const double |
mass, |
|
|
const std::array< double, 9 > & |
pp |
|
) |
| |
|
static |
◆ dEdx_5p_aleph()
double PixeldEdxData::dEdx_5p_aleph |
( |
const double |
p, |
|
|
double |
mass, |
|
|
const std::array< double, 9 > & |
pp |
|
) |
| |
|
static |
◆ dEdx_5p_BG()
double PixeldEdxData::dEdx_5p_BG |
( |
const double |
xbg, |
|
|
const std::array< double, 9 > & |
pp |
|
) |
| |
|
static |
◆ dEdx_5p_BG_aleph()
double PixeldEdxData::dEdx_5p_BG_aleph |
( |
const double |
xbg, |
|
|
const std::array< double, 9 > & |
pp |
|
) |
| |
|
static |
◆ dEdx_BG()
double PixeldEdxData::dEdx_BG |
( |
const double |
xbg, |
|
|
const std::array< double, 9 > & |
pp |
|
) |
| |
|
static |
◆ dEdx_def()
double PixeldEdxData::dEdx_def |
( |
const double |
p, |
|
|
const double |
mass, |
|
|
const std::array< double, 9 > & |
pp |
|
) |
| |
|
static |
◆ dEdxPdf()
double PixeldEdxData::dEdxPdf |
( |
const double |
dedx, |
|
|
const double |
signedP, |
|
|
const double |
mass, |
|
|
const std::array< double, 9 > & |
par, |
|
|
const int |
offset |
|
) |
| const |
Definition at line 30 of file PixeldEdxData.cxx.
31 const auto p = std::abs(signedP);
35 double pLG[4]={1,1,1,1};
42 return asymGaus(dedx, pLG[1], pLG[0], pLG[3]);
44 else if (
m_fun==
"CB") {
50 return crystalBall(dedx, pLG[0], pLG[1], pLG[2], pLG[3]);
◆ fdEdxZero()
double PixeldEdxData::fdEdxZero |
( |
const double |
x, |
|
|
const std::array< double, 9 > & |
par |
|
) |
| const |
◆ getdEdx() [1/2]
double PixeldEdxData::getdEdx |
( |
const double |
p, |
|
|
const double |
mass, |
|
|
const int |
nGoodPixels |
|
) |
| const |
Definition at line 133 of file PixeldEdxData.cxx.
134 if (nGoodPixels<=0) {
return -2; }
136 const auto p = std::abs(signedP);
◆ getdEdx() [2/2]
double PixeldEdxData::getdEdx |
( |
const double |
p, |
|
|
const double |
mass, |
|
|
const std::array< double, 9 > & |
par |
|
) |
| const |
◆ getFirstNPar()
std::array< double, 9 > PixeldEdxData::getFirstNPar |
( |
const double |
p, |
|
|
const int |
nGoodPixels, |
|
|
const int |
np |
|
) |
| const |
Definition at line 93 of file PixeldEdxData.cxx.
94 std::array<double,9>
par{};
95 auto setNGoodPixels{nGoodPixels};
96 if (setNGoodPixels>5) { setNGoodPixels=5; }
97 if (
p<0 &&
m_posneg) { setNGoodPixels += 5; }
98 for (
int i=0;
i<npar;
i++){
◆ getLikelihoods()
std::vector< float > PixeldEdxData::getLikelihoods |
( |
const double |
dedx2, |
|
|
const double |
p2, |
|
|
const int |
nGoodPixels |
|
) |
| const |
◆ getMass()
double PixeldEdxData::getMass |
( |
const double |
dedx, |
|
|
const double |
signedP, |
|
|
const int |
nGoodPixels |
|
) |
| const |
Definition at line 104 of file PixeldEdxData.cxx.
108 if (nGoodPixels<=0) {
return -2; }
111 const auto p = std::abs(signedP);
◆ getP()
std::array< double, 3 > PixeldEdxData::getP |
( |
const double |
dedxArg, |
|
|
const double |
signedP, |
|
|
const int |
nGoodPixels |
|
) |
| const |
Definition at line 71 of file PixeldEdxData.cxx.
72 std::array<double,3> vhypo{-2,-2,-2};
73 if (nGoodPixels<=0) {
return vhypo; }
75 const auto p = std::fabs(signedP);
77 const auto dedx =
std::log(dedxArg)-9.4;
◆ getPar()
double PixeldEdxData::getPar |
( |
const int |
i, |
|
|
const int |
j |
|
) |
| const |
Definition at line 59 of file PixeldEdxData.cxx.
61 if (itr!=
m_par.end()) {
62 const std::vector<double> ¶m = itr->second;
63 if (j<(
int)param.size()) {
◆ moyal()
double PixeldEdxData::moyal |
( |
const double |
x, |
|
|
const double |
Ep, |
|
|
const double |
R |
|
) |
| |
|
static |
◆ setBetheBlochType()
void PixeldEdxData::setBetheBlochType |
( |
const std::string & |
bb | ) |
|
◆ setFunctionType()
void PixeldEdxData::setFunctionType |
( |
const std::string & |
fun | ) |
|
◆ setMinimumdEdxForMass()
void PixeldEdxData::setMinimumdEdxForMass |
( |
const double |
mindedxMass | ) |
|
◆ setPar()
void PixeldEdxData::setPar |
( |
const int |
i, |
|
|
const double |
param |
|
) |
| |
◆ setPosNeg()
void PixeldEdxData::setPosNeg |
( |
const bool |
posneg | ) |
|
◆ m_bb
std::string PixeldEdxData::m_bb |
|
private |
◆ m_fun
std::string PixeldEdxData::m_fun |
|
private |
◆ m_kMass
constexpr double PixeldEdxData::m_kMass = 0.49368 |
|
staticconstexprprivate |
◆ m_mindedxformass
double PixeldEdxData::m_mindedxformass |
|
private |
◆ m_par
std::unordered_map<uint32_t,std::vector<double> > PixeldEdxData::m_par |
|
private |
◆ m_piMass
constexpr double PixeldEdxData::m_piMass = 0.13957 |
|
staticconstexprprivate |
◆ m_pMass
constexpr double PixeldEdxData::m_pMass = 0.93827 |
|
staticconstexprprivate |
◆ m_posneg
bool PixeldEdxData::m_posneg |
|
private |
The documentation for this class was generated from the following files:
double getdEdx(const double p, const double mass, const int nGoodPixels) const
static double asymGaus(const double x, const double x0, const double sig, const double asym)
static constexpr double m_pMass
std::array< double, 9 > getFirstNPar(const double p, const int nGoodPixels, const int np) const
double dEdxPdf(const double dedx, const double signedP, const double mass, const std::array< double, 9 > &par, const int offset) const
double fdEdxZero(const double x, const std::array< double, 9 > &par) const
static double dEdx_BG(const double xbg, const std::array< double, 9 > &pp)
static double dEdx_5p_BG(const double xbg, const std::array< double, 9 > &pp)
static constexpr double m_piMass
static double dEdx_5p_aleph(const double p, double mass, const std::array< double, 9 > &pp)
static constexpr double m_kMass
static double dEdx_5p(const double p, const double mass, const std::array< double, 9 > &pp)
double R(const INavigable4Momentum *p1, const double v_eta, const double v_phi)
static double dEdx_3p(const double p, const double mass, const std::array< double, 9 > &pp)
static double crystalBall(const double x, const double x0, const double sig, const double alp, const double n)
std::unordered_map< uint32_t, std::vector< double > > m_par
double getPar(const int i, const int j) const
std::array< double, 3 > getP(const double dedxArg, const double signedP, const int nGoodPixels) const
constexpr int pow(int base, int exp) noexcept
static double dEdx_5p_BG_aleph(const double xbg, const std::array< double, 9 > &pp)