BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
TofEPID Class Reference

#include <TofEPID.h>

Inheritance diagram for TofEPID:

Public Member Functions

 ~TofEPID ()
void init ()
void calculate ()
bool IsPidInfoValid () const
double chi (int n) const
double prob (int n) const
double sigma (int n) const
double offset (int n) const
int ndof () const
double mass2 () const
int part () const
double rhit () const
int neuronPID () const
 ~TofEPID ()
void init ()
void calculate ()
bool IsPidInfoValid () const
double chi (int n) const
double prob (int n) const
double sigma (int n) const
double offset (int n) const
int ndof () const
double mass2 () const
int part () const
double rhit () const
int neuronPID () const
 ~TofEPID ()
void init ()
void calculate ()
bool IsPidInfoValid () const
double chi (int n) const
double prob (int n) const
double sigma (int n) const
double offset (int n) const
int ndof () const
double mass2 () const
int part () const
double rhit () const
int neuronPID () const
Public Member Functions inherited from ParticleIDBase
 ParticleIDBase ()
virtual ~ParticleIDBase ()
EvtRecTrackPidTrk () const
void setRecTrack (EvtRecTrack *trk)
double chiMinCut () const
void setChiMinCut (const double chi=4)
double chiMaxCut () const
void setChiMaxCut (const double chi=6)
double pdfMinSigmaCut () const
void setPdfMinSigmaCut (const double pdf=4)
double getRunNo () const
void setRunNo (const double runh=8093)
double p ()
double pt ()
double charge ()
double xmass (int n)
double velc ()
double probCalculate (double chi2, int n)
double pdfCalculate (double offset, double sigma)
double interpolation (double *x, double *y, double x1)
double pol2 (double x, double *par)
double pol3 (double x, double *par)
double pol4 (double x, double *par)
int useDedx () const
int useTof () const
int useTof1 () const
int useTof2 () const
int useTofE () const
int useTofQ () const
int useTofC () const
int useTofCorr () const
int useEmc () const
int useMuc () const
int onlyPionKaon () const
int onlyPionKaonProton () const
int onlyPionKaonElectron () const
int all () const
int onlyElectron () const
int onlyMuon () const
int onlyPion () const
int onlyKaon () const
int onlyProton () const
int methodLikelihood () const
int methodProbability () const
int methodNeuronNetwork () const
int dedxValid () const
int tofValid () const
int tofeValid () const
int tofqValid () const
int tofcValid () const
int tofcorrValid () const
int emcValid () const
int mucValid () const
void set_path (const char *s_path=0)
void set_path (std::string s_path)
 ParticleIDBase ()
virtual ~ParticleIDBase ()
EvtRecTrackPidTrk () const
void setRecTrack (EvtRecTrack *trk)
double chiMinCut () const
void setChiMinCut (const double chi=4)
double chiMaxCut () const
void setChiMaxCut (const double chi=6)
double pdfMinSigmaCut () const
void setPdfMinSigmaCut (const double pdf=4)
double getRunNo () const
void setRunNo (const double runh=8093)
double p ()
double pt ()
double charge ()
double xmass (int n)
double velc ()
double probCalculate (double chi2, int n)
double pdfCalculate (double offset, double sigma)
double interpolation (double *x, double *y, double x1)
double pol2 (double x, double *par)
double pol3 (double x, double *par)
double pol4 (double x, double *par)
int useDedx () const
int useTof () const
int useTof1 () const
int useTof2 () const
int useTofE () const
int useTofQ () const
int useTofC () const
int useTofCorr () const
int useEmc () const
int useMuc () const
int onlyPionKaon () const
int onlyPionKaonProton () const
int onlyPionKaonElectron () const
int all () const
int onlyElectron () const
int onlyMuon () const
int onlyPion () const
int onlyKaon () const
int onlyProton () const
int methodLikelihood () const
int methodProbability () const
int methodNeuronNetwork () const
int dedxValid () const
int tofValid () const
int tofeValid () const
int tofqValid () const
int tofcValid () const
int tofcorrValid () const
int emcValid () const
int mucValid () const
void set_path (const char *s_path=0)
void set_path (std::string s_path)
 ParticleIDBase ()
