21 #ifndef yap_FourMomenta_
22 #define yap_FourMomenta_
24 #include "fwd/CachedValue.h"
25 #include "fwd/DataPoint.h"
26 #include "fwd/FinalStateParticle.h"
27 #include "fwd/FourVector.h"
28 #include "fwd/MassAxes.h"
29 #include "fwd/Model.h"
30 #include "fwd/ParticleCombination.h"
31 #include "fwd/StatusManager.h"
72 double m2(
const DataPoint& d,
const std::shared_ptr<ParticleCombination>& pc)
const
73 {
return pow(
m(d, pc), 2); }
78 double m(
const DataPoint& d,
const std::shared_ptr<ParticleCombination>& pc)
const;
89 std::shared_ptr<RealCachedValue>
mass()
93 std::shared_ptr<RealCachedValue>
mass()
const
97 std::shared_ptr<FourVectorCachedValue>
momentum()
101 std::shared_ptr<FourVectorCachedValue>
momentum()
const
139 std::shared_ptr<FourVectorCachedValue>
P_;
142 std::shared_ptr<RealCachedValue>
M_;
151 std::vector<FourVector<double> >
calculate_four_momenta(
double initial_mass,
const FinalStateParticleVector& FPSs,
152 const MassAxes& axes,
const std::vector<double>& squared_masses);
161 const MassAxes& axes,
const std::vector<double>& squared_masses);
std::vector< FourVector< double > > calculate_four_momenta(double initial_mass, const FinalStateParticleVector &FPSs, const MassAxes &axes, const std::vector< double > &squared_masses)
Definition: FourMomenta.cxx:218
bool consistent() const
check consistency
Definition: FourMomenta.cxx:65
void setFinalStateMomenta(DataPoint &d, const std::vector< FourVector< double > > &P, StatusManager &sm) const
Definition: FourMomenta.cxx:32
void addParticleCombination(std::shared_ptr< ParticleCombination > pc) override
looks for ISP when adding ParticleCombination's
Definition: FourMomenta.cxx:46
std::shared_ptr< FourVectorCachedValue > momentum() const
Definition: FourMomenta.h:101
double m(const DataPoint &d, const std::shared_ptr< ParticleCombination > &pc) const
Definition: FourMomenta.cxx:111
Four-Vector handling.
Definition: FourVector.h:41
ParticleCombinationVector specialized to contain axes for defining a phase-space coordinate.
Definition: MassAxes.h:31
FourVector< double > p(const DataPoint &d, const std::shared_ptr< ParticleCombination > &pc) const
Definition: FourMomenta.cxx:105
std::shared_ptr< RealCachedValue > M_
invariant mass of particle combinations [GeV]
Definition: FourMomenta.h:142
std::shared_ptr< FourVectorCachedValue > momentum()
Definition: FourMomenta.h:97
std::shared_ptr< RealCachedValue > mass()
Definition: FourMomenta.h:89
std::shared_ptr< RealCachedValue > mass() const
Definition: FourMomenta.h:93
Class for holding data and cached values per data point for fast calculation.
Definition: DataPoint.h:35
Base class for all data accessors that will only write to DataPoint once at initial data loading...
Definition: StaticDataAccessor.h:36
int TotalIndex_
Symmetrization index of an initial state that is composed from ALL final state particles.
Definition: FourMomenta.h:133
std::vector< int > FSPIndices_
Symmetrization indices of final states.
Definition: FourMomenta.h:136
double m2(const DataPoint &d, const std::shared_ptr< ParticleCombination > &pc) const
Definition: FourMomenta.h:72
Definition: StatusManager.h:32
Class implementing a PWA model.
Definition: Model.h:56
const std::vector< FourVector< double > > finalStateMomenta(const DataPoint &d) const
Definition: FourMomenta.cxx:91
Stores and gives access to four-momenta and invariant masses.
Definition: FourMomenta.h:45
virtual void calculate(DataPoint &d, StatusManager &sm) const override
Definition: FourMomenta.cxx:117
std::ostream & printMasses(const DataPoint &d, std::ostream &os=std::cout) const
print all masses
Definition: FourMomenta.cxx:153
Abstract base class for all objects accessing DataPoint's.
Definition: DataAccessor.h:38
void pruneSymmetrizationIndices() override
override to do nothing, since FourMomenta doesn't rely on parents being set.
Definition: FourMomenta.h:127
FourMomenta(Model &m)
Definition: FourMomenta.cxx:22
std::shared_ptr< FourVectorCachedValue > P_
four-vector of particle combinations
Definition: FourMomenta.h:139
const FourVector< double > totalMomentum(const DataPoint &d) const
Definition: FourMomenta.cxx:83