1 /****************************************************************************
2 * Origin: I.Belikov, CERN, Jouri.Belikov@cern.ch *
3 ****************************************************************************/
5 #if !defined(__CINT__) || defined(__MAKECINT__)
7 #include "AliTPCParam.h"
8 #include "AliTPCtracker.h"
11 #include "AliRunLoader.h"
12 #include "AliTPCLoader.h"
15 #include "TStopwatch.h"
18 extern AliRun *gAlice;
20 Int_t AliTPCFindTracks(Int_t nev=5) {
22 cerr<<"Looking for tracks...\n";
25 delete gAlice->GetRunLoader();
30 AliRunLoader *rl = AliRunLoader::Open("galice.root");
32 cerr<<"Can not open session"<<endl;
36 AliTPCLoader *tpcl = (AliTPCLoader*)rl->GetLoader("TPCLoader");
38 cerr<<"Can not get TPC Loader"<<endl;
42 if (rl->LoadgAlice()) {
43 cerr<<"Error occured while loading gAlice"<<endl;
46 AliKalmanTrack::SetConvConst(
47 1000/0.299792458/rl->GetAliRun()->Field()->SolenoidField()
50 AliTPCParam *dig=(AliTPCParam *)gDirectory->Get("75x40_100x60_150x60");
52 cerr<<"TPC parameters have not been found !\n";
58 tpcl->LoadRecPoints("read");
59 tpcl->LoadTracks("recreate");
61 if (nev>rl->GetNumberOfEvents()) nev=rl->GetNumberOfEvents();
65 AliTPCtracker tracker(dig);
66 for (Int_t i=0;i<nev;i++){
67 printf("Processing event %d\n",i);
70 TTree *in=tpcl->TreeR();
72 cerr<<"Can't get clusters tree !\n";
76 TTree *out=tpcl->TreeT();
82 rc=tracker.Clusters2Tracks(in,out);
84 tpcl->WriteTracks("OVERWRITE");
87 timer.Stop(); timer.Print();
89 delete dig; //Thanks to Mariana Bondila