virtual ~ParticleIDBase ()
EvtRecTrackPidTrk () const
void setRecTrack (EvtRecTrack *trk)
double chiMinCut () const
void setChiMinCut (const double chi=4)
double chiMaxCut () const
void setChiMaxCut (const double chi=6)
double pdfMinSigmaCut () const
void setPdfMinSigmaCut (const double pdf=4)
double getRunNo () const
void setRunNo (const double runh=8093)
double p ()
double pt ()
double charge ()
double xmass (int n)
double velc ()
double probCalculate (double chi2, int n)
double pdfCalculate (double offset, double sigma)
double interpolation (double *x, double *y, double x1)
double pol2 (double x, double *par)
double pol3 (double x, double *par)
double pol4 (double x, double *par)
int useDedx () const
int useTof () const
int useTof1 () const
int useTof2 () const
int useTofE () const
int useTofQ () const
int useTofC () const
int useTofCorr () const
int useEmc () const
int useMuc () const
int onlyPionKaon () const
int onlyPionKaonProton () const
int onlyPionKaonElectron () const
int all () const
int onlyElectron () const
int onlyMuon () const
int onlyPion () const
int onlyKaon () const
int onlyProton () const
int methodLikelihood () const
int methodProbability () const
int methodNeuronNetwork () const
int dedxValid () const
int tofValid () const
int tofeValid () const
int tofqValid () const
int tofcValid () const
int tofcorrValid () const
int emcValid () const
int mucValid () const
void set_path (const char *s_path=0)
void set_path (std::string s_path)

Static Public Member Functions

static TofEPIDinstance ()
static TofEPIDinstance ()
static TofEPIDinstance ()

Protected Member Functions

int neuronPIDCalculation ()
int particleIDCalculation ()
int LikelihoodCalculation ()
double offsetTofE (int n, int cntr, double ptrk, double rtof, double ph, double charge)
double sigmaTofE (int n, int cntr, double ptrk, double rtof, double ph, double charge)
int neuronPIDCalculation ()
int particleIDCalculation ()
int LikelihoodCalculation ()
double offsetTofE (int n, int cntr, double ptrk, double rtof, double ph, double charge)
double sigmaTofE (int n, int cntr, double ptrk, double rtof, double ph, double charge)
int neuronPIDCalculation ()
int particleIDCalculation ()
int LikelihoodCalculation ()
double offsetTofE (int n, int cntr, double ptrk, double rtof, double ph, double charge)
double sigmaTofE (int n, int cntr, double ptrk, double rtof, double ph, double charge)

Additional Inherited Members

Static Protected Attributes inherited from ParticleIDBase
static std::string path = ""

Detailed Description

Constructor & Destructor Documentation

◆ ~TofEPID() [1/3]

TofEPID::~TofEPID ( )
inline

Definition at line 17 of file Analysis/ParticleID/include/ParticleID/TofEPID.h.

17{ ; }

◆ ~TofEPID() [2/3]

TofEPID::~TofEPID ( )
inline

◆ ~TofEPID() [3/3]

TofEPID::~TofEPID ( )
inline

Member Function Documentation

◆ calculate() [1/3]

void TofEPID::calculate ( )
virtual

Implements ParticleIDBase.

Definition at line 40 of file TofEPID.cxx.

40 {
41 if ( particleIDCalculation() == 0 ) m_ndof = 1;
42}
int particleIDCalculation()
Definition TofEPID.cxx:44

◆ calculate() [2/3]

void TofEPID::calculate ( )
virtual

Implements ParticleIDBase.

◆ calculate() [3/3]

void TofEPID::calculate ( )
virtual

Implements ParticleIDBase.

◆ chi() [1/3]

double TofEPID::chi ( int n) const
inlinevirtual

Implements ParticleIDBase.

Definition at line 22 of file Analysis/ParticleID/include/ParticleID/TofEPID.h.

22{ return m_chi[n]; }
const Int_t n

◆ chi() [2/3]

double TofEPID::chi ( int n) const
inlinevirtual

Implements ParticleIDBase.

Definition at line 22 of file InstallArea/x86_64-el9-gcc13-dbg/include/ParticleID/TofEPID.h.

22{ return m_chi[n]; }

◆ chi() [3/3]

double TofEPID::chi ( int n) const
inlinevirtual

Implements ParticleIDBase.

Definition at line 22 of file InstallArea/x86_64-el9-gcc13-opt/include/ParticleID/TofEPID.h.

22{ return m_chi[n]; }

◆ init() [1/3]

void TofEPID::init ( )
virtual

Implements ParticleIDBase.

Definition at line 25 of file TofEPID.cxx.

