]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PMD/AliPMDReconstructor.cxx
leak fix
[u/mrichter/AliRoot.git] / PMD / AliPMDReconstructor.cxx
index 185181413995b9bfab47ec36d4cd25afc8236adf..3ee7cf738dbcacbdb6e4ded4c9e6e6ec90f5bf27 100644 (file)
 
 #include "Riostream.h"
 #include "AliPMDReconstructor.h"
-#include "AliRunLoader.h"
 #include "AliRun.h"
 #include "AliPMDClusterFinder.h"
 #include "AliPMDtracker.h"
+#include "AliRawReader.h"
 #include "AliESDPmdTrack.h"
-#include "AliESD.h"
-
+#include "AliESDEvent.h"
+#include "AliLog.h"
 
 ClassImp(AliPMDReconstructor)
 
+// ------------------------------------------------------------------------ //
 
-//_____________________________________________________________________________
-void AliPMDReconstructor::Reconstruct(AliRunLoader* runLoader) const
+void AliPMDReconstructor::Reconstruct(AliRawReader *rawReader,
+                                     TTree *clustersTree) const
 {
-// reconstruct clusters
+// reconstruct clusters from Raw Data
+    static AliPMDClusterFinder pmdClus;
+    pmdClus.Digits2RecPoints(rawReader, clustersTree);
+}
 
-  AliPMDClusterFinder *pmdClus = new AliPMDClusterFinder(runLoader);
-  pmdClus->Load();
-  for (Int_t iEvent = 0; iEvent < runLoader->GetNumberOfEvents(); iEvent++)
-    {
-      pmdClus->Digits2RecPoints(iEvent);
-    }
-  pmdClus->UnLoad();
-  delete pmdClus;
+// ------------------------------------------------------------------------ //
+void AliPMDReconstructor::Reconstruct(TTree *digitsTree,
+                                     TTree *clustersTree) const
+{
+// reconstruct clusters from Raw Data
+
+  static AliPMDClusterFinder pmdClus;
+  pmdClus.Digits2RecPoints(digitsTree, clustersTree);
 
 }
 
 // ------------------------------------------------------------------------ //
-
-void AliPMDReconstructor::FillESD(AliRunLoader* runLoader,AliESD* esd) const
+void AliPMDReconstructor::FillESD(AliRawReader* /*rawReader*/,
+                                 TTree* clustersTree, AliESDEvent* esd) const
 {
-  AliLoader* loader = runLoader->GetLoader("PMDLoader");
-  if (!loader) {
-    Error("Reconstruct", "PMD loader not found");
-    return;
-  }
-  loader->LoadRecPoints("READ");
-
-  TTree *treeR = loader->TreeR();
-  AliPMDtracker pmdtracker;
-  pmdtracker.LoadClusters(treeR);
-  pmdtracker.Clusters2Tracks(esd);
-  loader->UnloadRecPoints();
+    static AliPMDtracker pmdtracker;
+    pmdtracker.LoadClusters(clustersTree);
+    pmdtracker.Clusters2Tracks(esd);
+}
+// ------------------------------------------------------------------------ //
+void AliPMDReconstructor::FillESD(TTree * /*digitsTree*/,
+                                 TTree* clustersTree, AliESDEvent* esd) const
+{
+    static AliPMDtracker pmdtracker;
+    pmdtracker.LoadClusters(clustersTree);
+    pmdtracker.Clusters2Tracks(esd);
 }
+
+