1 #ifndef __JAANET__JEVTWEIGHTFACTORMUPAGE__
2 #define __JAANET__JEVTWEIGHTFACTORMUPAGE__
27 struct JEvtWeightFactorMupage :
47 JEvtWeightFactorMupage() :
58 JEvtWeightFactorMupage(
const char*
name,
59 const char* formula) :
60 TFormula(name, formula)
70 double operator()(
const Evt& evt)
const
83 vars[MEAN_ZENITH_ANGLE] += i->dir.z / i->dir.len();
84 vars[TOTAL_MUON_ENERGY] += i->E;
90 if (muons.size() > 0) {
92 vars[MUON_MULTIPLICITY] = (Double_t) muons.size();
93 vars[MEAN_ZENITH_ANGLE] /= vars[MUON_MULTIPLICITY];
95 if (this->GetNdim() > (
int) LATERAL_SPREAD) {
97 JCircle2D circle = JCircle2D(muons.cbegin(), muons.cend());
98 vars[LATERAL_SPREAD] = (Double_t) circle.getRadius();
101 return this->DoEval(&vars[0]);
105 THROW(JNullPointerException,
"JEvtWeightFactorMupage::operator(): No muon for event " << evt.
id <<
'.' << endl);
JTrack3E getTrack(const Trk &track)
Get track.
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.