Macro to perform reconstruction in the ZDC
[u/mrichter/AliRoot.git] / ZDC / ZDCDigits2Reco.C
1 //              Macro to perform ZDC reconstruction
2 void ZDCDigits2Reco(Int_t nev=1) 
3 {
4    delete gAlice;
5    gAlice=0;
6 // Dynamically link some shared libs
7    if (gClassTable->GetID("AliRun") < 0) {
8       gROOT->LoadMacro("loadlibs.C");
9       loadlibs();
10    }
11       
12 // Connect the Root Galice file containing Geometry, Kine, Hits and Digits
13    TFile *file = (TFile*)gROOT->GetListOfFiles()->FindObject("galice.root");
14     if (!file) {
15         printf("\n Creating galice.root \n");
16         file = new TFile("galice.root","UPDATE");
17     } else {
18         printf("\n galice.root found in file list");
19     }
20
21 // Get AliRun object from file or create it if not on file
22    if (!gAlice) {
23       gAlice = (AliRun*)file->Get("gAlice");
24       if (gAlice) printf("AliRun object found on file\n");
25       if (!gAlice) {
26             printf("\n create new gAlice object");
27             gAlice = new AliRun("gAlice","Alice test program");
28         }
29    }
30    
31    AliZDC *ZDC  = (AliZDC*) gAlice->GetModule("ZDC");
32    AliZDCMerger *merger = new AliZDCMerger();
33    merger->SetMode(1);
34    merger->SetBackgroundFileName("galice.root");
35    ZDC->SetMerger(merger);
36    
37 //   Loop over events to be reconstructed          
38    for(Int_t iev=0; iev<nev; iev++) {
39        merger->SetBackgroundEventNum(iev);
40        gAlice->Digits2Reco("ZDC");
41    }   // event loop 
42 }