/
G4_DSTReader_Babar.C
71 lines (60 loc) · 1.68 KB
/
G4_DSTReader_Babar.C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#ifndef MACRO_G4DSTREADERBEAST_C
#define MACRO_G4DSTREADERBEAST_C
#include "GlobalVariables.C"
#include "G4_Magnet.C"
#include "G4_Pipe_EIC.C"
#include <g4eval/PHG4DSTReader.h>
#include <fun4all/Fun4AllServer.h>
R__LOAD_LIBRARY(libg4eval.so)
//////////////////////////////////////////////////////////////////
/*!
\file G4_DSTReader.C
\brief Convert DST to human command readable TTree for quick poke around the outputs
\author Jin Huang
\version $Revision: $
\date $Date: $
*/
//////////////////////////////////////////////////////////////////
namespace Enable
{
bool DSTREADER = false;
int DSTREADER_VERBOSITY = 0;
} // namespace Enable
namespace G4DSTREADER
{
bool save_g4_raw = true;
} // namespace G4DSTREADER
void G4DSTreader(const string &outputFile = "G4JLeic.root")
{
//! debug output on screen?
int verbosity = max(Enable::VERBOSITY, Enable::DSTREADER_VERBOSITY);
// save a comprehensive evaluation file
PHG4DSTReader *ana = new PHG4DSTReader(outputFile);
ana->set_save_particle(true);
ana->set_load_all_particle(false);
ana->set_load_active_particle(true);
ana->set_save_vertex(true);
ana->Verbosity(verbosity);
if (G4DSTREADER::save_g4_raw)
{
if (Enable::PIPE)
{
if (Enable::ABSORBER || Enable::PIPE_ABSORBER)
ana->AddNode("PIPE");
}
if (Enable::MAGNET)
{
if (Enable::ABSORBER || Enable::MAGNET_ABSORBER)
ana->AddNode("MAGNET");
}
if (Enable::BLACKHOLE)
{
ana->AddNode("BH_1");
ana->AddNode("BH_FORWARD_PLUS");
ana->AddNode("BH_FORWARD_NEG");
}
}
Fun4AllServer *se = Fun4AllServer::instance();
se->registerSubsystem(ana);
}
#endif // MACRO_G4DSTREADERJLEIC_C