1 #ifndef __JAANET__JEVTWEIGHTFACTORMUPAGE__
2 #define __JAANET__JEVTWEIGHTFACTORMUPAGE__
25 struct JEvtWeightFactorMupage :
44 JEvtWeightFactorMupage() :
55 JEvtWeightFactorMupage(
const char*
name,
56 const char* formula) :
57 TFormula(name, formula)
67 double operator()(
const Evt& evt)
const
72 Double_t vars[NUMBER_OF_VARIABLES];
78 vars[MUON_MULTIPLICITY] += 1;
79 vars[MEAN_ZENITH_ANGLE] += i->dir.z / i->dir.len();
80 vars[TOTAL_MUON_ENERGY] += i->E;
84 if (vars[MUON_MULTIPLICITY] > 0) {
86 vars[MEAN_ZENITH_ANGLE] /= vars[MUON_MULTIPLICITY];
88 return this->DoEval(vars);
92 THROW(JNullPointerException,
"JEvtWeightFactorMupage::operator(): No muon for event " << evt.
id <<
'.' << endl);
bool is_muon(const Trk &track)
Test whether given track is a (anti-)muon.
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
then echo Enter input within $TIMEOUT_S seconds echo n User name
Exception for null pointer operation.
int id
offline event identifier
Exception for accessing a value in a collection that is outside of its range.
std::vector< Trk > mc_trks
MC: list of MC truth tracks.
The Evt class respresent a Monte Carlo (MC) event as well as an offline event.