Class Reference for E1039 Core & Analysis Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
RecoE1039Data.C
Go to the documentation of this file.
1 #include <TSystem.h>
2 
3 R__LOAD_LIBRARY(libinterface_main)
4 R__LOAD_LIBRARY(libfun4all)
5 R__LOAD_LIBRARY(libg4detectors)
6 R__LOAD_LIBRARY(libg4eval)
7 R__LOAD_LIBRARY(libktracker)
8 
9 /*
10 This macro takes severl external input files to run:
11 1. geom.root is the standard geometry dump from running the Fun4Sim macro;
12 2. data.root should be the DST file generated either by decoder or by
13 
14 This is an example script intended to demonstrate how to run SQReco in a minimalistic fashion, it is NOT
15 suitable for production use and users should develop their own reconstruction macro for their own analysis.
16 */
17 
18 int RecoE1039Data(const int nEvents = 1)
19 {
20  const bool cosmic = true;
21 
22  const bool legacy_rec_container = false;
23  const double FMAGSTR = -1.054;
24  const double KMAGSTR = -0.951;
25 
27  rc->set_DoubleFlag("FMAGSTR", FMAGSTR);
28  rc->set_DoubleFlag("KMAGSTR", KMAGSTR);
29  if(cosmic)
30  {
31  rc->init("cosmic");
32  rc->set_BoolFlag("COARSE_MODE", true);
33  rc->set_DoubleFlag("KMAGSTR", 0.);
34  rc->set_DoubleFlag("FMAGSTR", 0.);
35  }
36  rc->Print();
37 
39  se->Verbosity(0);
40 
41  GeomSvc::UseDbSvc(true);
42  GeomSvc* geom_svc = GeomSvc::instance();
43 
44  SQReco* reco = new SQReco();
45  reco->Verbosity(0);
46  reco->set_legacy_rec_container(legacy_rec_container);
47  reco->set_geom_file_name("support/geom.root");
48  reco->set_enable_KF(true); //Kalman filter not needed for the track finding, disabling KF saves a lot of initialization time
49  reco->setInputTy(SQReco::E1039); //options are SQReco::E906 and SQReco::E1039
50  reco->setFitterTy(SQReco::KFREF); //not relavant for the track finding
51  reco->set_evt_reducer_opt("e"); //if not provided, event reducer will be using JobOptsSvc to intialize; to turn off, set it to "none"
52  reco->set_enable_eval(true);
53  reco->set_eval_file_name("eval.root");
54  if(cosmic) reco->add_eval_list(3); //output of cosmic reco is contained in the eval output for now
55  se->registerSubsystem(reco);
56 
58  in->Verbosity(0);
59  in->fileopen("data.root");
60  se->registerInputManager(in);
61 
62  Fun4AllDstOutputManager* out = new Fun4AllDstOutputManager("DSTOUT", "result.root");
63  se->registerOutputManager(out);
64 
65  se->run(nEvents);
66 
67  // finish job - close and save output files
68  se->End();
69  se->PrintTimer();
70  std::cout << "All done" << std::endl;
71 
72  delete se;
73  gSystem->Exit(0);
74  return 0;
75 }
int registerInputManager(Fun4AllInputManager *InManager)
virtual int End()
virtual void set_DoubleFlag(const std::string &name, const double flag)
Definition: PHFlag.cc:77
void set_legacy_rec_container(const bool b=true)
Definition: SQReco.h:77
virtual void set_BoolFlag(const std::string &name, const bool flag)
Definition: PHFlag.cc:179
void init(int runNo=0, bool verbose=false)
initialize the constants by the runNo - not implemented yet
Definition: recoConsts.cc:157
void Print() const
print all the parameters
Definition: recoConsts.cc:185
static Fun4AllServer * instance()
Fun4AllServer * se
void PrintTimer(const std::string &name="")
static recoConsts * instance()
Definition: recoConsts.cc:7
int RecoE1039Data(const int nEvents=1)
Definition: RecoE1039Data.C:18
int registerSubsystem(SubsysReco *subsystem, const std::string &topnodename="TOP")
void set_geom_file_name(const std::string &geomFileName)
Definition: SQReco.h:63
static bool UseDbSvc()
Definition: GeomSvc.h:304
void set_enable_KF(bool enable)
Definition: SQReco.h:66
int run(const int nevnts=0, const bool require_nevents=false)
run n events (0 means up to end of file)
void set_eval_file_name(const TString &evalFileName)
Definition: SQReco.h:60
int registerOutputManager(Fun4AllOutputManager *manager)
Definition: SQReco.h:42
void setInputTy(SQReco::INPUT_TYPE input_ty)
Definition: SQReco.h:56
void set_evt_reducer_opt(const TString &opt)
Definition: SQReco.h:75
void set_enable_eval(bool enable)
Definition: SQReco.h:69
virtual void Verbosity(const int ival)
Sets the verbosity of this module (0 by default=quiet).
Definition: Fun4AllBase.h:58
static GeomSvc * instance()
singlton instance
Definition: GeomSvc.cxx:211
virtual int fileopen(const std::string &)
void setFitterTy(SQReco::FITTER_TYPE fitter_ty)
Definition: SQReco.h:57
void add_eval_list(int listID)
Definition: SQReco.cxx:665