FairRoot/PandaRoot
Functions
reco_sttcombi.C File Reference

Go to the source code of this file.

Functions

void reco_sttcombi (char inDigiFile[]="digi_sttcombi.root", char inSimFile[]="points_sttcombi.root", char parFile[]="params_sttcombi.root", char outFile[]="reco_sttcombi.root")
 

Function Documentation

void reco_sttcombi ( char  inDigiFile[] = "digi_sttcombi.root",
char  inSimFile[] = "points_sttcombi.root",
char  parFile[] = "params_sttcombi.root",
char  outFile[] = "reco_sttcombi.root" 
)

Definition at line 1 of file reco_sttcombi.C.

References PndSttFindTracks::AddHitCollectionName(), allDigiFile, ctime, Double_t, exit(), fRun, Geane, inDigiFile, PndEmcMapper::Init(), inSimFile, iVerbose, mvdTrackFinder, nEvents, outFile, parFile, parInput1, parIo1, recoKalman, rootlogon(), rtdb, rtime, PndRecoKalmanTask::SetBusyCut(), PndMvdRiemannTrackFinderTask::SetMaxDist(), PndMvdRiemannTrackFinderTask::SetPersistence(), PndRecoKalmanTask::SetTrackInBranchName(), PndRecoKalmanTask::SetTrackOutBranchName(), PndMvdRiemannTrackFinderTask::SetVerbose(), sttFindTracks, SttMvdGemTracking, SttMvdTracking, sttTrackFinder, sysFile, timer, trackMC, trackMC2, and TString.

