FairRoot/PandaRoot
hit_dirc.C
Go to the documentation of this file.
1 {
2 
3  // ========================================================================
4  // Verbosity level (0=quiet, 1=event level, 2=track level, 3=debug)
5  Int_t iVerbose = 1;
6 
7  // Input file (MC events)
8  TString inFile = "testrun1.root";
9 
10  // Number of events to process
11  Int_t nEvents = 0;
12 
13  // Parameter file
14  TString parFile = "params_testrun1.root";
15 
16  // Output file
17  TString outFile = "hit_drc.root";
18 
19 
20 
21  // ---- Load libraries -------------------------------------------------
22  //gROOT->LoadMacro("$VMCWORKDIR/gconfig/basiclibs.C");
23  gROOT->Macro("$VMCWORKDIR/gconfig/rootlogon.C");
24  basiclibs();
25 
26  gSystem->Load("libGeoBase");
27  gSystem->Load("libParBase");
28  gSystem->Load("libBase");
29  gSystem->Load("libPndData");
30  gSystem->Load("libField");
31  gSystem->Load("libPassive");
32  gSystem->Load("libDrcProp");
33  gSystem->Load("libDrc");
34  gSystem->Load("libTof");
35  gSystem->Load("libGen");
36 
37  // ------------------------------------------------------------------------
38 
39 
40  // --- Now choose concrete engines for the different tasks -------------
41  // ------------------------------------------------------------------------
42 
43 
44  // In general, the following parts need not be touched
45  // ========================================================================
46 
47 
48 
49 
50  // ----- Timer --------------------------------------------------------
51  TStopwatch timer;
52  timer.Start();
53  // ------------------------------------------------------------------------
54 
55 
56 
57  // ----- Reconstruction run -------------------------------------------
58  FairRunAna *fRun= new FairRunAna();
59  fRun->SetInputFile(inFile);
60  fRun->SetOutputFile(outFile);
61  // ------------------------------------------------------------------------
62 
63 
64 
65  // ----- Parameter database --------------------------------------------
66  FairRuntimeDb* rtdb = fRun->GetRuntimeDb();
67  FairParRootFileIo* parInput1 = new FairParRootFileIo();
68  parInput1->open(parFile.Data());
69  //FairParAsciiFileIo* parInput2 = new FairParAsciiFileIo();
70  //TString stsDigiFile = gSystem->Getenv("VMCWORKDIR");
71  //stsDigiFile += "/parameters/sts/sts_digi_new_standard.par";
72  //parInput2->open(stsDigiFile.Data(),"in");
73  rtdb->setFirstInput(parInput1);
74  //rtdb->setSecondInput(parInput2);
75  fRun->LoadGeometry();
76  // ------------------------------------------------------------------------
77 
78 
79 
80  // =========================================================================
81  // ====== Hit Producers ======
82  // =========================================================================
83 
84  // ----- DRC hit producer --------------------------------------------
85  /*
86  PndDrcHitProducerIdeal* drchit = new PndDrcHitProducerIdeal();
87  drchit->SetVerbose(iVerbose);
88  fRun->AddTask(drchit);
89  */
90  // ----- DRC Digitization stage ----------------------------------------
92  drcdigi->SetIsDetEfficiency(0);
93  drcdigi->SetTransportEfficiency(0);
94  drcdigi->SetChargeSharing(kTRUE);
95  fRun->AddTask(drcdigi);
96 
98  fRun->AddTask(hitfind);
99 
100 
101  // ===== End of HitProducers =====
102  // =========================================================================
103 
104  // ----- Intialise and run --------------------------------------------
105  fRun->Init();
106  fRun->Run(0,nEvents);
107  // ------------------------------------------------------------------------
108 
109 
110 
111  // ----- Finish -------------------------------------------------------
112  timer.Stop();
113  Double_t rtime = timer.RealTime();
114  Double_t ctime = timer.CpuTime();
115  cout << endl << endl;
116  cout << "Macro finished succesfully." << endl;
117  cout << "Output file is " << outFile << endl;
118  cout << "Parameter file is " << parFile << endl;
119  cout << "Real time " << rtime << " s, CPU time " << ctime << " s" << endl;
120  cout << endl;
121  // ------------------------------------------------------------------------
122 
123 
124 }
void SetChargeSharing(Bool_t ct=0)
basiclibs()
TString outFile
Definition: hit_dirc.C:17
FairRunAna * fRun
Definition: hit_dirc.C:58
TString inFile
Definition: hit_dirc.C:8
PndDrcHitFinder * hitfind
Definition: hit_dirc.C:97
Double_t
TString parFile
Definition: hit_dirc.C:14
PndDrcDigiTask * drcdigi
Definition: hit_dirc.C:91
Int_t nEvents
Definition: hit_dirc.C:11
TStopwatch timer
Definition: hit_dirc.C:51
FairRuntimeDb * rtdb
Definition: hit_dirc.C:66
FairParRootFileIo * parInput1
Definition: hit_dirc.C:67
Double_t ctime
Definition: hit_dirc.C:114
Int_t iVerbose
Double_t rtime
Definition: hit_dirc.C:113