7 #include <PndDchFindTracks.h> 
    8 #include <PndDchTrackFinderIdealCylHit.h> 
    9 #include <PndDchMatchTracks.h> 
   21 #include <PndTpcClusterFinderTask.h> 
   22 #include <PndTpcIdealTrackingTask.h> 
   24 #include <KalmanTask.h> 
   25 #include <TrackFitStatTask.h> 
   27 #include <FairGeane.h> 
   28 #include <FairBoxGenerator.h> 
   29 #include <FairEvtGenGenerator.h> 
   30 #include <FairModule.h> 
   31 #include <FairParAsciiFileIo.h> 
   32 #include <FairParRootFileIo.h> 
   33 #include <FairPrimaryGenerator.h> 
   34 #include <FairRunAna.h> 
   35 #include <FairRunSim.h> 
   36 #include <FairRuntimeDb.h> 
   39 #include <TStopwatch.h> 
   65   FairRunAna *
fRun= 
new FairRunAna();
 
   66   fRun->SetInputFile(mcFile);
 
   67   fRun->AddFriend(dgFile);
 
   68   fRun->SetOutputFile(outFile);
 
   71   FairGeane *
Geane = 
new FairGeane();
 
   77   emcDigiFile += 
"/macro/params/";
 
   79   FairRuntimeDb* 
rtdb = fRun->GetRuntimeDb();
 
   80   FairParRootFileIo* 
parInput1 = 
new FairParRootFileIo();
 
   81   parInput1->open(parFile.Data());
 
   83   FairParAsciiFileIo* 
parIo1 = 
new FairParAsciiFileIo();
 
   84   parIo1->open(emcDigiFile.Data(),
"in");
 
   86   rtdb->setFirstInput(parInput1);
 
   87   rtdb->setSecondInput(parIo1);
 
   95   fRun->AddTask(emcMakeCluster);
 
   97   fRun->AddTask(emcHdrFiller); 
 
   99   fRun->AddTask(emcMakeBump);
 
  101   fRun->AddTask(emcMakeRecoHit);
 
  107   fRun->AddTask(sttFindTracks);
 
  111   fRun->AddTask(sttTrackMatcher);  
 
  116   fRun->AddTask(sttFitTracks);
 
  119   fRun->AddTask(sttHHProducer);
 
  122   PndTpcClusterFinderTask* 
tpcCF = 
new PndTpcClusterFinderTask();
 
  124   tpcCF->SetPersistence();
 
  125   tpcCF->timeslice(20); 
 
  127   fRun->AddTask(tpcCF);
 
  130   PndTpcIdealTrackingTask* tpcIPR = 
new PndTpcIdealTrackingTask();
 
  131   tpcIPR->useGeane(
true);
 
  132   tpcIPR->useDistSorting(
true);
 
  133   fRun->AddTask(tpcIPR);
 
  134   tpcIPR->SetPersistence();
 
  137   PndDchFindTracks* finderTask = 
new PndDchFindTracks(
"dchFindTracks");
 
  138   finderTask->SetUseHitOrDigi(
"chit");
 
  139   fRun->AddTask(finderTask);
 
  141   PndDchTrackFinderIdealCylHit* mcTrackFinder = 
new  PndDchTrackFinderIdealCylHit();
 
  142   mcTrackFinder->SetPrimary(1);  
 
  143   finderTask->UseFinder(mcTrackFinder);
 
  145   PndDchMatchTracks *matchTask = 
new PndDchMatchTracks();
 
  146   matchTask->SetUseHitOrDigi(
"chit");
 
  147   fRun->AddTask(matchTask);
 
  151   fRun->AddTask(mvdmccls);
 
  158   fRun->AddTask(gemFinderTask);
 
  163   gemFinderTask->
UseFinder(gemTrackFinder);
 
  167   fRun->AddTask(gemTrackFinderQA);
 
  169   KalmanTask* 
kalman =
new KalmanTask();
 
  170   kalman->SetPersistence();
 
  171   kalman->SetNumIterations(3); 
 
  172   fRun->AddTask(kalman);
 
  174   TrackFitStatTask* fitstat=
new TrackFitStatTask();
 
  175   fitstat->SetPersistence();
 
  176   fitstat->SetMCPCut(10); 
 
  177   fitstat->SetMCCuts(0.05, 
 
  184   fRun->AddTask(fitstat);
 
  187   cout << 
"fRun->Init()" << endl;
 
  191   fRun->Run(0,nEvents);
 
  199   cout << endl << endl;
 
  200   cout << 
"Macro finished successfully." << endl;
 
  201   cout << 
"Output file is "    << outFile << endl;
 
  202   cout << 
"Parameter file is " << parFile << endl;
 
  203   cout << 
"Real time " << rtime << 
" s, CPU time " << ctime << 
" s" << endl;
 
void SetStorageOfData(Bool_t val)
Method to specify whether clusters are stored or not. 
void SetPrimary(const Int_t &primary)
PndSttMatchTracks * sttTrackMatcher
Create PndEmcRecoHit from PndEmcBump. 
PndSttHelixHitProducer * sttHHProducer
OnHits track finding algorithm. 
PndEmcMakeBump * emcMakeBump
PndMvdStripClusterTask * mvdmccls
PndSttTrackFitter * sttTrackFitter
void AddHitCollectionName(char *hitCollectionName, char *pointCollectionName)
void UseFinder(PndGemTrackFinder *finder)
PndSttTrackFinderReal * sttTrackFinder
PndEmcHdrFiller * emcHdrFiller
void RecoComplete(TString const &mcFile, TString const &dgFile, TString const &parFile, TString const &digiFile, TString const &outFile)
void SetVerbose(const Int_t &verbose)
PndEmcMakeCluster * emcMakeCluster
void AddHitCollectionName(char *hitCollectionName)
PndSttFindTracks * sttFindTracks
void SetVerbose(const Int_t &verbose)
Takes clusters and slits them up into bumps. 
FairParRootFileIo * parInput1
FairParAsciiFileIo * parIo1
Task to cluster PndEmcDigis. 
track finding quality assesment task 
PndTpcClusterFinderTask * tpcCF
Task class for track finding in the Gem. 
PndSttFitTracks * sttFitTracks
Task to create Emc header. 
void AddHitCollectionName(char *hitCollectionName, char *pointCollectionName)
void SetUseHitOrDigi(TString useHitOrDigi="hit")