FairRoot/PandaRoot
detectors/lmd/QA_LMD.C
Go to the documentation of this file.
1 // QA macro for lmd
2 // created 23/07/2015 by A.Karavdina
3 
4 int QA_LMD(const int nEvents=2000, const int startEvent=0, TString storePath="", const int verboseLevel=0)
5 {
6  // ========================================================================
7  // Input file (MC events)
8  TString MCFile = storePath+"Lumi_MC_";
9  MCFile += startEvent;
10  MCFile += ".root";
11  TString DigiFile = storePath+"Lumi_digi_";
12  DigiFile += startEvent;
13  DigiFile += ".root";
14 
15  // Reco file
16  TString GeaFile = storePath+"Lumi_Geane_";
17  GeaFile += startEvent;
18  GeaFile += ".root";
19 
20 
21  // Dummy file
22  TString DumFile = storePath+"Lumi_IGNORE_";
23  DumFile += startEvent;
24  DumFile += ".root";
25  // Output file
26  TString OutFile = storePath+"Lumi_QA_";
27  OutFile += startEvent;
28  OutFile += ".root";
29  // Par file
30  TString parFile = storePath+"Lumi_Params_";
31  parFile += startEvent;
32  parFile += ".root";
33 
34 
35  std::cout << "MCFile : " << MCFile.Data()<< std::endl;
36  std::cout << "DigiFile: " << DigiFile.Data()<< std::endl;
37  std::cout << "RecoFile: " << GeaFile.Data()<< std::endl;
38 
39 
40  // ----- Timer --------------------------------------------------------
41  TStopwatch timer;
42  timer.Start();
43  // ------------------------------------------------------------------------
44 
45  FairRunAna *fRun= new FairRunAna();
46  fRun->SetInputFile(GeaFile);
47  fRun->AddFriend(DigiFile);
48  fRun->AddFriend(MCFile);
49  fRun->SetOutputFile(DumFile);
50 
51  // ----- Parameter database --------------------------------------------
52  FairRuntimeDb* rtdb = fRun->GetRuntimeDb();
53  FairParRootFileIo* parInput1 = new FairParRootFileIo(kTRUE);
54  parInput1->open(parFile.Data(),"UPDATE");
55  rtdb->setFirstInput(parInput1);
56 
57  PndLmdQATask* lmdqa = new PndLmdQATask("LMDPoint","MCTrack","LMDPixelClusterCand","LMDPixelDigis","LMDHitsMerged","LMDTrackCand","LMDPndTrackFilt","GeaneTrackFinal",OutFile);
58  lmdqa->SetVerbose(verboseLevel);
59  fRun->AddTask(lmdqa);
60  fRun->SetGenerateRunInfo(kFALSE);
61 
62  fRun->Init();
63  fRun->Run(0,nEvents);
64 
65  // ----- Finish -------------------------------------------------------
66  timer.Stop();
67  Double_t rtime = timer.RealTime();
68  Double_t ctime = timer.CpuTime();
69  cout << endl << endl;
70  cout << "Macro finished succesfully." << endl;
71  cout << "Real time " << rtime << " s, CPU time " << ctime << " s" << endl;
72  cout << endl;
73  // ------------------------------------------------------------------------
74 
75 
76 }
int verboseLevel
Definition: Lars/runMvdSim.C:7
Int_t startEvent
TString storePath
FairRunAna * fRun
Definition: hit_dirc.C:58
TString DigiFile
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
virtual InitStatus Init()
TString MCFile
Double_t rtime
Definition: hit_dirc.C:113
int QA_LMD(const int nEvents=2000, const int startEvent=0, TString storePath="", const int verboseLevel=0)