FairRoot/PandaRoot
outdated/tracking/sttmvdtracking/rundigi.C
Go to the documentation of this file.
1 // Macro to emulate the MVD+ Stt digitization in pandaroot
2 // Updated 6.12.2010
3 // Gianluigi Boca
4 {
5  // ----- Timer --------------------------------------------------------
6  TStopwatch timer;
7  timer.Start();
8  // Verbosity level (0=quiet, 1=event level, 2=track level, 3=debug)
9  Int_t iVerbose = 0;
10  Int_t nEvents = 0;
11  gROOT->Macro("$VMCWORKDIR/gconfig/rootlogon.C");
12  TString inFile = "MvdStt_Test.root";
13  TString parFile = "MvdStt_Params.root";
14  TString digiparFile = gSystem->Getenv("VMCWORKDIR");
15  digiparFile += "/macro/params/all.par";
16 
17  // Output file
18  PndFileNameCreator creator(inFile.Data());
19  TString outFile = creator.GetDigiFileName().c_str();
20  std::cout << "DigiFileName: " << outFile.Data() << std::endl;
21 
22  // ----- Reconstruction run -------------------------------------------
23  FairRunAna *fRun= new FairRunAna();
24  fRun->SetInputFile(inFile);
25  fRun->SetOutputFile(outFile);
26 
27  // ----- Parameter database --------------------------------------------
28  FairRuntimeDb* rtdb = fRun->GetRuntimeDb();
29  FairParRootFileIo* parInput1 = new FairParRootFileIo(kTRUE);
30  parInput1->open(parFile.Data(),"UPDATE");
31  rtdb->setFirstInput(parInput1);
32  FairParAsciiFileIo* parInput2 = new FairParAsciiFileIo();
33  parInput2->open(digiparFile.Data(),"in");
34  rtdb->setSecondInput(parInput2);
35 
36  // ======================================================================
37  // 1) Default Task
38  // 2) Separate pixels/strips/noise
39  // Set parameters in pandroot/macro/params/mvd.digi.par
40 
41  // ----- Default Digitization ---------------------------------------
43  mvddigi->SetVerbose(iVerbose);
44  fRun->AddTask(mvddigi);
45 
46 
47 
48 
49  // ----- STT analysis tasks --------------------------------------------
50  // digitize ....
51 
52  //PndSttHitProducerIdeal* sttHitProducer = new PndSttHitProducerIdeal();
54  fRun->AddTask(sttHitProducer);
55  // ------------------------------------------------------------------------
56 
57 
58 
59 
60 
61  rtdb->setOutput(parInput1);
62  rtdb->print();
63 
64  // ----- Intialise and run --------------------------------------------
65  fRun->Init();
66 
67  fRun->Run(0,nEvents);
68 
69  rtdb->saveOutput();
70  rtdb->print();
71 
72  // ----- Finish -------------------------------------------------------
73  timer.Stop();
74  Double_t rtime = timer.RealTime();
75  Double_t ctime = timer.CpuTime();
76  cout << endl << endl;
77  cout << "Macro finished succesfully." << endl;
78  cout << "Output file is " << outFile << endl;
79  cout << "Parameter file is " << parFile << endl;
80  cout << "Real time " << rtime << " s, CPU time " << ctime << " s\a\a" << endl;
81  cout << endl;
82 
83 }
TString outFile
Definition: hit_dirc.C:17
PndSttHitProducerRealFast * sttHitProducer
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