FairRoot/PandaRoot
detectors/mvd/Ralf/rundigi.C
Go to the documentation of this file.
1 {
2 
3  // ---- Load libraries -------------------------------------------------
4  gROOT->Macro("$VMCWORKDIR/gconfig/rootlogon.C");
5 
6 
7  // ----- Timer --------------------------------------------------------
8  TStopwatch timer;
9  timer.Start();
10 
11  // Verbosity level (0=quiet, 1=event level, 2=track level, 3=debug)
12  Int_t iVerbose = 0;
13  // Number of events to process
14  Int_t nEvents = 10000;
15  // Parameter file
16  TString parFile = "../data/mvddpm6GeV_par.root";
17  TString parOutFile = "../data/mvddpm6GeV_digipar.root";
18 // TString parFile = "../data/mvdStrip_par.root";
19 // TString parOutFile = "../data/mvdStrip_digipar.root";
20  TString digiparFile = gSystem->Getenv("VMCWORKDIR");
21  digiparFile += "/mvd/MvdTools/mvd.digi.par";
22  PndFileNameCreator namecreator("../data/mvddpm6GeV.root");
23 // PndFileNameCreator namecreator("../data/mvdStrip.root");
24  // Input file (MC events)
26  // Output file
28 
29  // ----- Reconstruction run -------------------------------------------
30  FairRunAna *fRun= new FairRunAna();
31  fRun->SetInputFile(inFile.c_str());
32  fRun->SetOutputFile(outFile.c_str());
33 
34 
35  // ----- Parameter database --------------------------------------------
36  FairRuntimeDb* rtdb = fRun->GetRuntimeDb();
37 
38  FairParRootFileIo* parInput1 = new FairParRootFileIo();
39  parInput1->open(parFile.Data());
40  rtdb->setFirstInput(parInput1);
41 
42  FairParAsciiFileIo* parInput2 = new FairParAsciiFileIo();
43  parInput2->open(digiparFile.Data(),"in");
44  rtdb->setSecondInput(parInput2);
45 
46  fRun->LoadGeometry();
47 
48  // ----- Digitization ---------------------------------------
49 // PndMvdDigiTask* mvddigi = new PndMvdDigiTask();
50 // mvddigi->SetVerbose(iVerbose);
51 // fRun->AddTask(mvddigi);
52  // =========================================================================
53  // ====== Hit Producers ======
54  // =========================================================================
55 
57  mvdHitProd2->SetVerbose(iVerbose);
58 
59  fRun->AddTask(mvdHitProd2);
60 
61  // ----- MVD Pixel hit producer ---------------------------------------
63  mvdPixProd->SetVerbose(iVerbose);
64  fRun->AddTask(mvdPixProd);
65  // ===== End of HitProducers =====
66  // =========================================================================
67 // fRun->AddTask(new PndMvdAccessRTDBTask());
68 
70  mvdNoiseMaker->SetVerbose(iVerbose);
71  fRun->AddTask(mvdNoiseMaker);
72 
73 
74 
75  // ----- Intialise and run --------------------------------------------
76  fRun->Init();
77 
78 
79 // // save Parameters ??into a new file??
81  FairParRootFileIo* output=new FairParRootFileIo(kParameterMerged);
82  output->open(parOutFile.Data(),"RECREATE");
83  rtdb->setOutput(output);
84 
85  rtdb->saveOutput(); // save new parameter lists
86  rtdb->print();
87 
88 
89  fRun->Run(0,nEvents);
90 
91 
92 // // check param file
93 // FairRuntimeDb* rtdb2 = fRun->GetRuntimeDb();
94 // FairParRootFileIo* parInput1b = new FairParRootFileIo();
95 // parInput1b->open(parFile.Data());
96 // rtdb2->setFirstInput(parInput1b);
97 // PndMvdStripDigiPar* par = (PndMvdStripDigiPar*)(rtdb2->getContainer("PndMvdStripDigiPar"));
98 // par->Print();
99 // //
100 
101  // ----- Finish -------------------------------------------------------
102  timer.Stop();
103  Double_t rtime = timer.RealTime();
104  Double_t ctime = timer.CpuTime();
105  cout << endl << endl;
106  cout << "Macro finished succesfully." << endl;
107  cout << "Output file is " << outFile << endl;
108  cout << "Parameter file is " << parFile << endl;
109  cout << "Real time " << rtime << " s, CPU time " << ctime << " s" << endl;
110  cout << endl;
111 
112 }
113 
Bool_t kParameterMerged
Definition: sim_emc_apd.C:113
Hit Producer Task for strip detectors.
TString outFile
Definition: hit_dirc.C:17
PndMvdStripHitProducer * mvdHitProd2
PndMvdHybridHitProducer * mvdPixProd
std::string GetDigiFileName(std::string addon="", bool cut=false)
std::string GetSimFileName(std::string addon="", bool cut=false)
FairParRootFileIo * output
Definition: sim_emc_apd.C:120
FairRunAna * fRun
Definition: hit_dirc.C:58
TString inFile
Definition: hit_dirc.C:8
virtual InitStatus Init()
A simple class which adds the corresponding file extensions to a given base class.
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
PndFileNameCreator namecreator("../data/Lars/MvdDtsSim.root")
FairParRootFileIo * parInput1
Definition: hit_dirc.C:67
Double_t ctime
Definition: hit_dirc.C:114
Int_t iVerbose
PndMvdNoiseProducer * mvdNoiseMaker
Double_t rtime
Definition: hit_dirc.C:113
TString digiparFile
TString parOutFile