3 void AliITSHits2FastRecPoints (Int_t evNumber1=0,Int_t evNumber2=0,Int_t nsignal=25, Int_t size=-1)
5 /////////////////////////////////////////////////////////////////////////
6 // This macro is a small example of a ROOT macro
7 // illustrating how to read the output of GALICE
8 // and do some analysis.
10 /////////////////////////////////////////////////////////////////////////
12 // Dynamically link some shared libs
14 if (gClassTable->GetID("AliRun") < 0) {
15 gROOT->LoadMacro("loadlibs.C");
22 // Connect the Root Galice file containing Geometry, Kine and Hits
24 TFile *file = (TFile*)gROOT->GetListOfFiles()->FindObject("galice.root");
25 if (file) file->Close();
26 file = new TFile("galice.root","UPDATE");
29 printf ("I'm after Map \n");
31 // Get AliRun object from file or create it if not on file
34 gAlice = (AliRun*)file->Get("gAlice");
35 if (gAlice) printf("AliRun object found on file\n");
36 if (!gAlice) gAlice = new AliRun("gAlice","Alice test program");
38 printf ("I'm after gAlice \n");
40 AliITS *ITS = (AliITS*) gAlice->GetModule("ITS");
43 // Set the simulation model
45 /* Bug !!! (I.Belikov)
46 AliITSsimulationFastPoints *sim = new AliITSsimulationFastPoints();
48 for (Int_t i=0;i<3;i++) {
49 ITS->SetSimulationModel(i,sim);
53 for (Int_t i=0;i<3;i++) {
54 ITS->SetSimulationModel(i,new AliITSsimulationFastPoints());
65 cout << "Creating fast reconstructed points from hits for the ITS..." << endl;
67 for (int ev=evNumber1; ev<= evNumber2; ev++) {
68 cout << "...working on event "<< ev << " ..." << endl;
69 Int_t nparticles = gAlice->GetEvent(ev);
70 cout << "event " <<ev<<endl;
71 cout << "nparticles " <<nparticles<<endl;
73 if(!gAlice->TreeR()) gAlice-> MakeTree("R");
75 if (ev < evNumber1) continue;
76 if (nparticles <= 0) return;
78 Int_t bgr_ev=Int_t(ev/nsignal);
79 //printf("bgr_ev %d\n",bgr_ev);
81 ITS->HitsToFastRecPoints(ev,bgr_ev,size," ","All"," ");
82 timer.Stop(); timer.Print();
85 delete gAlice; gAlice=0;