]>
Commit | Line | Data |
---|---|---|
cc2535cd | 1 | TFile* AccessFile(TString inFile="galice.root", TString acctype="R"); |
2 | ||
3 | void AliITSDigits2RecPoints(TString inFile="galice.root", TString outFile="galice.root"){ | |
4 | ||
5 | TFile *file; | |
6 | if(outFile.Data() == inFile.Data()){ | |
7 | file = AccessFile(inFile,"U"); | |
8 | } | |
9 | else { | |
10 | file = AccessFile(inFile); | |
11 | } | |
12 | ||
13 | TStopwatch timer; | |
14 | ||
15 | cout << "Creating reconstructed points from digits for the ITS..." << endl; | |
16 | const char *nulptr=0; | |
17 | AliITSreconstruction *itsr = new AliITSreconstruction(nulptr); | |
18 | if(outFile.Data() != inFile.Data())itsr->SetOutputFile(outFile); | |
19 | timer.Start(); | |
20 | itsr->Init(); | |
21 | itsr->Exec(); | |
22 | timer.Stop(); | |
23 | timer.Print(); | |
24 | delete itsr; | |
25 | } | |
26 | ||
27 | //------------------------------------------------------------------- | |
28 | TFile * AccessFile(TString FileName, TString acctype){ | |
29 | ||
30 | // Function used to open the input file and fetch the AliRun object | |
31 | ||
32 | TFile *retfil = 0; | |
33 | TFile *file = (TFile*)gROOT->GetListOfFiles()->FindObject(FileName); | |
34 | if (file) {file->Close(); delete file; file = 0;} | |
35 | if(acctype.Contains("U")){ | |
36 | file = new TFile(FileName,"update"); | |
37 | } | |
38 | if(acctype.Contains("N") && !file){ | |
39 | file = new TFile(FileName,"recreate"); | |
40 | } | |
41 | if(!file) file = new TFile(FileName); // default readonly | |
42 | if (!file->IsOpen()) { | |
43 | cerr<<"Can't open "<<FileName<<" !" << endl; | |
44 | return retfil; | |
45 | } | |
46 | ||
47 | // Get AliRun object from file or return if not on file | |
48 | if (gAlice) {delete gAlice; gAlice = 0;} | |
49 | gAlice = (AliRun*)file->Get("gAlice"); | |
50 | if (!gAlice) { | |
51 | cerr << "AliRun object not found on file"<< endl; | |
52 | return retfil; | |
53 | } | |
54 | return file; | |
af8e1c2d | 55 | } |