New detector numbering scheme (common for DAQ/HLT/Offline). All the subdetectors...
[u/mrichter/AliRoot.git] / PHOS / AliPHOSPID.cxx
index 62d2661..4d64c1d 100644 (file)
 
 
 // --- ROOT system ---
-#include "TGeometry.h"
-#include "TDirectory.h"
-#include "TFile.h"
-#include "TTree.h"
-// --- Standard library ---
-#include <iostream.h>
-#include <stdlib.h>
 
+// --- Standard library ---
 
 // --- AliRoot header files ---
-#include "AliRun.h" 
+#include "AliConfig.h"
 #include "AliPHOSPID.h"
-#include "AliHeader.h" 
+#include "AliPHOSGetter.h"
 
 ClassImp(AliPHOSPID)
 
@@ -48,60 +41,28 @@ ClassImp(AliPHOSPID)
   AliPHOSPID::AliPHOSPID():TTask("","")
 {
   // ctor
-  fSplitFile= 0 ; 
-
+  fEventFolderName = "" ; 
+  fFirstEvent = 0 ; 
+  fLastEvent  = -1 ; 
 }
 
 
 //____________________________________________________________________________
-AliPHOSPID::AliPHOSPID(const char* headerFile, const char * name ):TTask(name, headerFile)
+AliPHOSPID::AliPHOSPID(const TString alirunFileName, const TString eventFolderName):
+  TTask("PHOS"+AliConfig::Instance()->GetPIDTaskName(), alirunFileName), 
+  fEventFolderName(eventFolderName)
 {
   // ctor
-
-  fSplitFile= 0 ; 
+  fFirstEvent = 0 ; 
+  fLastEvent  = -1 ;
 }
 
 //____________________________________________________________________________
 AliPHOSPID::~AliPHOSPID()
 {
   // dtor
-        
-  fSplitFile = 0 ;
+ //Remove this from the parental task before destroying
+  if(AliPHOSGetter::Instance()->PhosLoader())
+    AliPHOSGetter::Instance()->PhosLoader()->CleanPIDTask();
 }
 
-//____________________________________________________________________________
-void AliPHOSPID::SetSplitFile(const TString splitFileName) const
-{
-  // Diverts the Digits in a file separate from the hits file
-  
-
-  TDirectory * cwd = gDirectory ;
-  TFile * splitFile = gAlice->InitTreeFile("R",splitFileName.Data());
-  splitFile->cd() ; 
-  gAlice->Write(0, TObject::kOverwrite);
-  
-  TTree *treeE  = gAlice->TreeE();
-  if (!treeE) {
-    cerr << "ERROR: AliPHOSPID::SetSplitFile -> No TreeE found "<<endl;
-    abort() ;
-  }      
-  
-  // copy TreeE
-  AliHeader *header = new AliHeader();
-  treeE->SetBranchAddress("Header", &header);
-  treeE->SetBranchStatus("*",1);
-  TTree *treeENew =  treeE->CloneTree();
-  treeENew->Write(0, TObject::kOverwrite);
-  
-  // copy AliceGeom
-  TGeometry *AliceGeom = static_cast<TGeometry*>(cwd->Get("AliceGeom"));
-  if (!AliceGeom) {
-    cerr << "ERROR: AliPHOSPID::SetSplitFile -> AliceGeom was not found in the input file "<<endl;
-    abort() ;
-    }
-  AliceGeom->Write(0, TObject::kOverwrite) ;
-  
-  gAlice->MakeTree("R",splitFile);
-  cwd->cd() ; 
-  cout << "INFO: AliPHOSPID::SetSPlitMode -> RecParticles will be stored in " << splitFileName.Data() << endl ;   
-}