1 #ifndef __JAANET__JWEIGHTMUPAGE__
2 #define __JAANET__JWEIGHTMUPAGE__
35 public JClonable<JEvtWeight, JEvtWeightMupage>
76 const char*
const getName() const override final
93 const double dt = ( header.time_interval.t2 - header.time_interval.t1 > 0.0 ?
94 header.time_interval.t2 - header.time_interval.t1 :
95 (header.livetime.numberOfSeconds > 0.0 ?
96 header.livetime.numberOfSeconds : 1.0) );
98 setNormalisation(1.0 / dt);
102 THROW(
JValueOutOfRange,
"JEvtWeightMupage::configure(): Provided header is inconsistent with MUPAGE.");
129 return getFactor(evt) * getNormalisation(evt);
137 return getNormalisation(evt);
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Exception for accessing a value in a collection that is outside of its range.
Extensions to Evt data format.
bool is_mupage(const JHead &header)
Check for generator.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
The Evt class respresent a Monte Carlo (MC) event as well as an offline event.
Helper class for event-weight factor.
void configure(const pointer_type &p)
Configure event-weight factor.
JEvtWeightFactor & getFactor() const
Get reference to event-weight factor.
Abstract base class for specifiable event-weight factors.
Implementation of event weighing for MUPAGE data.
JEvtWeightMupage(const JHead &header, const JEvtWeightFactor &factor)
Constructor.
JEvtWeightMupage()
Default Constructor.
const char *const getName() const override final
Get name.
void configure(const JHead &header) override final
Configuration.
JEvtWeightMupage(const JHead &header)
Constructor.
bool check(const JHead &header) const override final
Check whether header is consistent with this event weighter.
double getWeight(const Evt &evt) const override final
Get rate of given event.
Template class for object cloning.
static const int WEIGHTLIST_RESCALED_EVENT_RATE
Rescaled event rate [s-1].