24 int main(
int argc,
char **argv)
33 JParser<> zap(
"Auxiliary program to print JSirene job statistics.");
40 catch(
const exception &error) {
41 FATAL(error.what() << endl);
45 TFile* in = TFile::Open(inputFile.c_str(),
"exist");
47 if (in == NULL || !in->IsOpen()) {
48 FATAL(
"File: " << inputFile <<
" not opened." << endl);
52 TH1D* job =
dynamic_cast<TH1D*
>(in->Get(
"job"));
55 FATAL(
"No job statistics.");
60 const int hit_types[] = {
69 SCATTERED_LIGHT_FROM_MUON + 20,
70 DIRECT_LIGHT_FROM_DELTARAYS + 20,
71 SCATTERED_LIGHT_FROM_DELTARAYS + 20,
73 DIRECT_LIGHT_FROM_EMSHOWER + 40,
74 SCATTERED_LIGHT_FROM_EMSHOWER + 40,
84 zmap[100] =
"Number of photons";
85 zmap[200] =
"Number of errors";
86 zmap[300] =
"Number of misses";
89 NOTICE(
"Job summary" << endl);
91 NOTICE(
LEFT(40) <<
"Number of events input " <<
RIGHT(10) << (
int) job->GetBinContent( 1) << endl);
92 NOTICE(
LEFT(40) <<
"Number of muons " <<
RIGHT(10) << (
int) job->GetBinContent( 2) << endl);
93 NOTICE(
LEFT(40) <<
"Number of muons in can " <<
RIGHT(10) << (
int) job->GetBinContent( 3) << endl);
94 NOTICE(
LEFT(40) <<
"Number of muons within road " <<
RIGHT(10) << (
int) job->GetBinContent( 4) << endl);
95 NOTICE(
LEFT(40) <<
"Number of taus " <<
RIGHT(10) << (
int) job->GetBinContent( 6) << endl);
96 NOTICE(
LEFT(40) <<
"Number of detectable taus " <<
RIGHT(10) << (
int) job->GetBinContent( 7) << endl);
97 NOTICE(
LEFT(40) <<
"Number of electrons/hadrons " <<
RIGHT(10) << (
int) job->GetBinContent( 8) << endl);
98 NOTICE(
LEFT(40) <<
"Number of detectable electrons/hadrons " <<
RIGHT(10) << (
int) job->GetBinContent( 9) << endl);
99 NOTICE(
LEFT(40) <<
"Number of events output " <<
RIGHT(10) << (
int) job->GetBinContent( 10) << endl);
100 NOTICE(
LEFT(40) <<
"Number of unknown particles " <<
RIGHT(10) << (
int) job->GetBinContent( 21) << endl);
102 for (map_type::const_iterator entry = zmap.begin(); entry != zmap.end(); ++entry) {
104 for (
const int* i = hit_types; *i != -1; ++i) {
106 <<
LEFT (19) << entry->second <<
FILL(1)
109 <<
RIGHT(10) << (
int) job->GetBinContent(entry->first + *i) << endl);
Utility class to parse command line options.
scattered light from EM shower
Numbering scheme for PDF types.
scattered light from muon
I/O formatting auxiliaries.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
scattered light from delta-rays
direct light from EM shower
General purpose messaging.
Auxiliary data structure for sequence of same character.
direct light from delta-rays
Utility class to parse command line options.
int main(int argc, char *argv[])