6 mRICH::mRICH(
double trackResolution,
double timePrecision,
double pix,
double p)
12 fTrackResolution = trackResolution;
13 fTimePrecision = timePrecision;
24 mProton = 0.93827208816;
26 alpha = 0.0072973525693;
33 double dth = getAng(mPion) - getAng(mKaon);
35 double sigTh = sqrt(pow(getdAng(mPion),2)+pow(getdAng(mKaon),2));
37 double sigThTrk = sqrt(pow(getdAngTrk(mPion),2)+pow(getdAngTrk(mKaon),2));
38 double sigThc = sqrt(pow(sigTh/sqrt(getNgamma(
L,mKaon)),2)+pow(sigThTrk,2));
43 ReadMap(
"mRICHresol.root");
44 Nsigma = fpixMap->GetBinContent(p,pix);
50 sprintf(nameit,
"mRICH Pixel Size =%dx%d (mm^{2}) / p =%.f (GeV/c)",pix,pix,p);
64 cout <<
"mRICH.C: Invalid (eta) for this detector." <<endl;
73 double beta =
mom/sqrt(pow(
mom,2)+pow(mass,2));
74 double thc = acos(1./
n/beta);
75 double th0p = asin(sin(th0)/
n);
76 double dthc = thc - th0p;
77 double theta = asin(
n*sin(dthc));
86 double beta =
mom/sqrt(pow(
mom,2)+pow(mass,2));
87 double thc = acos(1./
n/beta);
88 double th0p = asin(sin(th0)/
n);
89 double dthc = thc - th0p;
90 double theta = asin(
n*sin(dthc));
94 double sig_pix =
a*pow(cos(theta),2)/
f/sqrt(12.);;
96 double sigTh = sqrt(pow(sig_ep,2)+pow(sig_chro,2)+pow(sig_pix,2));
102 double mRICH::getdAngTrk(
double mass)
105 double beta =
mom/sqrt(pow(
mom,2)+pow(mass,2));
106 double thc = acos(1./
n/beta);
107 double th0p = asin(sin(th0)/
n);
108 double dthc = thc - th0p;
109 double theta = asin(
n*sin(dthc));
111 double sig_trk = (cos(dthc)/cos(theta))*(cos(th0)/cos(th0p))*fTrackResolution;;
120 double beta =
mom/sqrt(pow(
mom,2)+pow(mass,2));
121 double fact = 2.*
pi*
alpha*t*(1.-1./pow(
n*beta,2));
122 double T_lensWin = 0.92*0.92;
123 double xmin = 300.e-7;
124 double xmax = 650.e-7;
125 double dx = (xmax-
xmin)/tot;
127 for(
int j=0; j<tot; j++){
128 double x = xmin + j*dx + dx/2.;
129 sum += T_QE(x)*T_Aer(t,x)/pow(x,2);
131 return fact*T_lensWin*sum*
dx;
137 return 0.34*exp(-1.*pow(lam-345.
e-7,2)/(2.*pow(119.
e-7,2)));
143 return 0.83*exp(-1.*t*56.29
e-20/pow(lam,4));
149 TFile*
file = TFile::Open(name);
150 fpixMap = (TH2F *) file->Get(
"h2pix");
159 cout <<
"My name is \"" << myName <<
"\" and I am described as follows:" <<endl;
160 cout <<
" Momentum coverage for k/pi separation= [" << 3.0 <<
" to " << 10.0 <<
" (GeV/c) ]"<<endl;
161 cout <<
" Since mRICH detector system consists of array of identical shoebox-like modules, in principle, " << endl;
162 cout <<
" the mRICH pid performance is invariant relative to the tracking polar angle but the momentum of the " << endl;
163 cout <<
" charge particle and the entrance point location on the front face of a given mRICH module." << endl;
164 cout <<
" Assumed time precision = " << fTimePrecision <<
" ns" <<endl;
165 cout <<
" Assumed track resolution = "<< fTrackResolution <<
" mrad" <<endl;