]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PHOS/AliPHOSReconstructioner.cxx
Linear gain inefficiency instead of the step one at the wire edges.
[u/mrichter/AliRoot.git] / PHOS / AliPHOSReconstructioner.cxx
index e05530f31f66afefa1041118660c056fcdc86456..c360e97e0bb23f05bea3da4495c27d42997b61df 100644 (file)
@@ -18,7 +18,7 @@
 //_________________________________________________________________________
 //*--
 //*-- Author: Gines Martinez & Yves Schutz (SUBATECH) 
-//*-- Compleetely redisigned by Dmitri Peressounko (SUBATECH & RRC KI) March 2001
+//*-- Compleetely redesigned by Dmitri Peressounko (SUBATECH & RRC KI) March 2001
 /////////////////////////////////////////////////////////////////////////////////////
 //  Wrapping class for reconstruction. Allows to produce reconstruction from 
 //  different steps: from previously produced hits,sdigits, etc. Each new reconstruction
@@ -63,6 +63,7 @@
 #include "TClonesArray.h"
 #include "TROOT.h"
 #include "TTree.h"
+#include "TFile.h"
 
 // --- Standard library ---
 #include <iostream.h>   
@@ -96,32 +97,33 @@ ClassImp(AliPHOSReconstructioner)
 } 
 
 //____________________________________________________________________________
