41 const auto localRun =
static_cast<const LXeRun*
>(run);
55 fTotE += localRun->fTotE;
56 fTotE2 += localRun->fTotE2;
65 G4cout <<
"\n ======================== run summary ======================\n";
67 G4int prec = G4cout.precision();
69 auto n_evt = (G4double) numberOfEvent;
70 G4cout <<
"The run was " << numberOfEvent <<
" events." << G4endl;
73 G4double hits = G4double(
fHitCount) / n_evt;
75 G4double rms_hits = hits2 - hits * hits;
77 rms_hits = std::sqrt(rms_hits / n_evt);
80 G4cout <<
"Number of hits per event:\t " << hits <<
" +- " << rms_hits
85 G4double rms_hitsAbove = hitsAbove2 - hitsAbove * hitsAbove;
86 if(rms_hitsAbove > 0.)
87 rms_hitsAbove = std::sqrt(rms_hitsAbove / n_evt);
91 G4cout <<
"Number of hits per event above threshold:\t " << hitsAbove
92 <<
" +- " << rms_hitsAbove << G4endl;
96 G4double rms_scint = scint2 - scint * scint;
98 rms_scint = std::sqrt(rms_scint / n_evt);
102 G4cout <<
"Number of scintillation photons per event :\t " << scint <<
" +- "
103 << rms_scint << G4endl;
107 G4double rms_ceren = ceren2 - ceren * ceren;
109 rms_ceren = std::sqrt(rms_ceren / n_evt);
113 G4cout <<
"Number of Cerenkov photons per event:\t " << ceren <<
" +- "
114 << rms_ceren << G4endl;
118 G4double rms_absorb = absorb2 - absorb * absorb;
120 rms_absorb = std::sqrt(rms_absorb / n_evt);
124 G4cout <<
"Number of absorbed photons per event :\t " << absorb <<
" +- "
125 << rms_absorb << G4endl;
129 G4double rms_bdry = bdry2 - bdry * bdry;
131 rms_bdry = std::sqrt(rms_bdry / n_evt);
135 G4cout <<
"Number of photons absorbed at boundary per event:\t " << bdry
136 <<
" +- " << rms_bdry << G4endl;
138 G4double en =
fTotE / n_evt;
139 G4double en2 =
fTotE2 / n_evt;
140 G4double rms_en = en2 - en * en;
142 rms_en = std::sqrt(rms_en / n_evt);
146 G4cout <<
"Total energy deposition in scintillator per event:\t " << en / keV
147 <<
" +- " << rms_en / keV <<
" keV." << G4endl;
150 G4cout.precision(prec);