34 JParser<> zap(
"Auxiliary program to print JSirene job statistics.");
41 catch(
const exception &error) {
42 FATAL(error.what() << endl);
46 gErrorIgnoreLevel = kError;
48 TFile*
in = TFile::Open(inputFile.c_str(),
"exist");
50 if (
in == NULL || !
in->IsOpen()) {
51 FATAL(
"File: " << inputFile <<
" not opened." << endl);
55 TH1D* job =
dynamic_cast<TH1D*
>(
in->Get(
"job"));
58 FATAL(
"No job statistics.");
63 const int hit_types[] = {
72 SCATTERED_LIGHT_FROM_MUON + 20,
73 DIRECT_LIGHT_FROM_DELTARAYS + 20,
74 SCATTERED_LIGHT_FROM_DELTARAYS + 20,
76 DIRECT_LIGHT_FROM_EMSHOWER + 40,
77 SCATTERED_LIGHT_FROM_EMSHOWER + 40,
87 zmap[100] =
"Number of photons";
88 zmap[200] =
"Number of errors";
89 zmap[300] =
"Number of misses";
92 NOTICE(
"Job summary" << endl);
94 NOTICE(
LEFT(40) <<
"Number of events input " <<
RIGHT(10) << (
int) job->GetBinContent( 1) << endl);
95 NOTICE(
LEFT(40) <<
"Number of muons " <<
RIGHT(10) << (
int) job->GetBinContent( 2) << endl);
96 NOTICE(
LEFT(40) <<
"Number of muons in can " <<
RIGHT(10) << (
int) job->GetBinContent( 3) << endl);
97 NOTICE(
LEFT(40) <<
"Number of muons within road " <<
RIGHT(10) << (
int) job->GetBinContent( 4) << endl);
98 NOTICE(
LEFT(40) <<
"Number of decayed particles (i.e. tau) " <<
RIGHT(10) << (
int) job->GetBinContent( 6) << endl);
99 NOTICE(
LEFT(40) <<
"Number of detectable decayed particles " <<
RIGHT(10) << (
int) job->GetBinContent( 7) << endl);
100 NOTICE(
LEFT(40) <<
"Number of electrons/hadrons " <<
RIGHT(10) << (
int) job->GetBinContent( 8) << endl);
101 NOTICE(
LEFT(40) <<
"Number of detectable electrons/hadrons " <<
RIGHT(10) << (
int) job->GetBinContent( 9) << endl);
102 NOTICE(
LEFT(40) <<
"Number of events output " <<
RIGHT(10) << (
int) job->GetBinContent( 10) << endl);
103 NOTICE(
LEFT(40) <<
"Number of unknown particles " <<
RIGHT(10) << (
int) job->GetBinContent( 21) << endl);
105 for (map_type::const_iterator entry = zmap.begin(); entry != zmap.end(); ++entry) {
107 for (
const int* i = hit_types; *i != -1; ++i) {
109 <<
LEFT (19) << entry->second <<
FILL(1)
112 <<
RIGHT(10) << (
int) job->GetBinContent(entry->first + *i) << endl);
Utility class to parse command line options.
scattered light from EM shower
scattered light from muon
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
scattered light from delta-rays
direct light from EM shower
Auxiliary data structure for sequence of same character.
direct light from delta-rays
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY source JAcoustics sh $DETECTOR_ID typeset A TRIPODS get_tripods $WORKDIR tripod txt TRIPODS for EMITTER in