X-Git-Url: http://git.uio.no/git/?p=u%2Fmrichter%2FAliRoot.git;a=blobdiff_plain;f=ITS%2FAliITSPid.cxx;h=237cef42b2355bb33f30a2952a439569fecba8bf;hp=884651d40c1b038f4740c564a333a1969e911d98;hb=2f80429414e83bc8d02568bfbf3c12de18006e52;hpb=23efe5f17d6456f1990a8854c04e89879830fe5c diff --git a/ITS/AliITSPid.cxx b/ITS/AliITSPid.cxx index 884651d40c1..237cef42b23 100644 --- a/ITS/AliITSPid.cxx +++ b/ITS/AliITSPid.cxx @@ -1,5 +1,6 @@ #include "AliITSPid.h" #include "TMath.h" +#include "AliITSIOTrack.h" #include ClassImp(AliITSPid) @@ -12,9 +13,9 @@ Float_t AliITSPid::qcorr(Float_t xc) if(fcorr<=0.1)fcorr=0.1; return qtot/fcorr; } - //----------------------------------------------------------- -#include "vector.h" +//PH #include "vector.h" +#include #include Float_t AliITSPid::qtrm(Int_t track) { @@ -34,8 +35,28 @@ Float_t AliITSPid::qtrm(Int_t track) for(Int_t i=0;iSetVec(track,q); return (q(6)); } +//........................................................ +Float_t AliITSPid::qtrm(Float_t qarr[6],Int_t narr) +{ + Float_t q[6],qm; + Int_t nl,ml; + narr>6?ml=6:ml=narr; + nl=0; for(Int_t i=0;i0.){q[i]=qarr[i];nl++;}} + if(nl==0)return 0.; + vector vf(nl); + switch(nl){ + case 1:qm=q[0]; break; + case 2:qm=(q[0]+q[1])/2.; break; + default: + for(Int_t i=0;iGetExternalParameters(xk,par); + Float_t phi=TMath::ASin(par[2]) + track->GetAlpha(); + if (phi<-TMath::Pi()) phi+=2*TMath::Pi(); + if (phi>=TMath::Pi()) phi-=2*TMath::Pi(); + Float_t lam=TMath::ATan(par[3]); + Float_t pt_1=TMath::Abs(par[4]); + Float_t mom=1./(pt_1*TMath::Cos(lam)); + Float_t dedx=track->GetdEdx(); + Int_t pcode=GetPcode(dedx/40.,mom); + cout<<"TPCtrack dedx,mom,pcode="<GetPx(); + py=track->GetPy(); + pz=track->GetPz(); + Float_t mom=TMath::Sqrt(px*px+py*py+pz*pz); +//??????????????????? + // Float_t dedx=1.0; + Float_t dedx=track->GetdEdx(); +//??????????????????? + Int_t pcode=GetPcode(dedx,mom); + cout<<"ITSV1 dedx,mom,pcode="<Propagate(track->GetAlpha(),3.,0.1/65.19*1.848,0.1*1.848); + track->PropagateTo(3.,0.0028,65.19); + + track->PropagateToVertex(); + Double_t xk,par[5]; track->GetExternalParameters(xk,par); + Float_t lam=TMath::ATan(par[3]); + Float_t pt_1=TMath::Abs(par[4]); + Float_t mom=0.; + if( (pt_1*TMath::Cos(lam))!=0. ){ mom=1./(pt_1*TMath::Cos(lam)); }else{mom=0.;}; + Float_t dedx=track->GetdEdx(); + //cout<<"lam,pt_1,mom,dedx="<