25 {
26 for ( int i = 0; i < 5; i++ )
27 {
28 m_chi[i] = 99.0;
29 m_prob[i] = -1.0;
30 m_offset[i] = 99.0;
31 m_sigma[i] = 1.0;
32 }
33 m_chimin = 99.;
34 m_pdfmin = 99.;
35 m_ndof = 0;
36 m_mass2 = -999;
37 m_rhit = -99;
38}

◆ init() [2/3]

void TofEPID::init ( )
virtual

Implements ParticleIDBase.

◆ init() [3/3]

void TofEPID::init ( )
virtual

Implements ParticleIDBase.

◆ instance() [1/3]

TofEPID * TofEPID::instance ( )
static

Definition at line 16 of file TofEPID.cxx.

16 {
17 if ( !m_pointer ) m_pointer = new TofEPID();
18 return m_pointer;
19}

◆ instance() [2/3]

TofEPID * TofEPID::instance ( )
static

◆ instance() [3/3]

TofEPID * TofEPID::instance ( )
static

◆ IsPidInfoValid() [1/3]

bool TofEPID::IsPidInfoValid ( ) const
inlinevirtual

Implements ParticleIDBase.

Definition at line 21 of file Analysis/ParticleID/include/ParticleID/TofEPID.h.

21{ return ( m_ndof > 0 ); }

◆ IsPidInfoValid() [2/3]

bool TofEPID::IsPidInfoValid ( ) const
inlinevirtual

Implements ParticleIDBase.

Definition at line 21 of file InstallArea/x86_64-el9-gcc13-dbg/include/ParticleID/TofEPID.h.

21{ return ( m_ndof > 0 ); }

◆ IsPidInfoValid() [3/3]

bool TofEPID::IsPidInfoValid ( ) const
inlinevirtual

Implements ParticleIDBase.

Definition at line 21 of file InstallArea/x86_64-el9-gcc13-opt/include/ParticleID/TofEPID.h.

21{ return ( m_ndof > 0 ); }

◆ LikelihoodCalculation() [1/3]

int TofEPID::LikelihoodCalculation ( )
inlineprotectedvirtual

Implements ParticleIDBase.

Definition at line 35 of file Analysis/ParticleID/include/ParticleID/TofEPID.h.

35{ return -1; }

◆ LikelihoodCalculation() [2/3]

int TofEPID::LikelihoodCalculation ( )
inlineprotectedvirtual

Implements ParticleIDBase.

Definition at line 35 of file InstallArea/x86_64-el9-gcc13-dbg/include/ParticleID/TofEPID.h.

35{ return -1; }

◆ LikelihoodCalculation() [3/3]

int TofEPID::LikelihoodCalculation ( )
inlineprotectedvirtual

Implements ParticleIDBase.

Definition at line 35 of file InstallArea/x86_64-el9-gcc13-opt/include/ParticleID/TofEPID.h.

35{ return -1; }

◆ mass2() [1/3]

double TofEPID::mass2 ( ) const
inline

Definition at line 27 of file Analysis/ParticleID/include/ParticleID/TofEPID.h.

27{ return m_mass2; }

◆ mass2() [2/3]

double TofEPID::mass2 ( ) const
inline

Definition at line 27 of file InstallArea/x86_64-el9-gcc13-dbg/include/ParticleID/TofEPID.h.

27{ return m_mass2; }

◆ mass2() [3/3]

double TofEPID::mass2 ( ) const
inline

Definition at line 27 of file InstallArea/x86_64-el9-gcc13-opt/include/ParticleID/TofEPID.h.

27{ return m_mass2; }

◆ ndof() [1/3]

int TofEPID::ndof ( ) const
inlinevirtual

Implements ParticleIDBase.

Definition at line 26 of file Analysis/ParticleID/include/ParticleID/TofEPID.h.

26{ return m_ndof; }

◆ ndof() [2/3]

int TofEPID::ndof ( ) const
inlinevirtual

Implements ParticleIDBase.

Definition at line 26 of file InstallArea/x86_64-el9-gcc13-dbg/include/ParticleID/TofEPID.h.

26{ return m_ndof; }

◆ ndof() [3/3]

int TofEPID::ndof ( ) const
inlinevirtual

Implements ParticleIDBase.

Definition at line 26 of file InstallArea/x86_64-el9-gcc13-opt/include/ParticleID/TofEPID.h.

26{ return m_ndof; }

