]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSDigits2RecPoints.C
Removing the tasks from the digitization (Ruben)
[u/mrichter/AliRoot.git] / ITS / AliITSDigits2RecPoints.C
index e0dc51d2acddbfd913bd47296f49175ddc39cec4..404b024f3025721d118663ae7de19e9c1fd6c5b0 100644 (file)
@@ -1,55 +1,48 @@
-TFile* AccessFile(TString inFile="galice.root", TString acctype="R");
+#if !defined(__CINT__) || defined(__MAKECINT__)
 
-void AliITSDigits2RecPoints(TString inFile="galice.root", TString outFile="galice.root"){
+#include <Riostream.h>
+#include <TClassTable.h>
+#include <TDatime.h>
+#include <TGeoManager.h>
+#include <TROOT.h>
+#include <TStopwatch.h>
+#include "AliRun.h"
+#include "AliRunDigitizer.h"
+#include "AliITSDetTypeRec.h"
+#include "AliITS.h"
+#include "AliITSresponseSDD.h"
+#include "AliITSreconstruction.h"
 
-  TFile *file;
-  if(outFile.Data() == inFile.Data()){
-    file = AccessFile(inFile,"U");
-  }
-  else {
-    file = AccessFile(inFile);
-  }
-  
-  TStopwatch timer;
+#endif
+#define DEBUG
+
+Int_t AliITSDigits2RecPoints(TString filename="galice.root",TString fileRP=""){
+  // Standard ITS Digits to RecPoints.
+
+  // Get geometry
+  TGeoManager::Import("geometry.root");
 
+  // Dynamically link some shared libs
+  if (gClassTable->GetID("AliRun") < 0) {
+    gROOT->ProcessLine(".x $(ALICE_ROOT)/macros/loadlibs.C");
+  }else if (gAlice){
+    delete AliRunLoader::Instance();
+    delete gAlice;
+    gAlice=0;
+  } // end if
+
+  TStopwatch timer;
+#ifdef DEBUG
   cout << "Creating reconstructed points from digits for the ITS..." << endl;
-  const char *nulptr=0;
-  AliITSreconstruction *itsr = new AliITSreconstruction(nulptr);
-  if(outFile.Data() != inFile.Data())itsr->SetOutputFile(outFile);
+#endif
+  AliITSreconstruction *itsr = new AliITSreconstruction(filename);
+
   timer.Start();
+  if(!(fileRP.IsNull()))itsr->SetOutputFile(fileRP);
   itsr->Init();
   itsr->Exec(); 
   timer.Stop(); 
-  timer.Print();    
+  timer.Print();
   delete itsr;
-}
-
-//-------------------------------------------------------------------
-TFile * AccessFile(TString FileName, TString acctype){
-
-  // Function used to open the input file and fetch the AliRun object
-
-  TFile *retfil = 0;
-  TFile *file = (TFile*)gROOT->GetListOfFiles()->FindObject(FileName);
-  if (file) {file->Close(); delete file; file = 0;}
-  if(acctype.Contains("U")){
-    file = new TFile(FileName,"update");
-  }
-  if(acctype.Contains("N") && !file){
-    file = new TFile(FileName,"recreate");
-  }
-  if(!file) file = new TFile(FileName);   // default readonly
-  if (!file->IsOpen()) {
-       cerr<<"Can't open "<<FileName<<" !" << endl;
-       return retfil;
-  } 
-
-  // Get AliRun object from file or return if not on file
-  if (gAlice) {delete gAlice; gAlice = 0;}
-  gAlice = (AliRun*)file->Get("gAlice");
-  if (!gAlice) {
-       cerr << "AliRun object not found on file"<< endl;
-       return retfil;
-  } 
-  return file;
+  return 0;
 }