LauIsobarDynamics.cc
Go to the documentation of this file.
50 LauIsobarDynamics::LauIsobarDynamics(LauDaughters* daughters, LauAbsEffModel* effModel, LauAbsEffModel* scfFractionModel) :
88 // for Kspipi, we need a scfFraction 2D histogram for each tagging category. They are provided by the map.
89 // Also, we need to know the place that the tagging category of the current event occupies in the data structure inputFitTree
90 LauIsobarDynamics::LauIsobarDynamics(LauDaughters* daughters, LauAbsEffModel* effModel, LauTagCatScfFractionModelMap scfFractionModel) :
142 for ( std::vector<LauAbsResonance*>::iterator iter = sigResonances_.begin(); iter != sigResonances_.end(); ++iter ) {
150 std::cout << "INFO in LauIsobarDynamics::initialise : No contributions to DP model, not performing normalisation integrals." << std::endl;
155 std::cout<<"INFO in LauIsobarDynamics::initialise : Starting special run to generate the integrals for normalising the PDF..."<<std::endl;
207 std::cout<<"INFO in LauIsobarDynamics::initialise : Initial fit fraction for amplitude ("<<i<<","<<j<<") = "<<fitFrac_[i][j].genValue()<<std::endl;
211 std::cout<<"INFO in LauIsobarDynamics::initialise : Initial efficiency = "<<meanDPEff_.initValue()<<std::endl;
213 std::cout<<"INFO in LauIsobarDynamics::initialise : Initial DPRate = "<<DPRate_.initValue()<<std::endl;
225 std::cout<<"INFO in LauIsobarDynamics::initSummary : We are going to do a DP with "<<nameP<<" going to "<<name1<<" "<<name2<<" "<<name3<<std::endl;
309 std::cout<<"INFO in LauIsobarDynamics::writeIntegralsFile : Writing integral output to integrals file "<<intFileName_.Data()<<std::endl;
377 LauAbsResonance* LauIsobarDynamics::addResonance(const TString& resName, const Int_t resPairAmpInt, const LauAbsResonance::LauResonanceModel resType)
398 std::cerr<<"ERROR in LauIsobarDynamics::addResonance : Couldn't create the resonance \""<<resName<<"\""<<std::endl;
424 std::cout<<"INFO in LauIsobarDynamics::addResonance : Setting resPairAmp to 0 for "<<resonanceName<<" contribution."<<std::endl;
436 std::cout<<"INFO in LauIsobarDynamics::addResonance : Successfully added resonance. Total number of resonances so far = "<<nAmp_<<std::endl;
441 void LauIsobarDynamics::defineKMatrixPropagator(const TString& propName, const TString& paramFileName, Int_t resPairAmpInt,
444 // Define the K-matrix propagator. The resPairAmpInt integer specifies which mass combination should be used
445 // for the invariant mass-squared variable "s". The pole masses and coupling constants are defined in the
446 // paramFileName parameter file. The number of channels and poles are defined by the nChannels and nPoles integers, respectively.
451 std::cerr<<"Error in defineKMatrixPropagator: rowIndex must be > 0 but is equal to "<<rowIndex<<std::endl;
457 LauKMatrixPropagator* thePropagator = LauKMatrixPropFactory::getInstance()->getPropagator(propagatorName, parameterFile,
464 void LauIsobarDynamics::addKMatrixProdPole(const TString& poleName, const TString& propName, Int_t poleIndex)
487 LauAbsResonance* prodPole = new LauKMatrixProdPole(poleName, poleIndex, resPairAmpInt, thePropagator, daughters_);
500 std::cout<<"INFO in LauIsobarDynamics::addKMatrixProdPole : Successfully added K-matrix production pole term. Total number of resonances so far = "<<nAmp_<<std::endl;
504 std::cerr<<"ERROR in LauIsobarDynamics::addKMatrixProdPole : The propagator of the name "<<propName
512 void LauIsobarDynamics::addKMatrixProdSVP(const TString& SVPName, const TString& propName, Int_t channelIndex)
535 LauAbsResonance* prodSVP = new LauKMatrixProdSVP(SVPName, channelIndex, resPairAmpInt, thePropagator, daughters_);
548 std::cout<<"INFO in LauIsobarDynamics::addKMatrixProdSVP : Successfully added K-matrix production slowly-varying (SVP) term. Total number of resonances so far = "<<nAmp_<<std::endl;
552 std::cerr<<"ERROR in LauIsobarDynamics::addKMatrixProdSVP : The propagator of the name "<<propName
564 for (std::vector<LauAbsResonance*>::iterator iter=sigResonances_.begin(); iter!=sigResonances_.end(); ++iter) {
575 std::cerr<<"ERROR in LauIsobarDynamics::findResonance : Couldn't find resonance \""<<name<<"\" in the model."<<std::endl;
585 for (std::vector<LauAbsResonance*>::const_iterator iter=sigResonances_.begin(); iter!=sigResonances_.end(); ++iter) {
596 std::cerr<<"ERROR in LauIsobarDynamics::findResonance : Couldn't find resonance \""<<name<<"\" in the model."<<std::endl;
612 void LauIsobarDynamics::changeResonance(const TString& resName, Double_t newMass, Double_t newWidth, Int_t newSpin)
617 std::cerr<<"ERROR in LauIsobarDynamics::changeResonance : mass, width and spin parameters all out of range."<<std::endl;
644 for ( std::vector<LauAbsResonance*>::const_iterator iter = sigResonances_.begin(); iter != sigResonances_.end(); ++iter ) {
650 std::cout<<"INFO in LauIsobarDynamics::calcDPNormalisation : Found narrow resonance: "<<name<<", mass = "<<mass<<", width = "<<width<<", pair int = "<<pair<<std::endl;
661 std::cerr<<"WARNING in LauIsobarDynamics::calcDPNormalisation : strange pair integer, "<<pair<<", for resonance \""<<(*iter)->getResonanceName()<<std::endl;
685 std::cout<<"INFO in LauIsobarDynamics::calcDPNormalisation : No narrow resonances found, integrating over whole Dalitz plot..."<<std::endl;
692 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;
706 std::cout<<"INFO in LauIsobarDynamics::calcDPNormalisation : One narrow resonance found in m13, close to threshold, dividing Dalitz plot into two regions..."<<std::endl;
711 std::cout<<"INFO in LauIsobarDynamics::calcDPNormalisation : One narrow resonance found in m13, dividing Dalitz plot into three regions..."<<std::endl;
722 for ( std::map<Double_t,Double_t>::const_iterator iter = m13NarrowRes.begin(); iter != m13NarrowRes.end(); ++iter ) {
738 std::cout<<"INFO in LauIsobarDynamics::calcDPNormalisation : Two narrow resonances found in m13, both close to threshold, dividing Dalitz plot into two regions..."<<std::endl;
743 std::cout<<"INFO in LauIsobarDynamics::calcDPNormalisation : Two narrow resonances found in m13, one close to threshold, dividing Dalitz plot into four regions..."<<std::endl;
753 std::cout<<"INFO in LauIsobarDynamics::calcDPNormalisation : Two narrow resonances found close together in m13, dividing Dalitz plot into three regions..."<<std::endl;
759 std::cout<<"INFO in LauIsobarDynamics::calcDPNormalisation : Two narrow resonances found in m13, dividing Dalitz plot into five regions..."<<std::endl;
781 std::cout<<"INFO in LauIsobarDynamics::calcDPNormalisation : One narrow resonance found in m23, close to threshold, dividing Dalitz plot into two regions..."<<std::endl;
786 std::cout<<"INFO in LauIsobarDynamics::calcDPNormalisation : One narrow resonance found in m23, dividing Dalitz plot into three regions..."<<std::endl;
797 for ( std::map<Double_t,Double_t>::const_iterator iter = m23NarrowRes.begin(); iter != m23NarrowRes.end(); ++iter ) {
813 std::cout<<"INFO in LauIsobarDynamics::calcDPNormalisation : Two narrow resonances found in m23, both close to threshold, dividing Dalitz plot into two regions..."<<std::endl;
818 std::cout<<"INFO in LauIsobarDynamics::calcDPNormalisation : Two narrow resonances found in m23, one close to threshold, dividing Dalitz plot into four regions..."<<std::endl;
828 std::cout<<"INFO in LauIsobarDynamics::calcDPNormalisation : Two narrow resonances found close together in m23, dividing Dalitz plot into three regions..."<<std::endl;
834 std::cout<<"INFO in LauIsobarDynamics::calcDPNormalisation : Two narrow resonances found in m23, dividing Dalitz plot into five regions..."<<std::endl;
861 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;
875 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;
889 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;
903 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;
924 std::cout<<"INFO in LauIsobarDynamics::calcDPNormalisation : Multiple narrow resonances found in m13, dividing Dalitz plot into two regions..."<<std::endl;
927 for ( std::map<Double_t,Double_t>::const_iterator iter = m13NarrowRes.begin(); iter != m13NarrowRes.end(); ++iter ) {
941 std::cout<<"INFO in LauIsobarDynamics::calcDPNormalisation : Multiple narrow resonances found in m23, dividing Dalitz plot into two regions..."<<std::endl;
944 for ( std::map<Double_t,Double_t>::const_iterator iter = m23NarrowRes.begin(); iter != m23NarrowRes.end(); ++iter ) {
959 for ( std::map<Double_t,Double_t>::const_iterator iter = m23NarrowRes.begin(); iter != m23NarrowRes.end(); ++iter ) {
974 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;
988 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;
1009 for ( std::map<Double_t,Double_t>::const_iterator iter = m13NarrowRes.begin(); iter != m13NarrowRes.end(); ++iter ) {
1024 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;
1038 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;
1055 std::cout<<"INFO in LauIsobarDynamics::calcDPNormalisation : Multiple narrow resonances found in both m13 and m23, dividing Dalitz plot into four regions..."<<std::endl;
1058 for ( std::map<Double_t,Double_t>::const_iterator iter = m13NarrowRes.begin(); iter != m13NarrowRes.end(); ++iter ) {
1068 for ( std::map<Double_t,Double_t>::const_iterator iter = m23NarrowRes.begin(); iter != m23NarrowRes.end(); ++iter ) {
1093 // Specify whether we're going to use Gauss-Legendre integration to calculate the normalisation
1094 // integrals, and the bin widths we require for the m13 and m23 axes. Note that the integration
1095 // is done over m13, m23 space, with the appropriate Jacobian applied, and not m13^2, m23^2 space.
1102 void LauIsobarDynamics::calcDPPartialIntegral(Double_t minm13, Double_t maxm13, Double_t minm23, Double_t maxm23,
1128 std::cout<<"INFO in LauIsobarDynamics::calcDPPartialIntegral : nm13Points = "<<nm13Points<<", nm23Points = "<<nm23Points<<std::endl;
1130 std::cout<<" : Integrating over m13 = "<<minm13<<" to "<<maxm13<<", m23 = "<<minm23<<" to "<<maxm23<<std::endl;
1271 //std::cout<<"For i = "<<i<<", ATerm = "<<ATerm<<", Amp = "<<Amp_[i]<<", ff = "<<ff_[i]<<std::endl;
1325 std::cout<<"ERROR in LauIsobarDynamics::resAmp : Couldn't retrieve resonance with index = "<<index<<std::endl;
1352 std::cerr<<"ERROR in LauIsobarDynamics::setFFTerm : index = "<<index<<" is not within the range 0 and "<<nAmp_-1<<". Bailing out."<<std::endl;
1447 // Now loop over all resonances and find those which are K-matrix components for this propagator
1490 std::cout<<"INFO in LauIsobarDynamics::calcExtraInfo : Total K-matrix fit fraction for propagator "<<propName<<" is "<<kMatrixTotFitFrac<<std::endl;
1622 LauAbsDPDynamics::ToyMCStatus LauIsobarDynamics::checkToyMC(Bool_t printErrorMessages, Bool_t printInfoMessages)
1629 std::cerr<<"WARNING in LauIsobarDynamics::checkToyMC : More than "<<iterationsMax_<<" iterations performed and no event accepted."<<std::endl;
1634 std::cerr<<" : |A|^2 maximum was set to "<<aSqMaxSet_<<" but this appears to be too high."<<std::endl;
1636 std::cerr<<" : The value of |A|^2 maximum will be decreased and the generation restarted."<<std::endl;
1639 std::cout<<"INFO in LauIsobarDynamics::checkToyMC : |A|^2 max reset to "<<aSqMaxSet_<<std::endl;
1643 std::cerr<<" : |A|^2 maximum was set to "<<aSqMaxSet_<<", which seems to be correct for the given model."<<std::endl;
1644 std::cerr<<" : However, the generation is very inefficient - please check your model."<<std::endl;
1645 std::cerr<<" : The maximum number of iterations will be increased and the generation restarted."<<std::endl;
1648 std::cout<<"INFO in LauIsobarDynamics::checkToyMC : max number of iterations reset to "<<iterationsMax_<<std::endl;
1653 std::cerr<<"WARNING in LauIsobarDynamics::checkToyMC : |A|^2 maximum was set to "<<aSqMaxSet_<<" but a value exceeding this was found: "<<aSqMaxVar_<<std::endl;
1654 std::cerr<<" : Run was invalid, as any generated MC will be biased, according to the accept/reject method!"<<std::endl;
1655 std::cerr<<" : The value of |A|^2 maximum be reset to be > "<<aSqMaxVar_<<" and the generation restarted."<<std::endl;
1658 std::cout<<"INFO in LauIsobarDynamics::checkToyMC : |A|^2 max reset to "<<aSqMaxSet_<<std::endl;
1661 std::cout<<"INFO in LauIsobarDynamics::checkToyMC : aSqMaxSet = "<<aSqMaxSet_<<" and aSqMaxVar = "<<aSqMaxVar_<<std::endl;
1675 scfFraction_ = currentEvent_->retrieveScfFraction(); // These two are necessary, even though the dynamics don't actually use scfFraction_ or jacobian_,
1676 jacobian_ = currentEvent_->retrieveJacobian(); // since this is at the heart of the caching mechanism.
1724 // If cacheResData == kFALSE, updateKinematics has been called before dynamics(). Then get Jacobian.
1754 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:448 virtual Double_t getEvtJacobian() const Retrieve the Jacobian, for the transformation into square DP coordinates, for the current event... Definition: LauIsobarDynamics.hh:212 Int_t nSigGenLoop_ The number of unsucessful attempts to generate an event so far. Definition: LauIsobarDynamics.hh:532 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. 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:544 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:1315 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:103 void changeResonance(const Double_t newMass, const Double_t newWidth, const Int_t newSpin) Allow the mass, width and spin of the resonance to be changed. Definition: LauAbsResonance.cc:172 Double_t m13BinWidth_ The bin width to use when integrating over m13. Definition: LauIsobarDynamics.hh:472 Bool_t flipHelicity_ The helicity flip flag for new amplitude components. Definition: LauIsobarDynamics.hh:553 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:1102 File containing declaration of LauAbsEffModel class. ClassImp(LauAbsCoeffSet) LauParArray fitFracEffUnCorr_ The efficiency-uncorrected fit fractions for the amplitude components. Definition: LauAbsDPDynamics.hh:396 std::vector< Int_t > resPairAmp_ The index of the daughter not produced by the resonance for each amplitude component. Definition: LauIsobarDynamics.hh:457 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:441 File containing declaration of LauKMatrixProdSVP class. Definition: LauAbsResonance.hh:54 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:1218 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:538 Double_t scfFraction_ The fraction of events that are poorly reconstructed (the self cross feed fraction) at the current po... Definition: LauIsobarDynamics.hh:493 LauAbsResonance * getResonance(const TString &resName, const Int_t resPairAmpInt, const LauAbsResonance::LauResonanceModel resType) Create a resonance. Definition: LauResonanceMaker.cc:243 Double_t m13Sq_ The invariant mass squared of the first and third daughters. Definition: LauIsobarDynamics.hh:478 Int_t iterationsMax_ The maximum allowed number of attempts when generating an event. Definition: LauIsobarDynamics.hh:529 File containing declaration of LauGounarisSakuraiRes class. LauAbsResonance::BarrierType barrierType_ The type of the barrier factor for new amplitude components. Definition: LauIsobarDynamics.hh:550 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:135 File containing declaration of LauPrint class. Pure abstract base class for defining the efficiency description across the signal Dalitz plot... Definition: LauAbsEffModel.hh:31 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:547 Double_t retrieveJacobian() const Retrieve the Jacobian for the transformation into square-Dalitz-plot coordinates. ... Definition: LauCacheData.hh:145 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:628 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:1348 std::vector< LauComplex > Amp_ The complex coefficients for the amplitude components. Definition: LauAbsDPDynamics.hh:387 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:523 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:200 File containing declaration of LauKMatrixPropagator class. Double_t getm13Max() const Get the m13 maximum defined as (mParent - m2) Definition: LauKinematics.hh:279 virtual LauAbsResonance * addResonance(const TString &resName, const Int_t resPairAmpInt, const LauAbsResonance::LauResonanceModel resType) Add a resonance to the Dalitz plot. Definition: LauIsobarDynamics.cc:377 std::vector< LauCacheData * > data_ The cached data for all events. Definition: LauAbsDPDynamics.hh:405 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:481 Double_t evtLike_ The normalised likelihood for the current event. Definition: LauIsobarDynamics.hh:502 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:511 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:216 virtual void fillDataTree(const LauFitDataTree &fitDataTree) Fill the internal data structure that caches the resonance dynamics. Definition: LauIsobarDynamics.cc:1738 virtual LauAbsResonance * findResonance(const TString &name) Retrieve the named resonance. Definition: LauIsobarDynamics.cc:558 std::map< Int_t, LauAbsEffModel * > LauTagCatScfFractionModelMap The type used for containing multiple self cross feed fraction models for different categories (e... Definition: LauAbsDPDynamics.hh:43 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:612 std::vector< LauParameter > extraParameters_ any extra parameters/quantities (e.g. K-matrix total fit fractions) Definition: LauAbsDPDynamics.hh:411 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:475 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 File containing declaration of LauCacheData class. 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:464 std::vector< TString > resTypAmp_ The resonance types of all of the amplitude components. Definition: LauIsobarDynamics.hh:451 virtual void calcLikelihoodInfo(UInt_t iEvt) Calculate the likelihood (and all associated information) for the given event number. Definition: LauIsobarDynamics.cc:1679 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:454 LauIsobarDynamics(LauDaughters *daughters, LauAbsEffModel *effModel, LauAbsEffModel *scfFractionModel=0) Constructor. Definition: LauIsobarDynamics.cc:50 LauParArray fitFrac_ The fit fractions for the amplitude components. Definition: LauAbsDPDynamics.hh:393 virtual void initialiseVectors() Initialise the internal storage for this model. Definition: LauIsobarDynamics.cc:265 Double_t jacobian_ The Jacobian, for the transformation into square DP coordinates at the current point in the Dalitz pl... Definition: LauIsobarDynamics.hh:496 void flipAndUpdateKinematics() Flips the DP variables m13^2 <-> m23^2 and recalculates all kinematic quantities. ... Definition: LauKinematics.cc:476 Definition: LauAbsResonance.hh:51 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:517 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:266 Double_t retrieveScfFraction() const Retrieve the fraction of poorly reconstructed events (the so-called self cross feed fraction) ... Definition: LauCacheData.hh:139 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:144 Bool_t setBarrierRadius_ Should the radii of the resonance barrier factors be adjusted for new amplitude components. Definition: LauIsobarDynamics.hh:541 virtual Double_t calcSigDPNorm() Calculate the normalisation factor for the log-likelihood function. Definition: LauIsobarDynamics.cc:1529 virtual Double_t getEvtScfFraction() const Retrieve the fraction of events that are poorly reconstructed (the self cross feed fraction) for the ... Definition: LauIsobarDynamics.hh:206 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 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. virtual void removeCharge(TString &string) const Remove the charge from the given particle name. Definition: LauIsobarDynamics.cc:600 Double_t eff_ The efficiency at the current point in the Dalitz plot. Definition: LauIsobarDynamics.hh:490 Int_t getTypeDaug2() const Get PDG code of the second daughter particle. Definition: LauDaughters.cc:248 Definition: LauAbsDPDynamics.hh:66 virtual Bool_t gotReweightedEvent() Calculates whether an event with the current kinematics should be accepted in order to produce a dist... Definition: LauIsobarDynamics.cc:1817 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:89 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:512 Double_t DPNorm_ The normalisation factor for the log-likelihood function. Definition: LauAbsDPDynamics.hh:390 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:79 virtual Double_t getEventWeight() Calculate the acceptance rate, for events with the current kinematics, when generating events accordi... Definition: LauIsobarDynamics.cc:1835 File containing LauConstants namespace. virtual void writeIntegralsFile() Write the results of the integrals (and related information) to a file. Definition: LauIsobarDynamics.cc:304 virtual ToyMCStatus checkToyMC(Bool_t printErrorMessages=kTRUE, Bool_t printInfoMessages=kFALSE) Check the status of the toy MC generation. Definition: LauIsobarDynamics.cc:1622 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:1091 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:1499 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:1667 LauCacheData * currentEvent_ The cached data for the current event. Definition: LauAbsDPDynamics.hh:408 Definition: LauAbsResonance.hh:50 File containing declaration of LauPolNR class. LauParameter meanDPEff_ The mean efficiency across the Dalitz plot. Definition: LauAbsDPDynamics.hh:402 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:466 virtual LauComplex amplitude(const LauKinematics *kinematics) Calculate the complex amplitude. Definition: LauAbsResonance.cc:86 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:520 virtual void initialise(const std::vector< LauComplex > &coeffs) Initialise the Dalitz plot dynamics. Definition: LauIsobarDynamics.cc:132 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:526 Class for defining a K-matrix production "slowly-varying part" (SVP) amplitude. Definition: LauKMatrixProdSVP.hh:31 std::vector< LauAbsResonance * > sigResonances_ The resonances in the model. Definition: LauIsobarDynamics.hh:442 virtual void calcExtraInfo(Bool_t init=kFALSE) Calculate the fit fractions, mean efficiency and total DP rate. Definition: LauIsobarDynamics.cc:1359 LauTagCatScfFractionModelMap scfFractionModel_ The self cross feed fraction models across the Dalitz plot. Definition: LauAbsDPDynamics.hh:378 Class for defining a K-matrix propagator. Definition: LauKMatrixPropagator.hh:36 virtual void setBarrierRadii(const Double_t resRadius, const Double_t parRadius, const BarrierType type) Set the form factor model and parameters. Definition: LauAbsResonance.hh:184 Generated by 1.8.5 |