New cluster and hit reconstruction macro.
[u/mrichter/AliRoot.git] / MUON / MUONrawclusters.C
CommitLineData
a897a37a 1#include "iostream.h"
2
3void MUONrawclusters (Int_t evNumber1=0,Int_t evNumber2=0)
4{
a9e2aefa 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 //__________________________________________________________________________
a897a37a 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 }
a9e2aefa 44
a897a37a 45// Set reconstruction models
46//
47// Get pointers to Alice detectors and Digits containers
48 AliMUON *MUON = (AliMUON*) gAlice->GetModule("MUON");
a9e2aefa 49 for (Int_t i=0; i<10; i++) {
a9e2aefa 50 RecModel = new AliMUONClusterFinderVS();
a9e2aefa 51// RecModel->SetTracks(16,17);
52// RecModel->SetTracks(266,267);
53 MUON->SetReconstructionModel(i,RecModel);
54 }
a897a37a 55//
56// Loop over events
57//
58 Int_t Nh=0;
59 Int_t Nh1=0;
a9e2aefa 60 for (int nev=evNumber1; nev<= evNumber2; nev++) {
a897a37a 61 Int_t nparticles = gAlice->GetEvent(nev);
62 cout << "nev " << nev <<endl;
63 cout << "nparticles " << nparticles <<endl;
64 if (nev < evNumber1) continue;
65 if (nparticles <= 0) return;
a897a37a 66 Int_t nbytes = 0;
a897a37a 67 TClonesArray *Particles = gAlice->Particles();
68 TTree *TD = gAlice->TreeD();
69 Int_t nent=TD->GetEntries();
a897a37a 70 if (MUON) {
71 MUON->FindClusters(nev,nent-2);
72 } // end if MUON
73 } // event loop
a9e2aefa 74
a897a37a 75 file->Close();
76}
77