FairRoot/PandaRoot
Functions
reco_complete_sec.C File Reference

Go to the source code of this file.

Functions

int reco_complete_sec (Int_t nEvents=0)
 

Function Documentation

int reco_complete_sec ( Int_t  nEvents = 0)

Definition at line 4 of file reco_complete_sec.C.

References PndMasterRunAna::AddFriend(), PndMasterRunAna::Finish(), fRun, Geane, PndEmcMapper::Init(), nEvents, PndTrkTracking2::NoMvdAloneTracking(), output, recoKalman, recoKalmanFwd, PndTrkTrackFinder::SearchSecondaryTracks(), PndRecoKalmanTask::SetBusyCut(), PndMasterRunAna::SetInput(), PndTrkTracking2::SetInputBranchName(), PndMasterRunAna::SetOutput(), PndIdealTrackFinder::SetOutputBranchName(), PndMasterRunAna::SetParamAsciiFile(), PndPersistencyTask::SetPersistency(), PndIdealTrackFinder::SetRelativeMomentumSmearing(), PndRecoKalmanTask::SetTrackInBranchName(), PndIdealTrackFinder::SetTrackingEfficiency(), PndRecoKalmanTask::SetTrackOutBranchName(), PndRecoKalmanTask::SetTrackRep(), PndIdealTrackFinder::SetTrackSelector(), PndMasterRunAna::Setup(), PndIdealTrackFinder::SetVertexSmearing(), SttMvdGemTracking, trackFts, tracking, and TString.

5 {
6  //-----User Settings:------------------------------------------------------
7  TString parAsciiFile = "all.par";
8  TString input = "psi2s_Jpsi2pi_Jpsi_mumu.dec";
9  TString output = "recosec";
10  TString friend1 = "sim";
11  TString friend2 = "digi";
12  TString friend3 = "";
13  TString friend4 = "";
14 
15  // ----- Initial Settings --------------------------------------------
17  fRun->SetInput(input);
18  fRun->SetOutput(output);
19  fRun->AddFriend(friend1);
20  fRun->AddFriend(friend2);
21  fRun->AddFriend(friend3);
22  fRun->AddFriend(friend4);
23  fRun->SetParamAsciiFile(parAsciiFile);
24  fRun->Setup();
25 
26  // ----- Add tasks ----------------------------------------------------
27  FairGeane *Geane = new FairGeane();
28  fRun->AddTask(Geane);
29 
30  // use the constructor with input :
31  // printout flag (int) , plotting flag (bool), MC comparison flag (bool), SciTil.
32  PndTrkTracking2* tracking = new PndTrkTracking2(0,false,false,true);
33  tracking->SetInputBranchName("STTHit","MVDHitsPixel","MVDHitsStrip");
34  // tracking->SetInputBranchName("STTHitMix","MVDHitsPixelMix","MVDHitsStripMix");
35  // don't do the Pattern Recognition second part, starting from the Mvd;
36  tracking->NoMvdAloneTracking();
37  // do Cleanup only when there is Mixing;
38  // tracking->Cleanup();
39  tracking->SetPersistency(kFALSE);
40  fRun->AddTask(tracking);
41 
43  //SttMvdGemTracking->SetPdgFromMC();
44  SttMvdGemTracking->SetPersistency(kFALSE);
45  fRun->AddTask(SttMvdGemTracking);
46 
47  // ------------------------------------------------------------------------
48  // secondary track finder -------------------------------------------------
49  PndTrkTrackFinder *ltracking = new PndTrkTrackFinder(0);
50  // ltracking->SwitchOnDisplay();
51  ltracking->SearchSecondaryTracks();
52  // ltracking->DeletePrimaryHits();
53  fRun->AddTask(ltracking);
54 
55  // ------------------------------------------------------------------------
56  // sum I and II track finder ----------------------------------------------
57  PndTrkAddTCA *add = new PndTrkAddTCA();
58  fRun->AddTask(add);
59 
61  recoKalman->SetTrackInBranchName("CombiTrack");
62  //recoKalman->SetTrackInIDBranchName("SttMvdGemTrackID");
63  recoKalman->SetTrackOutBranchName("SttMvdGemGenTrack");
64  recoKalman->SetBusyCut(50); // CHECK to be tuned
65  //recoKalman->SetIdealHyp(kTRUE);
66  //recoKalman->SetNumIterations(3);
67  recoKalman->SetTrackRep(0); // 0 Geane (default), 1 RK
68  //recoKalman->SetPropagateToIP(kFALSE);
69  fRun->AddTask(recoKalman);
70 
71 // PndMCTrackAssociator* trackMC2 = new PndMCTrackAssociator();
72 // trackMC2->SetTrackInBranchName("SttMvdGemGenTrack");
73 // trackMC2->SetTrackOutBranchName("SttMvdGemGenTrackID");
74 // fRun->AddTask(trackMC2);
75 
77  trackFts->SetTrackSelector("FtsTrackFunctor");
78  trackFts->SetRelativeMomentumSmearing(0.05);
79  trackFts->SetVertexSmearing(0.05, 0.05, 0.05);
80  trackFts->SetTrackingEfficiency(1.);
81  trackFts->SetOutputBranchName("FtsIdealTrack");
82  trackFts->SetPersistency(kFALSE);
83  fRun->AddTask(trackFts);
84 
85 // PndMCTrackAssociator* trackMCfwd = new PndMCTrackAssociator();
86 // trackMCfwd->SetTrackInBranchName("FtsIdealTrack");
87 // trackMCfwd->SetTrackOutBranchName("FtsIdealTrackID");
88 // fRun->AddTask(trackMCfwd);
89 
91  recoKalmanFwd->SetTrackInBranchName("FtsIdealTrack");
92  //recoKalmanFwd->SetTrackInIDBranchName("FtsIdealTrackID");
93  recoKalmanFwd->SetTrackOutBranchName("FtsIdealGenTrack");
94  recoKalmanFwd->SetBusyCut(50); // CHECK to be tuned
95  //recoKalmanFwd->SetIdealHyp(kTRUE);
96  //recoKalmanFwd->SetNumIterations(3);
97  recoKalmanFwd->SetTrackRep(0); // 0 Geane (default), 1 RK
98  //recoKalmanFwd->SetPropagateToIP(kFALSE);
99  fRun->AddTask(recoKalmanFwd);
100 
101 // PndMCTrackAssociator* trackMC3 = new PndMCTrackAssociator();
102 // trackMC3->SetTrackInBranchName("FtsIdealGenTrack");
103 // trackMC3->SetTrackOutBranchName("FtsIdealGenTrackID");
104 // fRun->AddTask(trackMC3);
105 
106  // ----- Intialise and run --------------------------------------------
108  fRun->Init();
109  fRun->Run(0, nEvents);
110  fRun->Finish();
111 
112  return 0;
113 }
Class for the master reconstruction chain.
Bool_t Setup(TString outprefix="")
Initial setup.
void SetTrackingEfficiency(Double_t eff=1.)
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
void SetTrackOutBranchName(const TString &name)
FairGeane * Geane
FairRunAna * fRun
Definition: hit_dirc.C:58
void SetInput(TString par)
Input of the macro.
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 SetTrackRep(Short_t num)
void SetVertexSmearing(Double_t sigmax=-1., Double_t sigmay=-1., Double_t sigmaz=-1.)
void NoMvdAloneTracking()
void SetBusyCut(Int_t b)
void SetTrackInBranchName(const TString &name)
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.)