6 {
7  // ========================================================================
8  // Verbosity level (0=quiet, 1=event level, 2=track level, 3=debug)
9  Int_t iVerbose = 0;
10 
11  // Number of events to process
12  Int_t nEvents = 0;
13 
14  // ---- Load libraries -------------------------------------------------
15  gROOT->LoadMacro("$VMCWORKDIR/gconfig/rootlogon.C");
16  rootlogon();
17  TString sysFile = gSystem->Getenv("VMCWORKDIR");
18  // ------------------------------------------------------------------------
19  // In general, the following parts need not be touched
20  // ========================================================================
21 
22  // ----- Timer --------------------------------------------------------
23  TStopwatch timer;
24  timer.Start();
25  // ------------------------------------------------------------------------
26 
27  // ----- Digitization run -------------------------------------------
28  FairRunAna *fRun= new FairRunAna();
29  fRun->SetInputFile(inDigiFile);
30  fRun->AddFriend(inSimFile);
31  fRun->SetOutputFile(outFile);
32 
33  FairGeane *Geane = new FairGeane();
34  fRun->AddTask(Geane);
35  // ------------------------------------------------------------------------
36 
37  // ----- Parameter database --------------------------------------------
38  TString allDigiFile = sysFile+"/macro/params/all.par";
39 
40  FairRuntimeDb* rtdb = fRun->GetRuntimeDb();
41  FairParRootFileIo* parInput1 = new FairParRootFileIo();
42  parInput1->open(parFile);
43 
44  FairParAsciiFileIo* parIo1 = new FairParAsciiFileIo();
45  parIo1->open(allDigiFile,"in");
46 
47  rtdb->setFirstInput(parInput1);
48  rtdb->setSecondInput(parIo1);
49  // ------------------------------------------------------------------------
50 
52  mvdTrackFinder->SetVerbose(iVerbose);
53  mvdTrackFinder->SetMaxDist(0.05);
54  mvdTrackFinder->SetPersistence(kFALSE);
55  fRun->AddTask(mvdTrackFinder);
56 
57  // PndSttTrackFinderIdeal* sttTrackFinder = new PndSttTrackFinderIdeal(iVerbose);
59  PndSttFindTracks* sttFindTracks = new PndSttFindTracks("Track Finder", "FairTask",
60  sttTrackFinder, iVerbose);
61 
62  sttFindTracks->AddHitCollectionName("STTHit", "STTPoint");
63  //sttFindTracks->SetPersistence(kFALSE);
64  fRun->AddTask(sttFindTracks);
65 
66  PndSttMvdTracking * SttMvdTracking = new PndSttMvdTracking(0, false, false);
67  //SttMvdTracking->Cleanup();
68  SttMvdTracking->SetPersistence(kFALSE);
69  fRun->AddTask(SttMvdTracking);
70 
72  //SttMvdGemTracking->SetPdgFromMC();
73  fRun->AddTask(SttMvdGemTracking);
74 
75  PndMCTrackAssociator* trackMC = new PndMCTrackAssociator();
76  trackMC->SetTrackInBranchName("SttMvdGemTrack");
77  trackMC->SetTrackOutBranchName("SttMvdGemTrackID");
78  fRun->AddTask(trackMC);
79 
81  recoKalman->SetTrackInBranchName("SttMvdGemTrack");
82  recoKalman->SetTrackInIDBranchName("SttMvdGemTrackID");
83  recoKalman->SetTrackOutBranchName("SttMvdGemGenTrack");
84  recoKalman->SetBusyCut(50); // CHECK to be tuned
85  // recoKalman->SetIdealHyp(kTRUE);
86  // recoKalman->SetNumIterations(3);
87  // recoKalman->SetParticleHypo("electron");
88  // recoKalman->SetParticleHypo(11);
89  fRun->AddTask(recoKalman);
90 
92  /*
93  PndRecoMultiKalmanTask* recoKalman = new PndRecoMultiKalmanTask();
94  recoKalman->SetTrackInBranchName("LheTrack");
95  recoKalman->SetTrackOutBranchName("LheGenTrack");
96  fRun->AddTask(recoKalman);
97  */
99 
100  PndMCTrackAssociator* trackMC2 = new PndMCTrackAssociator();
101  trackMC2->SetTrackInBranchName("SttMvdGemGenTrack");
102  trackMC2->SetTrackOutBranchName("SttMvdGemGenTrackID");
103  fRun->AddTask(trackMC2);
104 
105  // Correlator Task
106  //PndPidCorrelator* corr = new PndPidCorrelator();
107  //corr->SetVerbose();
108  //corr->SetBarrelTrackBranch("SttMvdGemGenTrack");
109  //corr->SetInputIDBranch("SttMvdGemGenTrackID");
110  //corr->SetForwardTrackBranch("FTSTrkIdeal");
111  //corr->SetInputIDBranch2("FTSTrkIdealID");
112  //fRun->AddTask(corr);
113 
114  // ----- Intialise and run --------------------------------------------
116 
117  fRun->Init();
118  fRun->Run(0, nEvents);
119 
120  rtdb->saveOutput();
121  rtdb->print();
122 
123  // ------------------------------------------------------------------------
124 
125  // ----- Finish -------------------------------------------------------
126 
127  timer.Stop();
128  Double_t rtime = timer.RealTime();
129  Double_t ctime = timer.CpuTime();
130  cout << "\n\nMacro finished succesfully.\n"
131  << "Output file is " << outFile
132  << "\nParameter file is " << parFile
133  << "Real time " << rtime << " s, CPU time " << ctime << " s.\n\n";
134  // ------------------------------------------------------------------------
135  exit(0);
136 }
PndMvdRiemannTrackFinderTask * mvdTrackFinder
exit(0)
TString outFile
Definition: hit_dirc.C:17
TString allDigiFile
Definition: hit_muo.C:36
PndSttTrackFinderReal * sttTrackFinder
void SetTrackOutBranchName(const TString &name)
FairGeane * Geane
FairRunAna * fRun
Definition: hit_dirc.C:58
PndMCTrackAssociator * trackMC2
TString sysFile
TString inSimFile
Double_t
TString parFile
Definition: hit_dirc.C:14
Int_t nEvents
Definition: hit_dirc.C:11
TStopwatch timer
Definition: hit_dirc.C:51
PndSttMvdTracking * SttMvdTracking
PndSttFindTracks * sttFindTracks
static void Init(Int_t MapVersion)
FairRuntimeDb * rtdb
Definition: hit_dirc.C:66
TString inDigiFile
FairParRootFileIo * parInput1
Definition: hit_dirc.C:67
PndMCTrackAssociator * trackMC
Double_t ctime
Definition: hit_dirc.C:114
FairParAsciiFileIo * parIo1
Definition: bump_emc.C:53
void SetBusyCut(Int_t b)
void SetTrackInBranchName(const TString &name)
PndSttMvdGemTracking * SttMvdGemTracking
Int_t iVerbose
PndRecoKalmanTask * recoKalman
Double_t rtime
Definition: hit_dirc.C:113
void AddHitCollectionName(char *hitCollectionName, char *pointCollectionName)