]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EMCAL/AliEMCALDigitizer.cxx
Changes needed to run simulation and reconstrruction in the same AliRoot session
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALDigitizer.cxx
index 30a8db0721466ca7e9212e5782e83fab959c823c..ac37421e64a44b9b0e08d84cf9a6235dbaaa5e19 100644 (file)
@@ -140,8 +140,11 @@ AliEMCALDigitizer::AliEMCALDigitizer(AliRunDigitizer * rd):
 //____________________________________________________________________________ 
   AliEMCALDigitizer::~AliEMCALDigitizer()
 {
-  AliEMCALGetter * gime =AliEMCALGetter::Instance(GetTitle(),fEventFolderName);
-  gime->EmcalLoader()->CleanDigitizer();
+  AliEMCALGetter * gime = AliEMCALGetter::Instance(GetTitle()) ;
+   
+  // Clean Digitizer from the white board
+  gime->EmcalLoader()->CleanDigitizer() ;
+
   delete [] fInputFileNames ; 
   delete [] fEventNames ; 
 
@@ -158,7 +161,7 @@ void AliEMCALDigitizer::Digitize(Int_t event)
   // helps to avoid scanning over the list of digits to add 
   // contribution of any new SDigit.
 
-  AliEMCALGetter * gime = AliEMCALGetter::Instance(GetTitle(), fEventFolderName) ; 
+  AliEMCALGetter * gime = AliEMCALGetter::Instance(GetTitle()) ; 
   Int_t ReadEvent = event ; 
   if (fManager) 
     ReadEvent = dynamic_cast<AliStream*>(fManager->GetInputStream(0))->GetCurrentEventNumber() ; 
@@ -355,6 +358,9 @@ void AliEMCALDigitizer::Exec(Option_t *option)
   
   AliEMCALGetter * gime = AliEMCALGetter::Instance(GetTitle()) ;
    
+  // Post Digitizer to the white board
+  gime->PostDigitizer(this) ;
+  
   if (fLastEvent == -1) 
     fLastEvent = gime->MaxEvent() - 1 ;
   else if (fManager) 
@@ -379,6 +385,8 @@ void AliEMCALDigitizer::Exec(Option_t *option)
     fDigitsInRun += gime->Digits()->GetEntriesFast() ;  
   }
   
+  gime->EmcalLoader()->CleanDigitizer() ;
+
   if(strstr(option,"tim")){
     gBenchmark->Stop("EMCALDigitizer");
     printf("Exec: took %f seconds for Digitizing %f seconds per event", 
@@ -424,9 +432,6 @@ Bool_t AliEMCALDigitizer::Init()
     fInit = kFALSE ; 
   }
 
-  // Post Digitizer to the white board
-  gime->PostDigitizer(this) ;
-  
   fFirstEvent = 0 ; 
   fLastEvent = fFirstEvent ; 
   
@@ -592,7 +597,7 @@ void AliEMCALDigitizer::PrintDigits(Option_t * option){
 Float_t AliEMCALDigitizer::TimeOfNoise(void)
 {  
   // Calculates the time signal generated by noise
-  Info("TimeOfNoise", "Change me") ; 
+  //PH  Info("TimeOfNoise", "Change me") ; 
   return gRandom->Rndm() * 1.28E-5;
 }
 
@@ -624,13 +629,13 @@ void AliEMCALDigitizer::WriteDigits()
   //      and branch "AliEMCALDigitizer", with the same title to keep all the parameters
   //      and names of files, from which digits are made.
 
-  AliEMCALGetter * gime = AliEMCALGetter::Instance(GetTitle(), fEventFolderName) ; 
+  AliEMCALGetter * gime = AliEMCALGetter::Instance(GetTitle()) ; 
   const TClonesArray * digits = gime->Digits() ; 
   TTree * treeD = gime->TreeD(); 
 
   // -- create Digits branch
   Int_t bufferSize = 32000 ;    
-  TBranch * digitsBranch = treeD->Branch("EMCAL",&digits,bufferSize);
+  TBranch * digitsBranch = treeD->Branch("EMCAL","TClonesArray",&digits,bufferSize);
   digitsBranch->SetTitle(fEventFolderName);
   digitsBranch->Fill() ;