AmpGen
2.1
Toggle main menu visibility
Loading...
Searching...
No Matches
IncoherentSum.h
Go to the documentation of this file.
1
#ifndef AMPGEN_INCOHERENTSUM_H
2
#define AMPGEN_INCOHERENTSUM_H
3
4
#include <complex>
5
#include <iomanip>
6
#include <string>
7
#include <vector>
8
9
#include "
AmpGen/EventList.h
"
10
#include "
AmpGen/CoherentSum.h
"
11
#include "
AmpGen/Integrator.h
"
12
#include "
AmpGen/MsgService.h
"
13
#include "
AmpGen/Event.h
"
14
#include "
AmpGen/Types.h
"
15
16
namespace
AmpGen
{
17
class
EventType
;
18
class
FitFraction
;
19
class
LinearErrorPropagator
;
20
class
MinuitParameterSet
;
21
33
class
IncoherentSum
:
public
CoherentSum
{
34
public
:
40
IncoherentSum
(
const
EventType
&
eventType
,
const
AmpGen::MinuitParameterSet
&mps,
const
std::string &
prefix
=
"Inco"
);
41
43
real_t
prob(
const
Event
&evt)
const
;
44
real_t
operator()
(
const
Event
&evt)
const
{
return
prob(evt); }
45
real_v
operator()
(
const
real_v
*,
const
unsigned
)
const
;
46
#if ENABLE_AVX
47
double
operator()
(
const
double
*,
const
unsigned
)
const
;
48
#endif
49
51
real_t
prob_unnormalised(
const
Event
&evt)
const
;
52
58
real_t
norm
()
const
;
59
complex_t
norm
(
const
size_t
&i,
const
size_t
&j) {
return
i == j ?
m_normalisations
.get(i, i) : 0; }
60
complex_t
norm
(
const
size_t
&i) {
return
m_normalisations
.get(i, i); }
61
real_t
norm
(
const
Bilinears
&
norms
)
const
;
62
std::vector<FitFraction>
fitFractions
(
const
LinearErrorPropagator
&linProp);
63
64
real_t
prob_unnormalisedNoCache
(
const
Event
&evt)
const
;
65
void
debug
(
const
Event
&evt,
const
std::string &nameMustContain =
""
);
66
67
std::function<
real_t
(
const
Event
&)>
evaluator
(
const
EventList_type
* =
nullptr
)
const
;
68
KeyedFunctors
<double(
Event
)>
componentEvaluator
(
const
EventList_type
* =
nullptr
)
const
;
69
70
// void prepare();
71
};
72
}
// namespace AmpGen
73
74
#endif
CoherentSum.h
Event.h
EventList.h
Integrator.h
MsgService.h
Types.h
AmpGen::Bilinears
Definition
Integrator.h:72
AmpGen::CoherentSum::CoherentSum
CoherentSum()
AmpGen::CoherentSum::prefix
std::string prefix() const
Definition
CoherentSum.h:56
AmpGen::CoherentSum::norms
Bilinears norms() const
Definition
CoherentSum.h:102
AmpGen::CoherentSum::EventList_type
EventList EventList_type
Definition
CoherentSum.h:50
AmpGen::CoherentSum::m_normalisations
Bilinears m_normalisations
Normalisation integrals.
Definition
CoherentSum.h:114
AmpGen::CoherentSum::eventType
EventType eventType() const
Definition
CoherentSum.h:107
AmpGen::CoherentSum::operator()
real_v operator()(const real_v *, const unsigned) const
AmpGen::Event
Encapsulates the final state particles of a single event.
Definition
Event.h:19
AmpGen::EventType
Deals with final state configuration of events, specifically dealing with the ordering of particles i...
Definition
EventType.h:22
AmpGen::FitFraction
Definition
FitFraction.h:16
AmpGen::IncoherentSum
An incoherent sum of resonances, traditionally considered as an approximate background model.
Definition
IncoherentSum.h:33
AmpGen::IncoherentSum::prob_unnormalisedNoCache
real_t prob_unnormalisedNoCache(const Event &evt) const
AmpGen::IncoherentSum::componentEvaluator
KeyedFunctors< double(Event)> componentEvaluator(const EventList_type *=nullptr) const
AmpGen::IncoherentSum::fitFractions
std::vector< FitFraction > fitFractions(const LinearErrorPropagator &linProp)
AmpGen::IncoherentSum::norm
complex_t norm(const size_t &i)
Definition
IncoherentSum.h:60
AmpGen::IncoherentSum::norm
real_t norm() const
Constructs an incoherentSum from the type of event this is expected to describe, and a set of paramet...
AmpGen::IncoherentSum::debug
void debug(const Event &evt, const std::string &nameMustContain="")
AmpGen::IncoherentSum::evaluator
std::function< real_t(const Event &)> evaluator(const EventList_type *=nullptr) const
AmpGen::IncoherentSum::norm
real_t norm(const Bilinears &norms) const
AmpGen::IncoherentSum::norm
complex_t norm(const size_t &i, const size_t &j)
Definition
IncoherentSum.h:59
AmpGen::LinearErrorPropagator
Propagates uncertainties on functors using either a MinuitParameterSet (thus assuming a diagonal cova...
Definition
ErrorPropagator.h:30
AmpGen::MinuitParameterSet
Definition
MinuitParameterSet.h:13
AmpGen
Definition
AddCPConjugate.h:2
AmpGen::real_t
double real_t
Definition
Types.h:6
AmpGen::complex_t
std::complex< real_t > complex_t
Definition
Types.h:7
AmpGen::real_v
AVX::real_v real_v
Definition
utils.h:47
AmpGen::KeyedFunctors
Definition
KeyedFunctors.h:8
AmpGen
IncoherentSum.h
Generated on
for AmpGen by
1.17.0