FairRoot/PandaRoot
QA/run3/reco_complete_gf2.C
Go to the documentation of this file.
1 // Macro for running Panda reconstruction tasks
2 // to run the macro:
3 // root reco_complete.C or in root session root>.x reco_complete.C
4 #include <TEveManager.h>
5 
6 int reco_complete_gf2(Int_t nEvents = 0)
7 {
8  //-----User Settings:------------------------------------------------------
9  TString parAsciiFile = "all.par";
10  TString input = "psi2s_Jpsi2pi_Jpsi_mumu.dec";
11  TString output = "reco_gf2";
12  TString friend1 = "sim";
13  TString friend2 = "digi";
14  TString friend3 = "";
15  TString friend4 = "";
16 
17  // ----- Initial Settings --------------------------------------------
19  fRun->SetInput(input);
20  fRun->SetOutput(output);
21  fRun->AddFriend(friend1);
22  fRun->AddFriend(friend2);
23  fRun->AddFriend(friend3);
24  fRun->AddFriend(friend4);
25  fRun->SetParamAsciiFile(parAsciiFile);
26  fRun->Setup();
27 
28  // ----- Add tasks ----------------------------------------------------
29  FairGeane *Geane = new FairGeane();
30  fRun->AddTask(Geane);
31 
32  // use the constructor with input :
33  // printout flag (int) , plotting flag (bool), MC comparison flag (bool), SciTil.
34  PndTrkTracking2* tracking = new PndTrkTracking2(0,false,false,true);
35  tracking->SetInputBranchName("STTHit","MVDHitsPixel","MVDHitsStrip");
36  // tracking->SetInputBranchName("STTHitMix","MVDHitsPixelMix","MVDHitsStripMix");
37  // don't do the Pattern Recognition second part, starting from the Mvd;
38  tracking->NoMvdAloneTracking();
39  // do Cleanup only when there is Mixing;
40  // tracking->Cleanup();
41  tracking->SetPersistency(kFALSE);
42  fRun->AddTask(tracking);
43 
45  //SttMvdGemTracking->SetPdgFromMC();
46  SttMvdGemTracking->SetPersistency(kFALSE);
47  fRun->AddTask(SttMvdGemTracking);
48 
49 // PndMCTrackAssociator* trackMC = new PndMCTrackAssociator();
50 // trackMC->SetTrackInBranchName("SttMvdGemTrack");
51 // trackMC->SetTrackOutBranchName("SttMvdGemTrackID");
52 // trackMC->SetPersistency(kFALSE);
53 // fRun->AddTask(trackMC);
54 
56  recoKalman->SetTrackInBranchName("SttMvdGemTrack");
57 // recoKalman->SetTrackInIDBranchName("SttMvdGemTrackID");
58  recoKalman->SetTrackOutBranchName("SttMvdGemGenTrack");
59  recoKalman->SetBusyCut(50); // CHECK to be tuned
60  //recoKalman->SetIdealHyp(kTRUE);
61  //recoKalman->SetNumIterations(3);
62  //recoKalman->SetTrackRep(0); // 0 Geane (default), 1 RK
63  //recoKalman->SetPropagateToIP(kFALSE);
64  fRun->AddTask(recoKalman);
65 
66 // PndMCTrackAssociator* trackMC2 = new PndMCTrackAssociator();
67 // trackMC2->SetTrackInBranchName("SttMvdGemGenTrack");
68 // trackMC2->SetTrackOutBranchName("SttMvdGemGenTrackID");
69 // fRun->AddTask(trackMC2);
70 //
72  trackFts->SetTrackSelector("FtsTrackFunctor");
73  trackFts->SetRelativeMomentumSmearing(0.05);
74  trackFts->SetVertexSmearing(0.05, 0.05, 0.05);
75  trackFts->SetTrackingEfficiency(1.);
76  trackFts->SetOutputBranchName("FtsIdealTrack");
77  trackFts->SetPersistency(kFALSE);
78  fRun->AddTask(trackFts);
79 
80 // PndMCTrackAssociator* trackMCfwd = new PndMCTrackAssociator();
81 // trackMCfwd->SetTrackInBranchName("FtsIdealTrack");
82 // trackMCfwd->SetTrackOutBranchName("FtsIdealTrackID");
83 // fRun->AddTask(trackMCfwd);
84 
86  recoKalmanFwd->SetTrackInBranchName("FtsIdealTrack");
87  //recoKalmanFwd->SetTrackInIDBranchName("FtsIdealTrackID");
88  recoKalmanFwd->SetTrackOutBranchName("FtsIdealGenTrack");
89  recoKalmanFwd->SetBusyCut(50); // CHECK to be tuned
90  //recoKalmanFwd->SetIdealHyp(kTRUE);
91  //recoKalmanFwd->SetNumIterations(3);
92  //recoKalmanFwd->SetTrackRep(0); // 0 Geane (default), 1 RK
93  //recoKalmanFwd->SetPropagateToIP(kFALSE);
94  fRun->AddTask(recoKalmanFwd);
95 
96 // PndMCTrackAssociator* trackMC3 = new PndMCTrackAssociator();
97 // trackMC3->SetTrackInBranchName("FtsIdealGenTrack");
98 // trackMC3->SetTrackOutBranchName("FtsIdealGenTrackID");
99 // fRun->AddTask(trackMC3);
100 
101  // ----- Intialise and run --------------------------------------------
103  fRun->Init();
104  fRun->Run(0, nEvents);
105  fRun->Finish();
106 
107  return 0;
108 }
Class for the master reconstruction chain.
Bool_t Setup(TString outprefix="")
Initial setup.
void SetTrackingEfficiency(Double_t eff=1.)
void SetTrackInBranchName(const TString &name)
Ideal track finder for all types of tracking detectors The PndIdealTrackFinder combines all hits in ...
void SetPersistency(Bool_t val=kTRUE)
virtual void SetOutputBranchName(TString name)
void AddFriend(TString par)
Setter of friend root files.
FairParRootFileIo * output
Definition: sim_emc_apd.C:120
FairGeane * Geane
int reco_complete_gf2(Int_t nEvents=0)
FairRunAna * fRun
Definition: hit_dirc.C:58
void SetInput(TString par)
Input of the macro.
void SetTrackOutBranchName(const TString &name)
void SetTrackSelector(TString selector)
PndRecoKalmanTask * recoKalmanFwd
Int_t nEvents
Definition: hit_dirc.C:11
static void Init(Int_t MapVersion)
PndTrkTracking * tracking
PndFtsTrackerIdeal * trackFts
void SetInputBranchName(const char *string1, const char *string2, const char *string3)
void SetVertexSmearing(Double_t sigmax=-1., Double_t sigmay=-1., Double_t sigmaz=-1.)
void NoMvdAloneTracking()
PndSttMvdGemTracking * SttMvdGemTracking
void Finish()
Final diagnostics.
PndRecoKalmanTask * recoKalman
void SetOutput(TString par)
Tag of the output file of the macro.
void SetParamAsciiFile(TString par)
Setter of the parameter ascii file.
void SetRelativeMomentumSmearing(Double_t dpop=-1.)
void SetBusyCut(Int_t b)