//////////////////////////////////////////////// // Dubna, 22 Jan 2003 // //////////////////////////////////////////////// Int_t AliTPCSavePID(Int_t emax=3) { /////////////////////////////////////// #include TFile *inkin = TFile::Open("galice.root"); if (!inkin->IsOpen()) { cerr<<"Can't open galice.root !\n"; } gAlice = (AliRun*)inkin->Get("gAlice"); cout<<"AliRun object found on file "<IsOpen()) {cerr<<"Can't open AliTPCtracks.root !\n"; return 3;} AliTPCPid pid; AliTPCtrackPid pidtmp; AliTPCtrackPid *outpid=&pidtmp; TFile fpid("AliTPCtracksPid.root","recreate"); Int_t nentr=0,i=0; for(int je=0;jeGet(tname); if (!tracktree) {cerr<<"Can't get a tree with TPC tracks !\n"; return 4;} TBranch *tbranch=tracktree->GetBranch("tracks"); nentr=(Int_t)tracktree->GetEntries(); cout<Branch("pids","AliTPCtrackPid",&outpid,32000,1); for (i=0; iSetAddress(&iotrack); tracktree->GetEvent(i); Double_t par[5],xx;xx=85.1951; iotrack->PropagateTo(xx); iotrack->GetExternalParameters(xx,par); //cout<<" par="<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]); //cout<<"pt_1,lam="<GetdEdx(); Int_t pcode=pid.GetPcode(dedx/50.,mom); pidtmp.fPcode=pcode; pidtmp.fSignal=dedx; pidtmp.fMom=mom; pidtmp.fPhi=phi; pidtmp.fLam=lam; pidtmp.fWpi=pid.fWpi; pidtmp.fWk=pid.fWk; pidtmp.fWp=pid.fWp; pidtmp.fLabel=TMath::Abs(iotrack->GetLabel()); cout<<"tlab,dedx,mom,pcode="<Fill(); }//if(pt... }//for(i... cout<<"Event "<Close(); fpid.Write(); cout<<"File AliTPCtracksPid.root written"<