#include <fstream>
#include <iomanip>
#include <string.h>
#include <math.h>
#include <iostream>
#include <TMath.h>
Include dependency graph for pmt_full_model.h:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Functions | |
Double_t | Poisson (Int_t n, Double_t mu) |
Double_t | Ser_n (Int_t n, Double_t Q0, Double_t Delta0, Double_t Q1, Double_t Delta1, Double_t *x) |
Double_t | Noise_n (Int_t n, Double_t Q0, Double_t Delta0, Double_t Q1, Double_t Delta1, Double_t A, Double_t *x) |
Double_t | SER_n (Int_t n, Double_t *x, Double_t *par) |
Variables | |
Int_t | NON_ZERO_MAX_NUM |
Double_t | EVENT_TOTLE_NUM = 0 |
Double_t | Pi2 = TMath::Sqrt(2*TMath::Pi()) |
Double_t | N |
Double_t | xlow |
Double_t | xhigh |
long | NNN |
Double_t Poisson | ( | Int_t | n, | |
Double_t | mu | |||
) |
Double_t Ser_n | ( | Int_t | n, | |
Double_t | Q0, | |||
Double_t | Delta0, | |||
Double_t | Q1, | |||
Double_t | Delta1, | |||
Double_t * | x | |||
) |
Definition at line 63 of file pmt_full_model.h.
00064 { 00065 Double_t RESULT=1; 00066 if(n==0&&Delta0!=0) 00067 { 00068 RESULT=TMath::Exp(-0.5*(x[0]-Q0)*(x[0]-Q0)/TMath::Power(Delta0,2))/(Pi2*Delta0); 00069 } 00070 else if(Delta1!=0) 00071 RESULT=TMath::Exp(-0.5*(x[0]-Q0-n*Q1)*(x[0]-Q0-n*Q1)/(n*TMath::Power(Delta1,2)+TMath::Power(Delta0,2)))/(Pi2*TMath::Sqrt(n*TMath::Power(Delta1,2)+TMath::Power(Delta0,2))); 00072 else 00073 return 0; 00074 return RESULT; 00075 }
Double_t Noise_n | ( | Int_t | n, | |
Double_t | Q0, | |||
Double_t | Delta0, | |||
Double_t | Q1, | |||
Double_t | Delta1, | |||
Double_t | A, | |||
Double_t * | x | |||
) |
Definition at line 82 of file pmt_full_model.h.
00083 { 00084 Double_t Qn=Q0+n*Q1; 00085 Double_t Deltan=TMath::Sqrt(TMath::Power(Delta0,2)+n*TMath::Power(Delta1,2)); 00086 Double_t temp1=x[0]-Qn-0.5*A*TMath::Power(Deltan,2); 00087 Double_t temp2=Q0-Qn-A*TMath::Power(Deltan,2); 00088 Double_t temp3=TMath::Sqrt(2.)*Deltan; 00089 Double_t RESULT=0; 00090 Double_t t1=TMath::Abs(temp1)/temp3; 00091 Double_t t2=TMath::Abs(temp2)/temp3; 00092 00093 Double_t sign1=-1; 00094 if(temp1>=0) sign1=1; 00095 00096 if(x[0]>=Q0) 00097 RESULT=0.5*A*TMath::Exp(-1*A*temp1)*(TMath::Erf(t2)+sign1*TMath::Erf(t1)); 00098 00099 return RESULT; 00100 }
Double_t SER_n | ( | Int_t | n, | |
Double_t * | x, | |||
Double_t * | par | |||
) |
Definition at line 107 of file pmt_full_model.h.
00108 { 00109 Double_t RESULT; 00110 Double_t mu=par[0]; 00111 Double_t Q0=par[1]; 00112 Double_t Delta0=par[2]; 00113 Double_t Q1=par[3]; 00114 Double_t Delta1=par[4]; 00115 Double_t w=par[5]; 00116 Double_t A=par[6]; 00117 00118 RESULT=Poisson(n,mu)*((1-w)*Ser_n(n,Q0,Delta0,Q1,Delta1,x)+w*Noise_n(n,Q0,Delta0,Q1,Delta1,A,x)); 00119 return RESULT; 00120 }
Int_t NON_ZERO_MAX_NUM |
Definition at line 31 of file pmt_full_model.h.
Double_t EVENT_TOTLE_NUM = 0 |
Definition at line 32 of file pmt_full_model.h.
Double_t Pi2 = TMath::Sqrt(2*TMath::Pi()) |
Definition at line 33 of file pmt_full_model.h.
Double_t N |
Definition at line 34 of file pmt_full_model.h.
Double_t xlow |
Definition at line 36 of file pmt_full_model.h.
Double_t xhigh |
Definition at line 37 of file pmt_full_model.h.
long NNN |
Definition at line 39 of file pmt_full_model.h.