This class wraps the muon profile implementation, which is based on a multi-dimensional parameterisation of raw Monte-Carlo data. More...
#include <ParametricMuonProfile.h>
Public Types | |
enum | ProfileType { eNMuTank, eCosTheta, eLogEnergy } |
Public Member Functions | |
void | CachedSetProfile (double theta, double phi, double energy) |
double | EnergyMuon (double xpos, double ypos, double theta, double phi, double energy) |
Expected average muon energy on the ground, at the given coordinates on the ground, for a certain combination of theta, phi, and energy of the primary particle. More... | |
double | GetThetaMax () |
Maximum zenith angle, at which the tank response function is defined. More... | |
double | GetThetaMin () |
Minimum zenith angle, at which the tank response function is defined. More... | |
double | NMuon (double xpos, double ypos, double theta, double phi, double energy) |
Expected average number of muons per tank, at the given coordinates on the ground, for a certain combination of theta, phi, and energy of the primary particle. More... | |
ParametricMuonProfile (utl::Branch) | |
double | ThetaMuon (double xpos, double ypos, double theta, double phi, double energy) |
Expected average muon inclination angle on the ground, at the given coordinates on the ground, for a certain combination of theta, phi, and energy of the primary particle. More... | |
~ParametricMuonProfile () | |
Private Types | |
typedef std::vector< double > | ArrayType |
typedef boost::multi_array < double, 3 > | LocalDataType |
typedef boost::multi_array < double, 6 > | ModelDataType |
Private Member Functions | |
void | BuildLocalModel () |
double | D (double theta) const |
double | EvaluateLocalProfile (ProfileType type, double sqr, double zeta) const |
double | EvaluateProfile (ProfileType type, double x, double y, double theta, double phi, double energy) |
void | ReadModelData (const utl::Branch &modelBranch, ModelDataType &tensor, LocalDataType &tensorLocal) const |
double | TotalMuonNumber (double theta, double energy) const |
Private Attributes | |
double | fBiasCorrection [3] |
double | fBPsi |
ArrayType | fDMaxData |
double | fEnergy |
LocalDataType | fLocalData [3] |
ModelDataType | fModelData [3] |
ArrayType | fNMuData |
double | fNMuonNumber |
double | fPhi |
double | fSqrtRadiusMax |
double | fTheta |
ArrayType | fThetaRange |
This class wraps the muon profile implementation, which is based on a multi-dimensional parameterisation of raw Monte-Carlo data.
Definition at line 30 of file ParametricMuonProfile.h.
|
private |
Definition at line 91 of file ParametricMuonProfile.h.
|
private |
Definition at line 82 of file ParametricMuonProfile.h.
|
private |
Definition at line 79 of file ParametricMuonProfile.h.
Enumerator | |
---|---|
eNMuTank | |
eCosTheta | |
eLogEnergy |
Definition at line 33 of file ParametricMuonProfile.h.
ParametricMuonProfile::ParametricMuonProfile | ( | utl::Branch | topBranch | ) |
Definition at line 45 of file ParametricMuonProfile.cc.
References RdGeoCeLDFFitter::b, data, eCosTheta, eLogEnergy, eNMuTank, fBiasCorrection, fDMaxData, fLocalData, fModelData, fNMuData, fSqrtRadiusMax, fThetaRange, utl::Branch::GetChild(), utl::Branch::GetData(), ReadModelData(), and sqrt().
|
inline |
Definition at line 36 of file ParametricMuonProfile.h.
|
private |
Definition at line 173 of file ParametricMuonProfile.cc.
References D(), degree, fLocalData, fModelData, fPhi, fTheta, utl::m, and std::pow().
Referenced by CachedSetProfile().
|
inline |
Definition at line 39 of file ParametricMuonProfile.h.
References BuildLocalModel(), fBPsi, fEnergy, fNMuonNumber, fPhi, fTheta, tls::GetBpsi(), GetThetaMax(), GetThetaMin(), and TotalMuonNumber().
Referenced by EvaluateProfile().
|
private |
Definition at line 73 of file ParametricMuonProfile.cc.
References fDMaxData, and utl::kPi.
Referenced by BuildLocalModel(), and TotalMuonNumber().
|
inlinevirtual |
Expected average muon energy on the ground, at the given coordinates on the ground, for a certain combination of theta, phi, and energy of the primary particle.
Implements tls::VMuonProfile.
Definition at line 61 of file ParametricMuonProfile.h.
References eLogEnergy, and EvaluateProfile().
|
private |
Definition at line 152 of file ParametricMuonProfile.cc.
References fLocalData, std::pow(), and result.
Referenced by EvaluateProfile().
|
private |
Definition at line 102 of file ParametricMuonProfile.cc.
References RdGeoCeLDFFitter::a, RdGeoCeLDFFitter::b, CachedSetProfile(), eCosTheta, eLogEnergy, eNMuTank, EvaluateLocalProfile(), fBiasCorrection, fBPsi, fNMuonNumber, fSqrtRadiusMax, utl::GeV, utl::kPi, galactic::meter, std::pow(), tls::PsiPerpendicular(), result, tls::rPerpendicular(), and sqrt().
Referenced by EnergyMuon(), NMuon(), and ThetaMuon().
|
virtual |
Maximum zenith angle, at which the tank response function is defined.
Implements tls::VMuonProfile.
Definition at line 205 of file ParametricMuonProfile.cc.
References fThetaRange.
Referenced by CachedSetProfile().
|
virtual |
Minimum zenith angle, at which the tank response function is defined.
Implements tls::VMuonProfile.
Definition at line 202 of file ParametricMuonProfile.cc.
References fThetaRange.
Referenced by CachedSetProfile().
|
inlinevirtual |
Expected average number of muons per tank, at the given coordinates on the ground, for a certain combination of theta, phi, and energy of the primary particle.
Implements tls::VMuonProfile.
Definition at line 55 of file ParametricMuonProfile.h.
References eNMuTank, and EvaluateProfile().
|
private |
Definition at line 17 of file ParametricMuonProfile.cc.
References data, utl::Branch::GetChild(), and utl::Branch::GetData().
Referenced by ParametricMuonProfile().
|
inlinevirtual |
Expected average muon inclination angle on the ground, at the given coordinates on the ground, for a certain combination of theta, phi, and energy of the primary particle.
Implements tls::VMuonProfile.
Definition at line 58 of file ParametricMuonProfile.h.
References eCosTheta, and EvaluateProfile().
|
private |
Definition at line 94 of file ParametricMuonProfile.cc.
References D(), galactic::EeV, fNMuData, and std::pow().
Referenced by CachedSetProfile().
|
private |
Definition at line 89 of file ParametricMuonProfile.h.
Referenced by EvaluateProfile(), and ParametricMuonProfile().
|
private |
Definition at line 103 of file ParametricMuonProfile.h.
Referenced by CachedSetProfile(), and EvaluateProfile().
|
private |
Definition at line 93 of file ParametricMuonProfile.h.
Referenced by D(), and ParametricMuonProfile().
|
private |
Definition at line 102 of file ParametricMuonProfile.h.
Referenced by CachedSetProfile().
|
private |
Definition at line 83 of file ParametricMuonProfile.h.
Referenced by BuildLocalModel(), EvaluateLocalProfile(), and ParametricMuonProfile().
|
private |
Definition at line 80 of file ParametricMuonProfile.h.
Referenced by BuildLocalModel(), and ParametricMuonProfile().
|
private |
Definition at line 95 of file ParametricMuonProfile.h.
Referenced by ParametricMuonProfile(), and TotalMuonNumber().
|
private |
Definition at line 104 of file ParametricMuonProfile.h.
Referenced by CachedSetProfile(), and EvaluateProfile().
|
private |
Definition at line 101 of file ParametricMuonProfile.h.
Referenced by BuildLocalModel(), and CachedSetProfile().
|
private |
Definition at line 98 of file ParametricMuonProfile.h.
Referenced by EvaluateProfile(), and ParametricMuonProfile().
|
private |
Definition at line 100 of file ParametricMuonProfile.h.
Referenced by BuildLocalModel(), and CachedSetProfile().
|
private |
Definition at line 97 of file ParametricMuonProfile.h.
Referenced by GetThetaMax(), GetThetaMin(), and ParametricMuonProfile().