◆ neuronPID() [1/3]

int TofEPID::neuronPID ( ) const
inline

Definition at line 30 of file Analysis/ParticleID/include/ParticleID/TofEPID.h.

30{ return -1; }

◆ neuronPID() [2/3]

int TofEPID::neuronPID ( ) const
inline

Definition at line 30 of file InstallArea/x86_64-el9-gcc13-dbg/include/ParticleID/TofEPID.h.

30{ return -1; }

◆ neuronPID() [3/3]

int TofEPID::neuronPID ( ) const
inline

Definition at line 30 of file InstallArea/x86_64-el9-gcc13-opt/include/ParticleID/TofEPID.h.

30{ return -1; }

◆ neuronPIDCalculation() [1/3]

int TofEPID::neuronPIDCalculation ( )
inlineprotected

Definition at line 33 of file Analysis/ParticleID/include/ParticleID/TofEPID.h.

33{ return -1; }

◆ neuronPIDCalculation() [2/3]

int TofEPID::neuronPIDCalculation ( )
inlineprotected

Definition at line 33 of file InstallArea/x86_64-el9-gcc13-dbg/include/ParticleID/TofEPID.h.

33{ return -1; }

◆ neuronPIDCalculation() [3/3]

int TofEPID::neuronPIDCalculation ( )
inlineprotected

Definition at line 33 of file InstallArea/x86_64-el9-gcc13-opt/include/ParticleID/TofEPID.h.

33{ return -1; }

◆ offset() [1/3]

double TofEPID::offset ( int n) const
inline

Definition at line 25 of file Analysis/ParticleID/include/ParticleID/TofEPID.h.

25{ return m_offset[n]; }

Referenced by offsetTofE().

◆ offset() [2/3]

double TofEPID::offset ( int n) const
inline

Definition at line 25 of file InstallArea/x86_64-el9-gcc13-dbg/include/ParticleID/TofEPID.h.

25{ return m_offset[n]; }

◆ offset() [3/3]

double TofEPID::offset ( int n) const
inline

Definition at line 25 of file InstallArea/x86_64-el9-gcc13-opt/include/ParticleID/TofEPID.h.

25{ return m_offset[n]; }

◆ offsetTofE() [1/3]

double TofEPID::offsetTofE ( int n,
int cntr,
double ptrk,
double rtof,
double ph,
double charge )
protected

Definition at line 215 of file TofEPID.cxx.

216 {
217 double offset=0.0;
218 // double gb = ptrk/xmass(n);
219 switch ( n )
220 {
221 case 0: { // Electron
222 double ptemp = ptrk;
223 if ( ptrk < 0.2 ) ptemp = 0.2;
224 if ( ptrk > 2.1 ) ptemp = 2.1;
225 double plog = log( ptemp );
226 offset = 0.001 * ( -28.8481 + 138.159 * plog - 249.334 * plog * plog );
227 break;
228 }
229
230 case 1: { // Muon
231 double ptemp = ptrk;
232 if ( ptrk < 0.2 ) ptemp = 0.2;
233 if ( ptrk > 2.1 ) ptemp = 2.1;
234 double plog = log( ptemp );
235 offset = 0.001 * ( -33.6966 + 1.91915 * plog - 0.592320 * plog * plog );
236 break;
237 }
238 case 2: { // Pion
239 double ptemp = ptrk;
240 if ( ptrk < 0.2 ) ptemp = 0.2;
241 if ( ptrk > 2.1 ) ptemp = 2.1;
242 double plog = log( ptemp );
243 offset = 0.001 * ( -27.9965 + 1.213 * plog - 2.02740 * plog * plog );
244 break;
245 }
246 case 3: { // Kaon
247 double ptemp = ptrk;
248 if ( ptrk < 0.3 ) ptemp = 0.3;
249 if ( ptrk > 2.1 ) ptemp = 2.1;
250 double plog = log( ptemp );
251 offset = 0.001 * ( -23.4842 - 28.7569 * plog + 78.21 * plog * plog );
252 break;
253 }
254
255 case 4: { // Proton
256 double ptemp = ptrk;
257 if ( ptrk < 0.4 ) ptemp = 0.4;
258 if ( ptrk > 2.1 ) ptemp = 2.1;
259 double plog = log( ptemp );
260 if ( charge > 0 ) offset = 0.001 * ( -4.854 - 110.540 * plog + 99.8732 * plog * plog );
261 if ( charge < 0 ) offset = 0.001 * ( 27.047 - 145.120 * plog + 167.014 * plog * plog );
262 break;
263 }
264
265 default: offset = 0.0; break;
266 }
267 // offset = 0.0;
268 return offset;
269}

