LauIsobarDynamics.cc
Go to the documentation of this file.
49 LauIsobarDynamics::LauIsobarDynamics(LauDaughters* daughters, LauEffModel* effModel, LauEffModel* scfFractionModel) :
105 // for Kspipi, we need a scfFraction 2D histogram for each tagging category. They are provided by the map.
106 // Also, we need to know the place that the tagging category of the current event occupies in the data structure inputFitTree
107 LauIsobarDynamics::LauIsobarDynamics(LauDaughters* daughters, LauEffModel* effModel, LauTagCatScfFractionModelMap scfFractionModel) :
179 std::cout << "INFO in LauIsobarDynamics::initialise : No contributions to DP model, not performing normalisation integrals." << std::endl;
184 std::cout<<"INFO in LauIsobarDynamics::initialise : Starting special run to generate the integrals for normalising the PDF..."<<std::endl;
236 std::cout<<"INFO in LauIsobarDynamics::initialise : Initial fit fraction for amplitude ("<<i<<","<<j<<") = "<<fitFrac_[i][j].genValue()<<std::endl;
240 std::cout<<"INFO in LauIsobarDynamics::initialise : Initial efficiency = "<<meanDPEff_.initValue()<<std::endl;
242 std::cout<<"INFO in LauIsobarDynamics::initialise : Initial DPRate = "<<DPRate_.initValue()<<std::endl;
254 std::cout<<"INFO in LauIsobarDynamics::initSummary : We are going to do a DP with "<<nameP<<" going to "<<name1<<" "<<name2<<" "<<name3<<std::endl;
335 std::cout<<"INFO in LauIsobarDynamics::writeIntegralsFile : Writing integral output to integrals file "<<intFileName_.Data()<<std::endl;
403 void LauIsobarDynamics::addResonance(const TString& resName, Int_t resPairAmpInt, const TString& resType, Double_t newMass, Double_t newWidth, Int_t newSpin)
424 std::cerr<<"ERROR in LauIsobarDynamics::addResonance : Couldn't create the resonance \""<<resName<<"\""<<std::endl;
487 std::cerr<<"ERROR in LauIsobarDynamics::addResonance : Belle non-resonant object is null"<<std::endl;
494 std::cerr<<"ERROR in LauIsobarDynamics::addResonance : Symmetric Belle non-resonant object is null"<<std::endl;
499 Double_t omega = 0.5*(daughters_->getMassParent()+(1./3)*(daughters_->getMassDaug1()+daughters_->getMassDaug2()+daughters_->getMassDaug3()));
503 std::cerr<<"ERROR in LauIsobarDynamics::addResonance : Polynomial non-resonant object is null"<<std::endl;
518 std::cout<<"INFO in LauIsobarDynamics::addResonance : Setting resPairAmp to 0 for "<<resonanceName<<" contribution."<<std::endl;
530 std::cout<<"INFO in LauIsobarDynamics::addResonance : Successfully added resonance. Total number of resonances so far = "<<nAmp_<<std::endl;
534 void LauIsobarDynamics::defineKMatrixPropagator(const TString& propName, const TString& paramFileName, Int_t resPairAmpInt,
537 // Define the K-matrix propagator. The resPairAmpInt integer specifies which mass combination should be used
538 // for the invariant mass-squared variable "s". The pole masses and coupling constants are defined in the
539 // paramFileName parameter file. The number of channels and poles are defined by the nChannels and nPoles integers, respectively.
544 std::cerr<<"Error in defineKMatrixPropagator: rowIndex must be > 0 but is equal to "<<rowIndex<<std::endl;
550 LauKMatrixPropagator* thePropagator = LauKMatrixPropFactory::getInstance()->getPropagator(propagatorName, parameterFile,
557 void LauIsobarDynamics::addKMatrixProdPole(const TString& poleName, const TString& propName, Int_t poleIndex)
580 LauAbsResonance* prodPole = new LauKMatrixProdPole(poleName, poleIndex, resPairAmpInt, thePropagator, daughters_);
593 std::cout<<"INFO in LauIsobarDynamics::addKMatrixProdPole : Successfully added K-matrix production pole term. Total number of resonances so far = "<<nAmp_<<std::endl;
597 std::cerr<<"ERROR in LauIsobarDynamics::addKMatrixProdPole : The propagator of the name "<<propName
605 void LauIsobarDynamics::addKMatrixProdSVP(const TString& SVPName, const TString& propName, Int_t channelIndex)
628 LauAbsResonance* prodSVP = new LauKMatrixProdSVP(SVPName, channelIndex, resPairAmpInt, thePropagator, daughters_);
641 std::cout<<"INFO in LauIsobarDynamics::addKMatrixProdSVP : Successfully added K-matrix production slowly-varying (SVP) term. Total number of resonances so far = "<<nAmp_<<std::endl;
645 std::cerr<<"ERROR in LauIsobarDynamics::addKMatrixProdSVP : The propagator of the name "<<propName
657 for (std::vector<LauAbsResonance*>::iterator iter=sigResonances_.begin(); iter!=sigResonances_.end(); ++iter) {
668 std::cerr<<"ERROR in LauIsobarDynamics::findResonance : Couldn't find resonance \""<<name<<"\" in the model."<<std::endl;
678 for (std::vector<LauAbsResonance*>::const_iterator iter=sigResonances_.begin(); iter!=sigResonances_.end(); ++iter) {
689 std::cerr<<"ERROR in LauIsobarDynamics::findResonance : Couldn't find resonance \""<<name<<"\" in the model."<<std::endl;
705 void LauIsobarDynamics::changeResonance(const TString& resName, Double_t newMass, Double_t newWidth, Int_t newSpin)
710 std::cerr<<"ERROR in LauIsobarDynamics::changeResonance : mass, width and spin parameters all out of range."<<std::endl;
737 for ( std::vector<LauAbsResonance*>::const_iterator iter = sigResonances_.begin(); iter != sigResonances_.end(); ++iter ) {
743 std::cout<<"INFO in LauIsobarDynamics::calcDPNormalisation : Found narrow resonance: "<<name<<", mass = "<<mass<<", width = "<<width<<", pair int = "<<pair<<std::endl;
754 std::cerr<<"WARNING in LauIsobarDynamics::calcDPNormalisation : strange pair integer, "<<pair<<", for resonance \""<<(*iter)->getResonanceName()<<std::endl;
778 std::cout<<"INFO in LauIsobarDynamics::calcDPNormalisation : No narrow resonances found, integrating over whole Dalitz plot..."<<std::endl;
785 std::cout<<"INFO in LauIsobarDynamics::calcDPNormalisation : One or more narrow resonances found in m12, integrating over whole Dalitz plot with bin width of "<<m13BinWidth<<" GeV/c2..."<<std::endl;
799 std::cout<<"INFO in LauIsobarDynamics::calcDPNormalisation : One narrow resonance found in m13, close to threshold, dividing Dalitz plot into two regions..."<<std::endl;
804 std::cout<<"INFO in LauIsobarDynamics::calcDPNormalisation : One narrow resonance found in m13, dividing Dalitz plot into three regions..."<<std::endl;
815 for ( std::map<Double_t,Double_t>::const_iterator iter = m13NarrowRes.begin(); iter != m13NarrowRes.end(); ++iter ) {
830 std::cout<<"INFO in LauIsobarDynamics::calcDPNormalisation : Two narrow resonances found in m13, one close to threshold, dividing Dalitz plot into four regions..."<<std::endl;
838 std::cout<<"INFO in LauIsobarDynamics::calcDPNormalisation : Two narrow resonances found in m13, dividing Dalitz plot into five regions..."<<std::endl;
859 std::cout<<"INFO in LauIsobarDynamics::calcDPNormalisation : One narrow resonance found in m23, close to threshold, dividing Dalitz plot into two regions..."<<std::endl;
864 std::cout<<"INFO in LauIsobarDynamics::calcDPNormalisation : One narrow resonance found in m23, dividing Dalitz plot into three regions..."<<std::endl;
875 for ( std::map<Double_t,Double_t>::const_iterator iter = m23NarrowRes.begin(); iter != m23NarrowRes.end(); ++iter ) {
890 std::cout<<"INFO in LauIsobarDynamics::calcDPNormalisation : Two narrow resonances found in m23, one close to threshold, dividing Dalitz plot into four regions..."<<std::endl;
898 std::cout<<"INFO in LauIsobarDynamics::calcDPNormalisation : Two narrow resonances found in m23, dividing Dalitz plot into five regions..."<<std::endl;
924 std::cout<<"INFO in LauIsobarDynamics::calcDPNormalisation : One narrow resonance found in m13 and one in m23, both close to threshold, dividing Dalitz plot into four regions..."<<std::endl;
938 std::cout<<"INFO in LauIsobarDynamics::calcDPNormalisation : One narrow resonance found in m13, close to threshold, and one in m23, not close to threshold, dividing Dalitz plot into six regions..."<<std::endl;
952 std::cout<<"INFO in LauIsobarDynamics::calcDPNormalisation : One narrow resonance found in m23, close to threshold, and one in m13, not close to threshold, dividing Dalitz plot into six regions..."<<std::endl;
966 std::cout<<"INFO in LauIsobarDynamics::calcDPNormalisation : One narrow resonance found in both m13 and m23, neither close to threshold, dividing Dalitz plot into nine regions..."<<std::endl;
987 std::cout<<"INFO in LauIsobarDynamics::calcDPNormalisation : Multiple narrow resonances found in m13, dividing Dalitz plot into two regions..."<<std::endl;
990 for ( std::map<Double_t,Double_t>::const_iterator iter = m13NarrowRes.begin(); iter != m13NarrowRes.end(); ++iter ) {
1004 std::cout<<"INFO in LauIsobarDynamics::calcDPNormalisation : Multiple narrow resonances found in m23, dividing Dalitz plot into two regions..."<<std::endl;
1007 for ( std::map<Double_t,Double_t>::const_iterator iter = m23NarrowRes.begin(); iter != m23NarrowRes.end(); ++iter ) {
1022 for ( std::map<Double_t,Double_t>::const_iterator iter = m23NarrowRes.begin(); iter != m23NarrowRes.end(); ++iter ) {
1037 std::cout<<"INFO in LauIsobarDynamics::calcDPNormalisation : Multiple narrow resonances found in m23 and one in m13, close to threshold, dividing Dalitz plot into four regions..."<<std::endl;
1051 std::cout<<"INFO in LauIsobarDynamics::calcDPNormalisation : Multiple narrow resonances found in m23 and one in m13, not close to threshold, dividing Dalitz plot into six regions..."<<std::endl;
1072 for ( std::map<Double_t,Double_t>::const_iterator iter = m13NarrowRes.begin(); iter != m13NarrowRes.end(); ++iter ) {
1087 std::cout<<"INFO in LauIsobarDynamics::calcDPNormalisation : Multiple narrow resonances found in m13 and one in m23, close to threshold, dividing Dalitz plot into four regions..."<<std::endl;
1101 std::cout<<"INFO in LauIsobarDynamics::calcDPNormalisation : Multiple narrow resonances found in m13 and one in m23, not close to threshold, dividing Dalitz plot into six regions..."<<std::endl;
1118 std::cout<<"INFO in LauIsobarDynamics::calcDPNormalisation : Multiple narrow resonances found in both m13 and m23, dividing Dalitz plot into four regions..."<<std::endl;
1121 for ( std::map<Double_t,Double_t>::const_iterator iter = m13NarrowRes.begin(); iter != m13NarrowRes.end(); ++iter ) {
1131 for ( std::map<Double_t,Double_t>::const_iterator iter = m23NarrowRes.begin(); iter != m23NarrowRes.end(); ++iter ) {
1156 // Specify whether we're going to use Gauss-Legendre integration to calculate the normalisation
1157 // integrals, and the bin widths we require for the m13 and m23 axes. Note that the integration
1158 // is done over m13, m23 space, with the appropriate Jacobian applied, and not m13^2, m23^2 space.
1165 void LauIsobarDynamics::calcDPPartialIntegral(Double_t minm13, Double_t maxm13, Double_t minm23, Double_t maxm23,
1191 std::cout<<"INFO in LauIsobarDynamics::calcDPPartialIntegral : nm13Points = "<<nm13Points<<", nm23Points = "<<nm23Points<<std::endl;
1193 std::cout<<" : Integrating over m13 = "<<minm13<<" to "<<maxm13<<", m23 = "<<minm23<<" to "<<maxm23<<std::endl;
1334 //std::cout<<"For i = "<<i<<", ATerm = "<<ATerm<<", Amp = "<<Amp_[i]<<", ff = "<<ff_[i]<<std::endl;
1388 std::cout<<"ERROR in LauIsobarDynamics::resAmp : Couldn't retrieve resonance with index = "<<index<<std::endl;
1415 std::cerr<<"ERROR in LauIsobarDynamics::setFFTerm : index = "<<index<<" is not within the range 0 and "<<nAmp_-1<<". Bailing out."<<std::endl;
1499 // Now loop over all resonances and find those which are K-matrix components for this propagator
1542 std::cout<<"INFO in LauIsobarDynamics::calcExtraInfo : Total K-matrix fit fraction for propagator "<<propName<<" is "<<kMatrixTotFitFrac<<std::endl;
1674 LauAbsDPDynamics::ToyMCStatus LauIsobarDynamics::checkToyMC(Bool_t printErrorMessages, Bool_t printInfoMessages)
1681 std::cerr<<"WARNING in LauIsobarDynamics::checkToyMC : More than "<<iterationsMax_<<" iterations required."<<std::endl;
1682 std::cerr<<" : Try to decrease the maximum allowed value of the total amplitude squared using the "
1688 std::cout<<"INFO in LauIsobarDynamics::checkToyMC : |A|^2 max reset to "<<aSqMaxSet_<<std::endl;
1692 std::cerr<<"WARNING in LauIsobarDynamics::checkToyMC : aSqMaxSet_ was set to "<<aSqMaxSet_<<" but actual aSqMax was "<<aSqMaxVar_<<std::endl;
1693 std::cerr<<" : Run was invalid, as any generated MC will be biased, according to the accept/reject method!"<<std::endl;
1694 std::cerr<<" : Please set aSqMaxSet >= "<<aSqMaxVar_<<" using the LauIsobarDynamics::setASqMaxValue(Double_t) function and re-run."<<std::endl;
1697 std::cout<<"INFO in LauIsobarDynamics::checkToyMC : |A|^2 max reset to "<<aSqMaxSet_<<std::endl;
1700 std::cout<<"INFO in LauIsobarDynamics::checkToyMC : aSqMaxSet = "<<aSqMaxSet_<<" and aSqMaxVar = "<<aSqMaxVar_<<std::endl;
1714 scfFraction_ = currentEvent_->retrieveScfFraction(); // These two are necessary, even though the dynamics don't actually use scfFraction_ or jacobian_,
1715 jacobian_ = currentEvent_->retrieveJacobian(); // since this is at the heart of the caching mechanism.
1763 // If cacheResData == kFALSE, updateKinematics has been called before dynamics(). Then get Jacobian.
1793 for ( std::vector<LauCacheData*>::iterator iter = data_.begin(); iter != data_.end(); ++iter ) {
KMStringMap kMatrixPropSet_ The names of the M-matrix components in the model mapped to their propagators. Definition: LauIsobarDynamics.hh:598 Bool_t changeLASSEffectiveRange_ Whether the default value of the LASS effective range has been changed. Definition: LauIsobarDynamics.hh:718 virtual Double_t getEvtJacobian() const Retrieve the Jacobian, for the transformation into square DP coordinates, for the current event... Definition: LauIsobarDynamics.hh:215 Int_t nSigGenLoop_ The number of unsucessful attempts to generate an event so far. Definition: LauIsobarDynamics.hh:682 TString getNameDaug1() const Get name of the first daughter particle. Definition: LauDaughters.cc:223 Double_t getm23Max() const Get the m23 maximum defined as (mParent - m1) Definition: LauKinematics.hh:274 Class for defining the abstract interface for signal Dalitz plot dynamics. Definition: LauAbsDPDynamics.hh:39 Double_t retrievemPrime() const Retrieve the square Dalitz plot coordinate, m'. Definition: LauCacheData.hh:121 Bool_t squareDP() const Are the square Dalitz plot co-ordinates being calculated? Definition: LauKinematics.hh:51 TRandom * randomFun() Access the singleton random number generator with a particular seed. Definition: LauRandom.cc:20 File containing declaration of LauKMatrixPropFactory class. File containing declaration of LauFitDataTree class. File containing declaration of LauNRAmplitude class. Bool_t changeLASSResonancePhase_ Whether the default value of the LASS resonance phase has been changed. Definition: LauIsobarDynamics.hh:724 Double_t retrievem23Sq() const Retrieve the invariant mass squared of the second and third daugthers. Definition: LauCacheData.hh:115 Double_t resBarrierRadius_ The radius of the resonance barrier factor for new amplitude components. Definition: LauIsobarDynamics.hh:748 virtual LauComplex resAmp(Int_t index) Calculate the dynamic part of the amplitude for a given component at the current point in the Dalitz ... Definition: LauIsobarDynamics.cc:1378 Int_t getTypeDaug1() const Get PDG code of the first daughter particle. Definition: LauDaughters.cc:243 const TString & getResonanceName() const Get the name of the resonance. Definition: LauAbsResonance.hh:100 void setBarrierRadii(Double_t resRadius, Double_t parRadius, LauAbsResonance::BarrierType type) Set the form factor model and parameters. Definition: LauRelBreitWignerRes.cc:122 Double_t FlatteParameterg1_ The constant parameter g1 for new Flatte components. Definition: LauIsobarDynamics.hh:736 Double_t m13BinWidth_ The bin width to use when integrating over m13. Definition: LauIsobarDynamics.hh:622 Bool_t flipHelicity_ The helicity flip flag for new amplitude components. Definition: LauIsobarDynamics.hh:757 Double_t LASSBackgroundMag_ The background magnitude for new LASS components. Definition: LauIsobarDynamics.hh:706 virtual void calcDPPartialIntegral(Double_t minm13, Double_t maxm13, Double_t minm23, Double_t maxm23, Double_t m13BinWidth, Double_t m23BinWidth) Calculate the Dalitz plot normalisation integrals over a given range. Definition: LauIsobarDynamics.cc:1165 ClassImp(LauAbsCoeffSet) std::vector< Int_t > resPairAmp_ The index of the daughter not produced by the resonance for each amplitude component. Definition: LauIsobarDynamics.hh:607 File containing declaration of LauKMatrixProdPole class. Class that defines the particular 3-body decay under study. Definition: LauDaughters.hh:33 const std::vector< Double_t > & retrieveImagAmp() const Retrieve the imaginary parts of the amplitudes. Definition: LauCacheData.hh:157 Int_t getCharge(Int_t resPairAmpInt) const Get charge of a particular two-daughter combination. Definition: LauDaughters.cc:283 File containing declaration of LauBelleNR class. virtual void defineKMatrixPropagator(const TString &propName, const TString ¶mFileName, Int_t resPairAmpInt, Int_t nChannels, Int_t nPoles, Int_t rowIndex=1) Define a new K-matrix Propagator. Definition: LauIsobarDynamics.cc:534 Class for defininf the Gounaris-Sakurai resonance model. Definition: LauGounarisSakuraiRes.hh:31 Double_t LASSScatteringLength_ The scattering length for new LASS components. Definition: LauIsobarDynamics.hh:694 File containing declaration of LauKMatrixProdSVP class. virtual void setAlpha(Double_t alpha) Set the parameter alpha, the effective range. Definition: LauBelleNR.hh:66 Bool_t changeLASSResonanceMag_ Whether the default value of the LASS resonance magnitude has been changed. Definition: LauIsobarDynamics.hh:721 virtual void dynamics(Bool_t cacheResData=kTRUE, Double_t weight=1.0, Bool_t useEff=kTRUE) Calculate the total Dalitz plot amplitude at the current point in the Dalitz plot. Definition: LauIsobarDynamics.cc:1281 File containing declaration of LauDaughters class. Double_t aSqMaxVar_ The maximum value of A squared that has been seen so far while generating. Definition: LauIsobarDynamics.hh:688 Double_t scfFraction_ The fraction of events that are poorly reconstructed (the self cross feed fraction) at the current po... Definition: LauIsobarDynamics.hh:643 LauAbsResonance * getResonance(const TString &resName, Int_t resPairAmpInt, const TString &resType) Create a resonance. Definition: LauResonanceMaker.cc:247 Double_t m13Sq_ The invariant mass squared of the first and third daughters. Definition: LauIsobarDynamics.hh:628 Bool_t changeLASSBackgroundMag_ Whether the default value of the LASS background magnitude has been changed. Definition: LauIsobarDynamics.hh:727 Int_t iterationsMax_ The maximum allowed number of attempts when generating an event. Definition: LauIsobarDynamics.hh:679 File containing declaration of LauGounarisSakuraiRes class. LauAbsResonance::BarrierType barrierType_ The type of the barrier factor for new amplitude components. Definition: LauIsobarDynamics.hh:754 Definition: LauAbsResonance.hh:49 File containing declaration of LauBelleSymNR class. virtual Double_t retrieveEfficiency() Obtain the efficiency of the current event from the model. Definition: LauAbsDPDynamics.cc:134 File containing declaration of LauPrint class. virtual void setOmega(Double_t omega) Set the parameter omega, the offset parameter. Definition: LauPolNR.hh:66 Double_t getm13Min() const Get the m13 minimum defined as (m1 + m3) Definition: LauKinematics.hh:263 Double_t parBarrierRadius_ The radius of the parent barrier factor for new amplitude components. Definition: LauIsobarDynamics.hh:751 Double_t retrieveJacobian() const Retrieve the Jacobian for the transformation into square-Dalitz-plot coordinates. ... Definition: LauCacheData.hh:145 void setBarrierRadii(Double_t resRadius, Double_t parRadius, LauAbsResonance::BarrierType type) Set the form factor model and parameters. Definition: LauGounarisSakuraiRes.cc:134 std::map< TString, Double_t > LauFitData Type for holding event data. Definition: LauFitDataTree.hh:31 virtual void calcDPNormalisation() Calculate the Dalitz plot normalisation integrals across the whole Dalitz plot. Definition: LauIsobarDynamics.cc:721 TString getNameDaug2() const Get name of the second daughter particle. Definition: LauDaughters.cc:228 UInt_t nBranches() const Obtain the number of branches in the tree. Definition: LauFitDataTree.cc:170 virtual void setFFTerm(UInt_t index, Double_t realPart, Double_t imagPart) Set the dynamic part of the amplitude for a given amplitude component at the current point in the Dal... Definition: LauIsobarDynamics.cc:1411 std::vector< LauComplex > Amp_ The complex coefficients for the amplitude components. Definition: LauAbsDPDynamics.hh:384 LauKMatrixPropagator * getPropagator(const TString &name, const TString ¶mFileName, Int_t resPairAmpInt, Int_t nChannels, Int_t nPoles, Int_t rowIndex) Retrieve the propagator if it already exists, otherwise create one. Definition: LauKMatrixPropFactory.cc:53 std::vector< Double_t > fSqSum_ The event-by-event running total of the dynamical amplitude squared for each amplitude component... Definition: LauIsobarDynamics.hh:673 Int_t resTypeInt(const TString &name) const Retrieve the integer index for the specified resonance. Definition: LauResonanceMaker.cc:426 File containing declaration of LauKinematics class. File containing declaration of LauRelBreitWignerRes class. virtual Double_t getEvtEff() const Retrieve the efficiency for the current event. Definition: LauIsobarDynamics.hh:203 File containing declaration of LauKMatrixPropagator class. Double_t getm13Max() const Get the m13 maximum defined as (mParent - m2) Definition: LauKinematics.hh:279 std::vector< LauCacheData * > data_ The cached data for all events. Definition: LauAbsDPDynamics.hh:399 Class for defining a K-matrix production pole amplitude term. Definition: LauKMatrixProdPole.hh:31 Double_t getm12Min() const Get the m12 minimum defined as (m1 + m2) Definition: LauKinematics.hh:268 Double_t retrievem13Sq() const Retrieve the invariant mass squared of the first and third daugthers. Definition: LauCacheData.hh:109 Double_t m23Sq_ The invariant mass squared of the second and third daughters. Definition: LauIsobarDynamics.hh:631 Double_t evtLike_ The normalised likelihood for the current event. Definition: LauIsobarDynamics.hh:652 File containing declaration of LauIsobarDynamics class. std::vector< std::vector< LauComplex > > fifjEffSum_ The event-by-event running total of efficiency corrected amplitude cross terms for each pair of ampli... Definition: LauIsobarDynamics.hh:661 void updateKinematics(Double_t m13Sq, Double_t m23Sq) Update all kinematic quantities based on the DP co-ordinates m13Sq and m23Sq. Definition: LauKinematics.cc:82 virtual void initSummary() Print a summary of the model to be used. Definition: LauIsobarDynamics.cc:245 virtual void fillDataTree(const LauFitDataTree &fitDataTree) Fill the internal data structure that caches the resonance dynamics. Definition: LauIsobarDynamics.cc:1777 virtual LauAbsResonance * findResonance(const TString &name) Retrieve the named resonance. Definition: LauIsobarDynamics.cc:651 Double_t abs2() const Obtain the square of the absolute value of the complex number. Definition: LauComplex.hh:229 virtual void changeResonance(const TString &resName, Double_t newMass=-1.0, Double_t newWidth=-1.0, Int_t newSpin=-1) Change the properties of a resonance particle within this model. Definition: LauIsobarDynamics.cc:705 std::vector< LauParameter > extraParameters_ any extra parameters/quantities (e.g. K-matrix total fit fractions) Definition: LauAbsDPDynamics.hh:405 static LauKMatrixPropFactory * getInstance() Get a static instance of this factory class. Only one is created per application. ... Definition: LauKMatrixPropFactory.cc:45 File containing declaration of LauResonanceMaker class. Double_t m23BinWidth_ The bin width to use when integrating over m23. Definition: LauIsobarDynamics.hh:625 void calcGaussLegendreWeights(const Int_t numPoints, std::vector< Double_t > &abscissas, std::vector< Double_t > &weights) Calculate the Gauss-Legendre weights. Definition: LauIntegrals.cc:37 virtual LauResonanceModel getResonanceModel() const =0 Get the resonance model type. Double_t getm12Max() const Get the m12 maximum defined as (mParent - m3) Definition: LauKinematics.hh:284 virtual void addKMatrixProdPole(const TString &poleName, const TString &propName, Int_t poleIndex) Add a K-matrix production pole term to the model. Definition: LauIsobarDynamics.cc:557 Bool_t changeFlatteParameterg2_ Whether the default value of the Flatte parameter g2 has been changed. Definition: LauIsobarDynamics.hh:745 std::vector< TString > resTypAmp_ The resonance types of all of the amplitude components. Definition: LauIsobarDynamics.hh:601 virtual void calcLikelihoodInfo(UInt_t iEvt) Calculate the likelihood (and all associated information) for the given event number. Definition: LauIsobarDynamics.cc:1718 const std::vector< Double_t > & retrieveRealAmp() const Retrieve the real parts of the amplitudes. Definition: LauCacheData.hh:151 std::vector< Int_t > resIntAmp_ The index within the resonance maker for each amplitude component. Definition: LauIsobarDynamics.hh:604 LauParArray fitFrac_ The fit fractions for the amplitude components. Definition: LauAbsDPDynamics.hh:390 virtual void initialiseVectors() Initialise the internal storage for this model. Definition: LauIsobarDynamics.cc:294 Double_t jacobian_ The Jacobian, for the transformation into square DP coordinates at the current point in the Dalitz pl... Definition: LauIsobarDynamics.hh:646 void flipAndUpdateKinematics() Flips the DP variables m13^2 <-> m23^2 and recalculates all kinematic quantities. ... Definition: LauKinematics.cc:476 Double_t LASSEffectiveRange_ The effective range for new LASS components. Definition: LauIsobarDynamics.hh:697 std::vector< std::vector< LauComplex > > fifjSum_ The event-by-event running total of the amplitude cross terms for each pair of amplitude components... Definition: LauIsobarDynamics.hh:667 std::map< Int_t, LauEffModel * > LauTagCatScfFractionModelMap The type used for containing multiple self cross feed fraction models for different categories (e... Definition: LauAbsDPDynamics.hh:43 Double_t getm23Min() const Get the m23 minimum defined as (m2 + m3) Definition: LauKinematics.hh:258 UInt_t getnDefinedResonances() const Retrieve the number of defined resonances in the resonance maker. Definition: LauAbsDPDynamics.hh:263 Double_t retrieveScfFraction() const Retrieve the fraction of poorly reconstructed events (the so-called self cross feed fraction) ... Definition: LauCacheData.hh:139 virtual void addResonance(const TString &resName, Int_t resPairAmpInt, const TString &resType, Double_t newMass=-1.0, Double_t newWidth=-1.0, Int_t newSpin=-1) Add a resonance to the Dalitz plot. Definition: LauIsobarDynamics.cc:403 Double_t retrievethPrime() const Retrieve the square Dalitz plot coordinate, theta'. Definition: LauCacheData.hh:127 virtual Double_t retrieveScfFraction(Int_t tagCat) Obtain the self cross feed fraction of the current event from the model. Definition: LauAbsDPDynamics.cc:143 Bool_t changeLASSCutOff_ Whether the default value of the LASS cutoff has been changed. Definition: LauIsobarDynamics.hh:733 virtual Double_t calcSigDPNorm() Calculate the normalisation factor for the log-likelihood function. Definition: LauIsobarDynamics.cc:1581 virtual Double_t getEvtScfFraction() const Retrieve the fraction of events that are poorly reconstructed (the self cross feed fraction) for the ... Definition: LauIsobarDynamics.hh:209 Class for defining the relativistic Breit-Wigner resonance model. Definition: LauRelBreitWignerRes.hh:31 Double_t FlatteParameterg2_ The constant parameter g2 for new Flatte components. Definition: LauIsobarDynamics.hh:739 Bool_t withinDPLimits(Double_t m13Sq, Double_t m23Sq) const Check whether a given (m13Sq,m23Sq) point is within the kinematic limits of the Dalitz plot... Definition: LauKinematics.cc:348 Bool_t changeFlatteParameterg1_ Whether the default value of the Flatte parameter g1 has been changed. Definition: LauIsobarDynamics.hh:742 Int_t getTypeDaug3() const Get PDG code of the third daughter particle. Definition: LauDaughters.cc:253 const LauFitData & getData(UInt_t iEvt) const Retrieve the data for a given event. Definition: LauFitDataTree.cc:312 File containing LauRandom namespace. File containing declaration of LauEffModel class. virtual void removeCharge(TString &string) const Remove the charge from the given particle name. Definition: LauIsobarDynamics.cc:693 Double_t eff_ The efficiency at the current point in the Dalitz plot. Definition: LauIsobarDynamics.hh:640 Class for defining the symmetric Belle Non Resonant model. Definition: LauBelleSymNR.hh:33 Int_t getTypeDaug2() const Get PDG code of the second daughter particle. Definition: LauDaughters.cc:248 Definition: LauAbsDPDynamics.hh:66 Double_t LASSBackgroundPhase_ The background phase for new LASS components. Definition: LauIsobarDynamics.hh:709 Class that implements the efficiency description across the signal Dalitz plot. Definition: LauEffModel.hh:37 virtual Bool_t gotReweightedEvent() Calculates whether an event with the current kinematics should be accepted in order to produce a dist... Definition: LauIsobarDynamics.cc:1856 Abstract class for defining type for resonance amplitude models (Breit-Wigner, Flatte etc... Definition: LauAbsResonance.hh:34 virtual void updateCoeffs(const std::vector< LauComplex > &coeffs) Update the complex coefficients for the resonances. Definition: LauAbsDPDynamics.cc:88 virtual void addKMatrixProdSVP(const TString &SVPName, const TString &propName, Int_t channelIndex) Add a K-matrix slowly-varying part (SVP) term to the model. Definition: LauIsobarDynamics.cc:605 Bool_t changeLASSScatteringLength_ Whether the default value of the LASS scattering length has been changed. Definition: LauIsobarDynamics.hh:715 Double_t DPNorm_ The normalisation factor for the log-likelihood function. Definition: LauAbsDPDynamics.hh:387 Class for defining signal dynamics using the isobar model. Definition: LauIsobarDynamics.hh:35 virtual void setDataEventNo(UInt_t iEvt) Load the data for a given event. Definition: LauAbsDPDynamics.cc:78 virtual Double_t getEventWeight() Calculate the acceptance rate, for events with the current kinematics, when generating events accordi... Definition: LauIsobarDynamics.cc:1874 File containing LauConstants namespace. virtual void writeIntegralsFile() Write the results of the integrals (and related information) to a file. Definition: LauIsobarDynamics.cc:330 virtual ToyMCStatus checkToyMC(Bool_t printErrorMessages=kTRUE, Bool_t printInfoMessages=kFALSE) Check the status of the toy MC generation. Definition: LauIsobarDynamics.cc:1674 File containing declaration of LauAbsResonance class. virtual void setIntegralBinWidths(Double_t m13BinWidth, Double_t m23BinWidth) Set the widths of the bins to use when integrating across the Dalitz plot. Definition: LauIsobarDynamics.cc:1154 LauIsobarDynamics(LauDaughters *daughters, LauEffModel *effModel, LauEffModel *scfFractionModel=0) Constructor. Definition: LauIsobarDynamics.cc:49 Bool_t changeLASSBackgroundPhase_ Whether the default value of the LASS background phase has been changed. Definition: LauIsobarDynamics.hh:730 Bool_t gotKMatrixMatch(UInt_t resAmpInt, const TString &propName) const Check whether a resonance is a K-matrix component of a given propagator. Definition: LauIsobarDynamics.cc:1551 void genFlatPhaseSpace(Double_t &m13Sq, Double_t &m23Sq) const Routine to generate events flat in phase-space. Definition: LauKinematics.cc:316 File containing declaration of LauIntegrals class. virtual void setDataEventNo(UInt_t iEvt) Load the data for a given event. Definition: LauIsobarDynamics.cc:1706 LauCacheData * currentEvent_ The cached data for the current event. Definition: LauAbsDPDynamics.hh:402 File containing declaration of LauPolNR class. LauParameter meanDPEff_ The mean efficiency across the Dalitz plot. Definition: LauAbsDPDynamics.hh:396 void changeResonance(Double_t newMass, Double_t newWidth, Int_t newSpin) Allow the mass, width and spin of the resonance to be changed. Definition: LauAbsResonance.cc:154 Double_t calcSqDPJacobian() Calculate the Jacobian for the transformation m23^2, m13^2 -> m', theta' (square DP) ... Definition: LauKinematics.cc:125 Bool_t integralsDone_ Whether the integrals have been performed. Definition: LauIsobarDynamics.hh:616 virtual LauComplex amplitude(const LauKinematics *kinematics) Calculate the complex amplitude. Definition: LauAbsResonance.cc:87 std::vector< LauComplex > ff_ The dynamic part of the amplitude for each amplitude component at the current point in the Dalitz plo... Definition: LauIsobarDynamics.hh:670 Double_t LASSResonancePhase_ The resonance phase for new LASS components. Definition: LauIsobarDynamics.hh:703 Double_t LASSResonanceMag_ The resonance magnitude for new LASS components. Definition: LauIsobarDynamics.hh:700 virtual void initialise(const std::vector< LauComplex > &coeffs) Initialise the Dalitz plot dynamics. Definition: LauIsobarDynamics.cc:167 TString getNameDaug3() const Get name of the third daughter particle. Definition: LauDaughters.cc:233 std::vector< Double_t > fNorm_ The normalisation factors for the dynamic parts of the amplitude for each amplitude component... Definition: LauIsobarDynamics.hh:676 Class for defining a K-matrix production "slowly-varying part" (SVP) amplitude. Definition: LauKMatrixProdSVP.hh:31 virtual void setResonanceParameter(Double_t value, const TString &name) Set the updated parameters from changeResonance. Definition: LauAbsResonance.cc:171 Double_t BelleNRAlpha_ The alpha parameter for new Belle non-resonant components. Definition: LauIsobarDynamics.hh:691 std::vector< LauAbsResonance * > sigResonances_ The resonances in the model. Definition: LauIsobarDynamics.hh:592 virtual void calcExtraInfo(Bool_t init=kFALSE) Calculate the fit fractions, mean efficiency and total DP rate. Definition: LauIsobarDynamics.cc:1422 LauTagCatScfFractionModelMap scfFractionModel_ The self cross feed fraction models across the Dalitz plot. Definition: LauAbsDPDynamics.hh:375 Class for defining a K-matrix propagator. Definition: LauKMatrixPropagator.hh:36 Generated by 1.8.5 |