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
void reco_complete_runs(Int_t nRun=0)
PndRecoKalmanTask * recoKalman
void SetRelativeMomentumSmearing(Double_t dpop=-1.)