FairRoot/PandaRoot
apvReadAnalysis.C
Go to the documentation of this file.
1 // root macro to analyze the clusterization output
2 {
3  bool verbose = true;
4 
5  // ----- Load libraries ------------------------------------------------
6  gROOT->Macro("$VMCWORKDIR/gconfig/rootlogon.C");
7  gROOT->LoadMacro("$VMCWORKDIR/macro/mvd/Tools.C");
9  gROOT->LoadMacro("$VMCWORKDIR/macro/mvd/Helper.C");
10  // ----- Timer --------------------------------------------------------
11  TStopwatch timer;
12  timer.Start();
13  // ------------------------------------------------------------------------
14  //TString HitFileName = "strahl_";
15  TString HitFileName = "data23.hit";
16  TString CalibFileName = "beamtestJuelichFeb02.calib";
17  TString MapFileName = "desy.mapping";
18 
19  TString directory = gSystem->Getenv("VMCWORKDIR");
20  TString geomFile = directory + "/geometry/TrackingStationDesyAli.root";
21  TString digiparFile = directory + "/macro/params/all.par";
22  TString parFile = "par.root";
23 
24  TString outFile = HitFileName + ".digis.root";
25 
26  FairRunAna *fRun= new FairRunAna();
27  //fRun->SetInputFile("mapout.root");
28  fRun->SetOutputFile(outFile);
29 
30  // ----- Parameter database --------------------------------------------
31  FairRuntimeDb* rtdb = fRun->GetRuntimeDb();
32 
33  FairParAsciiFileIo* parInput = new FairParAsciiFileIo();
34  parInput->open(digiparFile.Data(),"in");
35  rtdb->setFirstInput(parInput);
36 
37  FairParRootFileIo* output=new FairParRootFileIo(kTRUE);
38  output->open(parFile.Data());
39  rtdb->setOutput(output);
40 
41  fRun->SetGeomFile(geomFile); // set filname
42  fRun->LoadGeometry(); // set the flag
43 
44  // ----- Converter -----------------------------------------------------
45  PndMvdConvertApv* ApvConverter= new PndMvdConvertApv(CalibFileName, HitFileName);
46  PndMvdMapApv* ApvMapper = new PndMvdMapApv(MapFileName);
47 
48  PndMvdConvertApvTask* convertTask = new PndMvdConvertApvTask(ApvConverter,ApvMapper);
49  //convertTask->SetVerbose(3);
50  fRun->AddTask(convertTask);
51 
52  fRun->Init();
53 
54  long int nEvents = ApvConverter->GetNofEvents();
55  if(nEvents>10000) nEvents=10000;
56  cout<<" ---- Start RUN ----"<<endl;
57  fRun->Run(0,nEvents);
58 
59  rtdb->print();
60  rtdb->saveOutput();
61 
62  // ----- Finish -------------------------------------------------------
63  timer.Stop();
64  Double_t rtime = timer.RealTime();
65  Double_t ctime = timer.CpuTime();
66  cout << endl << endl;
67  cout << "Macro finished succesfully." << endl;
68  cout << "Real time " << rtime << " s, CPU time " << ctime << " s" << endl;
69  cout << endl;
70  // ------------------------------------------------------------------------
71 
72 }
73 
TString outFile
Definition: hit_dirc.C:17
#define verbose
TString MapFileName
PndMvdMapApv * ApvMapper
Convert meassured data into PndSdsDigiStrip.
FairParRootFileIo * output
Definition: sim_emc_apd.C:120
TString geomFile
Convert Task of data.
FairRunAna * fRun
Definition: hit_dirc.C:58
TString HitFileName
Double_t
TString parFile
Definition: hit_dirc.C:14
Int_t nEvents
Definition: hit_dirc.C:11
TStopwatch timer
Definition: hit_dirc.C:51
PndMvdConvertApv * ApvConverter
FairRuntimeDb * rtdb
Definition: hit_dirc.C:66
Double_t ctime
Definition: hit_dirc.C:114
PndMvdConvertApvTask * convertTask
FairParAsciiFileIo * parInput
Double_t rtime
Definition: hit_dirc.C:113
TString directory
TString digiparFile
LoadPandaStyle()
TString CalibFileName