ZDC digitization -> TreeS and TreeD are written in a separate file
authorcoppedis <coppedis@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 7 Jun 2002 10:21:59 +0000 (10:21 +0000)
committercoppedis <coppedis@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 7 Jun 2002 10:21:59 +0000 (10:21 +0000)
ZDC/ZDCDigits2Reco.C
ZDC/ZDCHits2Digits.C

index cdc1025..4448dc0 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 
 }
+
+
+
+
+
+
index e4042da..0538e7c 100644 (file)
@@ -5,52 +5,66 @@
 //     mode = 1 -> Signal for spectators is added to the generated
 //             background and then the complete event is digitized
 //     ------------------------------------------------------------
-void ZDCHits2Digits(Int_t totnev, Int_t mode=1) 
+void ZDCHits2Digits(Int_t totnev=1, const char *filedig="ZDCdigits.root", Int_t mode=1) 
 {
-   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");
-    } else {
+  } 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");
        }
-   }
-   
-   AliZDCMerger *merger=0;
-   AliZDC *ZDC  = (AliZDC*) gAlice->GetModule("ZDC");
-   if (ZDC && mode) {
-       printf("\n      Initializing AliZDCMerger\n");
-       merger = new AliZDCMerger();
-       merger->SetMode(mode);
-       merger->SetBackgroundFileName("galice.root");
-       ZDC->SetMerger(merger);
-   }
-//
-//   Loop over events              
-//
-    for(Int_t iev=0; iev<totnev; iev++) {
-       if(mode){
-         merger->SetBackgroundEventNum(iev);
-       }
-       gAlice->Hits2SDigits("ZDC");
-       gAlice->SDigits2Digits("ZDC");
-    }   // event loop 
+  }
+  // File where SDigits and Digits Tree are written
+  TFile *file2 = gAlice->InitTreeFile("SD", filedig);
+
+  AliZDC *ZDC  = (AliZDC*) gAlice->GetModule("ZDC");
+  if (ZDC && mode) {
+    //printf("\n       Initializing AliZDCMerger\n");
+    merger = new AliZDCMerger();
+    merger->SetMode(mode);
+    merger->SetBackgroundFileName("galice.root");
+    ZDC->SetMerger(merger);
+  }
+
+  //
+  //   Loop over events              
+  //
+  for(Int_t iev=0; iev<totnev; iev++) {
+    gAlice->GetEvent(iev);           
+    if(mode){
+      merger->SetBackgroundEventNum(iev);
+    }
+    gAlice->MakeTree("S",file2);
+    gAlice->MakeTree("D",file2);
+    ZDC->MakeBranch("S");
+    ZDC->Hits2SDigits();
+    ZDC->MakeBranch("D");
+    ZDC->SDigits2Digits();
+  }   // event loop 
 }
+
+
+
+
+
+