X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ITS%2FAliITSDigits2RecPoints.C;h=404b024f3025721d118663ae7de19e9c1fd6c5b0;hb=f21fc003c20acf4ef162ab5c82e902915a6c92f0;hp=e0dc51d2acddbfd913bd47296f49175ddc39cec4;hpb=cc2535cd11694b214d08613a69ebde5d3627813f;p=u%2Fmrichter%2FAliRoot.git diff --git a/ITS/AliITSDigits2RecPoints.C b/ITS/AliITSDigits2RecPoints.C index e0dc51d2acd..404b024f302 100644 --- a/ITS/AliITSDigits2RecPoints.C +++ b/ITS/AliITSDigits2RecPoints.C @@ -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 +#include +#include +#include +#include +#include +#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 "<Get("gAlice"); - if (!gAlice) { - cerr << "AliRun object not found on file"<< endl; - return retfil; - } - return file; + return 0; }