ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4_EventEvaluator.C
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file G4_EventEvaluator.C
1 #ifndef MACRO_EventEvaluator_C
2 #define MACRO_EventEvaluator_C
3 
5 #include <eiceval/EventEvaluatorEIC.h>
6 
7 R__LOAD_LIBRARY(libfun4all.so)
8 R__LOAD_LIBRARY(libeiceval.so)
9 
10 namespace Enable
11 {
12  // use Enable::EVENT_EVAL = true; in your macro
13  bool EVENT_EVAL = false;
14  bool EVENT_EVAL_DO_HEPMC = false;
15  bool EVENT_EVAL_DO_EVT_LVL = false;
16  bool EVENT_EVAL_DO_HITS = false;
20 } // namespace Enable
21 
22 namespace EVENT_EVALUATOR
23 {
24  int Verbosity = 0;
25  float EnergyThreshold = 0.05;
26 } // namespace EVENT_EVALUATOR
27 
28 void Event_Eval(const std::string &filename)
29 {
31 
32  EventEvaluatorEIC *eval = new EventEvaluatorEIC("EVENTEVALUATOR", filename);
35 
36  if (Enable::TRACKING)
37  {
38  eval->set_do_TRACKS(true);
40  std::cout << "Enabled hits in event eval.\n";
41  eval->set_do_HITS(true);
43  std::cout << "Enabled absorber hits in event eval.\n";
44  eval->set_do_HITS_ABSORBER(true);
45  }
47  std::cout << "Enabled calorimeter hits in event eval.\n";
48  eval->set_do_HITS_CALO(true);
49  }
51  }
52 
53  eval->set_do_PROJECTIONS(true);
55  eval->set_do_VERTEX(true);
57  eval->set_do_PID_LogLikelihood(true);
58  }
59  // set calorimeter Infos
60  if (Enable::CEMC) eval->set_do_CEMC(true);
61  if (Enable::EEMC || Enable::EEMCH) eval->set_do_EEMC(true);
63  if (Enable::FEMC) eval->set_do_FEMC(true);
64  if (Enable::EHCAL) eval->set_do_EHCAL(true);
65  if (Enable::HCALIN) eval->set_do_HCALIN(true);
66  if (Enable::HCALOUT) eval->set_do_HCALOUT(true);
67  if (Enable::FHCAL) eval->set_do_FHCAL(true);
69  if (Enable::DRCALO) eval->set_do_DRCALO(true);
70  if (Enable::LFHCAL) eval->set_do_LFHCAL(true);
71  if (Enable::BECAL) eval->set_do_BECAL(true);
72 
73  // storing MC event info
74  eval->set_do_MCPARTICLES(true);
77 
78  // storing geometry
79  eval->set_do_GEOMETRY(true);
80 
81  se->registerSubsystem(eval);
82 
83  return;
84 }
85 
86 #endif