1 #ifndef __JAANET__JEVTWEIGHTHELPER__
2 #define __JAANET__JEVTWEIGHTHELPER__
18 namespace JPP {
using namespace JAANET; }
27 public std::shared_ptr<JEvtWeight>
72 return weighter.
check(header);
85 if (static_cast<const JEvtWeightHelper&>(*
this)) {
86 return *(this->
get());
88 THROW(JNullPointerException,
"JEvtWeightHelper::getEvtWeighter(): Event-weighter is not set.");
void configure(const JEvtWeight &weighter)
Configuration.
JEvtWeight & getEvtWeighter() const
Get reference to event-weighter.
virtual bool check(const JHead &header) const =0
Check whether header is consistent with this event weighter.
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
JEvtWeightHelper()
Default constructor.
bool check(const JHead &header) const
Check if a given header is consistent with this event weighter.
int counter
Counter to check how many headers have been added.
double getNormalisation(const Evt &evt) const
Get event-weight normalisation.
virtual clone_type clone() const override
Get clone of this object.
Abstract base class for event weighing.
JHead & add(const JHead &header)
Addition of headers.
double getWeight(const Evt &evt) const
Get weight of given event.
JEvtWeightHelper(const JEvtWeight &weighter)
Constructor.
void setHeader(const JHead &header)
Set header.
virtual double getWeight(const Evt &evt) const =0
Get weight of given event.
virtual double getNormalisation() const override
Get event-weight normalisation.
const JHead & getHeader() const
Get header.
double getNormalisation() const
Get event-weight normalisation.
Exception for accessing a value in a collection that is outside of its range.
Helper class for event weighing.
void add(const JHead &header)
Add header.
The Evt class respresent a Monte Carlo (MC) event as well as an offline event.