]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
new macro handling exact clusters
authorkowal2 <kowal2@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sat, 3 Nov 2001 17:31:02 +0000 (17:31 +0000)
committerkowal2 <kowal2@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sat, 3 Nov 2001 17:31:02 +0000 (17:31 +0000)
TPC/AliTPCHits2ExactClusters.C [new file with mode: 0644]

diff --git a/TPC/AliTPCHits2ExactClusters.C b/TPC/AliTPCHits2ExactClusters.C
new file mode 100644 (file)
index 0000000..34de70c
--- /dev/null
@@ -0,0 +1,60 @@
+Int_t AliTPCHits2ExactClusters(Int_t nevent=1)
+{
+
+  // new version by J.Belikov
+
+  // Connect the Root Galice file containing Geometry, Kine and Hits
+
+  const char * inFile_old = "galice.root"; 
+  const char * inFile_new = "galice.root";
+  TFile *file = (TFile*)gROOT->GetListOfFiles()->FindObject(inFile_old);
+  if (file) {file->Close(); delete file;}
+  file =  TFile::Open(inFile_new,"UPDATE");
+  if (!file->IsOpen()) {
+    cerr<<"Can't open "<<inFile_new<<" !\n";
+    return 1;
+  }
+
+  // Get AliRun object from file or create it if not on file
+  if (gAlice) delete gAlice;
+  gAlice = (AliRun*)file->Get("gAlice");
+  if (!gAlice) {
+    cerr<<"AliTPCHits2Digits.C : AliRun object not found on file\n";
+    return 2;
+  }
+
+
+
+  // gAlice->GetEvent(0);
+  AliTPC *TPC = (AliTPC*)gAlice->GetDetector("TPC");      
+  AliTPCParam * param = TPC->GetParam();
+  TStopwatch timer;
+  timer.Start();
+
+  for(Int_t eventn =0;eventn<nevent;eventn++){
+    printf("Processing event %d\n",eventn);
+    gAlice->GetEvent(eventn);
+    //setup AliTPCClustersArray
+    AliTPCClustersArray * arr=new AliTPCClustersArray;
+    arr->SetClusterType("AliComplexCluster");
+    arr->Setup(param);
+    arr->MakeTree();    
+    TPC->SetClustersArray(arr);    
+    for (Int_t i=0;i<72;i++)
+      TPC->Hits2ExactClustersSector(i);
+    char treeName[100];
+    sprintf(treeName,"TreeCExact_%d",eventn);
+    TPC->GetClustersArray()->GetTree()->Write(treeName);
+  }
+
+  delete gAlice; gAlice=0;
+  file->Close(); delete file;
+  timer.Stop();
+  timer.Print();
+
+  return 0;
+};
+
+
+
+