Fix for new AliRun::RunReco().
[u/mrichter/AliRoot.git] / MUON / MUONrawclusters.C
1 #include "iostream.h"
2
3 void MUONrawclusters (Int_t evNumber1=0,Int_t evNumber2=0) 
4 {
5   //////////////////////////////////////
6   //                                  //
7   // ROOT macro for ALICE Dimuon Arm: //
8   // Clusterization of digits         //
9   //                                  //
10   //////////////////////////////////////
11   //
12   // Adds the tree TR for raw clusters
13   // to the ROOT file "galice.root"
14   // containing the digits (tree TD).
15   //
16   // Arguments:
17   //   evNumber1 = first event number to act on in file "galice.root"
18   //   evNumber2 = last event number to act on in file "galice.root"
19   //
20   // Input/output file:
21   //   "galice.root"
22   //
23   //__________________________________________________________________________
24
25 // Dynamically link some shared libs
26
27     if (gClassTable->GetID("AliRun") < 0) {
28         gROOT->LoadMacro("loadlibs.C");
29         loadlibs();
30     }
31
32 // Connect the Root Galice file containing Geometry, Kine and Hits
33
34     TFile *file = (TFile*)gROOT->GetListOfFiles()->FindObject("galice.root");
35     if (!file) file = new TFile("galice.root","UPDATE");
36
37 // Get AliRun object from file or create it if not on file
38
39     if (!gAlice) {
40         gAlice = (AliRun*)file->Get("gAlice");
41         if (gAlice) printf("AliRun object found on file\n");
42         if (!gAlice) gAlice = new AliRun("gAlice","Alice test program");
43     }
44
45 // Set reconstruction models
46 //
47 // Get pointers to Alice detectors and Digits containers
48     AliMUON *MUON  = (AliMUON*) gAlice->GetModule("MUON");
49     for (Int_t i=0; i<10; i++) {
50         RecModel = new AliMUONClusterFinderVS();
51 //      RecModel->SetTracks(16,17);    
52 //      RecModel->SetTracks(266,267);    
53         RecModel->SetGhostChi2Cut(10);
54         MUON->SetReconstructionModel(i,RecModel);
55     }
56 //
57 //   Loop over events              
58 //
59     Int_t Nh=0;
60     Int_t Nh1=0;
61     for (int nev=evNumber1; nev<= evNumber2; nev++) {
62         Int_t nparticles = gAlice->GetEvent(nev);
63         cout << "nev         " << nev <<endl;
64         cout << "nparticles  " << nparticles <<endl;
65         if (nev < evNumber1) continue;
66         if (nparticles <= 0) return;
67         gAlice->RunReco("MUON");
68     }   // event loop 
69 }
70