]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDdigitizer.cxx
Initialization of SDigits and Digits trees
[u/mrichter/AliRoot.git] / TRD / AliTRDdigitizer.cxx
index 7dbc3adb18b9c7d1c66efd34a6f7ddf580cfbf08..bc0f6c222bafa7b851cd952d256656388a6bdb3b 100644 (file)
@@ -318,8 +318,34 @@ void AliTRDdigitizer::Exec(Option_t* option)
   }
 
   // Initialization
-  InitDetector();
 
+  AliRunLoader* orl = AliRunLoader::GetRunLoader(fManager->GetOutputFolderName());
+  if (InitDetector()) {
+    AliLoader* ogime = orl->GetLoader("TRDLoader");
+
+    TTree* tree = 0;
+    if (fSDigits)
+      { 
+       //if we produce SDigits
+       tree = ogime->TreeS();
+       if (!tree)
+         {
+           ogime->MakeTree("S");
+           tree = ogime->TreeS();
+         }
+      }
+    else
+      {//if we produce Digits
+       tree = ogime->TreeD();
+       if (!tree)
+         {
+           ogime->MakeTree("D");
+           tree = ogime->TreeD();
+         }
+      }
+    MakeBranch(tree);
+  }
   for (iInput = 0; iInput < nInput; iInput++) {
 
     if (fDebug > 0) {
@@ -376,13 +402,12 @@ void AliTRDdigitizer::Exec(Option_t* option)
     printf("Write the digits\n");
   }
   
-  AliRunLoader* orl = AliRunLoader::GetRunLoader(fManager->GetOutputFolderName());
-  AliLoader* ogime = orl->GetLoader("TRDLoader");
-
-  fDigitsManager->MakeBranch(ogime->TreeD());
-
   fDigitsManager->WriteDigits();
 
+  //Write parameters
+  orl->CdGAFile();
+  GetParameter()->Write();
+
   if (fDebug > 0) {
     printf("<AliTRDdigitizer::Exec> ");
     printf("Done\n");