FairRoot/PandaRoot
standard_tracking.C
Go to the documentation of this file.
1 // Macro for running Panda digitization tasks
2 // to run the macro:
3 // root digi_complete.C or in root session root>.x digi_complete.C
4 int standard_tracking(Int_t nEvents = 0)
5 {
6  //-----User Settings:------------------------------------------------------
7  TString parAsciiFile = "all.par";
8  TString prefix = "evtcomplete";
9  TString input = "psi2s_Jpsi2pi_Jpsi_mumu.dec";
10  TString output = "standard";
11  TString friend1 = "sim";
12  TString friend2 = "digi";
13  TString friend3 = "";
14  TString friend4 = "";
15  TString fOptions = "gf2"; // "gf2" for genfit 2
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(prefix);
27 
28  FairGeane *Geane = new FairGeane();
29  fRun->AddTask(Geane);
30 
31 
32  PndTrkTracking2* tracking = NULL;
33  fRun->AddTask(tracking = new PndTrkTracking2(0,false,false,true)); // 1
34  tracking->SetInputBranchName("STTHit","MVDHitsPixel","MVDHitsStrip");
35  tracking->NoMvdAloneTracking();
36  tracking->SetPersistency(kFALSE);
37 
39  fRun->AddTask(SttMvdGemTracking = new PndSttMvdGemTracking(0));
40  SttMvdGemTracking->SetPersistency(kTRUE);
41 
42  if (fOptions.Contains("gf1")){
44  fRun->AddTask(recoKalman = new PndRecoKalmanTask());
45  recoKalman->SetTrackInBranchName("SttMvdGemTrack");
46  recoKalman->SetTrackOutBranchName("SttMvdGemGenTrack");
47 
48  recoKalman->SetBusyCut(50); // CHECK to be tuned
49  //recoKalman->SetIdealHyp(kTRUE);
50  //recoKalman->SetNumIterations(3);
51  recoKalman->SetTrackRep(0); // 0 Geane (default), 1 RK
52  //recoKalman->SetPropagateToIP(kFALSE);
53  } else if (fOptions.Contains("gf2")){
55  fRun->AddTask(recoKalman = new PndRecoKalmanTask2());
56  recoKalman->SetTrackInBranchName("SttMvdGemTrack");
57  recoKalman->SetTrackOutBranchName("SttMvdGemGenTrack");
58 
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  }
65 
66  if (fOptions.Contains("filtered")){
67  PndMissingPzCleanerTask* cleaner = NULL;
68  fRun->AddTask(cleaner = new PndMissingPzCleanerTask()); //4
69  if ( (!fOptions.Contains("day1")) || (fOptions.Contains("gem")) )
70  {
71  cleaner->SetInputTrackBranch("SttMvdGemGenTrack");
72  } else {
73  cleaner->SetInputTrackBranch("SttMvdGenTrack");
74  }
75  cleaner->SetRemoveTrack(kTRUE);
76  }
77 
78 
79  // ----- Intialise and run --------------------------------------------
80  fRun->Init();
81  fRun->Run(0, nEvents);
82  fRun->Finish();
83  return 0;
84 }
Class for the master reconstruction chain.
Bool_t Setup(TString outprefix="")
Initial setup.
void SetTrackInBranchName(const TString &name)
void SetPersistency(Bool_t val=kTRUE)
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 SetTrackOutBranchName(const TString &name)
Int_t nEvents
Definition: hit_dirc.C:11
PndTrkTracking * tracking
void SetInputBranchName(const char *string1, const char *string2, const char *string3)
void SetTrackRep(Short_t num)
void NoMvdAloneTracking()
void SetBusyCut(Int_t b)
void SetTrackInBranchName(const TString &name)
PndSttMvdGemTracking * SttMvdGemTracking
void Finish()
Final diagnostics.
void SetInputTrackBranch(const TString &name)
void SetRemoveTrack(const Bool_t &remove)
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 SetBusyCut(Int_t b)
int standard_tracking(Int_t nEvents=0)