]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TPC/AliTPC.cxx
Adding AliReconstruction class (T.Kuhr)
[u/mrichter/AliRoot.git] / TPC / AliTPC.cxx
index 82d8de53dd058648ccbfc9d56bcb122a26439a27..3186190d5650225f58203bbd508c96cdd53f1ac3 100644 (file)
@@ -78,6 +78,9 @@
 #include "AliTrackReference.h"
 #include "AliMC.h"
 #include "AliTPCDigitizer.h"
+#include "AliTPCclusterer.h"
+#include "AliTPCtracker.h"
+#include "AliTPCpidESD.h"
 
 
 ClassImp(AliTPC) 
@@ -327,6 +330,62 @@ void AliTPC::Clusters2Tracks() const
   "Dummy function !  Call AliTPCtracker::Clusters2Tracks(...) instead !");
  }
 
+
+//_____________________________________________________________________________
+void AliTPC::Reconstruct() const
+{
+// reconstruct clusters
+
+  AliLoader* loader = GetLoader();
+  loader->LoadRecPoints("recreate");
+  loader->LoadDigits("read");
+
+  AliTPCclusterer clusterer(fTPCParam);
+  AliRunLoader* runLoader = loader->GetRunLoader();
+  Int_t nEvents = runLoader->GetNumberOfEvents();
+
+  for (Int_t iEvent = 0; iEvent < nEvents; iEvent++) {
+    runLoader->GetEvent(iEvent);
+
+    TTree* treeClusters = loader->TreeR();
+    if (!treeClusters) {
+      loader->MakeTree("R");
+      treeClusters = loader->TreeR();
+    }
+    TTree* treeDigits = loader->TreeD();
+    if (!treeDigits) {
+      Error("Reconstruct", "Can't get digits tree !");
+      return;
+    }
+
+    clusterer.Digits2Clusters(treeDigits, treeClusters);
+         
+    loader->WriteRecPoints("OVERWRITE");
+  }
+
+  loader->UnloadRecPoints();
+  loader->UnloadDigits();
+}
+
+//_____________________________________________________________________________
+AliTracker* AliTPC::CreateTracker() const
+{
+// create a TPC tracker
+
+  return new AliTPCtracker(fTPCParam);
+}
+
+//_____________________________________________________________________________
+void AliTPC::FillESD(AliESD* esd) const
+{
+// make PID
+
+  Double_t parTPC[] = {47., 0.10, 10.};
+  AliTPCpidESD tpcPID(parTPC);
+  tpcPID.MakePID(esd);
+}
+
+
 //_____________________________________________________________________________
 void AliTPC::CreateMaterials()
 {
@@ -835,7 +894,6 @@ void    AliTPC::SetActiveSectors(Int_t flag)
       } 
     }    
   }
-  
 }