1 #ifndef DALITZ_EVENT_BASE_HH 2 #define DALITZ_EVENT_BASE_HH 10 #include "TLorentzVector.h" 17 #include "Mint/RememberAnything.h" 29 static std::string
prtToNtpName(
const std::string& s_in);
30 static std::string
ntpToPrtName(
const std::string& s_in);
36 std::vector<TLorentzVector>
_p;
46 mutable std::vector< std::vector<double> >
_s;
47 mutable std::vector< std::vector<double> >
_t;
55 const TLorentzVector&
p_intern(
unsigned int i)
const;
56 double s_intern(
unsigned int i,
unsigned int j)
const;
57 double t_intern(
unsigned int i,
unsigned int j)
const;
64 bool setMomenta(
const std::vector<TLorentzVector>& mumAndDgtr_p4);
65 bool setMomenta(
const std::vector<TVector3>& mumAndDgtr_p3);
66 void setP(
unsigned int i,
const TLorentzVector& p4);
70 ,
const std::vector<TLorentzVector> mumAndDgtr_p4
74 ,
double s12_in,
double s23_in,
double s34_in
78 ,
const std::vector<TVector3> mumAndDgtr_p4
115 virtual const TLorentzVector&
p(
unsigned int i)
const;
116 virtual double s(
unsigned int i,
unsigned int j)
const;
117 virtual double t(
unsigned int i,
unsigned int j)
const;
118 virtual double sij(
const std::vector<int>& indices)
const;
126 virtual void setComplex(
void* key,
const std::complex<double>& value){
131 double sijMin(
const std::vector<int>& indices)
const;
132 double sijMax(
const std::vector<int>& indices)
const;
137 double m(
unsigned int i)
const;
138 double m2(
unsigned int i)
const;
142 void print(std::ostream& os = std::cout)
const;
void print(std::ostream &os=std::cout) const
double phaseSpace4() const
int numPermutations() const
virtual void setGeneratorPdfRelativeToPhaseSpace(double gpdf)
std::string makeNtupleVarnames() const
int permutationIndex() const
RememberAnything< std::complex< double > > _rememberAmps
virtual double s(unsigned int i, unsigned int j) const
virtual const DalitzEventPattern & eventPattern() const
std::vector< TLorentzVector > _p
bool kinematicallyAllowed(double epsilon=1.e-9) const
static const char ntpNameChars[]
double sijMin(const std::vector< int > &indices) const
virtual double getAValue() const
void setPermutationIndex(int i)
static std::string prtToNtpName(const std::string &s_in)
const TLorentzVector & p_intern(unsigned int i) const
std::vector< std::vector< double > > _s
double _rememberPhaseSpace
virtual double phaseSpace() const
virtual const TLorentzVector & p(unsigned int i) const
const Permutation & currentPermutation() const
std::vector< std::vector< double > > _t
double s_intern(unsigned int i, unsigned int j) const
Calculate4BodyProps makeCalculate4BodyProps() const
bool fillNtupleVarArray(Double_t *array, unsigned int arraySize) const
TLorentzVector p_dgtr_sum() const
static int singleParticleNtpArraySize()
virtual double getWeight() const
bool setMomenta(const std::vector< TLorentzVector > &mumAndDgtr_p4)
unsigned int ntupleVarArraySize() const
static const char prtNameChars[]
double _generatorPdfRelativeToPhaseSpace
bool fromNtuple(TNtupleD *ntp)
static std::string ntpToPrtName(const std::string &s_in)
double t_intern(unsigned int i, unsigned int j) const
unsigned int size() const
void setP(unsigned int i, const TLorentzVector &p4)
double m(unsigned int i) const
std::ostream & operator<<(std::ostream &os, const DalitzEvent &de)
double phaseSpace3(double epsilon=1.e-9) const
double m2(unsigned int i) const
virtual void setAValue(double a)
virtual double getGeneratorPdfRelativeToPhaseSpace() const
virtual double t(unsigned int i, unsigned int j) const
virtual void setWeight(double w)
virtual bool retrieveComplex(void *key, std::complex< double > &value)
virtual double sij(const std::vector< int > &indices) const
double sijMax(const std::vector< int > &indices) const
virtual void setComplex(void *key, const std::complex< double > &value)
void generateThisToPhaseSpace(TRandom *rnd=0)