]>
Commit | Line | Data |
---|---|---|
750bb5c0 | 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) | |
9 | { | |
10 | delete gAlice; | |
11 | gAlice=0; | |
12 | // Dynamically link some shared libs | |
13 | if (gClassTable->GetID("AliRun") < 0) { | |
14 | gROOT->LoadMacro("loadlibs.C"); | |
15 | loadlibs(); | |
16 | } | |
17 | ||
18 | // Connect the Root Galice file containing Geometry, Kine, Hits and Digits | |
19 | TFile *file = (TFile*)gROOT->GetListOfFiles()->FindObject("galice.root"); | |
20 | if (!file) { | |
21 | printf("\n Creating galice.root \n"); | |
22 | file = new TFile("galice.root"); | |
23 | } else { | |
24 | printf("\n galice.root found in file list"); | |
25 | } | |
26 | ||
27 | // Get AliRun object from file or create it if not on file | |
28 | if (!gAlice) { | |
29 | gAlice = (AliRun*)file->Get("gAlice"); | |
30 | if (gAlice) printf("AliRun object found on file\n"); | |
31 | if (!gAlice) { | |
32 | printf("\n create new gAlice object"); | |
33 | gAlice = new AliRun("gAlice","Alice test program"); | |
34 | } | |
35 | } | |
36 | ||
37 | AliZDCMerger *merger=0; | |
38 | AliZDC *ZDC = (AliZDC*) gAlice->GetModule("ZDC"); | |
39 | if (ZDC && mode) { | |
40 | printf("\n Initializing AliZDCMerger\n"); | |
41 | merger = new AliZDCMerger(); | |
42 | merger->SetMode(mode); | |
43 | merger->SetBackgroundFileName("galice.root"); | |
44 | ZDC->SetMerger(merger); | |
45 | } | |
46 | // | |
47 | // Loop over events | |
48 | // | |
49 | for(Int_t iev=0; iev<totnev; iev++) { | |
50 | if(mode){ | |
51 | merger->SetBackgroundEventNum(iev); | |
52 | } | |
53 | gAlice->Hits2SDigits("ZDC"); | |
54 | gAlice->SDigits2Digits("ZDC"); | |
55 | } // event loop | |
56 | } |