6 TString RunsListFile =
"runs.txt";
7 std::ifstream runsFileInput(RunsListFile.Data());
9 bool runexists =
false;
10 int nrun, nrunmax = -1;
17 runsFileInput >> strg;
18 while(!runsFileInput.eof()) {
20 sscanf(strg.c_str(),
"%d",&nrun);
23 runsFileInput >> strg; sscanf(strg.c_str(),
"%d",&
pid);
24 runsFileInput >> strg; sscanf(strg.c_str(),
"%d",&
nEvents);
25 runsFileInput >> strg; sscanf(strg.c_str(),
"%d",&
mult);
26 runsFileInput >> strg; sscanf(strg.c_str(),
"%f",&pmin);
27 runsFileInput >> strg; sscanf(strg.c_str(),
"%f",&pmax);
28 runsFileInput >> strg; sscanf(strg.c_str(),
"%f",&tmin);
29 runsFileInput >> strg; sscanf(strg.c_str(),
"%f",&tmax);
30 runsFileInput >> strg; sscanf(strg.c_str(),
"%f",&fmin);
31 runsFileInput >> strg; sscanf(strg.c_str(),
"%f",&fmax);
34 for(
size_t iw=0;iw<9;iw++) runsFileInput >> strg;
36 nrunmax = nrun>nrunmax ? nrun : nrunmax;
38 runsFileInput >> strg;
40 runsFileInput.close();
43 std::cout <<
"Run number " << nRun <<
" is not defined!" << std::endl;
47 std::cout <<
"run = " << nRun <<
" " << pid <<
" " << nEvents <<
" " << mult <<
" " << pmin <<
" "
48 << pmax <<
" " << tmin <<
" " << tmax <<
" " << fmin <<
" " << fmax << std::endl;
71 TString sim_File = Form(
"sim_complete_v%d_r%d.root",0,nRun);
72 TString digi_File = Form(
"digi_complete_v%d_r%d.root",0,nRun);
79 FairRunAna *
fRun=
new FairRunAna();
82 fRun->SetInputFile(sim_File);
83 fRun->AddFriend(digi_File);
84 fRun->SetOutputFile(outFile);
85 fRun->SetGenerateRunInfo(kFALSE);
86 fRun->SetUseFairLinks(kTRUE);
87 FairGeane *
Geane =
new FairGeane();
92 emcDigiFile +=
"/macro/params/";
95 FairRuntimeDb*
rtdb = fRun->GetRuntimeDb();
96 FairParRootFileIo*
parInput1 =
new FairParRootFileIo();
97 parInput1->open(parFile.Data());
99 FairParAsciiFileIo*
parIo1 =
new FairParAsciiFileIo();
100 parIo1->open(emcDigiFile.Data(),
"in");
102 rtdb->setFirstInput(parInput1);
103 rtdb->setSecondInput(parIo1);
116 fRun->AddTask(tracking);
120 SttMvdGemTracking->SetPersistence(kFALSE);
121 fRun->AddTask(SttMvdGemTracking);
123 PndMCTrackAssociator*
trackMC =
new PndMCTrackAssociator();
124 trackMC->SetTrackInBranchName(
"SttMvdGemTrack");
125 trackMC->SetTrackOutBranchName(
"SttMvdGemTrackID");
126 trackMC->SetPersistence(kFALSE);
127 fRun->AddTask(trackMC);
131 recoKalman->SetTrackInIDBranchName(
"SttMvdGemTrackID");
138 fRun->AddTask(recoKalman);
140 PndMCTrackAssociator*
trackMC2 =
new PndMCTrackAssociator();
141 trackMC2->SetTrackInBranchName(
"SttMvdGemGenTrack");
142 trackMC2->SetTrackOutBranchName(
"SttMvdGemGenTrackID");
143 fRun->AddTask(trackMC2);
151 fRun->AddTask(trackFts);
153 PndMCTrackAssociator* trackMCfwd =
new PndMCTrackAssociator();
154 trackMCfwd->SetTrackInBranchName(
"FtsIdealTrack");
155 trackMCfwd->SetTrackOutBranchName(
"FtsIdealTrackID");
156 fRun->AddTask(trackMCfwd);
167 fRun->AddTask(recoKalmanFwd);
169 PndMCTrackAssociator*
trackMC3 =
new PndMCTrackAssociator();
170 trackMC3->SetTrackInBranchName(
"FtsIdealGenTrack");
171 trackMC3->SetTrackOutBranchName(
"FtsIdealGenTrackID");
172 fRun->AddTask(trackMC3);
176 cout <<
"fRun->Init()" << endl;
180 fRun->Run(0,nEvents);
188 cout << endl << endl;
189 cout <<
"Macro finished successfully." << endl;
190 cout <<
"Output file is " << outFile << endl;
191 cout <<
"Parameter file is " << parFile << endl;
192 cout <<
"Real time " << rtime <<
" s, CPU time " << ctime <<
" s" << endl;
195 cout <<
" Test passed" << endl;
196 cout <<
" All ok " << endl;
void SetTrackOutput(TString name="FTSTrkIdeal")
void SetTrackingEfficiency(Double_t eff=1.)
void SetTrackOutBranchName(const TString &name)
PndMCTrackAssociator * trackMC2
void SetVertexSmearing(Double_t sigmax=-1., Double_t sigmay=-1., Double_t sigmaz=-1.)
PndRecoKalmanTask * recoKalmanFwd
void SetPersistence(Bool_t persistence)
static void Init(Int_t MapVersion)
void SetPersistence(Bool_t persistence)
PndMCTrackAssociator * trackMC3
PndTrkTracking * tracking
PndFtsTrackerIdeal * trackFts
FairParRootFileIo * parInput1
PndMCTrackAssociator * trackMC
FairParAsciiFileIo * parIo1
void SetInputBranchName(const char *string1, const char *string2, const char *string3)
void SetTrackRep(Short_t num)
void NoMvdAloneTracking()
void SetTrackInBranchName(const TString &name)
PndSttMvdGemTracking * SttMvdGemTracking
PndRecoKalmanTask * recoKalman
void SetRelativeMomentumSmearing(Double_t dpop=-1.)