]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PMD/AliPMDReconstructor.cxx
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / PMD / AliPMDReconstructor.cxx
index 5ab255e7ec47668e9e222d4af0bfd5397c52a062..20743bce933c7d9314224c1ae08205d46288f68c 100644 (file)
@@ -21,7 +21,6 @@
 
 #include "Riostream.h"
 #include "AliPMDReconstructor.h"
-#include "AliRunLoader.h"
 #include "AliRun.h"
 #include "AliPMDClusterFinder.h"
 #include "AliPMDtracker.h"
 #include "AliESDPmdTrack.h"
 #include "AliESDEvent.h"
 #include "AliLog.h"
+#include "AliRunInfo.h"
 
 ClassImp(AliPMDReconstructor)
 
-//_____________________________________________________________________________
-void AliPMDReconstructor::Reconstruct(AliRunLoader* runLoader) const
-{
-// reconstruct clusters from digits file
-
-  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(AliRunLoader* runLoader,
-                                     AliRawReader *rawReader) const
-{
-// reconstruct clusters from Raw Data
-
-  AliPMDClusterFinder pmdClus(runLoader);
-  pmdClus.LoadClusters();
-
-  Int_t iEvent = 0;
-  while (rawReader->NextEvent()) {
-    pmdClus.Digits2RecPoints(iEvent,rawReader);
-    iEvent++;
-  }
-  pmdClus.UnLoadClusters();
-  
-}
-
-
 // ------------------------------------------------------------------------ //
 
 void AliPMDReconstructor::Reconstruct(AliRawReader *rawReader,
                                      TTree *clustersTree) const
 {
 // reconstruct clusters from Raw Data
+// Event Species Added By satyajit
+  Int_t gRecoMode = 1;
+  TString beamType = GetRunInfo()->GetBeamType();
+  
+  if (((beamType.CompareTo("pp"))==0) || 
+      ((beamType.CompareTo("p-p"))==0)||
+      ((beamType.CompareTo("PP"))==0) || 
+      ((beamType.CompareTo("P-P"))==0)) {
+    gRecoMode=1;
+  }
+  
+  else if ((beamType.CompareTo("A-A")) == 0 || 
+          (beamType.CompareTo("AA")) == 0) {
+    gRecoMode=2;
+  }
 
-  AliPMDClusterFinder pmdClus;
-  pmdClus.Digits2RecPoints(rawReader, clustersTree);
-
+    static AliPMDClusterFinder pmdClus;
+    pmdClus.Digits2RecPoints(rawReader, clustersTree, gRecoMode);
 }
 
 // ------------------------------------------------------------------------ //
 void AliPMDReconstructor::Reconstruct(TTree *digitsTree,
                                      TTree *clustersTree) const
 {
-// reconstruct clusters from Raw Data
-
-  AliPMDClusterFinder pmdClus;
-  pmdClus.Digits2RecPoints(digitsTree, clustersTree);
+  // reconstruct clusters from Digits
+  // Setting reconstruction mode
+  // Added to Have Sepatrate Event Spcies
+  Int_t gRecoMode = 1;
+  TString beamType = GetRunInfo()->GetBeamType();
+  if (((beamType.CompareTo("pp"))==0) || 
+     ((beamType.CompareTo("p-p"))==0)||
+     ((beamType.CompareTo("PP"))==0) || 
+     ((beamType.CompareTo("P-P"))==0)) {
+    gRecoMode=1;
+  }
+  
+  else if ((beamType.CompareTo("A-A")) == 0 || 
+          (beamType.CompareTo("AA")) == 0) {
+    gRecoMode=2;
+  }
+  
+  static AliPMDClusterFinder pmdClus;
+  pmdClus.Digits2RecPoints(digitsTree, clustersTree,gRecoMode);
 
 }
 
-// ------------------------------------------------------------------------ //
-
-//void AliPMDReconstructor::FillESD(AliRunLoader* runLoader,AliESDEvent* esd) const
-//{
-//  AliLoader* loader = runLoader->GetLoader("PMDLoader");
-//  if (!loader) {
-//    AliError("PMD loader not found");
-//    return;
-//  }
-//  loader->LoadRecPoints("READ");
-//  TTree *treeR = loader->TreeR();
-//  AliPMDtracker pmdtracker;
-//  pmdtracker.LoadClusters(treeR);
-//  pmdtracker.Clusters2Tracks(esd);
-//  loader->UnloadRecPoints();
-//}
-
 // ------------------------------------------------------------------------ //
 void AliPMDReconstructor::FillESD(AliRawReader* /*rawReader*/,
                                  TTree* clustersTree, AliESDEvent* esd) const
 {
-  AliPMDtracker pmdtracker;
-  pmdtracker.LoadClusters(clustersTree);
-  pmdtracker.Clusters2Tracks(esd);
+    static AliPMDtracker pmdtracker;
+    pmdtracker.LoadClusters(clustersTree);
+    pmdtracker.Clusters2Tracks(esd);
 }
 // ------------------------------------------------------------------------ //
 void AliPMDReconstructor::FillESD(TTree * /*digitsTree*/,
                                  TTree* clustersTree, AliESDEvent* esd) const
 {
-  AliPMDtracker pmdtracker;
-  pmdtracker.LoadClusters(clustersTree);
-  pmdtracker.Clusters2Tracks(esd);
+    static AliPMDtracker pmdtracker;
+    pmdtracker.LoadClusters(clustersTree);
+    pmdtracker.Clusters2Tracks(esd);
 }