6 if ( nStations != 3 && nStations != 4 ) {
7 cout <<
"WRONG number of stations, only 3 or 4 allowed." << endl;
15 baseName.Form(
"Gem_%dStations_%gGeV_n%d",nStations,momentum,
nEvents);
22 std::cout <<
"Output File: " << outFile.Data()<< std::endl;
30 FairRunAna *
fRun=
new FairRunAna();
31 fRun->SetInputFile(MCFile);
32 fRun->AddFriend(hitFile);
33 fRun->SetOutputFile(outFile);
38 if ( nStations == 4 ) allDigiFile = sysFile+
"/macro/params/gem_4Stations.digi.par";
40 FairRuntimeDb*
rtdb = fRun->GetRuntimeDb();
41 FairParRootFileIo*
parInput1 =
new FairParRootFileIo();
42 parInput1->open(parFile.Data());
44 FairParAsciiFileIo*
parIo1 =
new FairParAsciiFileIo();
45 parIo1->open(allDigiFile.Data(),
"in");
47 rtdb->setFirstInput(parInput1);
48 rtdb->setSecondInput(parIo1);
55 fRun->AddTask(finderTask);
66 fRun->AddTask(trackFinderQA);
71 FairGeane *
Geane =
new FairGeane();
80 fRun->AddTask(recoKalman);
93 cout <<
"Macro finished succesfully." << endl;
94 cout <<
"Output file is " << outFile << endl;
95 cout <<
"Parameter file is " << parFile << endl;
96 cout <<
"Real time " << rtime <<
" s, CPU time " << ctime <<
" s" << endl;
void SetPrimary(const Int_t &primary)
void UseFinder(PndGemTrackFinder *finder)
void SetTrackOutBranchName(const TString &name)
void SetVerbose(const Int_t &verbose)
void SetVerbose(const Int_t &verbose)
Ideal track finding algorithm.
Int_t gem_idealTracks(Int_t nStations, Double_t momentum=15., Int_t nEvents=1000, int verboseLevel=0)
FairParRootFileIo * parInput1
FairParAsciiFileIo * parIo1
void SetTrackInBranchName(const TString &name)
PndRecoKalmanTask * recoKalman
track finding quality assesment task
Task class for track finding in the Gem.
void SetUseHitOrDigi(TString useHitOrDigi="hit")