FairRoot/PandaRoot
Functions
runLumiPixel2ePairFinder.C File Reference

Go to the source code of this file.

Functions

void runLumiPixel2ePairFinder (const int nEvents=0, const int startEvent=00000, TString storePath="tmpOutput", const int verboseLevel=0)
 

Function Documentation

void runLumiPixel2ePairFinder ( const int  nEvents = 0,
const int  startEvent = 00000,
TString  storePath = "tmpOutput",
const int  verboseLevel = 0 
)

Definition at line 9 of file runLumiPixel2ePairFinder.C.

References ctime, digiparFile, Double_t, fRun, geoPar, gGeoManager, inFile, nEvents, outFile, parFile, parInput1, parInput2, rtdb, rtime, startEvent, storePath, timer, and TString.

10 {
11  // ----- Timer --------------------------------------------------------
12  TStopwatch timer;
13  timer.Start();
14 
15  gSystem->Load("libLmd");
16  gSystem->Load("libLmdSensorAligner");
17 
18  cout << "***********************\n";
19  cout << "Running PairFinderTask.\n";
20  cout << "***********************\n";
21 
22  // // ----- Input File ----------------------------------------------------
23  TString inFile=storePath+"/Lumi_digi_";
24  inFile += startEvent;
25  inFile += ".root";
26  TString inFileReco=storePath+"/Lumi_reco_";
27  inFileReco += startEvent;
28  inFileReco += ".root";
29 
30  // // ----- Parameter Files ------------------------------------------------
31  TString parFile=storePath+"/Lumi_Params_";
32  parFile += startEvent;
33  parFile += ".root";
34  TString digiparFile = "lumi.digi.par";
35 
36  // ----- Output File --------------------------------------------------
37  TString outFile = storePath+"/Lumi_Pairs_";
38  outFile += startEvent;
39  outFile += ".root";
40  std::cout << "DigiFileName: " << outFile.Data() << std::endl;
41 
42  // ----- Pair Finder / Cut Finder Runs -------------------------------------------
43  FairRunAna *fRun = new FairRunAna();
44  FairFileSource input_source(inFile);
45  input_source.AddFriend(inFileReco);
46  fRun->SetSource(&input_source);
47  fRun->SetOutputFile(outFile);
48  // ------------------------------------------------------------------------
49 
50  // ----- Parameter database --------------------------------------------
51  FairRuntimeDb* rtdb = fRun->GetRuntimeDb();
52  FairParRootFileIo* parInput1 = new FairParRootFileIo(kTRUE);
53  parInput1->open(parFile.Data(),"UPDATE");
54  rtdb->setFirstInput(parInput1);
55  FairParAsciiFileIo* parInput2 = new FairParAsciiFileIo();
56  parInput2->open(digiparFile.Data(),"in");
57  rtdb->setSecondInput(parInput2);
58 
59 
60  // =========================================================================
61  // ===== Start of PairFinder =====
62  // ----- Actual Task --------------------------------------------------
63 
64  //use dynamic cut parameters
65  PndLmdPairFinderTask* pndLmdPairFinder = new PndLmdPairFinderTask();
66  fRun->AddTask(pndLmdPairFinder);
67 
68  rtdb->setOutput(parInput1);
69  rtdb->print();
70  // ===== End of PairFinder =====
71  // =========================================================================
72 
73  // ----- No Idea what this does ----------------------------------------
74  PndSdsGeoPar* geoPar = (PndSdsGeoPar*)(rtdb->getContainer("PndSdsGeoPar"));
75 
76  // ----- Initialize and run PairFinder ----------------------------------
77  fRun->Init();
78  fRun->Run(0,nEvents);
79  rtdb->saveOutput();
80  rtdb->print();
81 
82  // ----- Finish -------------------------------------------------------
83  timer.Stop();
84  Double_t rtime = timer.RealTime();
85  Double_t ctime = timer.CpuTime();
86  cout << endl << endl;
87  cout << "Macro finished successfully." << endl;
88  cout << "Real time " << rtime << " s, CPU time " << ctime << " s\a\a" << endl;
89  cout << endl;
90 
91  // temporary fix to avoid double frees at the destruction of te program for pandaroot/fairroot with root6
92  gGeoManager->GetListOfVolumes()->Delete();
93  gGeoManager->GetListOfShapes()->Delete();
94  delete gGeoManager;
95 
96  return;
97 }
PndMvdGeoPar * geoPar
TString outFile
Definition: hit_dirc.C:17
Int_t startEvent
TString storePath
TString inFile
Definition: hit_dirc.C:8
TGeoManager * gGeoManager
FairRunAna * fRun
Definition: hit_dirc.C:58
Double_t
TString parFile
Definition: hit_dirc.C:14
Int_t nEvents
Definition: hit_dirc.C:11
TStopwatch timer
Definition: hit_dirc.C:51
FairRuntimeDb * rtdb
Definition: hit_dirc.C:66
FairParAsciiFileIo * parInput2
Definition: conMvdDigi.C:26
FairParRootFileIo * parInput1
Definition: hit_dirc.C:67
Double_t ctime
Definition: hit_dirc.C:114
Double_t rtime
Definition: hit_dirc.C:113
TString digiparFile