1 #ifndef DALITZ_EVENT_HH 2 #define DALITZ_EVENT_HH 11 #include "TLorentzVector.h" 32 static std::string
prtToNtpName(
const std::string& s_in);
33 static std::string
ntpToPrtName(
const std::string& s_in);
43 std::vector<TLorentzVector>
_p;
57 mutable std::vector< std::vector<double> >
_s;
58 mutable std::vector< std::vector<double> >
_t;
59 mutable std::map<std::vector<int>,
double>
_sijMap;
69 const TLorentzVector&
p_intern(
unsigned int i)
const;
70 TLorentzVector&
p_intern(
unsigned int i);
71 double s_intern(
unsigned int i,
unsigned int j)
const;
72 double t_intern(
unsigned int i,
unsigned int j)
const;
73 double evalsij_intern(
const std::vector<int>& intern_indices)
const;
74 double sijMap_intern(
const std::vector<int>& intern_indices)
const;
75 double sijMap(
const std::vector<int>& indices)
const;
83 bool setMomenta(
const std::vector<TLorentzVector>& mumAndDgtr_p4);
84 bool setMomenta(
const std::vector<TVector3>& mumAndDgtr_p3);
85 void setP(
unsigned int i,
const TLorentzVector& p4);
90 , std::string& part2);
94 ,
const std::vector<TLorentzVector>& mumAndDgtr_p4
99 ,
double s12_in,
double s23_in,
double s34_in
105 ,
const std::vector<TVector3>& mumAndDgtr_p3
174 virtual const TLorentzVector&
p(
unsigned int i)
const;
175 virtual TLorentzVector&
p(
unsigned int i);
176 virtual double s(
unsigned int i,
unsigned int j)
const;
177 virtual double t(
unsigned int i,
unsigned int j)
const;
178 virtual double sij(
const std::vector<int>& indices)
const;
188 ,
long int configNumber=1){
201 virtual void setValue(
int i,
const std::complex<double>& value
202 ,
long int configNumber=1){
209 virtual void setValue(
int i,
double value,
long int configNumber=1){
214 double sijMin(
const std::vector<int>& indices)
const;
218 double sijMax(
const std::vector<int>& indices)
const;
225 double m(
unsigned int i)
const;
226 double m2(
unsigned int i)
const;
230 void print(std::ostream& os = std::cout)
const;
virtual double getValueFromVector(unsigned int i) const
virtual void setWeight(double w)
void set(unsigned int i, const T &value, long int configNumber=1)
std::vector< double > _vectorOfValues
virtual void setMothers3Momentum(const TVector3 &mp3)
static std::string prtToNtpName(const std::string &s_in)
std::vector< std::vector< double > > _t
int numPermutations() const
bool fromParasTreeOld(TTree *ntp)
virtual const std::vector< double > & getVectorOfValues() const
static long int _rememberVectorCounter
virtual double sij(const std::vector< int > &indices) const
double sijMin(const MINT::PolymorphVector< int > &indices) const
const TLorentzVector & p_intern(unsigned int i) const
double phaseSpace4() const
std::string makeNtupleVarnames() const
virtual void CP_conjugateYourself()
IDalitzEvent * clone() const
bool fillNtupleVarArray(std::vector< Double_t > &array) const
RememberAnythingFast< double > _rememberDoubleFast
bool setMomenta(const std::vector< TLorentzVector > &mumAndDgtr_p4)
virtual bool retrieveValue(int i, std::complex< double > &value, long int configNumber=1)
virtual double phaseSpace() const
virtual void P_conjugateYourself()
const Permutation & currentPermutation() const
virtual const DalitzEventPattern & eventPattern() const
bool fromTree(TTree *tree)
virtual void setValueInVector(unsigned int i, double value)
static long int assignUniqueRememberNumber()
virtual double getAValue() const
static long int eventCounter()
bool fromParasTree(TTree *ntp)
virtual double getWeightFromVector(unsigned int i) const
virtual double sij(const MINT::PolymorphVector< int > &indices) const
std::vector< double > _vectorOfWeights
bool get(int i, T &value, long int configNumber=1)
virtual void setValue(int i, double value, long int configNumber=1)
virtual const std::vector< double > & getVectorOfWeights() const
std::vector< std::vector< double > > _s
void setPermutationIndex(int i)
double m2(unsigned int i) const
virtual void setWeightInVector(unsigned int i, double weight)
double phaseSpace3(double epsilon=1.e-9) const
static bool parseNtpEntryName(const std::string &entry, std::string &part1, std::string &part2)
void generateThisToPhaseSpace(TRandom *rnd=0)
virtual double getWeight() const
double _rememberPhaseSpace
RememberAnythingFast< std::complex< double > > _rememberComplexFast
double _generatorPdfRelativeToPhaseSpace
TLorentzVector p_dgtr_sum() const
static std::string ntpToPrtName(const std::string &s_in)
virtual void C_conjugateYourself()
virtual double getGeneratorPdfRelativeToPhaseSpace() const
virtual bool retrieveValue(int i, double value, long int configNumber=1)
virtual void setValue(int i, const std::complex< double > &value, long int configNumber=1)
std::vector< TLorentzVector > _p
virtual void setAValue(double a)
unsigned int ntupleVarArraySize() const
double sijMap_intern(const std::vector< int > &intern_indices) const
virtual const TLorentzVector & p(unsigned int i) const
unsigned int size() const
double t_intern(unsigned int i, unsigned int j) const
bool fromNtuple(TNtupleD *ntp)
virtual double t(unsigned int i, unsigned int j) const
static const char prtNameChars[]
double sijMin(const std::vector< int > &indices) const
double m(unsigned int i) const
void print(std::ostream &os=std::cout) const
virtual double s(unsigned int i, unsigned int j) const
static long int _eventCounter
double evalsij_intern(const std::vector< int > &intern_indices) const
virtual void setGeneratorPdfRelativeToPhaseSpace(double gpdf)
static int singleParticleNtpArraySize()
std::ostream & operator<<(std::ostream &os, const DalitzEvent &de)
Calculate4BodyProps makeCalculate4BodyProps() const
double sijMax(const MINT::PolymorphVector< int > &indices) const
std::vector< T > & theVector()
double s_intern(unsigned int i, unsigned int j) const
static const char ntpNameChars[]
double sijMap(const std::vector< int > &indices) const
std::map< std::vector< int >, double > _sijMap
bool kinematicallyAllowed(double epsilon=1.e-9) const
double sijMax(const std::vector< int > &indices) const
int permutationIndex() const
void setP(unsigned int i, const TLorentzVector &p4)