◆ offsetTofE() [2/3]

double TofEPID::offsetTofE ( int n,
int cntr,
double ptrk,
double rtof,
double ph,
double charge )
protected

◆ offsetTofE() [3/3]

double TofEPID::offsetTofE ( int n,
int cntr,
double ptrk,
double rtof,
double ph,
double charge )
protected

◆ part() [1/3]

int TofEPID::part ( ) const
inline

Definition at line 28 of file Analysis/ParticleID/include/ParticleID/TofEPID.h.

28{ return m_part; }

◆ part() [2/3]

int TofEPID::part ( ) const
inline

Definition at line 28 of file InstallArea/x86_64-el9-gcc13-dbg/include/ParticleID/TofEPID.h.

28{ return m_part; }

◆ part() [3/3]

int TofEPID::part ( ) const
inline

Definition at line 28 of file InstallArea/x86_64-el9-gcc13-opt/include/ParticleID/TofEPID.h.

28{ return m_part; }

◆ particleIDCalculation() [1/3]

int TofEPID::particleIDCalculation ( )
protectedvirtual

Implements ParticleIDBase.

Definition at line 44 of file TofEPID.cxx.

44 {
45 int irc = -1;
46 EvtRecTrack* recTrk = PidTrk();
47 if ( !( recTrk->isMdcTrackValid() ) ) return irc;
48 if ( !( recTrk->isTofTrackValid() ) ) return irc;
49
50#ifndef BEAN
51 SmartRefVector<RecTofTrack> tofTrackCol = recTrk->tofTrack();
52 SmartRefVector<RecTofTrack>::iterator it;
53#else
54 const std::vector<TTofTrack*>& tofTrackCol = recTrk->tofTrack();
55 std::vector<TTofTrack*>::const_iterator it;
56#endif
57
58 bool isMRPC = false;
59 if ( tofTrackCol.size() != 1 && tofTrackCol.size() != 3 ) { return irc; }
60 else
61 {
62 TofHitStatus* hitst = new TofHitStatus;
63 if ( tofTrackCol.size() == 1 )
64 {
65 it = tofTrackCol.begin();
66 hitst->setStatus( ( *it )->status() );
67 bool isRaw = hitst->is_raw();
68 if ( isRaw ) { return irc; }
69 isMRPC = hitst->is_mrpc();
70 bool isReadout = hitst->is_readout();
71 bool isCounter = hitst->is_counter();
72 bool isCluster = hitst->is_cluster();
73 if ( !isReadout || !isCounter || !isCluster ) { return irc; }
74 }
75 else if ( tofTrackCol.size() == 3 )
76 {
77 unsigned int icounter = -1;
78 unsigned int inumber = 0;
79 for ( it = tofTrackCol.begin(); it != tofTrackCol.end(); it++, inumber++ )
80 {
81 hitst->setStatus( ( *it )->status() );
82 bool isRaw = hitst->is_raw();
83 if ( isRaw ) continue;
84 isMRPC = hitst->is_mrpc();
85 if ( !isMRPC ) { return irc; } // MRPC is possible to have 3 record.
86 bool isReadout = hitst->is_readout();
87 bool isCounter = hitst->is_counter();
88 bool isCluster = hitst->is_cluster();
89 if ( !isReadout && isCounter && isCluster ) { icounter = inumber; }
90 }
91 if ( icounter == -1 ) { return irc; }
92 it = tofTrackCol.begin() + icounter;
93 }
94 }
95
96 double tof = ( *it )->tof();
97 if ( tof <= 0 ) { return irc; }
98 double path = ( *it )->path();
99 m_rhit = ( *it )->zrhit();
100 double beta = path / velc() / tof;
101 double beta2 = beta * beta;
102 RecMdcTrack* mdcTrk = recTrk->mdcTrack();
103 double ptrk = mdcTrk->p();
104 m_mass2 = ptrk * ptrk * ( 1.0 / beta2 - 1.0 );
105
106 double chitemp = 99.;
107 double pdftemp = 0;
108 for ( unsigned int i = 0; i < 5; i++ )
109 {
110 double texp = ( *it )->texp( i );
111 m_offset[i] = tof - texp - ( *it )->toffset( i );
112 double sigma_tmp = ( *it )->sigma( 0 );
113 if ( !isMRPC )
114 {
115 if ( sigma_tmp > 0 )
116 {
117 if ( i < 2 ) { m_sigma[i] = sigma_tmp; }
118 else { m_sigma[i] = 1.2 * sigma_tmp; }
119 }
120 else { m_sigma[i] = 0.12; }
121 }
122 else
123 {
124 // m_sigma[i] = 0.065;
125 int strip = ( *it )->strip();
126 if ( strip < 0 || strip > 11 ) { m_sigma[i] = 0.065; }
127 else
128 {
129 double p0, p1;
130 if ( strip == 0 )
131 {
132 p0 = 0.16;
133 p1 = 0.0;
134 }
135 else if ( strip == 1 )
136 {
137 p0 = 0.051094;
138 p1 = 0.019467;
139 }
140 else if ( strip == 2 )
141 {
142 p0 = 0.056019;
143 p1 = 0.012964;
144 }
145 else if ( strip == 3 )
146 {
147 p0 = 0.043901;
148 p1 = 0.015933;
149 }
150 else if ( strip == 4 )
151 {
152 p0 = 0.049750;
153 p1 = 0.010473;
154 }
155 else if ( strip == 5 )
156 {
157 p0 = 0.048345;
158 p1 = 0.008545;
159 }
160 else if ( strip == 6 )
161 {
162 p0 = 0.046518;
163 p1 = 0.009038;
164 }
165 else if ( strip == 7 )
166 {
167 p0 = 0.048803;
168 p1 = 0.007251;
169 }
170 else if ( strip == 8 )
171 {
172 p0 = 0.047523;
173 p1 = 0.008434;
174 }
175 else if ( strip == 9 )
176 {
177 p0 = 0.042187;
178 p1 = 0.010307;
179 }
180 else if ( strip == 10 )
181 {
182 p0 = 0.050337;
183 p1 = 0.005951;
184 }
185 else if ( strip == 11 )
186 {
187 p0 = 0.054740;
188 p1 = 0.005629;
189 }
190 if ( ptrk < 0.05 ) { m_sigma[i] = p0 + p1 / 0.05; }
191 else { m_sigma[i] = p0 + p1 / ptrk; }
192 }
193 }
194 m_chi[i] = m_offset[i] / m_sigma[i];
195
196 if ( fabs( m_chi[i] ) < chitemp ) { chitemp = fabs( m_chi[i] ); }
197 double ppp = pdfCalculate( m_chi[i], 1 );
198 if ( fabs( ppp ) > pdftemp ) { pdftemp = fabs( ppp ); }
199 }
200 m_chimin = chitemp;
201 // if( pdftemp < pdfCalculate(pdfMinSigmaCut(),1) ) { return irc; }
202 // if( fabs(m_chimin) > chiMinCut() ) { return irc; }
203
204 for ( unsigned int i = 0; i < 5; i++ )
205 { m_prob[i] = probCalculate( m_chi[i] * m_chi[i], 1 ); }
206
207 irc = 0;
208 return irc;
209}
double p1[4]
SmartRefVector< RecTofTrack > tofTrack()
double probCalculate(double chi2, int n)
double pdfCalculate(double offset, double sigma)
void setStatus(unsigned int status)

