20 gROOT->LoadMacro(
"$VMCWORKDIR/gconfig/rootlogon.C");
33 FairRunAna *
fRun=
new FairRunAna();
34 fRun->SetInputFile(inDigiFile);
35 fRun->AddFriend(inSimFile);
36 fRun->SetOutputFile(outFile);
37 FairGeane *
Geane =
new FairGeane();
44 FairRuntimeDb*
rtdb = fRun->GetRuntimeDb();
45 FairParRootFileIo*
parInput1 =
new FairParRootFileIo();
46 parInput1->open(parFile.Data());
48 FairParAsciiFileIo*
parIo1 =
new FairParAsciiFileIo();
49 parIo1->open(allDigiFile.Data(),
"in");
51 rtdb->setFirstInput(parInput1);
52 rtdb->setSecondInput(parIo1);
65 PndTpcRiemannTrackingTask*
tpcSPR =
new PndTpcRiemannTrackingTask();
68 fRun->AddTask(tpcSPR);
71 PndTpcTrackInitTask*
trackInit=
new PndTpcTrackInitTask();
72 trackInit->SetPersistence();
74 trackInit->SetMCPid();
77 trackInit->SetSmoothing(
true);
78 fRun->AddTask(trackInit);
80 KalmanTask*
kalman =
new KalmanTask();
81 kalman->SetPersistence();
82 kalman->SetNumIterations(3);
83 fRun->AddTask(kalman);
86 PndTpcMVDCorrelatorTask*
corr =
new PndTpcMVDCorrelatorTask();
87 corr->SetMatchDistance(0.18);
88 corr->SetMinMVDHits(1);
89 corr->SetOutTrackBranchName(
"TrackPreFitMVD");
90 corr->SetPersistence(
true);
96 kalman2->SetPersistence();
97 kalman2->SetNumIterations(3);
98 kalman2->SetTrackBranchName(
"TrackPreFitMVD");
99 kalman2->SetOutBranchName(
"TrackPostFitMVD");
100 fRun->AddTask(kalman2);
102 PndTpcGEMCorrelatorTask*
corrG =
new PndTpcGEMCorrelatorTask();
103 corrG->SetMatchDistance(0.5);
104 corrG->SetMinGEMHits(2);
105 corrG->SetTrackBranchName(
"TrackPostFitMVD");
106 corrG->SetOutTrackBranchName(
"TrackPreFitGEM");
107 corrG->SetPersistence(
true);
108 fRun->AddTask(corrG);
112 kalman3->SetPersistence();
113 kalman3->SetNumIterations(3);
114 kalman3->SetTrackBranchName(
"TrackPreFitGEM");
115 kalman3->SetOutBranchName(
"TrackPostFitComplete");
116 fRun->AddTask(kalman3);
118 PndGFTrackToPndTrackConvertorTask*
converter =
new PndGFTrackToPndTrackConvertorTask();
119 converter->SetTrackInBranchName(
"TrackPostFitComplete");
120 converter->SetTrackOutBranchName(
"PndTrackPostFitComplete");
121 fRun->AddTask(converter);
123 PndMCTrackAssociator*
trackMC =
new PndMCTrackAssociator();
124 trackMC->SetTrackInBranchName(
"PndTrackPostFitComplete");
125 trackMC->SetTrackOutBranchName(
"TrackPostFitCompleteID");
126 fRun->AddTask(trackMC);
131 fRun->Run(0, nEvents);
136 corr->WriteHistograms(
"MVDRes.root");
137 corrG->WriteHistograms(
"GEMRes.root");
146 cout << endl << endl;
147 cout <<
"Macro finished succesfully." << endl;
148 cout <<
"Output file is " << outFile << endl;
149 cout <<
"Parameter file is " << parFile << endl;
150 cout <<
"Real time " << rtime <<
" s, CPU time " << ctime <<
" s" << endl;
FairParRootFileIo * parInput1
FairParAsciiFileIo * parIo1
PndGFTrackToPndTrackConvertorTask * converter
PndTpcMVDCorrelatorTask * corr
Class to access the naming information of the MVD.
PndTpcTrackInitTask * trackInit
PndTpcGEMCorrelatorTask * corrG
static void Init(Int_t MapVersion)
PndTpcRiemannTrackingTask * tpcSPR
static PndGeoHandling * Instance()
PndMCTrackAssociator * trackMC