FairRoot/PandaRoot
runLumiPixel7QA.C
Go to the documentation of this file.
1 int runLumiPixel7QA(const int nEvents=100000, const int startEvent=0, TString storePath="tmpOutnewDesign", const int verboseLevel=5, const double Plab=15, const bool isClean=false)
2 {
3  // ========================================================================
4  // Input file (MC events)
5  TString MCFile = storePath+"/Lumi_MC_";
6  MCFile += startEvent;
7  MCFile += ".root";
8  TString DigiFile = storePath+"/Lumi_digi_";
9  DigiFile += startEvent;
10  DigiFile += ".root";
11  // Digi file
12  TString RecoMergedFile = storePath+"/Lumi_recoMerged_";
13  RecoMergedFile += startEvent;
14  RecoMergedFile += ".root";
15  TString RecoFile = storePath+"/Lumi_reco_";
16  RecoFile += startEvent;
17  RecoFile += ".root";
18  // TCand file
19  TString CandFile = storePath+"/Lumi_TCand_";
20  CandFile += startEvent;
21  CandFile += ".root";
22  // Parameter file
23  TString parFile = storePath+"/Lumi_Params_";
24  parFile += startEvent;
25  parFile += ".root";
26  // Track file
27  TString TrkFile = storePath+"/Lumi_Track_";
28  TrkFile += startEvent;
29  TrkFile += ".root";
30  // Geane file
31 // Geane file
32  TString GeaFile;
33  if(isClean){
34  GeaFile = storePath+"/Lumi_GeaneFiltered_";
35  GeaFile += startEvent;
36  GeaFile += ".root";
37  }
38  else{
39  GeaFile = storePath+"/Lumi_Geane_";
40  GeaFile += startEvent;
41  GeaFile += ".root";
42  }
43 
44  // Dummy file
45  TString DumFile = storePath+"/Lumi_IGNORE_";
46  DumFile += startEvent;
47  DumFile += ".root";
48  // Output file
49  TString OutFile = storePath+"/Lumi_QA_";
50  OutFile += startEvent;
51  OutFile += ".root";
52  // Par file
53  TString parFile = storePath+"/Lumi_Params_";
54  parFile += startEvent;
55  parFile += ".root";
56 
57  // // ---- Load libraries -------------------------------------------------
58 // gROOT->Macro("$VMCWORKDIR/gconfig/rootlogon.C");
59 // //-lRooFit –lRooFitCore -lMinuit
60 // gSystem->Load("libSds");
61 // gSystem->Load("libSdsReco");
62 // gSystem->Load("libLmd");
63 // gSystem->Load("libLmdReco");
64 // gSystem->Load("libLmdTrk");
65 // gSystem->Load("libLmdTool");
66 // // ------------------------------------------------------------------------
67 
68  std::cout << "MCFile : " << MCFile.Data()<< std::endl;
69  std::cout << "DigiFile: " << DigiFile.Data()<< std::endl;
70  std::cout << "RecoFile: " << RecoFile.Data()<< std::endl;
71  std::cout << "TCandFile: " << CandFile.Data()<< std::endl;
72  std::cout << "TrackFile: " << TrkFile.Data()<< std::endl;
73  std::cout << "GeaneFile: " << GeaFile.Data()<< std::endl;
74 
75 
76  // ----- Timer --------------------------------------------------------
77  TStopwatch timer;
78  timer.Start();
79  // ------------------------------------------------------------------------
80 
81  FairRunAna *fRun= new FairRunAna();
82  fRun->SetInputFile(GeaFile);
83  fRun->AddFriend(TrkFile);
84  fRun->AddFriend(CandFile);
85  fRun->AddFriend(RecoFile);
86  fRun->AddFriend(DigiFile);
87  fRun->AddFriend(MCFile);
88  fRun->AddFriend(RecoMergedFile);
89  fRun->SetOutputFile(DumFile);
90 
91  // ----- Parameter database --------------------------------------------
92  FairRuntimeDb* rtdb = fRun->GetRuntimeDb();
93  FairParRootFileIo* parInput1 = new FairParRootFileIo(kTRUE);
94  parInput1->open(parFile.Data(),"UPDATE");
95  rtdb->setFirstInput(parInput1);
96 
97  PndLmdQATask* lmdqa;
98  if(isClean){
99  lmdqa = new PndLmdQATask("LMDPoint","MCTrack","LMDPixelClusterCand","LMDPixelDigis","LMDHitsMerged","LMDTrackCand","LMDPndTrackFilt","LMDCleanTrack",OutFile);
100  }
101  else{
102  lmdqa = new PndLmdQATask("LMDPoint","MCTrack","LMDPixelClusterCand","LMDPixelDigis","LMDHitsMerged","LMDTrackCand","LMDPndTrackFilt","GeaneTrackFinal",OutFile);
103  }
104  lmdqa->SetVerbose(verboseLevel);
105  fRun->AddTask(lmdqa);
106  fRun->SetGenerateRunInfo(kFALSE);
107  //rtdb->setOutput(parInput1);
108  // rtdb->print();
109 
110  fRun->Init();
111 
112  fRun->Run(0,nEvents);
113 
114  // ----- Finish -------------------------------------------------------
115  timer.Stop();
116  Double_t rtime = timer.RealTime();
117  Double_t ctime = timer.CpuTime();
118  cout << endl << endl;
119  cout << "Macro finished succesfully." << endl;
120  cout << "Real time " << rtime << " s, CPU time " << ctime << " s" << endl;
121  cout << endl;
122  // ------------------------------------------------------------------------
123 
124 
125  return 0;
126 }
int runLumiPixel7QA(const int nEvents=100000, const int startEvent=0, TString storePath="tmpOutnewDesign", const int verboseLevel=5, const double Plab=15, const bool isClean=false)
int verboseLevel
Definition: Lars/runMvdSim.C:7
TString RecoFile
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