Referenced by calculate().

◆ particleIDCalculation() [2/3]

int TofEPID::particleIDCalculation ( )
protectedvirtual

Implements ParticleIDBase.

◆ particleIDCalculation() [3/3]

int TofEPID::particleIDCalculation ( )
protectedvirtual

Implements ParticleIDBase.

◆ prob() [1/3]

double TofEPID::prob ( int n) const
inlinevirtual

Implements ParticleIDBase.

Definition at line 23 of file Analysis/ParticleID/include/ParticleID/TofEPID.h.

23{ return m_prob[n]; }

◆ prob() [2/3]

double TofEPID::prob ( int n) const
inlinevirtual

Implements ParticleIDBase.

Definition at line 23 of file InstallArea/x86_64-el9-gcc13-dbg/include/ParticleID/TofEPID.h.

23{ return m_prob[n]; }

◆ prob() [3/3]

double TofEPID::prob ( int n) const
inlinevirtual

Implements ParticleIDBase.

Definition at line 23 of file InstallArea/x86_64-el9-gcc13-opt/include/ParticleID/TofEPID.h.

23{ return m_prob[n]; }

◆ rhit() [1/3]

double TofEPID::rhit ( ) const
inline

Definition at line 29 of file Analysis/ParticleID/include/ParticleID/TofEPID.h.

