Jpp 20.0.0-rc.9-29-gccc23c492-D
the software that should make you happy
Loading...
Searching...
No Matches
JNPE.hh
Go to the documentation of this file.
1#ifndef __JFIT__JNPE__
2#define __JFIT__JNPE__
3
4#include <cmath>
5
6#include "JPhysics/JConstants.hh"
7#include "JPhysics/JGeane.hh"
8#include "JPhysics/JDeltaRays.hh"
9
10#include "JFit/JK40.hh"
11
12
13/**
14 * \author mdejong
15 */
16
17namespace JFIT {}
18namespace JPP { using namespace JFIT; }
19
20namespace JFIT {
21
22 /**
23 * Auxiliary class for handling various light yields.
24 *
25 * Note that the effective light yield due to bremsstrahlung is proportional to the muon energy.\n
26 * The position along the muon path is used to correct for the energy loss of the muon
27 * between the reference position (z = 0) and the point of emission of the light.
28 */
29 struct JNPE :
30 public JK40
31 {
32 /**
33 * Default constructor.
34 */
35 JNPE() :
36 JK40(),
37 y1(0.0),
38 yA(0.0),
39 yB(0.0),
40 z (0.0)
41 {}
42
43
44 /**
45 * Constructor.
46 *
47 * \param y0 light yield due to random background [npe]
48 * \param y1 light yield due to minimum ionizing particle [npe]
49 * \param yA light yield due to delta-rays [npe*m/GeV]
50 * \param yB light yield due to bremsstrahlung [npe/GeV]
51 * \param z position along muon path [m]
52 */
53 JNPE(const double y0,
54 const double y1,
55 const double yA,
56 const double yB,
57 const double z) :
58 JK40(y0),
59 y1(y1),
60 yA(yA),
61 yB(yB),
62 z (z)
63 {}
64
65
66 /**
67 * Get light yield due to minimum ionizing particle.
68 *
69 * \return light yield [npe]
70 */
71 double getY1() const
72 {
73 return y1;
74 }
75
76
77 /**
78 * Get light yield due to delta-rays
79 *
80 * \return light yield [npe*m/GeV]
81 */
82 double getYA() const
83 {
84 return yA;
85 }
86
87
88 /**
89 * Get light yield due to bremsstrahlung.
90 *
91 * \return light yield [npe/GeV]
92 */
93 double getYB() const
94 {
95 return yB;
96 }
97
98
99 /**
100 * Get position along muon path.
101 *
102 * \return position along muon path [m]
103 */
104 double getZ() const
105 {
106 return z;
107 }
108
109
110 /**
111 * Expected number of photo-electrons for muon hypothesis as a function of muon energy.
112 *
113 * \param E_GeV energy [GeV]
114 * \return light yield [npe]
115 */
116 inline double getH1(const double E_GeV) const
117 {
118 using namespace JPP;
119
120 const double E = gWater.getE(E_GeV, this->getZ());
121
122 if (E >= MASS_MUON * INDEX_OF_REFRACTION_WATER)
123 return (this->getY1() +
124 this->getYA() * JDeltaRays::getEnergyLossFromMuon(E) +
125 this->getYB() * E);
126 else
127 return 0.0;
128 }
129
130 protected:
131 double y1; //!< light yield due to minimum ionizing particle [npe]
132 double yA; //!< light yield due to delta-rays [npe*m/GeV]
133 double yB; //!< light yield due to bremsstrahlung [npe/GeV]
134 double z; //!< position along muon path [m]
135 };
136}
137
138#endif
Auxiliary classes and methods for linear and iterative data regression.
Definition JEnergy.hh:15
Auxiliary class for handling light yields due to K40 decays.
Definition JK40.hh:25
double y0
light yield due to random background [npe]
Definition JK40.hh:90
Auxiliary class for handling various light yields.
Definition JNPE.hh:31
double yA
light yield due to delta-rays [npe*m/GeV]
Definition JNPE.hh:132
double z
position along muon path [m]
Definition JNPE.hh:134
JNPE()
Default constructor.
Definition JNPE.hh:35
double getYB() const
Get light yield due to bremsstrahlung.
Definition JNPE.hh:93
double y1
light yield due to minimum ionizing particle [npe]
Definition JNPE.hh:131
JNPE(const double y0, const double y1, const double yA, const double yB, const double z)
Constructor.
Definition JNPE.hh:53
double getY1() const
Get light yield due to minimum ionizing particle.
Definition JNPE.hh:71
double yB
light yield due to bremsstrahlung [npe/GeV]
Definition JNPE.hh:133
double getH1(const double E_GeV) const
Expected number of photo-electrons for muon hypothesis as a function of muon energy.
Definition JNPE.hh:116
double getZ() const
Get position along muon path.
Definition JNPE.hh:104
double getYA() const
Get light yield due to delta-rays.
Definition JNPE.hh:82