FairRoot/PandaRoot
Functions
globT_all.C File Reference

Go to the source code of this file.

Functions

int globT_all ()
 

Function Documentation

int globT_all ( )

Definition at line 1 of file globT_all.C.

References allDigiFile, ctime, Double_t, fRun, Geane, inDigiFile, inSimFile, iVerbose, nEvents, outFile, parFile, parInput1, parIo1, recoKalman, rootlogon(), rtdb, rtime, PndRecoKalmanTask::SetTrackInBranchName(), PndRecoKalmanTask::SetTrackOutBranchName(), sysFile, timer, and TString.

1  {
2  // ========================================================================
3  // Verbosity level (0=quiet, 1=event level, 2=track level, 3=debug)
4  Int_t iVerbose = 0;
5 
6  // Input file
7  TString inLocTFile = "locT_global.root";
8  TString inDigiFile = "digi_global.root";
9  TString inSimFile = "points_global.root";
10 
11  // Parameter file
12  TString parFile = "params_global.root";
13 
14  // Output file
15  TString outFile = "globT_global.root";
16 
17  // Number of events to process
18  Int_t nEvents = 0;
19 
20  // ---- Load libraries -------------------------------------------------
21  gROOT->LoadMacro("$VMCWORKDIR/gconfig/rootlogon.C");
22  rootlogon();
23  TString sysFile = gSystem->Getenv("VMCWORKDIR");
24  // ------------------------------------------------------------------------
25  // In general, the following parts need not be touched
26  // ========================================================================
27 
28  // ----- Timer --------------------------------------------------------
29  TStopwatch timer;
30  timer.Start();
31  // ------------------------------------------------------------------------
32 
33  // ----- Digitization run -------------------------------------------
34  FairRunAna *fRun= new FairRunAna();
35  fRun->SetInputFile(inLocTFile);
36  fRun->AddFriend(inDigiFile);
37  fRun->AddFriend(inSimFile);
38  fRun->SetOutputFile(outFile);
39  // ------------------------------------------------------------------------
40 
41  // ----- Parameter database --------------------------------------------
42  TString allDigiFile = sysFile+"/macro/params/all.par";
43 
44  FairRuntimeDb* rtdb = fRun->GetRuntimeDb();
45  FairParRootFileIo* parInput1 = new FairParRootFileIo();
46  parInput1->open(parFile.Data());
47 
48  FairParAsciiFileIo* parIo1 = new FairParAsciiFileIo();
49  parIo1->open(allDigiFile.Data(),"in");
50 
51  rtdb->setFirstInput(parInput1);
52  rtdb->setSecondInput(parIo1);
53  // ################################################################## MERGE
54  PndGlobalIdealTrackMerger* trackMerger = new PndGlobalIdealTrackMerger(iVerbose);
55  fRun->AddTask(trackMerger);
56 
57  PndGlobalTrackMergerQA* trackMergerQA = new PndGlobalTrackMergerQA(iVerbose);
58  fRun->AddTask(trackMergerQA);
59 
60  // ################################################################## FIT MERGED TRACKS
61  // ----- Prepare Geane ------------------------------------------------
62  FairGeane *Geane = new FairGeane();
63  fRun->AddTask(Geane);
64 
65  // ----- Run Kalman fitter --------------------------------------------
67  recoKalman->SetTrackInBranchName("GlobalTrack");
68  recoKalman->SetTrackOutBranchName("GlobalFitTrack");
69  //recoKalman->SetNumIterations(3);
70  fRun->AddTask(recoKalman);
71 
72  PndGlobalTrackFitQA* trackFitQA = new PndGlobalTrackFitQA(0);
73  fRun->AddTask(trackFitQA);
74  // ##################################################################
75 
76  // ----- Intialise and run --------------------------------------------
77  fRun->Init();
78  // PndEmcMapper *emcMap = PndEmcMapper::Instance(2);
79  fRun->Run(0, nEvents);
80 
81  rtdb->saveOutput();
82  rtdb->print();
83 
84  // ------------------------------------------------------------------------
85 
86  // ----- Finish -------------------------------------------------------
87 
88  timer.Stop();
89  Double_t rtime = timer.RealTime();
90  Double_t ctime = timer.CpuTime();
91  cout << endl << endl;
92  cout << "Macro finished succesfully." << endl;
93  cout << "Output file is " << outFile << endl;
94  cout << "Parameter file is " << parFile << endl;
95  cout << "Real time " << rtime << " s, CPU time " << ctime << " s" << endl;
96  cout << endl;
97  // ------------------------------------------------------------------------
98 
99 
100  return 0;
101 }
TString outFile
Definition: hit_dirc.C:17
TString allDigiFile
Definition: hit_muo.C:36
void SetTrackOutBranchName(const TString &name)
FairGeane * Geane
FairRunAna * fRun
Definition: hit_dirc.C:58
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
FairRuntimeDb * rtdb
Definition: hit_dirc.C:66
TString inDigiFile
FairParRootFileIo * parInput1
Definition: hit_dirc.C:67
Double_t ctime
Definition: hit_dirc.C:114
FairParAsciiFileIo * parIo1
Definition: bump_emc.C:53
void SetTrackInBranchName(const TString &name)
Int_t iVerbose
PndRecoKalmanTask * recoKalman
Double_t rtime
Definition: hit_dirc.C:113