]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/AliITSSavePIDV2.C
Removing obsolete macros
[u/mrichter/AliRoot.git] / ITS / AliITSSavePIDV2.C
1 ////////////////////////////////////////////////////////////
2 // Test macro for AliITSPid class and tracking version V2 // 
3 // Rev. 25 July 2002 v3-08-03 + Root 3.02/07 + RedHat 6.2 //
4 ////////////////////////////////////////////////////////////
5 void
6 AliITSSavePIDV2(Int_t evNumber1=0,Int_t evNumber2=0) {
7   const char *filename="AliITStracksV2.root";
8   
9   if (gClassTable->GetID("AliRun") < 0) {
10     gROOT->LoadMacro("loadlibs.C");    loadlibs();
11       } else {    delete gAlice;    gAlice=0;
12   }
13
14    TFile *file = (TFile*)gROOT->GetListOfFiles()->FindObject(filename);
15    if (!file) file = new TFile(filename);
16
17 TFile *fpid = new TFile("AliITStracksV2Pid.root","recreate");
18  Float_t factor=0;
19  if(gAlice!=0)factor=gAlice->Field()->Factor();
20  if(factor==0.)factor=1.;
21  AliKalmanTrack::SetConvConst(100/0.299792458/0.2/factor);
22
23 //
24 //   Loop over events 
25 //
26  for (int nev=0; nev<= evNumber2; nev++) {
27    char tname[30];
28    sprintf(tname,"TreeT_ITS_%d;1",nev);
29    TTree *tracktree=(TTree*)file->Get(tname);
30    TBranch *tbranch=tracktree->GetBranch("tracks");
31         
32    Int_t nentr=tracktree->GetEntries();
33    cout<<"Found "<<nentr<<" ITS tracks in event No "<<nev<<endl;
34
35    char tpidname[30];
36    sprintf(tpidname,"TreeT%d",nev);
37    AliITStrackV2Pid pidtmp;
38    TTree itspidTree(tpidname,"Tree with PID");
39    AliITStrackV2Pid *outpid=&pidtmp;
40    itspidTree.Branch("pids","AliITStrackV2Pid",&outpid,32000,1);
41    AliITSPid pid;
42
43    AliITStrackV2 *iotrack=0;
44    for (Int_t i=0; i<nentr; i++) {
45       AliITStrackV2 *iotrack=new AliITStrackV2;
46        tbranch->SetAddress(&iotrack);
47        tracktree->GetEvent(i);
48               Int_t    pcode=pid->GetPcode(iotrack);
49               Float_t  signal=iotrack->GetdEdx();
50               //iotrack->Propagate(iotrack->GetAlpha(),3.,0.1/65.19*1.848,0.1*1.848);
51               iotrack->PropagateTo(3.,0.0028,65.19);
52
53               iotrack->PropagateToVertex();
54               Double_t xk,par[5]; iotrack->GetExternalParameters(xk,par);
55               Float_t lam=TMath::ATan(par[3]);
56               Float_t pt_1=TMath::Abs(par[4]);
57               Float_t mom=0.;
58               if( (pt_1*TMath::Cos(lam))!=0. ){ mom=1./(pt_1*TMath::Cos(lam)); }else{mom=0.;};
59        pidtmp.fPcode=pcode;
60        pidtmp.fSignal=signal;
61        pidtmp.fMom=mom;
62        itspidTree.Fill();
63        delete iotrack;
64    }// End for i (tracks)
65  fpid->Write();
66  }// End for nev (events)
67  file->Close();          
68  cout<<"File AliITStracksV2Pid.root written"<<endl;
69  return;
70 ///////////////////////////////////////////////////////
71 }
72
73
74
75
76
77
78
79