Add method Clusters2Tracks
authorschutz <schutz@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 9 Jan 2004 18:10:53 +0000 (18:10 +0000)
committerschutz <schutz@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 9 Jan 2004 18:10:53 +0000 (18:10 +0000)
PHOS/AliPHOSReconstructioner.cxx
PHOS/AliPHOSReconstructioner.h

index be93fe0..add207d 100644 (file)
 
 // --- AliRoot header files ---
 #include "AliRunLoader.h"
+#include "AliESD.h"
+#include "AliESDCaloTrack.h"
 #include "AliPHOSReconstructioner.h"
 #include "AliPHOSClusterizerv1.h"
 #include "AliPHOSDigitizer.h"
 #include "AliPHOSSDigitizer.h"
 #include "AliPHOSTrackSegmentMakerv1.h"
 #include "AliPHOSPIDv1.h"
+#include "AliPHOSGetter.h"
 
 #include "AliPHOSLoader.h"
 
@@ -160,7 +163,7 @@ TTask("AliPHOSReconstructioner",evFoldName)
   fIsInitialized = kTRUE ;
 } 
 //____________________________________________________________________________
-void AliPHOSReconstructioner::Exec(Option_t opt)
+void AliPHOSReconstructioner::Exec(Option_t *opt)
 {
   //check, if the names of branches, which should be made conicide with already
   //existing
@@ -170,6 +173,32 @@ void AliPHOSReconstructioner::Exec(Option_t opt)
     Init() ;
 }
 //____________________________________________________________________________
+void AliPHOSReconstructioner:: Clusters2Tracks(Int_t ievent, AliESD *event)
+{
+  // Convert PHOS reconstructed particles into ESD object for event# ievent.
+  // ESD object is returned as an argument event
+
+  if(!fIsInitialized) Init() ;
+
+  fClusterizer->SetEventRange(ievent,ievent);
+  fClusterizer->ExecuteTask();
+
+  fTSMaker    ->SetEventRange(ievent,ievent);
+  fTSMaker    ->ExecuteTask();
+  
+  fPID        ->SetEventRange(ievent,ievent);
+  fPID        ->ExecuteTask();
+
+  AliPHOSGetter *gime = AliPHOSGetter::Instance();
+  TClonesArray *recParticles = gime->RecParticles();
+  Int_t nOfRecParticles = recParticles->GetEntries();
+  for (Int_t recpart=0; recpart<nOfRecParticles; recpart++) {
+    AliESDCaloTrack *ct = new AliESDCaloTrack((AliPHOSRecParticle*)recParticles->At(recpart));
+    event->AddCaloTrack(ct);
+  }
+  
+}
+//____________________________________________________________________________
  void AliPHOSReconstructioner::Init()
 {
   // initiliaze Reconstructioner if necessary: we can not do this in default constructor
index 5de72d1..11b6a7e 100644 (file)
@@ -21,6 +21,7 @@ class AliPHOSClusterizer ;
 class AliPHOSTrackSegmentMaker ;
 class AliPHOSPID ;
 class AliPHOSSDigitizer ;
+class AliESD ;
 
 // --- Standard library ---
 
@@ -40,7 +41,8 @@ public:
    
   virtual ~AliPHOSReconstructioner() ;
 
-  virtual void Exec(Option_t) ;
+  virtual void Exec(Option_t *) ;
+  void Clusters2Tracks(Int_t ievent, AliESD *event);
 
   AliPHOSDigitizer         * GetDigitizer()  const { return fDigitizer   ; }
   AliPHOSClusterizer       * GetClusterizer()const { return fClusterizer ; }
@@ -59,7 +61,7 @@ public:
 
   AliPHOSReconstructioner & operator = (const AliPHOSReconstructioner & /*rvalue*/)  {
     // assignement operator requested by coding convention but not needed
-    Fatal("operator =", "not implementeyd") ;
+    Fatal("operator =", "not implemented") ;
     return *this ; 
   }