FairRoot/PandaRoot
clonemc.C
Go to the documentation of this file.
1 int clonemc()
2 {
3  // Macro created 02/10/2012 by S.Spataro
4  // It loads a reconstruction file and compute PID informations
5 
6  // Verbosity level (0=quiet, 1=event level, 2=track level, 3=debug)
7  Int_t iVerbose = 0; // just forget about it, for the moment
8 
9  // Number of events to process
10  Int_t nEvents = 0; // if 0 all the vents will be processed
11  TString simFile = "sim.root";
12  PndFileNameCreator creator(simFile.Data());
13  TString digiFile = creator.GetDigiFileName();
14  TString recoFile = creator.GetRecoFileName();
15  TString pidFile = creator.GetPidFileName();
16  TString cloneFile = creator.GetCustomFileName("clonemc");
17  TString parFile = creator.GetParFileName();
18 
19  // Parameter file
20  TString parFile = "params.root"; // at the moment you do not need it
21 
22  // Digitisation file (ascii)
23  TString digiParFile = "all.par";
24 
25 
26  // ----- Timer --------------------------------------------------------
27  TStopwatch timer;
28  // ------------------------------------------------------------------------
29 
30  // ----- Reconstruction run -------------------------------------------
31  FairRunAna *fRun= new FairRunAna();
32  fRun->SetInputFile(simFile);
33  fRun->AddFriend(pidFile);
34  fRun->SetOutputFile(cloneFile);
35  fRun->SetGenerateRunInfo(kFALSE);
36 
37  // ----- Parameter database --------------------------------------------
38  TString emcDigiFile = gSystem->Getenv("VMCWORKDIR");
39  emcDigiFile += "/macro/params/";
40  emcDigiFile += digiParFile;
41 
42  FairRuntimeDb* rtdb = fRun->GetRuntimeDb();
43  FairParRootFileIo* parInput1 = new FairParRootFileIo();
44  parInput1->open(parFile.Data());
45 
46  FairParAsciiFileIo* parIo1 = new FairParAsciiFileIo();
47  parIo1->open(emcDigiFile.Data(),"in");
48 
49  rtdb->setFirstInput(parInput1);
50  rtdb->setSecondInput(parIo1);
51 
52  // ------------------------------------------------------------------------
53 
54  PndMcCloner *clone = new PndMcCloner();
55  clone->SetCleanMc(kTRUE);
56  fRun->AddTask(clone);
57 
58  // ----- Intialise and run --------------------------------------------
60  cout << "fRun->Init()" << endl;
61  fRun->Init();
62 
63  timer.Start();
64  fRun->Run(0,nEvents);
65  // ------------------------------------------------------------------------
66 
67 
68  // ----- Finish -------------------------------------------------------
69  timer.Stop();
70  Double_t rtime = timer.RealTime();
71  Double_t ctime = timer.CpuTime();
72  cout << endl << endl;
73  cout << "Macro finished successfully." << endl;
74  cout << "Output file is " << outFile << endl;
75  cout << "Parameter file is " << parFile << endl;
76  cout << "Real time " << rtime << " s, CPU time " << ctime << " s" << endl;
77  cout << endl;
78  // ------------------------------------------------------------------------
79  cout << " Test passed" << endl;
80  cout << " All ok " << endl;
81  return 0;
82 }
TString outFile
Definition: hit_dirc.C:17
int clonemc()
Definition: clonemc.C:1
TString digiFile
Definition: bump_emc.C:20
void SetCleanMc(Bool_t opt=kTRUE)
Definition: PndMcCloner.h:33
TString emcDigiFile
Definition: bump_emc.C:45
FairRunAna * fRun
Definition: hit_dirc.C:58
TString simFile
Definition: bump_emc.C:11
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
static void Init(Int_t MapVersion)
FairRuntimeDb * rtdb
Definition: hit_dirc.C:66
FairParRootFileIo * parInput1
Definition: hit_dirc.C:67
Double_t ctime
Definition: hit_dirc.C:114
FairParAsciiFileIo * parIo1
Definition: bump_emc.C:53
PndMvdCreateDefaultApvMap * creator
std::string recoFile
Int_t iVerbose
Double_t rtime
Definition: hit_dirc.C:113