7 if ( nStations != 3 && nStations != 4 ) {
8 cout <<
"WRONG number of stations (" << nStations <<
"), only 3 or 4 allowed." << endl;
16 baseName.Form(
"Gem_MvdStt_%dStations_DPM_n%d",nStations,
nEvents);
20 TString digiFile = baseName + Form(
"_digiSorted_a%d_c%dx%d.root",anaEv,nofC,cWid);
21 TString trackFile = baseName + Form(
"_CluHiTrack_a%d_c%dx%d.root",anaEv,nofC,cWid);
24 std::cout <<
"Output File: " << trackFile.Data()<< std::endl;
31 FairRunAna *
fRun=
new FairRunAna();
32 fRun->SetInputFile(digiFile);
33 fRun->SetOutputFile(trackFile);
35 fRun->SetEventMeanTime(50);
39 if ( nStations == 4 ) allDigiFile = sysFile+
"/macro/params/gem_4Stations.digi.par";
41 FairRuntimeDb*
rtdb = fRun->GetRuntimeDb();
42 FairParRootFileIo*
parInput1 =
new FairParRootFileIo();
43 parInput1->open(parFile.Data());
45 FairParAsciiFileIo*
parIo1 =
new FairParAsciiFileIo();
46 parIo1->open(allDigiFile.Data(),
"in");
48 rtdb->setFirstInput(parInput1);
49 rtdb->setSecondInput(parIo1);
55 fRun->AddTask(gemFindClusters);
59 fRun->AddTask(gemFindHits);
65 fRun->AddTask(finderTask);
83 cout <<
"Macro finished succesfully." << endl;
84 cout <<
"Output file is " << trackFile << endl;
85 cout <<
"Parameter file is " << parFile << endl;
86 cout <<
"Real time " << rtime <<
" s, CPU time " << ctime <<
" s" << endl;
PndGemFindHits * gemFindHits
void SetUseClusters(Bool_t bt=kTRUE)
void SetPrimary(const Int_t &primary)
void UseFinder(PndGemTrackFinder *finder)
OnHits track finding algorithm.
void SetInBranchName(TString ibn)
FairParRootFileIo * parInput1
FairParAsciiFileIo * parIo1
void SetVerbose(const Int_t &verbose)
Task class for track finding in the Gem.
Int_t TB_gem_CluHiTra(Int_t nEvents=1000, Int_t anaEv=1000, Int_t nofC=1000, Int_t cWid=10, Int_t nStations=3, int verboseLevel=0)
void SetUseHitOrDigi(TString useHitOrDigi="hit")