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"
16 #include "TStopwatch.h"
19 extern AliRun *gAlice;
21 Int_t AliTPCFindTracks(Int_t nev=5) {
23 cerr<<"Looking for tracks...\n";
26 delete gAlice->GetRunLoader();
31 AliRunLoader *rl = AliRunLoader::Open("galice.root");
33 cerr<<"Can not open session"<<endl;
37 AliTPCLoader *tpcl = (AliTPCLoader*)rl->GetLoader("TPCLoader");
39 cerr<<"Can not get TPC Loader"<<endl;
43 if (rl->LoadgAlice()) {
44 cerr<<"Error occured while loading gAlice"<<endl;
48 AliKalmanTrack::SetConvConst(
49 1000/0.299792458/rl->GetAliRun()->Field()->SolenoidField()
53 AliTPCParam *dig=(AliTPCParam *)gDirectory->Get("75x40_100x60_150x60");
55 cerr<<"TPC parameters have not been found !\n";
61 tpcl->LoadRecPoints("read");
63 if (nev>rl->GetNumberOfEvents()) nev=rl->GetNumberOfEvents();
65 TFile *ef=TFile::Open("AliESDtpc.root","RECREATE");
66 if ((!ef)||(!ef->IsOpen())) {
67 cerr<<"Can't AliESDtpc.root !\n"; return 1;
71 AliTPCtracker tracker(dig);
72 for (Int_t i=0;i<nev;i++){
73 printf("Processing event %d\n",i);
74 AliESD *event=new AliESD();
77 TTree *in=tpcl->TreeR();
79 cerr<<"Can't get clusters tree !\n";
83 tracker.LoadClusters(in);
84 rc=tracker.Clusters2Tracks(event);
85 tracker.UnloadClusters();
89 sprintf(ename,"%d",i);
91 if (!event->Write(ename)) rc++;
94 cerr<<"Something bad happened...\n";
99 timer.Stop(); timer.Print();
103 delete dig; //Thanks to Mariana Bondila