FairRoot/PandaRoot
detectors/lumi/digi.C
Go to the documentation of this file.
1 int digi()
2 {
3  // Load basic libraries
4  gROOT->LoadMacro("$VMCWORKDIR/gconfig/rootlogon.C");
5  rootlogon();
6 
7  Int_t iVerbose = 0;
8  Int_t nEvents = 0;
9 
10  // ----- Timer --------------------------------------------------------
11  TStopwatch timer;
12  timer.Start();
13  // --------------
14  TString simFile = "test_G4.root";
15  TString parFile = "params_G4.root";
16 
17  TString digiFile = "digi_G4.root";
18 
19  TString digiparFile = gSystem->Getenv("VMCWORKDIR");
20  digiparFile += "/macro/params/lumi.digi.par";
21 
22  FairRunAna *fRun = new FairRunAna();
23  fRun->SetInputFile(simFile);
24  fRun->SetOutputFile(digiFile);
25 
26  // ----- Parameter database --------------------------------------------
27  FairRuntimeDb* rtdb = fRun->GetRuntimeDb();
28 
29  FairParRootFileIo* parInput1 = new FairParRootFileIo(kTRUE);
30  parInput1->open(parFile.Data(),"UPDATE");
31  rtdb->setFirstInput(parInput1);
32 
33  FairParAsciiFileIo* parInput2 = new FairParAsciiFileIo();
34  parInput2->open(digiparFile.Data(),"in");
35  rtdb->setSecondInput(parInput2);
36 
39  PndLumiDigiProducer* lumiDigiProducer = new PndLumiDigiProducer(iVerbose);
40  fRun->AddTask(lumiDigiProducer);
41 
42 
43  rtdb->setOutput(parInput1);
44 
45 
46  // ----- Intialise and run --------------------------------------------
47  fRun->Init();
48 
49  fRun->Run(0,nEvents);
50 
51  rtdb->saveOutput();
52  rtdb->print();
53 
54  // ----- Finish -------------------------------------------------------
55  timer.Stop();
56  Double_t rtime = timer.RealTime();
57  Double_t ctime = timer.CpuTime();
58  cout << endl << endl;
59  cout << "Macro finished succesfully." << endl;
60  cout << "Output file is " << digiFile << endl;
61  cout << "Parameter file is " << parFile << endl;
62  cout << "Real time " << rtime << " s, CPU time " << ctime << " s\a\a" << endl;
63  cout << endl;
64  return 0;
65 }
66 
int digi()
TString digiFile
Definition: bump_emc.C:20
FairRunAna * fRun
Definition: hit_dirc.C:58
TString simFile
Definition: bump_emc.C:11
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
FairParAsciiFileIo * parInput2
Definition: conMvdDigi.C:26
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
TString digiparFile