-AliPHOSReconstructioner::AliPHOSReconstructioner(const char* headerFile):TTask("AliPHOSReconstructioner","")
+AliPHOSReconstructioner::AliPHOSReconstructioner(const char* headerFile,const char * branchName):
+TTask("AliPHOSReconstructioner","")
 {
   // ctor
   
   fHeaderFileName = headerFile ;
 
-  fSDigitsBranch="" 
+  fSDigitsBranch= branchName
   fSDigitizer  = new AliPHOSSDigitizer(fHeaderFileName.Data(),fSDigitsBranch.Data()) ; 
   Add(fSDigitizer) ;
 
-  fDigitsBranch="" ; 
+  fDigitsBranch=branchName ; 
   fDigitizer   = new AliPHOSDigitizer(fHeaderFileName.Data(),fDigitsBranch.Data()) ; 
   Add(fDigitizer) ;
 
 
-  fRecPointBranch="" ; 
+  fRecPointBranch=branchName ; 
   fClusterizer = new AliPHOSClusterizerv1(fHeaderFileName.Data(),fRecPointBranch.Data()) ; 
   Add(fClusterizer) ;
   
 
-  fTSBranch="" ; 
+  fTSBranch=branchName ; 
   fTSMaker     = new AliPHOSTrackSegmentMakerv1(fHeaderFileName.Data(),fTSBranch.Data()) ;
   Add(fTSMaker) ;
   
   
-  fRecPartBranch="" ; 
+  fRecPartBranch=branchName ; 
   fPID         = new AliPHOSPIDv1(fHeaderFileName.Data(),fRecPartBranch.Data()) ;
   Add(fPID) ;
   
@@ -139,7 +141,6 @@ void AliPHOSReconstructioner::Exec(Option_t *option)
   gAlice->GetEvent(0) ;
 
   if(fSDigitizer->IsActive()&& gAlice->TreeS()){ //Will produce SDigits
-
     TBranch * sdigitsBranch = 0;
     TBranch * sdigitizerBranch = 0;
 
@@ -269,7 +270,6 @@ void AliPHOSReconstructioner::Exec(Option_t *option)
   }
   
   if(fTSMaker->IsActive() && gAlice->TreeR()){ //Produce TrackSegments
-
     TBranch * tsMakerBranch = 0;
     TBranch * tsBranch = 0;
     
@@ -360,24 +360,24 @@ void AliPHOSReconstructioner::Exec(Option_t *option)
   if(!fIsInitialized){
     // Initialisation
 
-    fSDigitsBranch="" ; 
+    fSDigitsBranch="Default" ; 
     fSDigitizer  = new AliPHOSSDigitizer(fHeaderFileName.Data(),fSDigitsBranch.Data()) ; 
     Add(fSDigitizer) ;
 
-    fDigitsBranch="" ; 
+    fDigitsBranch="Default" ; 
     fDigitizer   = new AliPHOSDigitizer(fHeaderFileName.Data(),fDigitsBranch.Data()) ; 
     Add(fDigitizer) ;
 
-    fRecPointBranch="" ; 
+    fRecPointBranch="Default" ; 
     fClusterizer = new AliPHOSClusterizerv1(fHeaderFileName.Data(),fRecPointBranch.Data()) ; 
     Add(fClusterizer) ;
 
-    fTSBranch="" ; 
+    fTSBranch="Default" ; 
     fTSMaker     = new AliPHOSTrackSegmentMakerv1(fHeaderFileName.Data(),fTSBranch.Data()) ;
     Add(fTSMaker) ;
 
 
-    fRecPartBranch="" ; 
+    fRecPartBranch="Default" ; 
     fPID         = new AliPHOSPIDv1(fHeaderFileName.Data(),fRecPartBranch.Data()) ;
     Add(fPID) ;
     
@@ -387,24 +387,35 @@ void AliPHOSReconstructioner::Exec(Option_t *option)
 //____________________________________________________________________________
 AliPHOSReconstructioner::~AliPHOSReconstructioner()
 {
-  // dtor  
-  if(fSDigitizer)
-    delete fSDigitizer ;
+  // Delete data members if any
+
+//   if(fSDigitizer)
+//     delete fSDigitizer ;
   
-  if(fDigitizer)
-    delete fDigitizer ;
+//   if(fDigitizer)
+//     delete fDigitizer ;
   
-  if(fClusterizer)
-    delete fClusterizer ;
+//   if(fClusterizer)
+//     delete fClusterizer ;
   
-  if(fTSMaker)
-    delete fTSMaker ;
+//   if(fTSMaker)
+//     delete fTSMaker ;
   
-  if(fPID)
-    delete fPID ;
+//   if(fPID)
+//     delete fPID ;
+
+//    TFile * file = (TFile*) gROOT->GetFile(fHeaderFileName.Data()) ;
+    
+//    if(file != 0) {
+//      file->Close();
+//      delete file;
+//      printf("File %s is closed\n",fHeaderFileName.Data());
+//    }
+
 } 
 //____________________________________________________________________________
-void AliPHOSReconstructioner::SetBranchTitle(const char* branch, const char * title){
+void AliPHOSReconstructioner::SetBranchTitle(const char* branch, const char * title)
+{
   //Diverge correcpoinding branch to the file "title"
 
   if(strcmp(branch,"SDigits") == 0){ 
@@ -415,8 +426,8 @@ void AliPHOSReconstructioner::SetBranchTitle(const char* branch, const char * ti
   }
   
   if(strcmp(branch,"Digits") == 0){ 
-    fDigitizer->SetDigitsBranch(title) ;
-    fClusterizer->SetDigitsBranch(title) ;
+    fDigitizer->SetName(title) ;
+    fClusterizer->SetName(title) ;
     fDigitsBranch = title ;
     return ;
   }
@@ -495,8 +506,8 @@ void AliPHOSReconstructioner::StartFrom(char * module,char* title)
        fSDigitsBranch = title ;
        break ;
       case 16:   //"AliPHOSDigitizer"
-       fDigitizer->SetDigitsBranch(title) ;
-       fClusterizer->SetDigitsBranch(title) ;
+       fDigitizer->SetName(title) ;
+       fClusterizer->SetName(title) ;
        fDigitsBranch = title ;
        break ;
       case 18:   //"AliPHOSClusterizer"
@@ -518,12 +529,13 @@ void AliPHOSReconstructioner::StartFrom(char * module,char* title)
     }
   }
   
-  delete moduleName;
+  delete [] moduleName;
 }
 //____________________________________________________________________________
-void AliPHOSReconstructioner::Print(Option_t * option)const 
-{
-  // Print the parameters of the reconstructioner  
+
+void AliPHOSReconstructioner::Print(Option_t * option)const {
+  // Print reconstructioner data  
+
   cout << "-----------------AliPHOSReconstructioner---------------" << endl ;
   cout << " Reconstruction of the header file " <<fHeaderFileName.Data() << endl ;
   cout << " with the following modules: " << endl ;