X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=TPC%2FAliTPCPid.cxx;h=e937f9fc87893ad5fdaa16d237eed24e90a27cce;hb=996014d013d64f991aa2703583055c6555fb98d9;hp=d32390cf4ecb004a3209b06bf16ba132c16580f4;hpb=c300c64c340d1202d859c11f6c8a73e391bb47ba;p=u%2Fmrichter%2FAliRoot.git diff --git a/TPC/AliTPCPid.cxx b/TPC/AliTPCPid.cxx index d32390cf4ec..e937f9fc878 100644 --- a/TPC/AliTPCPid.cxx +++ b/TPC/AliTPCPid.cxx @@ -23,6 +23,8 @@ //#include "AliITSIOTrack.h" #include "AliKalmanTrack.h" #include "Riostream.h" +#include + ClassImp(AliTPCPid) // Correction 13.01.2003 Z.S.,Dubna // 22.01.2003 @@ -30,8 +32,26 @@ ClassImp(AliTPCPid) // pid class by B. Batyunya // stupid corrections by M.K. // +//_______________________________________________________ //________________________________________________________ - AliTPCPid::AliTPCPid( const AliTPCPid& r):TObject(r) +AliTPCPid::AliTPCPid( const AliTPCPid& r):TObject(r), + fCutKa(0), + fCutPr(0), + fCutKaTune(0.), + fCutPrTune(0.), + fSigmin(0.), + fSilent(0), + fmxtrs(0), + trs(0), + fqtot(0.), + fWpi(0.), + fWk(0.), + fWp(0.), + fRpik(0.), + fRppi(0.), + fRpka(0.), + fRp(0.), + fPcode(0) { // dummy copy constructor } @@ -46,6 +66,15 @@ Float_t AliTPCPid::Qcorr(Float_t xc) if(fcorr<=0.1)fcorr=0.1; return fqtot/fcorr; } +//__________________________________________________________ +AliTPCPid & AliTPCPid::operator =(const AliTPCPid & param) +{ + // + // assignment operator - dummy + // + fSigmin=param.fSigmin; + return (*this); +} //----------------------------------------------------------- Float_t AliTPCPid::Qtrm(Int_t track) const { @@ -201,6 +230,7 @@ Int_t AliTPCPid::GetPcode(AliTPCtrack *track) cout<<"TPCtrack dedx,mom,pcode="<GetdEdx(); + Float_t dedx=track->GetPIDsignal(); cout<<"lam,pt1,mom,dedx="<Eval(pm) ){fWpi=1.; return Pion(); } else {fWk =1.; return Kaon();} } //3)----------------------200-400 Mev/c ------------- - if ( pm<=fcut[3][0] ) + if ( pm<=fcut[3][0] ){ if( qEval(pm) ) { fWpi=1.;return Pion(); } else { if ( q<=fCutPr->Eval(pm) ) {fWk=1.;return Kaon();} else {fWp=1.;return Proton();} - } + }} //4)----------------------400-450 Mev/c ------------- - if ( pm<=fcut[4][0] ) + if ( pm<=fcut[4][0] ){ if( qEval(pm) ) { fWpi=1.;return Pion(); } else { if( qEval(pm) ) {fWk=1.;return Kaon();} else {fWp=1.;return Proton(); } - } + }} //5)----------------------450-500 Mev/c ------------- - if ( pm<=fcut[5][0] ) + if ( pm<=fcut[5][0] ){ if ( q>fCutPr->Eval(pm) ) - {fWp=1.;return Proton();} else {return Wpik(5,q);}; + {fWp=1.;return Proton();} else {return Wpik(5,q);}} //6)----------------------500-550 Mev/c ------------- - if ( pm<=fcut[6][0] ) + if ( pm<=fcut[6][0] ){ if ( q>fCutPr->Eval(pm) ) - {fWp=1.;return Proton();} else {return Wpik(6,q);}; + {fWp=1.;return Proton();} else {return Wpik(6,q);}} //7)----------------------550-600 Mev/c ------------- - if ( pm<=fcut[7][0] ) + if ( pm<=fcut[7][0] ){ if ( q>fCutPr->Eval(pm) ) - {fWp=1.;return Proton();} else {return Wpik(7,q);}; + {fWp=1.;return Proton();} else {return Wpik(7,q);}} //8)----------------------600-650 Mev/c ------------- - if ( pm<=fcut[8][0] ) - if ( q>fCutPrTune*fCutPr->Eval(pm) ){fWp=1.;return Proton();} + if ( pm<=fcut[8][0] ){ + if ( q>fCutPrTune*fCutPr->Eval(pm) ){fWp=1.;return Proton();}} else {return Wpik(8,q);}; //9)----------------------650-730 Mev/c ------------- - if ( pm<=fcut[9][0] ) + if ( pm<=fcut[9][0] ){ if ( q>fCutPrTune*fCutPr->Eval(pm) ){fWp=1.;return Proton();} - else {return Wpik(9,q);}; + else {return Wpik(9,q);}} //10)----------------------730-830 Mev/c ------------- - if( pm<=fcut[10][0] ) - if ( q>fCutPrTune*fCutPr->Eval(pm) ){fWp=1.;return Proton();} + if( pm<=fcut[10][0] ){ + if ( q>fCutPrTune*fCutPr->Eval(pm) ){fWp=1.;return Proton();}} else {return Wpik(10,q);}; //11)----------------------830-930 Mev/c ------------- if( pm<=fcut[11][0] ){ return Wpikp(11,q); } @@ -362,7 +393,7 @@ void AliTPCPid::SetPcod(Int_t track,Int_t partcode) } } //----------------------------------------------------------- -void AliTPCPid::Print(Int_t track) +void AliTPCPid::PrintPID(Int_t track) { // // control print @@ -391,7 +422,6 @@ for(Int_t i=0;iGetEntries();i++) TVector xx( *((TVector*)trs->At(i)) ); if( xx.IsValid() && xx(0)>0 ) { - TVector xx( *((TVector*)trs->At(i)) ); if(xx(0)>=2) { // 1)Calculate Qtrm @@ -433,18 +463,35 @@ void AliTPCPid::Reset(void) } } //----------------------------------------------------------- -AliTPCPid::AliTPCPid(Int_t ntrack) +AliTPCPid::AliTPCPid(Int_t ntrack):TObject(), + fCutKa(0), + fCutPr(0), + fCutKaTune(0.), + fCutPrTune(0.), + fSigmin(0.), + fSilent(0), + fmxtrs(0), + trs(0), + fqtot(0.), + fWpi(0.), + fWk(0.), + fWp(0.), + fRpik(0.), + fRppi(0.), + fRpka(0.), + fRp(0.), + fPcode(0) { trs = new TClonesArray("TVector",ntrack); TClonesArray &arr=*trs; for(Int_t i=0;i