1#ifndef AMPGEN_COHERENTSUM_H
2#define AMPGEN_COHERENTSUM_H
76 void reset(
bool resetEvents =
false);
81 WARNING(
"Setting events from a AoS container, will need to make a copy");
86 WARNING(
"Setting integration events from a AoS container, will need to make a copy");
real_t norm(const Bilinears &norms) const
std::string prefix() const
auto matrixElements() const
void printVal(const Event &evt)
CoherentSum(const EventType &type, const AmpGen::MinuitParameterSet &mps, const std::string &prefix="")
bool m_ownEvents
Flag as to whether events are owned by this PDF or not.
std::vector< FitFraction > fitFractions(const LinearErrorPropagator &, bool=false)
Integrator m_integrator
Tool to calculate integrals.
std::string m_prefix
Prefix for matrix elements.
complex_t getValNoCache(const Event &evt) const
void setMC(const EventList_type &sim)
std::function< real_t(const Event &)> evaluator(const EventList_type *=nullptr) const
void setWeight(MinuitProxy param)
MinuitProxy m_weight
Weight (i.e. the normalised yield).
void generateSourceCode(const std::string &, const double &=1, bool=false)
void setEvents(const EventList_type &list)
void addMatrixElement(std::pair< Particle, TotalCoupling > &particleWithCoupling, const MinuitParameterSet &mps)
auto & operator[](const size_t &index) const
bool m_verbosity
Flag for verbose printing.
Bilinears m_normalisations
Normalisation integrals.
void debug(const Event &, const std::string &="")
complex_t getVal(const Event &evt) const
const auto & cache() const
EventType eventType() const
EventType m_eventType
Final state for this amplitude.
real_t getNorm(const Bilinears &normalisations)
const EventList_type * m_events
Data events to evaluate PDF on.
size_t m_lastPrint
Last time verbose PDF info was printed.
void makeTotalExpression()
real_t operator()(const Event &evt) const
const MinuitParameterSet * m_mps
std::vector< MatrixElement > m_matrixElements
Vector of matrix elements.
void reset(bool resetEvents=false)
FunctionCache< EventList_type, complex_v, Alignment::AoS > m_cache
Store of intermediate values for the PDF calculation.
real_v operator()(const real_v *, const unsigned) const
std::map< std::string, std::vector< unsigned int > > getGroupedAmplitudes()
KeyedFunctors< double(Event)> componentEvaluator(const EventList_type *=nullptr) const
double m_norm
Normalisation integral.
bool m_isConstant
Flag for a constant PDF.
auto & operator[](const size_t &index)
void transferParameters()
complex_t norm(const size_t &x, const size_t &y) const
std::function< complex_t(const Event &)> amplitudeEvaluator(const EventList_type *=nullptr) const
size_t m_prepareCalls
Number of times prepare has been called.
Encapsulates the final state particles of a single event.
Deals with final state configuration of events, specifically dealing with the ordering of particles i...
Propagates uncertainties on functors using either a MinuitParameterSet (thus assuming a diagonal cova...
Describes a particle, its decay process and subsequent decay products, which are also Particles.
#define WARNING(X)
Used for printing warning messages, can be switched off using WARNINGLEVEL.
std::complex< real_t > complex_t