FairRoot/PandaRoot
outdated/run/recoqa_complete.C
Go to the documentation of this file.
1 
10 {
11  // Verbosity level (0=quiet, 1=event level, 2=track level, 3=debug)
12  Int_t iVerbose = 0; // just forget about it, for the moment
13 
14  // Number of events to process
15  Int_t nEvents = 0; // if 0 all the vents will be processed
16 
17  // Parameter file
18  TString parFile = "simparams.root"; // at the moment you do not need it
19 
20  // Digitisation file (ascii)
21  TString digiFile = "all.par";
22 
23  // Output file
24  TString outFile = "recoqa_complete.root";
25 
26  // ----- Timer --------------------------------------------------------
27  TStopwatch timer;
28  // ------------------------------------------------------------------------
29 
30  // ----- Reconstruction run -------------------------------------------
31  FairRunAna *fRun= new FairRunAna();
32  fRun->SetInputFile("sim_complete.root");
33  fRun->AddFriend("digi_complete.root");
34  fRun->AddFriend("reco_complete.root");
35  fRun->SetOutputFile(outFile);
36  fRun->SetGenerateRunInfo(kFALSE);
37  fRun->SetUseFairLinks(kTRUE);
38 
39  // ----- Parameter database --------------------------------------------
40  TString emcDigiFile = gSystem->Getenv("VMCWORKDIR");
41  emcDigiFile += "/macro/params/";
42  emcDigiFile += digiFile;
43 
44  FairRuntimeDb* rtdb = fRun->GetRuntimeDb();
45  FairParRootFileIo* parInput1 = new FairParRootFileIo();
46  parInput1->open(parFile.Data());
47 
48  FairParAsciiFileIo* parIo1 = new FairParAsciiFileIo();
49  parIo1->open(emcDigiFile.Data(),"in");
50 
51  rtdb->setFirstInput(parInput1);
52  rtdb->setSecondInput(parIo1);
53 
55  PndIdealTrackFinder* idealTracking = new PndIdealTrackFinder();
56  idealTracking->AddBranchName("MVDHitsPixel");
57  idealTracking->AddBranchName("MVDHitsStrip");
58  idealTracking->AddBranchName("STTHit");
59  idealTracking->AddBranchName("GEMHit");
60  fRun->AddTask(idealTracking);
61 
63  PndTrackingQATask* trackingQA = new PndTrackingQATask("SttMvdGemGenTrack", "IdealTrack");
64  fRun->AddTask(trackingQA);
65 
66  // ----- Intialise and run --------------------------------------------
67  //PndEmcMapper::Init(1);
68  cout << "fRun->Init()" << endl;
69  fRun->Init();
70 
71  timer.Start();
72  fRun->Run(0,nEvents);
73  // ------------------------------------------------------------------------
74 
75 
76  // ----- Finish -------------------------------------------------------
77  timer.Stop();
78  Double_t rtime = timer.RealTime();
79  Double_t ctime = timer.CpuTime();
80  cout << endl << endl;
81  cout << "Macro finished successfully." << endl;
82  cout << "Output file is " << outFile << endl;
83  cout << "Parameter file is " << parFile << endl;
84  cout << "Real time " << rtime << " s, CPU time " << ctime << " s" << endl;
85  cout << endl;
86  // ------------------------------------------------------------------------
87  cout << " Test passed" << endl;
88  cout << " All ok " << endl;
89  return 0;
90 }
TString outFile
Definition: hit_dirc.C:17
Ideal track finder for all types of tracking detectors The PndIdealTrackFinder combines all hits in ...
TString digiFile
Definition: bump_emc.C:20
TString emcDigiFile
Definition: bump_emc.C:45
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
FairParRootFileIo * parInput1
Definition: hit_dirc.C:67
Double_t ctime
Definition: hit_dirc.C:114
FairParAsciiFileIo * parIo1
Definition: bump_emc.C:53
Int_t iVerbose
Double_t rtime
Definition: hit_dirc.C:113
virtual void AddBranchName(TString name)
Search for tracks only in given branches. If no BranchName is given all tracking detectors are taken...
int recoqa_complete()