FairRoot/PandaRoot
Functions
kfparticle.C File Reference

Go to the source code of this file.

Functions

int kfparticle ()
 

Function Documentation

int kfparticle ( )

Definition at line 1 of file kfparticle.C.

References ctime, digiFile, Double_t, emcDigiFile, fRun, Geane, PndKFParticleFinder::GetTopoReconstructor(), PndEmcMapper::Init(), iVerbose, nEvents, outFile, parFile, parInput1, parIo1, rtdb, rtime, PndKFParticleFinderPID::SetChargedTrackBranchName(), PndKFParticleFinder::SetChargedTrackBranchName(), PndKFParticleFinderQA::SetChargedTrackBranchName(), PndKFParticleFinderPID::SetMCTrackBranchName(), PndKFParticleFinderQA::SetMCTrackBranchName(), PndKFParticleFinderPID::SetNeutralTrackBranchName(), PndKFParticleFinder::SetNeutralTrackBranchName(), PndKFParticleFinderQA::SetNeutralTrackBranchName(), PndKFParticleFinder::SetPIDInformation(), PndKFParticleFinderPID::SetPIDMode(), PndKFParticleFinderQA::SetPrintEffFrequency(), timer, and TString.

2 {
3  // Macro created 20/09/2006 by S.Spataro
4  // It loads a simulation file and digitize hits for EMC
5 
6  gSystem->Load("libBase");
7  gSystem->Load("libGlobal");
8  gSystem->Load("libKF");
9 
10  // Verbosity level (0=quiet, 1=event level, 2=track level, 3=debug)
11  Int_t iVerbose = 0; // just forget about it, for the moment
12 
13  // Number of events to process
14  Int_t nEvents = 0; // if 0 all the vents will be processed
15 
16  // Parameter file
17  TString parFile = "simparams.root"; // at the moment you do not need it
18 
19  // Digitisation file (ascii)
20  TString digiFile = "all.par";
21 
22  // Output file
23  TString outFile = "kfoutput.root";
24 
25  // ----- Timer --------------------------------------------------------
26  TStopwatch timer;
27  // ------------------------------------------------------------------------
28 
29  // ----- Reconstruction run -------------------------------------------
30  FairRunAna *fRun= new FairRunAna();
31  fRun->SetInputFile("sim_complete.root");
32  fRun->AddFriend("digi_complete.root");
33  fRun->AddFriend("reco_complete.root");
34  fRun->AddFriend("pid_complete.root");
35  fRun->SetOutputFile(outFile);
36  FairGeane *Geane = new FairGeane();
37  fRun->AddTask(Geane);
38 
39  // ----- Parameter database --------------------------------------------
40  TString emcDigiFile = gSystem->Getenv("VMCWORKDIR");
41  emcDigiFile += "/macro/params/";
42  emcDigiFile += digiFile;
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(emcDigiFile.Data(),"in");
50 
51  rtdb->setFirstInput(parInput1);
52  rtdb->setSecondInput(parIo1);
53 
54  // ----- PID for KF Particle Finder --------------------------------------------
55  PndKFParticleFinderPID* kfParticleFinderPID = new PndKFParticleFinderPID();
56  kfParticleFinderPID->SetPIDMode(1);
57  kfParticleFinderPID->SetMCTrackBranchName("MCTrack");
58  kfParticleFinderPID->SetChargedTrackBranchName("PidChargedCand");
59  kfParticleFinderPID->SetNeutralTrackBranchName("PidNeutralCand");
60  fRun->AddTask(kfParticleFinderPID);
61 
62  // ----- KF Particle Finder --------------------------------------------
63  PndKFParticleFinder* kfParticleFinder = new PndKFParticleFinder();
64  kfParticleFinder->SetChargedTrackBranchName("PidChargedCand");
65  kfParticleFinder->SetNeutralTrackBranchName("PidNeutralCand");
66  kfParticleFinder->SetPIDInformation(kfParticleFinderPID);
67  fRun->AddTask(kfParticleFinder);
68 
69  // ----- KF Particle Finder QA --------------------------------------------
70  PndKFParticleFinderQA* kfParticleFinderQA = new PndKFParticleFinderQA("PndKFParticleFinderQA", 0, kfParticleFinder->GetTopoReconstructor());
71  kfParticleFinderQA->SetMCTrackBranchName("MCTrack");
72  kfParticleFinderQA->SetChargedTrackBranchName("PidChargedCand");
73  kfParticleFinderQA->SetNeutralTrackBranchName("PidNeutralCand");
74 
75 
76  kfParticleFinderQA->SetPrintEffFrequency(100);
77  fRun->AddTask(kfParticleFinderQA);
78 
79  // ----- Intialise and run --------------------------------------------
81  cout << "fRun->Init()" << endl;
82  fRun->Init();
83 
84  timer.Start();
85  fRun->Run(0,nEvents);
86 // fRun->Run(7,8);
87 
88  // ------------------------------------------------------------------------
89 
90 
91  // ----- Finish -------------------------------------------------------
92  timer.Stop();
93  Double_t rtime = timer.RealTime();
94  Double_t ctime = timer.CpuTime();
95  cout << endl << endl;
96  cout << "Macro finished successfully." << endl;
97  cout << "Output file is " << outFile << endl;
98  cout << "Parameter file is " << parFile << endl;
99  cout << "Real time " << rtime << " s, CPU time " << ctime << " s" << endl;
100  cout << endl;
101  // ------------------------------------------------------------------------
102  cout << " Test passed" << endl;
103  cout << " All ok " << endl;
104  return 0;
105 }
const KFParticleTopoReconstructor * GetTopoReconstructor() const
TString outFile
Definition: hit_dirc.C:17
TString digiFile
Definition: bump_emc.C:20
TString emcDigiFile
Definition: bump_emc.C:45
void SetChargedTrackBranchName(const TString &name)
FairGeane * Geane
FairRunAna * fRun
Definition: hit_dirc.C:58
void SetPIDInformation(PndKFParticleFinderPID *pid)
Double_t
void SetNeutralTrackBranchName(const TString &name)
TString parFile
Definition: hit_dirc.C:14
Int_t nEvents
Definition: hit_dirc.C:11
TStopwatch timer
Definition: hit_dirc.C:51
static void Init(Int_t MapVersion)
FairRuntimeDb * rtdb
Definition: hit_dirc.C:66
void SetChargedTrackBranchName(const TString &name)
FairParRootFileIo * parInput1
Definition: hit_dirc.C:67
Double_t ctime
Definition: hit_dirc.C:114
void SetNeutralTrackBranchName(const TString &name)
FairParAsciiFileIo * parIo1
Definition: bump_emc.C:53
void SetChargedTrackBranchName(const TString &name)
void SetNeutralTrackBranchName(const TString &name)
Int_t iVerbose
void SetMCTrackBranchName(const TString &name)
Double_t rtime
Definition: hit_dirc.C:113
void SetMCTrackBranchName(const TString &name)