12 #include "ThirdParty/qft++/include/qft++/Vector4.h" 24 std::vector<pid> initialState,
25 std::vector<pid> finalState,
28 initialState, finalState, partL, cmsP4, [&finalState]() {
29 std::vector<unsigned int> FinalStateEventPositionMapping;
30 for (
unsigned int i = 0; i < finalState.size(); ++i) {
31 FinalStateEventPositionMapping.push_back(i);
33 return FinalStateEventPositionMapping;
46 M2(kininfo.getInitialStateInvariantMassSquared()) {
47 LOG(INFO) <<
"DalitzKinematics::" 48 "DalitzKinematics() | Initialized kinematics " 60 auto mA = Dataset.Data[
"mA"];
61 auto mB = Dataset.Data[
"mB"];
62 auto mC = Dataset.Data[
"mC"];
63 auto qAB = Dataset.Data[
"qAB"];
64 auto qBC = Dataset.Data[
"qBC"];
65 auto qCA = Dataset.Data[
"qCA"];
67 for (
size_t i = 0; i < Events.
Events.size(); ++i) {
68 double s2 = (qAB[i] + qBC[i] + qCA[i] - mA[i] * mA[i] - mB[i] * mB[i] -
72 PhspSample.Events.push_back(Events.
Events[i]);
82 std::stringstream Message;
83 Message <<
"Pids in EventCollection and in Kinematics do not match";
84 Message << std::endl <<
" ";
85 Message << DataSample.
Pids.size() <<
" PIDs in EventCollection:";
86 for (
auto Pid : DataSample.
Pids)
87 Message <<
" " << Pid;
88 Message << std::endl <<
" ";
90 <<
" PIDs in Kinematics:";
92 Message <<
" " << Pid;
97 "not equal to number of four-momenta");
100 std::vector<double> mA, mB, mC, qAB, qBC, qCA, Weights;
114 Dataset.
Data.insert(std::make_pair(
"mA", mA));
115 Dataset.
Data.insert(std::make_pair(
"mB", mB));
116 Dataset.
Data.insert(std::make_pair(
"mC", mC));
117 Dataset.
Data.insert(std::make_pair(
"qAB", qAB));
118 Dataset.
Data.insert(std::make_pair(
"qBC", qBC));
119 Dataset.
Data.insert(std::make_pair(
"qCA", qCA));
120 Dataset.
Data.insert(std::make_pair(
"weights", Weights));
ComPWA four momentum class.
Implementation of the ComPWA::Kinematics interface for amplitude models using the helicity formalism...
ComPWA::Data::DataSet convert(const EventCollection &DataSample) const final
const std::vector< pid > & getFinalStatePIDs() const
Contains DalitzKinematics class.
std::vector< Event > Events
std::set< ParticleProperties > ParticleList
double phspVolume() const
DalitzKinematics(ParticleStateTransitionKinematicsInfo KinInfo, double PhspVol)
ParticleStateTransitionKinematicsInfo KinematicsInfo
EventCollection reduceToPhaseSpace(const EventCollection &DataSample) const final
Returns a subset of events that are within phase space boundaries.
std::vector< FourMomentum > FourMomenta
Data structure containing all kinematic information of a physics event.
bool checkPidMatchesEvents() const