FairRoot/PandaRoot
Functions
runMvdDigi.C File Reference

Go to the source code of this file.

Functions

 runMvdDigi (Int_t nEvents=10)
 

Function Documentation

runMvdDigi ( Int_t  nEvents = 10)

Definition at line 4 of file runMvdDigi.C.

References creator, ctime, digiparFile, Double_t, fRun, inFile, iVerbose, mvddigi, nEvents, outFile, parFile, parInput1, parInput2, rtdb, rtime, PndBlackBoxTask::SetVerbose(), timer, and TString.

5 {
6  // ----- Timer --------------------------------------------------------
7  TStopwatch timer;
8  timer.Start();
9  // Verbosity level (0=quiet, 1=event level, 2=track level, 3=debug)
10  Int_t iVerbose = 0;
11 
12  gROOT->Macro("$VMCWORKDIR/gconfig/rootlogon.C");
13  TString inFile = "Mvd_Test.root";
14  TString parFile = "Mvd_Params.root";
15  TString digiparFile = gSystem->Getenv("VMCWORKDIR");
16  digiparFile += "/macro/params/all.par";
17 
18  // Output file
19  PndFileNameCreator creator(inFile.Data());
20  TString outFile = creator.GetDigiFileName().c_str();
21  std::cout << "DigiFileName: " << outFile.Data() << std::endl;
22 
23  // ----- Reconstruction run -------------------------------------------
24  FairRunAna *fRun= new FairRunAna();
25  fRun->SetInputFile(inFile);
26  fRun->SetOutputFile(outFile);
27 
28  // ----- Parameter database --------------------------------------------
29  FairRuntimeDb* rtdb = fRun->GetRuntimeDb();
30  FairParRootFileIo* parInput1 = new FairParRootFileIo(kTRUE);
31  parInput1->open(parFile.Data(),"UPDATE");
32  rtdb->setFirstInput(parInput1);
33  FairParAsciiFileIo* parInput2 = new FairParAsciiFileIo();
34  parInput2->open(digiparFile.Data(),"in");
35  rtdb->setSecondInput(parInput2);
36 
37  // ======================================================================
38  // 1) Default Task
39  // 2) Separate pixels/strips/noise
40  // Set parameters in pandroot/macro/params/mvd.digi.par
41 
42  // ----- Default Digitization ---------------------------------------
44  mvddigi->SetVerbose(2);
45  fRun->AddTask(mvddigi);
46 
47  // ----- OR custom settings to switch off something -----------------
48 // PndMvdStripHitProducer* mvdStripProd = new PndMvdStripHitProducer();
49 // mvdStripProd->SetVerbose(iVerbose);
50 // fRun->AddTask(mvdStripProd);
51 // PndMvdHybridHitProducer* mvdPixProd = new PndMvdHybridHitProducer();
52 // mvdPixProd->SetVerbose(2);
53 // fRun->AddTask(mvdPixProd);
54 // PndMvdNoiseProducer* mvdNoiseMaker = new PndMvdNoiseProducer();
55 // mvdNoiseMaker->SetVerbose(iVerbose);
56 // fRun->AddTask(mvdNoiseMaker);
57 
58  rtdb->setOutput(parInput1);
59  rtdb->print();
60 
61  // ----- Intialise and run --------------------------------------------
62  fRun->Init();
63 
64  fRun->Run(0,nEvents);
65 
66  rtdb->saveOutput();
67  rtdb->print();
68 
69  // ----- Finish -------------------------------------------------------
70  timer.Stop();
71  Double_t rtime = timer.RealTime();
72  Double_t ctime = timer.CpuTime();
73  cout << endl << endl;
74  cout << "Macro finished succesfully." << endl;
75  cout << "Output file is " << outFile << endl;
76  cout << "Parameter file is " << parFile << endl;
77  cout << "Real time " << rtime << " s, CPU time " << ctime << " s\a\a" << endl;
78  cout << endl;
79 
80 }
TString outFile
Definition: hit_dirc.C:17
FairRunAna * fRun
Definition: hit_dirc.C:58
TString inFile
Definition: hit_dirc.C:8
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
void SetVerbose(Int_t iVerbose)
FairParRootFileIo * parInput1
Definition: hit_dirc.C:67
Double_t ctime
Definition: hit_dirc.C:114
PndMvdCreateDefaultApvMap * creator
Int_t iVerbose
PndMvdDigiTask * mvddigi
Double_t rtime
Definition: hit_dirc.C:113
TString digiparFile