1 // ------------------------------------------------------------
2 // Macro for ZDC digitization
3 // Macro arguments: totnev = num. of events to be processed
4 // mode = 0 -> Only digitization (without merging) is performed
5 // mode = 1 -> Signal for spectators is added to the generated
6 // background and then the complete event is digitized
7 // ------------------------------------------------------------
8 void ZDCHits2Digits(Int_t totnev, Int_t mode=1)
12 // Dynamically link some shared libs
13 if (gClassTable->GetID("AliRun") < 0) {
14 gROOT->LoadMacro("loadlibs.C");
18 // Connect the Root Galice file containing Geometry, Kine, Hits and Digits
19 TFile *file = (TFile*)gROOT->GetListOfFiles()->FindObject("galice.root");
21 printf("\n Creating galice.root \n");
22 file = new TFile("galice.root");
24 printf("\n galice.root found in file list");
27 // Get AliRun object from file or create it if not on file
29 gAlice = (AliRun*)file->Get("gAlice");
30 if (gAlice) printf("AliRun object found on file\n");
32 printf("\n create new gAlice object");
33 gAlice = new AliRun("gAlice","Alice test program");
37 AliZDCMerger *merger=0;
38 AliZDC *ZDC = (AliZDC*) gAlice->GetModule("ZDC");
40 printf("\n Initializing AliZDCMerger\n");
41 merger = new AliZDCMerger();
42 merger->SetMode(mode);
43 merger->SetBackgroundFileName("galice.root");
44 ZDC->SetMerger(merger);
49 for(Int_t iev=0; iev<totnev; iev++) {
51 merger->SetBackgroundEventNum(iev);
53 gAlice->Hits2SDigits("ZDC");
54 gAlice->SDigits2Digits("ZDC");