]>
Commit | Line | Data |
---|---|---|
23efe5f1 | 1 | #include "AliITSPid.h" |
2 | #include "TMath.h" | |
79b921e1 | 3 | #include "AliITSIOTrack.h" |
4ae5bbc4 | 4 | #include <Riostream.h> |
23efe5f1 | 5 | ClassImp(AliITSPid) |
6 | ||
23efe5f1 | 7 | Float_t AliITSPid::qcorr(Float_t xc) |
8 | { | |
9 | assert(0); | |
10 | Float_t fcorr; | |
11 | fcorr=( 0.766 +0.9692*xc -1.267*xc*xc )*( 1.-TMath::Exp(-xc*64.75) ); | |
12 | if(fcorr<=0.1)fcorr=0.1; | |
13 | return qtot/fcorr; | |
14 | } | |
38f7c306 | 15 | |
23efe5f1 | 16 | Float_t AliITSPid::qtrm(Int_t track) |
17 | { | |
18 | TVector q(*( this->GetVec(track) )); | |
38f7c306 | 19 | Int_t ml=(Int_t)q(0); |
20 | if(ml<1)return 0.; | |
21 | if(ml>6)ml=6; | |
22 | float vf[6]; | |
23 | Int_t nl=0; for(Int_t i=0;i<ml;i++){if(q(i)>fSigmin){vf[nl]=q(i+1);nl++;}} | |
24 | if(nl==0)return 0.; | |
23efe5f1 | 25 | switch(nl){ |
26 | case 1:q(6)=q(1); break; | |
27 | case 2:q(6)=(q(1)+q(2))/2.; break; | |
28 | default: | |
38f7c306 | 29 | for(int fi=0;fi<2;fi++){ |
30 | Int_t swap; | |
31 | do{ swap=0; float qmin=vf[fi]; | |
32 | for(int j=fi+1;j<nl;j++) | |
33 | if(qmin>vf[j]){qmin=vf[j];vf[j]=vf[fi];vf[fi]=qmin;swap=1;}; | |
34 | }while(swap==1); | |
35 | } | |
23efe5f1 | 36 | q(6)= (vf[0]+vf[1])/2.; |
37 | break; | |
38 | } | |
39 | for(Int_t i=0;i<nl;i++){q(i+1)=vf[i];} this->SetVec(track,q); | |
40 | return (q(6)); | |
41 | } | |
38f7c306 | 42 | |
79b921e1 | 43 | Float_t AliITSPid::qtrm(Float_t qarr[6],Int_t narr) |
44 | { | |
38f7c306 | 45 | Float_t q[6],qm,qmin; |
79b921e1 | 46 | Int_t nl,ml; |
38f7c306 | 47 | if(narr>0&&narr<7){ml=narr;}else{return 0;}; |
48 | nl=0; for(Int_t i=0;i<ml;i++){if(qarr[i]>fSigmin){q[nl]=qarr[i];nl++;}} | |
79b921e1 | 49 | if(nl==0)return 0.; |
79b921e1 | 50 | switch(nl){ |
51 | case 1:qm=q[0]; break; | |
52 | case 2:qm=(q[0]+q[1])/2.; break; | |
53 | default: | |
38f7c306 | 54 | Int_t swap; |
55 | for(int fi=0;fi<2;fi++){ | |
56 | do{ swap=0; qmin=q[fi]; | |
57 | for(int j=fi+1;j<nl;j++) | |
58 | if(qmin>q[j]){qmin=q[j];q[j]=q[fi];q[fi]=qmin;swap=1;}; | |
59 | }while(swap==1); | |
60 | } | |
61 | qm= (q[0]+q[1])/2.; | |
79b921e1 | 62 | break; |
63 | } | |
64 | return qm; | |
65 | } | |
23efe5f1 | 66 | //----------------------------------------------------------- |
79b921e1 | 67 | //inline |
23efe5f1 | 68 | Int_t AliITSPid::wpik(Int_t nc,Float_t q) |
69 | { | |
38f7c306 | 70 | // return pion(); |
23efe5f1 | 71 | |
72 | Float_t qmpi,qmk,sigpi,sigk,dpi,dk,ppi,pk; | |
38f7c306 | 73 | Float_t appi,apk; |
23efe5f1 | 74 | qmpi =cut[nc][1]; |
75 | sigpi=cut[nc][2]; | |
76 | qmk =cut[nc][3]; | |
77 | sigk =cut[nc][4]; | |
38f7c306 | 78 | appi = aprob[0][nc-5]; |
79 | apk = aprob[1][nc-5]; | |
def162f4 | 80 | // cout<<"qmpi,sigpi,qmk,sigk="<<qmpi<<" "<<sigpi<<" "<<qmk<<" "<<sigk<<endl; |
81 | // cout<<"appi,apk="<<appi<<","<<apk<<endl; | |
23efe5f1 | 82 | Float_t dqpi=(q-qmpi)/sigpi; |
83 | Float_t dqk =(q-qmk )/sigk; | |
84 | if( dqk<-1. )return pion(); | |
6311f063 | 85 | dpi =TMath::Abs(dqpi); |
86 | dk =TMath::Abs(dqk); | |
38f7c306 | 87 | //ppi =1.- TMath::Erf(dpi); // +0.5; |
88 | //pk =1.- TMath::Erf(dk); // +0.5; | |
89 | ppi=appi*TMath::Gaus(q,qmpi,sigpi) | |
90 | /(appi*TMath::Gaus(q,qmpi,sigpi)+apk*TMath::Gaus(q,qmk,sigk)); | |
91 | pk = apk*TMath::Gaus(q,qmk, sigk ) | |
92 | /(appi*TMath::Gaus(q,qmpi,sigpi)+apk*TMath::Gaus(q,qmk,sigk)); | |
93 | ||
def162f4 | 94 | // Float_t rpik=ppi/(pk+0.0000001); |
95 | // cout<<"q,dqpi,dqk, wpik: ppi,pk,rpik=" | |
96 | // <<q<<" "<<dqpi<<" "<<dqk<<" "<<ppi<<" "<<pk<<" "<<rpik<<endl; | |
38f7c306 | 97 | |
98 | fWp=0.; fWpi=ppi; fWk=pk; | |
99 | if( pk>ppi){return kaon();}else{return pion();} | |
23efe5f1 | 100 | } |
101 | //----------------------------------------------------------- | |
79b921e1 | 102 | //inline |
23efe5f1 | 103 | Int_t AliITSPid::wpikp(Int_t nc,Float_t q) |
104 | { | |
38f7c306 | 105 | Float_t qmpi,qmk,qmp,sigpi,sigk,sigp,ppi,pk,pp; |
106 | Float_t appi,apk,app; | |
23efe5f1 | 107 | |
108 | qmpi =cut[nc][1]; | |
109 | sigpi=cut[nc][2]; | |
110 | qmk =cut[nc][3]; | |
111 | sigk =cut[nc][4]; | |
112 | qmp =cut[nc][5]; | |
113 | sigp =cut[nc][6]; | |
114 | ||
38f7c306 | 115 | //appi = apk = app = 1.; |
116 | appi = aprob[0][nc-5]; | |
117 | apk = aprob[1][nc-5]; | |
118 | app = aprob[2][nc-5]; | |
23efe5f1 | 119 | |
38f7c306 | 120 | //ppi =TMath::Erf( TMath::Abs((q-qmpi)/sigpi) )+0.5; |
121 | //pka =TMath::Erf( TMath::Abs((q-qmk )/sigk) )+0.5; | |
122 | //ppr =TMath::Erf( TMath::Abs((q-qmp )/sigp) )+0.5; | |
123 | ||
124 | ppi=appi*TMath::Gaus(q,qmpi,sigpi) | |
125 | /( appi*TMath::Gaus(q,qmpi,sigpi)+apk*TMath::Gaus(q,qmk,sigk)+app*TMath::Gaus(q,qmp,sigp) ); | |
126 | pk = apk*TMath::Gaus(q,qmk, sigk ) | |
127 | /( appi*TMath::Gaus(q,qmpi,sigpi)+apk*TMath::Gaus(q,qmk,sigk)+app*TMath::Gaus(q,qmp,sigp) ); | |
128 | pp = app*TMath::Gaus(q,qmp, sigp ) | |
129 | /( appi*TMath::Gaus(q,qmpi,sigpi)+apk*TMath::Gaus(q,qmk,sigk)+app*TMath::Gaus(q,qmp,sigp) ); | |
130 | ||
131 | fWp=pp; fWpi=ppi; fWk=pk; | |
132 | ||
def162f4 | 133 | //cout<<" wpikp: mid,sig pi,k,p="<<qmpi<<" "<<sigpi<<"; "<<qmk<<" "<<sigk<<"; " |
134 | // <<qmp<<" "<<sigp<<"; "<<endl; | |
135 | // cout<<" aprob: "<<appi<<" "<<apk<<" "<<app<<endl; | |
136 | //cout<<" ppi,pk,pp="<<ppi<<" "<<pk<<" "<<pp<<endl; | |
38f7c306 | 137 | |
138 | if( ppi>pk&&ppi>pp ) { return pion(); } | |
139 | if(pk>pp){return kaon();}else{return proton();} | |
23efe5f1 | 140 | } |
141 | //----------------------------------------------------------- | |
142 | Int_t AliITSPid::GetPcode(TClonesArray* rps,Float_t pm) | |
143 | { | |
144 | return 0; | |
145 | } | |
146 | //----------------------------------------------------------- | |
79b921e1 | 147 | Int_t AliITSPid::GetPcode(AliTPCtrack *track) |
148 | { | |
149 | Double_t xk,par[5]; track->GetExternalParameters(xk,par); | |
150 | Float_t phi=TMath::ASin(par[2]) + track->GetAlpha(); | |
151 | if (phi<-TMath::Pi()) phi+=2*TMath::Pi(); | |
152 | if (phi>=TMath::Pi()) phi-=2*TMath::Pi(); | |
153 | Float_t lam=TMath::ATan(par[3]); | |
154 | Float_t pt_1=TMath::Abs(par[4]); | |
155 | Float_t mom=1./(pt_1*TMath::Cos(lam)); | |
156 | Float_t dedx=track->GetdEdx(); | |
157 | Int_t pcode=GetPcode(dedx/40.,mom); | |
def162f4 | 158 | // cout<<"TPCtrack dedx,mom,pcode="<<dedx<<","<<mom<<","<<pcode<<endl; |
79b921e1 | 159 | return pcode?pcode:211; |
160 | } | |
161 | //------------------------------------------------------------ | |
79b921e1 | 162 | Int_t AliITSPid::GetPcode(AliITSIOTrack *track) |
163 | { | |
164 | Double_t px,py,pz; | |
165 | px=track->GetPx(); | |
166 | py=track->GetPy(); | |
167 | pz=track->GetPz(); | |
168 | Float_t mom=TMath::Sqrt(px*px+py*py+pz*pz); | |
169 | //??????????????????? | |
def162f4 | 170 | // Float_t dedx=1.0; |
171 | Float_t dedx=track->GetdEdx(); | |
79b921e1 | 172 | //??????????????????? |
173 | Int_t pcode=GetPcode(dedx,mom); | |
def162f4 | 174 | // cout<<"ITSV1 dedx,mom,pcode="<<dedx<<","<<mom<<","<<pcode<<endl; |
79b921e1 | 175 | return pcode?pcode:211; |
176 | } | |
79b921e1 | 177 | //----------------------------------------------------------- |
178 | Int_t AliITSPid::GetPcode(AliITStrackV2 *track) | |
179 | { | |
180 | if(track==0)return 0; | |
38f7c306 | 181 | // track->Propagate(track->GetAlpha(),3.,0.1/65.19*1.848,0.1*1.848); |
79b921e1 | 182 | track->PropagateTo(3.,0.0028,65.19); |
79b921e1 | 183 | track->PropagateToVertex(); |
184 | Double_t xk,par[5]; track->GetExternalParameters(xk,par); | |
185 | Float_t lam=TMath::ATan(par[3]); | |
186 | Float_t pt_1=TMath::Abs(par[4]); | |
187 | Float_t mom=0.; | |
188 | if( (pt_1*TMath::Cos(lam))!=0. ){ mom=1./(pt_1*TMath::Cos(lam)); }else{mom=0.;}; | |
189 | Float_t dedx=track->GetdEdx(); | |
def162f4 | 190 | // cout<<"lam,pt_1,mom,dedx="<<lam<<","<<pt_1<<","<<mom<<","<<dedx<<endl; |
79b921e1 | 191 | Int_t pcode=GetPcode(dedx,mom); |
def162f4 | 192 | // cout<<"ITS V2 dedx,mom,pcode="<<dedx<<","<<mom<<","<<pcode<<endl; |
79b921e1 | 193 | return pcode?pcode:211; |
194 | } | |
195 | //----------------------------------------------------------- | |
23efe5f1 | 196 | Int_t AliITSPid::GetPcode(Float_t q,Float_t pm) |
197 | { | |
38f7c306 | 198 | fWpi=fWk=fWp=0.; fPcode=0; |
199 | //1)---------------------- 0-120 MeV/c -------------- | |
23efe5f1 | 200 | if ( pm<=cut[1][0] ) |
201 | { return pion(); } | |
38f7c306 | 202 | //2)----------------------120-200 Mev/c ------------- |
23efe5f1 | 203 | if ( pm<=cut[2][0] ) |
204 | { if( q<cut[2][2] ){ return pion(); } else { return kaon();} } | |
38f7c306 | 205 | //3)----------------------200-300 Mev/c ------------- |
23efe5f1 | 206 | if ( pm<=cut[3][0] ) |
207 | if( q<cut[3][2]) | |
208 | { return pion(); } | |
209 | else | |
210 | { if ( q<=cut[3][5] ) {return kaon();} else {return proton();}} | |
38f7c306 | 211 | //4)----------------------300-410 Mev/c ------------- |
23efe5f1 | 212 | if ( pm<=cut[4][0] ) |
213 | if( q<cut[4][2] ) | |
214 | { return pion(); } | |
215 | else | |
216 | { if( q<=cut[4][4] ) {return kaon();} else {return proton(); }} | |
38f7c306 | 217 | //5)----------------------410-470 Mev/c ------------- |
23efe5f1 | 218 | if ( pm<=cut[5][0] ) |
219 | if ( q>cut[5][5] ) {return proton();} else {return wpik(5,q);}; | |
38f7c306 | 220 | //6)----------------------470-530 Mev/c ------------- |
23efe5f1 | 221 | if ( pm<=cut[6][0] ) |
222 | if ( q>cut[6][5] ) {return proton();} else {return wpik(6,q);}; | |
38f7c306 | 223 | //7)----------------------530-590 Mev/c ------------- |
23efe5f1 | 224 | if ( pm<=cut[7][0] ) |
38f7c306 | 225 | if ( q<=cut[7][5] ) {return wpik(7,q);} else {return proton();}; |
226 | //8)----------------------590-650 Mev/c ------------- | |
23efe5f1 | 227 | if ( pm<=cut[8][0] ) |
38f7c306 | 228 | if ( q<=cut[8][5] ) {return wpik(8,q);} else {return proton();}; |
229 | //9)----------------------650-730 Mev/c ------------- | |
23efe5f1 | 230 | if ( pm<=cut[9][0] ) |
38f7c306 | 231 | if ( q<=cut[9][5] ) {return wpik(9,q);} else {return proton();}; |
232 | //10)----------------------730-830 Mev/c ------------- | |
23efe5f1 | 233 | if( pm<=cut[10][0] ){ return wpikp(10,q); } |
38f7c306 | 234 | //11)----------------------830-930 Mev/c ------------- |
23efe5f1 | 235 | if( pm<=cut[11][0] ){ return wpikp(11,q); } |
38f7c306 | 236 | //12)----------------------930-1030 Mev/c ------------- |
23efe5f1 | 237 | if( pm<=cut[12][0] ){ return wpikp(12,q); } |
238 | ||
239 | return fPcode; | |
240 | } | |
241 | //----------------------------------------------------------- | |
242 | void AliITSPid::SetCut(Int_t n,Float_t pm,Float_t pilo,Float_t pihi, | |
243 | Float_t klo,Float_t khi,Float_t plo,Float_t phi) | |
244 | { | |
245 | cut[n][0]=pm; | |
246 | cut[n][1]=pilo; | |
247 | cut[n][2]=pihi; | |
248 | cut[n][3]=klo; | |
249 | cut[n][4]=khi; | |
250 | cut[n][5]=plo; | |
251 | cut[n][6]=phi; | |
252 | return ; | |
253 | } | |
38f7c306 | 254 | //------------------------------------------------------------ |
23efe5f1 | 255 | void AliITSPid::SetVec(Int_t ntrack,TVector info) |
256 | { | |
257 | TClonesArray& arr=*trs; | |
258 | new( arr[ntrack] ) TVector(info); | |
259 | } | |
260 | //----------------------------------------------------------- | |
261 | TVector* AliITSPid::GetVec(Int_t ntrack) | |
262 | { | |
263 | TClonesArray& arr=*trs; | |
264 | return (TVector*)arr[ntrack]; | |
265 | } | |
266 | //----------------------------------------------------------- | |
267 | void AliITSPid::SetEdep(Int_t track,Float_t Edep) | |
268 | { | |
269 | TVector xx(0,11); | |
270 | if( ((TVector*)trs->At(track))->IsValid() ) | |
271 | {TVector yy( *((TVector*)trs->At(track)) );xx=yy; } | |
272 | Int_t j=(Int_t)xx(0); if(j>4)return; | |
273 | xx(++j)=Edep;xx(0)=j; | |
274 | TClonesArray &arr=*trs; | |
275 | new(arr[track])TVector(xx); | |
276 | } | |
277 | //----------------------------------------------------------- | |
278 | void AliITSPid::SetPmom(Int_t track,Float_t Pmom) | |
279 | { | |
280 | TVector xx(0,11); | |
281 | if( ((TVector*)trs->At(track))->IsValid() ) | |
282 | {TVector yy( *((TVector*)trs->At(track)) );xx=yy; } | |
283 | xx(10)=Pmom; | |
284 | TClonesArray &arr=*trs; | |
285 | new(arr[track])TVector(xx); | |
286 | } | |
287 | //----------------------------------------------------------- | |
288 | void AliITSPid::SetPcod(Int_t track,Int_t partcode) | |
289 | { | |
290 | TVector xx(0,11); | |
291 | if( ((TVector*)trs->At(track))->IsValid() ) | |
292 | {TVector yy( *((TVector*)trs->At(track)) );xx=yy; } | |
293 | if(xx(11)==0) | |
294 | {xx(11)=partcode; mxtrs++; | |
295 | TClonesArray &arr=*trs; | |
296 | new(arr[track])TVector(xx); | |
297 | } | |
298 | } | |
299 | //----------------------------------------------------------- | |
300 | void AliITSPid::Print(Int_t track) | |
301 | {cout<<mxtrs<<" tracks in AliITSPid obj."<<endl; | |
302 | if( ((TVector*)trs->At(track))->IsValid() ) | |
303 | {TVector xx( *((TVector*)trs->At(track)) ); | |
304 | xx.Print(); | |
305 | } | |
306 | else | |
307 | {cout<<"No data for track "<<track<<endl;return;} | |
308 | } | |
309 | //----------------------------------------------------------- | |
310 | void AliITSPid::Tab(void) | |
311 | { | |
312 | if(trs->GetEntries()==0){cout<<"No entries in TAB"<<endl;return;} | |
313 | cout<<"------------------------------------------------------------------------"<<endl; | |
314 | cout<<"Nq"<<" q1 "<<" q2 "<<" q3 "<<" q4 "<<" q5 "<< | |
315 | " Qtrm " <<" Wpi "<<" Wk "<<" Wp "<<"Pmom "<<endl; | |
316 | cout<<"------------------------------------------------------------------------"<<endl; | |
317 | for(Int_t i=0;i<trs->GetEntries();i++) | |
318 | { | |
319 | TVector xx( *((TVector*)trs->At(i)) ); | |
320 | if( xx.IsValid() && xx(0)>0 ) | |
321 | { | |
322 | TVector xx( *((TVector*)trs->At(i)) ); | |
323 | if(xx(0)>=2) | |
324 | { | |
325 | // 1)Calculate Qtrm | |
326 | xx(6)=(this->qtrm(i)); | |
327 | ||
328 | }else{ | |
329 | xx(6)=xx(1); | |
330 | } | |
331 | // 2)Calculate Wpi,Wk,Wp | |
332 | this->GetPcode(xx(6),xx(10)/1000.); | |
333 | xx(7)=GetWpi(); | |
334 | xx(8)=GetWk(); | |
335 | xx(9)=GetWp(); | |
336 | // 3)Print table | |
337 | if(xx(0)>0){ | |
def162f4 | 338 | // cout<<xx(0)<<" "; |
23efe5f1 | 339 | for(Int_t j=1;j<11;j++){ |
38f7c306 | 340 | if(i<7){ cout.width(7);cout.precision(4);cout<<xx(j);} |
341 | if(i>7){ cout.width(7);cout.precision(5);cout<<xx(j);} | |
23efe5f1 | 342 | } |
343 | cout<<endl; | |
344 | } | |
345 | // 4)Update data in TVector | |
346 | TClonesArray &arr=*trs; | |
347 | new(arr[i])TVector(xx); | |
348 | } | |
349 | else | |
350 | {/*cout<<"No data for track "<<i<<endl;*/} | |
351 | }// End loop for tracks | |
352 | } | |
353 | void AliITSPid::Reset(void) | |
354 | { | |
355 | for(Int_t i=0;i<trs->GetEntries();i++){ | |
356 | TVector xx(0,11); | |
357 | TClonesArray &arr=*trs; | |
358 | new(arr[i])TVector(xx); | |
359 | } | |
360 | } | |
361 | //----------------------------------------------------------- | |
362 | AliITSPid::AliITSPid(Int_t ntrack) | |
363 | { | |
38f7c306 | 364 | fSigmin=0.01; |
23efe5f1 | 365 | trs = new TClonesArray("TVector",ntrack); |
366 | TClonesArray &arr=*trs; | |
367 | for(Int_t i=0;i<ntrack;i++)new(arr[i])TVector(0,11); | |
368 | mxtrs=0; | |
369 | const int inf=10; | |
370 | // Ncut Pmom pilo pihi klo khi plo phi | |
371 | // cut[j] [0] [1] [2] [3] [4] [5] [6] | |
372 | //---------------------------------------------------------------- | |
373 | SetCut( 1, 0.12 , 0. , 0. , inf , inf , inf , inf ); | |
374 | SetCut( 2, 0.20 , 0. , 6.0 , 6.0 , inf , inf , inf ); | |
375 | SetCut( 3, 0.30 , 0. , 3.5 , 3.5 , 9.0 , 9.0 , inf ); | |
376 | SetCut( 4, 0.41 , 0. , 1.9 , 1.9 , 4.0 , 4.0 , inf ); | |
377 | //---------------------------------------------------------------- | |
38f7c306 | 378 | SetCut( 5, 0.47 , 0.935, 0.139, 1.738 , 0.498 , 3.5 , inf ); //410-470 |
379 | SetCut( 6, 0.53 , 0.914, 0.136, 1.493 , 0.436 , 3.0 , inf ); //470-530 | |
23efe5f1 | 380 | //---------------------------------------------------------------- |
38f7c306 | 381 | SetCut( 7, 0.59 , 0.895, 0.131, 1.384 , 0.290 , 2.7 , inf ); //530-590 |
382 | SetCut( 8, 0.65 , 0.887, 0.121, 1.167 , 0.287 , 2.5 , inf ); //590-650 | |
383 | SetCut( 9, 0.73 , 0.879, 0.120, 1.153 , 0.257 , 2.0 , inf ); //650-730 | |
23efe5f1 | 384 | //---------------------------------------------------------------- |
38f7c306 | 385 | SetCut( 10, 0.83 , 0.880, 0.126, 1.164 , 0.204 , 2.308 , 0.297 ); //730-830 |
386 | SetCut( 11, 0.93 , 0.918, 0.145, 1.164 , 0.204 , 2.00 , 0.168 ); //830-930 | |
387 | SetCut( 12, 1.03 , 0.899, 0.128, 1.164 , 0.204 ,1.80 , 0.168); | |
388 | //------------------------ pi,K --------------------- | |
389 | aprob[0][0]=1212; aprob[1][0]=33.; // aprob[0][i] - const for pions,cut[i+5] | |
390 | aprob[0][1]=1022; aprob[1][1]=46.2 ; // aprob[1][i] - kaons | |
391 | //--------------------------------------------------- | |
392 | aprob[0][2]= 889.7; aprob[1][2]=66.58; aprob[2][2]=14.53; | |
393 | aprob[0][3]= 686.; aprob[1][3]=88.8; aprob[2][3]=19.27; | |
394 | aprob[0][4]= 697.; aprob[1][4]=125.6; aprob[2][4]=28.67; | |
395 | //------------------------ pi,K,p ------------------- | |
396 | aprob[0][5]= 633.7; aprob[1][5]=100.1; aprob[2][5]=37.99; // aprob[2][i] - protons | |
397 | aprob[0][6]= 469.5; aprob[1][6]=20.74; aprob[2][6]=25.43; | |
398 | aprob[0][7]= 355.; aprob[1][7]= | |
399 | 355.*(20.74/469.5); aprob[2][7]=34.08; | |
23efe5f1 | 400 | } |
401 | //----------------------------------------------------------- | |
402 |