29{ return m_rhit; }

◆ rhit() [2/3]

double TofEPID::rhit ( ) const
inline

Definition at line 29 of file InstallArea/x86_64-el9-gcc13-dbg/include/ParticleID/TofEPID.h.

29{ return m_rhit; }

◆ rhit() [3/3]

double TofEPID::rhit ( ) const
inline

Definition at line 29 of file InstallArea/x86_64-el9-gcc13-opt/include/ParticleID/TofEPID.h.

29{ return m_rhit; }

◆ sigma() [1/3]

double TofEPID::sigma ( int n) const
inline

Definition at line 24 of file Analysis/ParticleID/include/ParticleID/TofEPID.h.

24{ return m_sigma[n]; }

Referenced by sigmaTofE().

◆ sigma() [2/3]

double TofEPID::sigma ( int n) const
inline

Definition at line 24 of file InstallArea/x86_64-el9-gcc13-dbg/include/ParticleID/TofEPID.h.

24{ return m_sigma[n]; }

◆ sigma() [3/3]

double TofEPID::sigma ( int n) const
inline

Definition at line 24 of file InstallArea/x86_64-el9-gcc13-opt/include/ParticleID/TofEPID.h.

24{ return m_sigma[n]; }

◆ sigmaTofE() [1/3]

double TofEPID::sigmaTofE ( int n,
int cntr,
double ptrk,
double rtof,
double ph,
double charge )
protected

Definition at line 271 of file TofEPID.cxx.

272 {
273
274 double sigma=0.100;
275 // double gb = ptrk/xmass(n);
276 switch ( n )
277 {
278
279 case 0: { // Electron
280 double ptemp = ptrk;
281 if ( ptrk < 0.2 ) ptemp = 0.2;
282 if ( ptrk > 2.1 ) ptemp = 2.1;
283 double plog = log( ptemp );
284 sigma = 0.001 * ( 109.974 + 15.2457 * plog + 36.8139 * plog * plog );
285
286 break;
287 }
288
289 case 1: { // Muon
290 double ptemp = ptrk;
291 if ( ptrk < 0.2 ) ptemp = 0.2;
292 if ( ptrk > 2.1 ) ptemp = 2.1;
293 double plog = log( ptemp );
294 sigma = 0.001 * ( 96.5077 - 2.96232 * plog + 3.12910 * plog * plog );
295 break;
296 }
297
298 case 2: { // pion
299 double ptemp = ptrk;
300 if ( ptrk < 0.2 ) ptemp = 0.2;
301 if ( ptrk > 2.1 ) ptemp = 2.1;
302 double plog = log( ptemp );
303 sigma = 0.001 * ( 105.447 - 2.08044 * plog + 3.44846 * plog * plog );
304 break;
305 }
306
307 case 3: { // Kaon
308 double ptemp = ptrk;
309 if ( ptrk < 0.3 ) ptemp = 0.3;
310 if ( ptrk > 2.1 ) ptemp = 2.1;
311 double plog = log( ptemp );
312 sigma = 0.001 * ( 88.8806 - 26.8464 * plog + 113.672 * plog * plog );
313 break;
314 }
315 case 4: { // Proton
316 double ptemp = ptrk;
317 if ( ptrk < 0.5 ) ptemp = 0.5;
318 if ( ptrk > 2.1 ) ptemp = 2.1;
319 double plog = log( ptemp );
320 if ( charge > 0 ) sigma = 0.001 * ( 96.3534 - 44.1139 * plog + 53.9805 * plog * plog );
321 if ( charge < 0 ) sigma = 0.001 * ( 157.345 - 98.7357 * plog + 55.1145 * plog * plog );
322 break;
323 }
324
325 default: sigma = 0.100; break;
326 }
327 // sigma =1;
328 return sigma;
329}

◆ sigmaTofE() [2/3]

double TofEPID::sigmaTofE ( int n,
int cntr,
double ptrk,
double rtof,
double ph,
double charge )
protected

◆ sigmaTofE() [3/3]

double TofEPID::sigmaTofE ( int n,
int cntr,
double ptrk,
double rtof,
double ph,
double charge )
protected

The documentation for this class was generated from the following files: