]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ZDC/ZDCDigits2Reco.C
Update with reading the survey data from EDMS tables
[u/mrichter/AliRoot.git] / ZDC / ZDCDigits2Reco.C
index cdc10252dbe6a68205cc99d36675a586f3d670b4..4448dc0240133abd4e8c94022fb1e37ee765bd8b 100644 (file)
@@ -1,42 +1,64 @@
-//             Macro to perform ZDC reconstruction
-void ZDCDigits2Reco(Int_t nev=1) 
+//     ------------------------------------------------------------
+//                     Macro for ZDC reconstruction 
+//     ------------------------------------------------------------
+void ZDCDigits2Reco(Int_t totnev=1, const char *filedig="ZDCdigits.root", 
+               const char *filerec="ZDCreco.root") 
 {
-   delete gAlice;
-   gAlice=0;
-// Dynamically link some shared libs
-   if (gClassTable->GetID("AliRun") < 0) {
-      gROOT->LoadMacro("loadlibs.C");
-      loadlibs();
-   }
+  delete gAlice;
+  gAlice=0;
+  
+  // Dynamically link some shared libs
+  if (gClassTable->GetID("AliRun") < 0) {
+    gROOT->LoadMacro("loadlibs.C");
+    loadlibs();
+  }
       
-// Connect the Root Galice file containing Geometry, Kine, Hits and Digits
-   TFile *file = (TFile*)gROOT->GetListOfFiles()->FindObject("galice.root");
-    if (!file) {
+  // Connect the Root Galice file containing Geometry, Kine, Hits and Digits
+  TFile *file = (TFile*)gROOT->GetListOfFiles()->FindObject("galice.root");
+  if (!file) {
        printf("\n Creating galice.root \n");
-       file = new TFile("galice.root","UPDATE");
-    } else {
+       file = new TFile("galice.root");
+  } else {
        printf("\n galice.root found in file list");
-    }
-
-// Get AliRun object from file or create it if not on file
-   if (!gAlice) {
-      gAlice = (AliRun*)file->Get("gAlice");
-      if (gAlice) printf("AliRun object found on file\n");
-      if (!gAlice) {
-           printf("\n create new gAlice object");
-           gAlice = new AliRun("gAlice","Alice test program");
+  }
+
+  // Get AliRun object from file or create it if not on file
+  if (!gAlice) {
+    gAlice = (AliRun*)file->Get("gAlice");
+    if (gAlice) printf("AliRun object found on file\n");
+    if (!gAlice) {
+      printf("\n create new gAlice object");
+      gAlice = new AliRun("gAlice","Alice test program");
        }
-   }
-   
-   AliZDC *ZDC  = (AliZDC*) gAlice->GetModule("ZDC");
-   AliZDCMerger *merger = new AliZDCMerger();
-   merger->SetMode(1);
-   merger->SetBackgroundFileName("galice.root");
-   ZDC->SetMerger(merger);
-   
-//   Loop over events to be reconstructed          
-   for(Int_t iev=0; iev<nev; iev++) {
-       merger->SetBackgroundEventNum(iev);
-       gAlice->Digits2Reco("ZDC");
-   }   // event loop 
+  }
+  gAlice->SetTreeDFileName(filedig);
+  // File where SDigits and Digits Tree are written
+  TFile *file2 = gAlice->InitTreeFile("R",filerec);
+
+  AliZDC *ZDC  = (AliZDC*) gAlice->GetModule("ZDC");
+  merger = new AliZDCMerger();
+  merger->SetMode(1);
+  merger->SetBackgroundFileName("galice.root");
+  ZDC->SetMerger(merger);
+  printf("\n AliZDCMerger set \n");
+
+  //
+  //   Loop over events              
+  //
+  for(Int_t iev=0; iev<totnev; iev++) {
+    gAlice->GetEvent(iev);           
+    merger->SetBackgroundEventNum(iev);
+    printf("   iev = %d -> Background Event Num setted\n",iev);
+    gAlice->MakeTree("R",file2);
+    printf("           TreeR made\n");
+    ZDC->MakeBranch("R");
+    printf("           ZDC branch in TreeR made\n");
+    ZDC->Digits2Reco();
+  }   // event loop 
 }
+
+
+
+
+
+