#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);
}
+
+