]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/AliITSHits2FastRecPoints.C
New platform for ICC/IFC compiler (Intel)
[u/mrichter/AliRoot.git] / ITS / AliITSHits2FastRecPoints.C
CommitLineData
af8e1c2d 1#include "iostream.h"
2
3void AliITSHits2FastRecPoints (Int_t evNumber1=0,Int_t evNumber2=0,Int_t nsignal=25, Int_t size=-1)
4{
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.
9//
10/////////////////////////////////////////////////////////////////////////
11
12// Dynamically link some shared libs
13
14 if (gClassTable->GetID("AliRun") < 0) {
15 gROOT->LoadMacro("loadlibs.C");
16 loadlibs();
17 } else {
18 delete gAlice;
19 gAlice=0;
20 }
21
22// Connect the Root Galice file containing Geometry, Kine and Hits
23
24 TFile *file = (TFile*)gROOT->GetListOfFiles()->FindObject("galice.root");
25 if (file) file->Close();
26 file = new TFile("galice.root","UPDATE");
27 file->ls();
28
29 printf ("I'm after Map \n");
30
31// Get AliRun object from file or create it if not on file
32
33 if (!gAlice) {
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");
37 }
38 printf ("I'm after gAlice \n");
39
40 AliITS *ITS = (AliITS*) gAlice->GetModule("ITS");
41 if (!ITS) return;
42
43 // Set the simulation model
44
45 /* Bug !!! (I.Belikov)
46 AliITSsimulationFastPoints *sim = new AliITSsimulationFastPoints();
47
48 for (Int_t i=0;i<3;i++) {
49 ITS->SetSimulationModel(i,sim);
50 }
51 */
52
53 for (Int_t i=0;i<3;i++) {
54 ITS->SetSimulationModel(i,new AliITSsimulationFastPoints());
55 }
56
57
58//
59// Event Loop
60//
61
62 Int_t nbgr_ev=0;
63 TStopwatch timer;
64
65 cout << "Creating fast reconstructed points from hits for the ITS..." << endl;
66
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;
72 gAlice->SetEvent(ev);
73 if(!gAlice->TreeR()) gAlice-> MakeTree("R");
74 ITS->MakeBranch("R");
75 if (ev < evNumber1) continue;
76 if (nparticles <= 0) return;
77
78 Int_t bgr_ev=Int_t(ev/nsignal);
79 //printf("bgr_ev %d\n",bgr_ev);
80 timer.Start();
81 ITS->HitsToFastRecPoints(ev,bgr_ev,size," ","All"," ");
82 timer.Stop(); timer.Print();
83 } // event loop
84
85 delete gAlice; gAlice=0;
86 file->Close();
87}
88
89
90
91
92
93
94
95
96
97
98
99
100
101