FairRoot/PandaRoot
QA/eventDet/reco.C
Go to the documentation of this file.
1 #include "../auxi.C"
2 int reco()
3 {
4 
5  Int_t iVerbose = 0;
6 
7  // Number of events to process
8  Int_t nEvents = 0; // if 0 all the events will be processed
9 
10  Bool_t timebased = kTRUE; // "Countinuous ReadOut"
11 
12  TString simFile = "sim.root";
13  TString digiFile = "digi.root";
14  TString outFile = "reco.root";
15 
16  TString parFile ="sim_params.root";
17  TString digiParFile = "all.par";
18  // ----- Timer --------------------------------------------------------
19  TStopwatch timer;
20  // ------------------------------------------------------------------------
21 
22  // ----- Reconstruction run -------------------------------------------
23  FairRunAna *fRun= new FairRunAna();
24  fRun->SetInputFile(digiFile);
25  fRun->AddFriend(simFile);
26  fRun->SetOutputFile(outFile);
27  fRun->SetGenerateRunInfo(kFALSE);
28  fRun->SetUseFairLinks(kTRUE);
29  FairGeane *Geane = new FairGeane();
30  fRun->AddTask(Geane);
31 
32  // ----- Parameter database --------------------------------------------
33  TString emcDigiFile = gSystem->Getenv("VMCWORKDIR");
34  emcDigiFile += "/macro/params/";
35  emcDigiFile += digiParFile;
36 
37  FairRuntimeDb* rtdb = fRun->GetRuntimeDb();
38  FairParRootFileIo* parInput1 = new FairParRootFileIo();
39  parInput1->open(parFile.Data());
40 
41  FairParAsciiFileIo* parIo1 = new FairParAsciiFileIo();
42  parIo1->open(emcDigiFile.Data(),"in");
43 
44  rtdb->setFirstInput(parInput1);
45  rtdb->setSecondInput(parIo1);
46 
47  PndT0CandidateTask* T0CandidateTask = new PndT0CandidateTask();
48  fRun->AddTask(T0CandidateTask);
49 
50  /*
51  PndSolCorrTask* SolCorrTask = new PndSolCorrTask();
52  SolCorrTask->SetOutBranchName("TOFCounter");
53  SolCorrTask->AddInputBranch("SciTHit");
55  SolCorrTask->AddInputBranch("FtofHit");
56  //SolCorrTask->AddInputBranch("MVDHitsPixel");
57  //SolCorrTask->AddInputBranch("MVDHitsStrip");
58  SolCorrTask->RunContinuous(timebased);
59  fRun->AddTask(SolCorrTask);
60  */
61 
62 
63  // ----- Intialise and run --------------------------------------------
65  cout << "fRun->Init()" << endl;
66 
67  fRun->Init();
68 
69  timer.Start();
70  fRun->Run(0,nEvents);
71  // ------------------------------------------------------------------------
72 
73 
74  // ----- Finish -------------------------------------------------------
75  timer.Stop();
76  Double_t rtime = timer.RealTime();
77  Double_t ctime = timer.CpuTime();
78  cout << endl << endl;
79  cout << "Macro finished successfully." << endl;
80  cout << "Output file is " << outFile << endl;
81  cout << "Parameter file is " << parFile << endl;
82  cout << "Real time " << rtime << " s, CPU time " << ctime << " s" << endl;
83  cout << endl;
84  // ------------------------------------------------------------------------
85  cout << " Test passed" << endl;
86  cout << " All ok " << endl;
88  return 0;
89 }
TString outFile
Definition: hit_dirc.C:17
TString digiFile
Definition: bump_emc.C:20
TString emcDigiFile
Definition: bump_emc.C:45
void CloseGeoManager()
Definition: QA/auxi.C:11
FairGeane * Geane
FairRunAna * fRun
Definition: hit_dirc.C:58
TString simFile
Definition: bump_emc.C:11
Double_t
TString parFile
Definition: hit_dirc.C:14
Int_t nEvents
Definition: hit_dirc.C:11
TStopwatch timer
Definition: hit_dirc.C:51
static void Init(Int_t MapVersion)
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 reco()
Int_t iVerbose
Double_t rtime
Definition: hit_dirc.C:113