Fix for transient fSDigits, AliITSRawStream classes adapted to changed AliRawReader...
[u/mrichter/AliRoot.git] / ITS / AliITSRawClusterer.C
index 46f5723c647bf891d3a276745035434169df5a8b..57ae274affb9b44ad9ffe00b451817240a9563a1 100644 (file)
@@ -1,28 +1,31 @@
 #if !defined(__CINT__) || defined(__MAKECINT__)
+#include "AliRun.h"
 #include "AliITS.h"
 #include "AliITSgeom.h"
 #include "AliITSclustererV2.h"
+#include "AliRawReaderRoot.h"
+#include "AliRunLoader.h"
 #include <TFile.h>
 #include <TTree.h>
 #endif
 
-void AliITSRawClusterer(const char* fileNameParam = "its.digits.root",
-                       const char* fileNameClusters = "its.clusters.root")
+void AliITSRawClusterer(const char* fileNameRawData = "event.root",
+                       Int_t iEvent = 0,
+                       const char* fileNameGalice = "galice.root")
 {
-  delete gAlice;
-  TFile* file = TFile::Open(fileNameParam);
-  AliRun* gAlice = (AliRun*) file->Get("gAlice");
-  AliITS* its = (AliITS*) gAlice->GetModule("ITS");
-  AliITSgeom* geom = (AliITSgeom*) its->GetITSgeom();
-  AliITSclustererV2 clusterer(geom);
+// To run the cluster finder on raw data a galice.root file is needed.
+// This file has to contain a run loader, a loader for ITS and
+// the geometry of the ITS
+
+  AliRawReaderRoot rawReader(fileNameRawData, iEvent);
 
-  TFile* out = TFile::Open(fileNameClusters, "recreate");
-  geom->Write();
+  AliRunLoader* runLoader = AliRunLoader::Open(fileNameGalice);
+  runLoader->CdGAFile();
+  AliITSgeom* geom = (AliITSgeom*) gFile->Get("AliITSgeom");
+  AliITSclustererV2 clusterer(geom);
 
-  clusterer.Digits2Clusters(out);
+  runLoader->GetLoader("ITSLoader")->LoadRecPoints("recreate");
+  runLoader->SetEventNumber(iEvent);
 
-  out->Close();
-  delete out;
-  file->Close();
-  delete file;
+  clusterer.Digits2Clusters(&rawReader);
 }