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  // Default in this example is to use "FWDST" detector hits; more than
22  // one custom detector may be added here via AddDetectorGroup() call(s);
23  idealTracker->AddDetectorGroup("FWDST");
24  // Add a bit of fairness to the reconstruction procedure; smear "ideal"
25  // momenta by 10% relative before giving hit collection over to KF fitter;
26  idealTracker->SetRelativeMomentumSmearing(0.1);
27  // Also smear a bit "ideal" vertex;
28  idealTracker->SetVertexSmearing(100 * eic::um, 100 * eic::um, 100 * eic::um);
29  // Assume 100% hit association efficiency;
30  idealTracker->SetTrackingEfficiency(1.);
31  fRun->AddTask(idealTracker);
32 
33  gSystem->Load("/DATA00/ayk/FAIRROOT.FRESH/FairSoft-jul15p1/build/lib/libgeant321.so");
34  EicHtcTask *htc = new EicHtcTask(idealTracker, TrKalmanFilter::WithField);
35  htc->SetTrackOutBranchName("EicIdealGenTrack");
37  htc->SetHitOutputSlopeScale (1E0);
38  htc->SetHitOutputResidualScaleXY (1E4);
39  htc->SetParticleHypothesis("pion", 10.0);
40  fRun->AddTask(htc);
41 
42  // Invoke and configure PandaRoot Kalman filter code wrapper;
43  //fRun->AddTask(new EicRecoKalmanTask(idealTracker));
44 
45  // This call here just performs track backward propagation to the beam line;
46  //fRun->AddTask(new PndPidCorrelator());
47 
48  // Initialize and run the reconstruction; exit at the end;
49  fRun->Run();
50 } // reconstruction()