EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
reconstruction.C
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file reconstruction.C
1 
2 //
3 // Simplistic scheme: perform ideal hit-to-track association (this is Monte-Carlo,
4 // so it is perfectly known which hit belogned to which track) and Kalman filter
5 // tracking fit on digitized hits;
6 //
7 
9 {
10  // Load basic libraries;
11  gROOT->Macro("$VMCWORKDIR/gconfig/rootlogon.C");
12 
13  // Create generic analysis run manager; configure it for track reconstruction;
14  EicRunAna *fRun = new EicRunAna();
15  fRun->SetInputFile ("simulation.root");
16  fRun->AddFriend ("digitization.root");
17  fRun->SetOutputFile("reconstruction.root");
18 
19  // Call "ideal" hit-to-track associator routine;
20  EicIdealTrackingCode* idealTracker = new EicIdealTrackingCode();
21  idealTracker->AddDetectorGroup("IPPT");
22  idealTracker->AddDetectorGroup("B0TRACKER");
23  //idealTracker->AddDetectorGroup("RP");
24  // Add a bit of fairness to the reconstruction procedure; smear "ideal"
25  // momenta by a few % relative before giving hit collection over to KF fitter;
26  idealTracker->SetRelativeMomentumSmearing(0.10);
27  // Also smear a bit "ideal" vertex;
28  idealTracker->SetVertexSmearing(0.01, 0.01, 0.01);
29  // Assume 100% hit association efficiency;
30  idealTracker->SetTrackingEfficiency(1.);
31  fRun->AddTask(idealTracker);
32 
33  // Invoke and configure PandaRoot Kalman filter code wrapper;
34  EicRecoKalmanTask *kftask = new EicRecoKalmanTask(idealTracker);
35  //kftask->StoreTrackParameterization();
36  fRun->AddTask(kftask);
37 
38 #if _LATER_
39  EicHtcTask *htc = new EicHtcTask(idealTracker, TrKalmanFilter::WithField);
40  htc->SetTrackOutBranchName("EicIdealGenTrack");
41  //+htc->SetMediaScanThetaPhi(0.022*180.0/TMath::Pi(), 0.0);
42  htc->SetMediaScanThetaPhi(0.030*180.0/TMath::Pi(), 0.0);
43  //htc->SetParticleHypothesis("proton", 275.0);
44  htc->SetParticleHypothesis("proton", 100.0);
45  fRun->AddTask(htc);
46 #endif
47 
48  // This call here just performs track backward propagation to the beam line;
49  fRun->AddTask(new PndPidCorrelator());
50 
51  // Initialize and run the reconstruction; exit at the end;
52  fRun->Run();
53 } // reconstruction()