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;
78 FairRunAna *
fRun=
new FairRunAna();
79 fRun->SetInputFile(inFile);
80 fRun->SetOutputFile(outFile);
81 fRun->SetGenerateRunInfo(kFALSE);
82 fRun->SetUseFairLinks(kTRUE);
85 allDigiFile +=
"/macro/params/";
88 FairRuntimeDb*
rtdb = fRun->GetRuntimeDb();
89 FairParRootFileIo*
parInput1 =
new FairParRootFileIo();
90 parInput1->open(parFile.Data());
92 FairParAsciiFileIo*
parIo1 =
new FairParAsciiFileIo();
93 parIo1->open(allDigiFile.Data(),
"in");
95 rtdb->setFirstInput(parInput1);
96 rtdb->setSecondInput(parIo1);
100 fRun->AddTask(sttHitProducer);
105 fRun->AddTask(mvddigi);
109 fRun->AddTask(mvdmccls);
116 fRun->AddTask(emcHitsToWaveform);
117 fRun->AddTask(emcWaveformToDigi);
120 fRun->AddTask(emcMakeCluster);
123 fRun->AddTask(emcMakeBump);
130 tofhit->SetVerbose(iVerbose);
131 fRun->AddTask(tofhit);
136 fRun->AddTask(mdtHitProd);
139 fRun->AddTask(mdtTrkProd);
143 drchit->SetVerbose(iVerbose);
144 fRun->AddTask(drchit);
149 fRun->AddTask(gemDigitize);
152 fRun->AddTask(gemFindHits);
156 fRun->AddTask(ftsHitProducer);
160 ftofhit->SetVerbose(iVerbose);
161 fRun->AddTask(ftofhit);
165 richhit->SetVerbose(iVerbose);
167 fRun->AddTask(richhit);
179 cout << endl << endl;
180 cout <<
"Macro finished successfully." << endl;
181 cout <<
"Output file is " << outFile << endl;
182 cout <<
"Parameter file is " << parFile << endl;
183 cout <<
"Real time " << rtime <<
" s, CPU time " << ctime <<
" s" << endl;
186 cout <<
" Test passed" << endl;
187 cout <<
" All ok " << endl;
PndGemFindHits * gemFindHits
PndEmcHitsToWaveform * emcHitsToWaveform
PndEmcMakeBump * emcMakeBump
void SetPhDetNoiseON(UInt_t phDetNoise)
PndMvdStripClusterTask * mvdmccls
PndSttHitProducerRealFast * sttHitProducer
PndFtofHitProducerIdeal * tofhit
PndMdtHitProducerIdeal * mdtHitProd
PndDrcHitProducerReal * drchit
PndEmcMakeCluster * emcMakeCluster
Takes clusters and slits them up into bumps.
void SetVerbose(Int_t iVerbose)
FairParRootFileIo * parInput1
PndFtofHitProducerIdeal * ftofhit
PndGemDigitize * gemDigitize
PndEmcWaveformToDigi * emcWaveformToDigi
FairParAsciiFileIo * parIo1
Task to cluster PndEmcDigis.
void digi_complete_runs(Int_t nRun=0)
PndMdtTrkProducer * mdtTrkProd
PndFtsHitProducerRealFast * ftsHitProducer
void SetPositionSmearing(Float_t res)
Set the smearing of the PndMdtHit position.