FairRoot/PandaRoot
reco_emc.C
Go to the documentation of this file.
1 {
2  // Loads a file with digis and makes clusters for EMC
3 
4  // Verbosity level (0=quiet, 1=event level, 2=track level, 3=debug)
5  Int_t iVerbose = 1; // just forget about it, for the moment
6 
7  // Input file (MC events)
8  TString inFile = "digi_emc.root";
9 
10  // Simulation file, to obtaine geometry
11  TString simFile = "sim_emc.root";
12 
13  // Number of events to process
14  Int_t nEvents = 0; // if 0 all the vents will be processed
15 
16  // Parameter file
17  TString parFile = "simparams.root"; // at the moment you do not need it
18 
19  // Digitisation file (ascii)
20  TString digiFile = "emc.par";
21 
22  // Output file
23  TString outFile = "cluster_emc.root";
24 
25  // ----- Timer --------------------------------------------------------
26  TStopwatch timer;
27  timer.Start();
28  // ------------------------------------------------------
29 
30  // ----- Reconstruction run ------------------------------
31  FairRunAna *fRun= new FairRunAna();
32  fRun->SetInputFile(simFile);
33  fRun->AddFriend(inFile);
34  fRun->SetOutputFile(outFile);
35 
36  // ----- Parameter database --------------------------------------------
37  TString emcDigiFile = gSystem->Getenv("VMCWORKDIR");
38  emcDigiFile += "/macro/params/";
39  emcDigiFile += digiFile;
40 
41  FairRuntimeDb* rtdb = fRun->GetRuntimeDb();
42  FairParRootFileIo* parInput1 = new FairParRootFileIo();
43  parInput1->open(parFile.Data());
44 
45  FairParAsciiFileIo* parIo1 = new FairParAsciiFileIo();
46  parIo1->open(emcDigiFile.Data(),"in");
47 
48  rtdb->setFirstInput(parInput1);
49  rtdb->setSecondInput(parIo1);
50 
51  // ----------------------------------------------------
52  //fRun->LoadGeometry();
53  // ----------------------------------------------------
54 
55 
56 
58  fRun->AddTask(emcMakeCluster);
59 
61  fRun->AddTask(emcHdrFiller); // ECM header
62 
64  fRun->AddTask(emcMakeBump);
65 
66 
67  // ----- Intialise and run -----------------------
68  fRun->Init();
69  fRun->Run(0,nEvents);
70  // ----------------------------------------------------
71 
72 
73  // ----- Finish -------------------------------------------------------
74  timer.Stop();
75  Double_t rtime = timer.RealTime();
76  Double_t ctime = timer.CpuTime();
77  cout << endl << endl;
78  cout << "Macro finished successfully." << endl;
79  cout << "Output file is " << outFile << endl;
80  cout << "Parameter file is " << parFile << endl;
81  cout << "Real time " << rtime << " s, CPU time " << ctime << " s" << endl;
82  cout << endl;
83  // ------------------------------------------------------------------------
84 
85 }
Double_t rtime
Definition: reco_emc.C:75
TString inFile
Definition: reco_emc.C:8
PndEmcMakeBump * emcMakeBump
Definition: reco_emc.C:63
Int_t nEvents
Definition: reco_emc.C:14
PndEmcHdrFiller * emcHdrFiller
Definition: reco_emc.C:60
FairParRootFileIo * parInput1
Definition: reco_emc.C:42
FairParAsciiFileIo * parIo1
Definition: reco_emc.C:45
Double_t
TString simFile
Definition: reco_emc.C:11
FairRuntimeDb * rtdb
Definition: reco_emc.C:41
Takes clusters and slits them up into bumps.
TString digiFile
Definition: reco_emc.C:20
Task to cluster PndEmcDigis.
PndEmcMakeCluster * emcMakeCluster
Definition: reco_emc.C:57
TStopwatch timer
Definition: reco_emc.C:26
TString parFile
Definition: reco_emc.C:17
FairRunAna * fRun
Definition: reco_emc.C:31
TString outFile
Definition: reco_emc.C:23
Int_t iVerbose
TString emcDigiFile
Definition: reco_emc.C:37
Task to create Emc header.
Double_t ctime
Definition: reco_emc.C:76