LauIsobarDynamics.cc
Go to the documentation of this file.
50 LauIsobarDynamics::LauIsobarDynamics(LauDaughters* daughters, LauAbsEffModel* effModel, LauAbsEffModel* scfFractionModel) :
110 // for Kspipi, we need a scfFraction 2D histogram for each tagging category. They are provided by the map.
111 // Also, we need to know the place that the tagging category of the current event occupies in the data structure inputFitTree
112 LauIsobarDynamics::LauIsobarDynamics(LauDaughters* daughters, LauAbsEffModel* effModel, LauTagCatScfFractionModelMap scfFractionModel) :
174 for ( std::vector<LauCacheData*>::iterator iter = data_.begin(); iter != data_.end(); ++iter ) {
179 for (std::vector<LauDPPartialIntegralInfo*>::iterator it = dpPartialIntegralInfo_.begin(); it != dpPartialIntegralInfo_.end(); ++it)
232 // For those that have changed mark the corresponding resonance(s) as needing to be re-evaluated
268 for ( std::vector<LauAbsResonance*>::iterator resIter = sigResonances_.begin(); resIter != sigResonances_.end(); ++resIter ) {
275 for ( std::vector<LauParameter*>::const_iterator parIter = resPars.begin(); parIter != resPars.end(); ++parIter ) {
303 for ( std::vector<LauAbsIncohRes*>::iterator resIter = sigIncohResonances_.begin(); resIter != sigIncohResonances_.end(); ++resIter ) {
310 for ( std::vector<LauParameter*>::const_iterator parIter = resPars.begin(); parIter != resPars.end(); ++parIter ) {
348 std::cout << "INFO in LauIsobarDynamics::initialise : No contributions to DP model, not performing normalisation integrals." << std::endl;
353 std::cout<<"INFO in LauIsobarDynamics::initialise : Starting special run to generate the integrals for normalising the PDF..."<<std::endl;
408 std::cout<<"INFO in LauIsobarDynamics::initialise : Initial fit fraction for amplitude ("<<i<<","<<j<<") = "<<fitFrac_[i][j].genValue()<<std::endl;
413 std::cout<<"INFO in LauIsobarDynamics::initialise : Initial fit fraction for incoherent amplitude ("<<i<<","<<i<<") = "<<fitFrac_[i+nAmp_][i+nAmp_].genValue()<<std::endl;
416 std::cout<<"INFO in LauIsobarDynamics::initialise : Initial efficiency = "<<meanDPEff_.initValue()<<std::endl;
418 std::cout<<"INFO in LauIsobarDynamics::initialise : Initial DPRate = "<<DPRate_.initValue()<<std::endl;
430 std::cout<<"INFO in LauIsobarDynamics::initSummary : We are going to do a DP with "<<nameP<<" going to "<<name1<<" "<<name2<<" "<<name3<<std::endl;
443 std::cout<<" : A"<<nAmp_+i<<": "<<incohResTypAmp_[i]<<" (incoherent) to "<<name2<<", "<< name3<<std::endl;
456 std::cout<<" : A"<<nAmp_+i<<": "<<incohResTypAmp_[i]<<" (incoherent) to "<<name1<<", "<< name3<<std::endl;
469 std::cout<<" : A"<<nAmp_+i<<": "<<incohResTypAmp_[i]<<" (incoherent) to "<<name1<<", "<< name2<<std::endl;
544 std::cout<<"INFO in LauIsobarDynamics::writeIntegralsFile : Writing integral output to integrals file "<<intFileName_.Data()<<std::endl;
660 LauAbsResonance* LauIsobarDynamics::addResonance(const TString& resName, const Int_t resPairAmpInt, const LauAbsResonance::LauResonanceModel resType, const LauBlattWeisskopfFactor::BlattWeisskopfCategory bwCategory)
678 std::cerr<<"ERROR in LauIsobarDynamics::addResonance : Resonance type \""<<resType<<"\" not allowed for a coherent resonance"<<std::endl;
683 LauAbsResonance *theResonance = resonanceMaker.getResonance(daughters_, resName, resPairAmpInt, resType, bwCategory);
686 std::cerr<<"ERROR in LauIsobarDynamics::addResonance : Couldn't create the resonance \""<<resName<<"\""<<std::endl;
691 if (flipHelicity_ && daughters_->getCharge(resPairAmpInt) == 0 && daughters_->getChargeParent() == 0 && daughters_->getTypeParent() > 0 ) {
692 if ( ( resPairAmpInt == 1 && TMath::Abs(daughters_->getTypeDaug2()) == TMath::Abs(daughters_->getTypeDaug3()) ) ||
693 ( resPairAmpInt == 2 && TMath::Abs(daughters_->getTypeDaug1()) == TMath::Abs(daughters_->getTypeDaug3()) ) ||
694 ( resPairAmpInt == 3 && TMath::Abs(daughters_->getTypeDaug1()) == TMath::Abs(daughters_->getTypeDaug2()) ) ) {
707 std::cout<<"INFO in LauIsobarDynamics::addResonance : Setting resPairAmp to 0 for "<<resonanceName<<" contribution."<<std::endl;
719 std::cout<<"INFO in LauIsobarDynamics::addResonance : Successfully added resonance. Total number of resonances so far = "<<nAmp_<<std::endl;
724 LauAbsResonance* LauIsobarDynamics::addIncoherentResonance(const TString& resName, const Int_t resPairAmpInt, const LauAbsResonance::LauResonanceModel resType)
742 std::cerr<<"ERROR in LauIsobarDynamics::addIncohResonance : Resonance type \""<<resType<<"\" not allowed for an incoherent resonance"<<std::endl;
747 LauAbsIncohRes *theResonance = dynamic_cast<LauAbsIncohRes*>( resonanceMaker.getResonance(daughters_, resName, resPairAmpInt, resType) );
750 std::cerr<<"ERROR in LauIsobarDynamics::addIncohResonance : Couldn't create the resonance \""<<resName<<"\""<<std::endl;
765 std::cout<<"INFO in LauIsobarDynamics::addIncohResonance : Successfully added incoherent resonance. Total number of incoherent resonances so far = "<<nIncohAmp_<<std::endl;
770 void LauIsobarDynamics::defineKMatrixPropagator(const TString& propName, const TString& paramFileName, Int_t resPairAmpInt,
773 // Define the K-matrix propagator. The resPairAmpInt integer specifies which mass combination should be used
774 // for the invariant mass-squared variable "s". The pole masses and coupling constants are defined in the
776 // The number of channels and poles are defined by the nChannels and nPoles integers, respectively.
782 std::cerr << "ERROR in LauIsobarDynamics::defineKMatrixPropagator. The rowIndex, which is set to "
790 LauKMatrixPropagator* thePropagator = LauKMatrixPropFactory::getInstance()->getPropagator(propagatorName, parameterFile,
797 void LauIsobarDynamics::addKMatrixProdPole(const TString& poleName, const TString& propName, Int_t poleIndex, Bool_t useProdAdler)
833 std::cout<<"INFO in LauIsobarDynamics::addKMatrixProdPole : Successfully added K-matrix production pole term. Total number of resonances so far = "<<nAmp_<<std::endl;
837 std::cerr<<"ERROR in LauIsobarDynamics::addKMatrixProdPole : The propagator of the name "<<propName
845 void LauIsobarDynamics::addKMatrixProdSVP(const TString& SVPName, const TString& propName, Int_t channelIndex, Bool_t useProdAdler)
881 std::cout<<"INFO in LauIsobarDynamics::addKMatrixProdSVP : Successfully added K-matrix production slowly-varying (SVP) term. Total number of resonances so far = "<<nAmp_<<std::endl;
885 std::cerr<<"ERROR in LauIsobarDynamics::addKMatrixProdSVP : The propagator of the name "<<propName
896 for (std::vector<LauAbsResonance*>::const_iterator iter=sigResonances_.begin(); iter!=sigResonances_.end(); ++iter) {
907 for (std::vector<LauAbsIncohRes*>::const_iterator iter=sigIncohResonances_.begin(); iter!=sigIncohResonances_.end(); ++iter) {
938 std::cerr<<"ERROR in LauIsobarDynamics::getResonance : Couldn't find resonance with index \""<<resIndex<<"\" in the model."<<std::endl;
950 std::cerr<<"ERROR in LauIsobarDynamics::getResonance : Couldn't find resonance with index \""<<resIndex<<"\" in the model."<<std::endl;
959 std::cerr<<"ERROR in LauIsobarDynamics::findResonance : Couldn't find resonance with name \""<<resName<<"\" in the model."<<std::endl;
970 std::cerr<<"ERROR in LauIsobarDynamics::findResonance : Couldn't find resonance with name \""<<resName<<"\" in the model."<<std::endl;
995 for (std::vector<LauDPPartialIntegralInfo*>::iterator it = dpPartialIntegralInfo_.begin(); it != dpPartialIntegralInfo_.end(); ++it)
1006 std::vector< std::pair<Double_t, Double_t> > LauIsobarDynamics::formGapsFromRegions( const std::vector< std::pair<Double_t, Double_t> >& regions, const Double_t min, const Double_t max ) const
1010 // Given some narrow resonance regions, find the regions that correspond to the gaps between them
1024 void LauIsobarDynamics::cullNullRegions( std::vector<LauDPPartialIntegralInfo*>& regions ) const
1030 void LauIsobarDynamics::correctDPOverlap( std::vector< std::pair<Double_t, Double_t> >& regions, const std::vector<Double_t>& binnings ) const
1036 // If the regions overlap, ensure that the one with the finest binning takes precedence (i.e., extends its full width)
1051 std::vector<LauDPPartialIntegralInfo*> LauIsobarDynamics::m13IntegrationRegions( const std::vector< std::pair<Double_t,Double_t> >& m13Regions,
1057 // Create integration regions for all narrow resonances in m13 except for the overlaps with narrow resonances in m23
1082 integrationRegions.push_back(this->newDPIntegrationRegion(resMin13, resMax13, m23Min, resMin23, m13Binning, defaultBinning, precision, nAmp_, nIncohAmp_));
1088 integrationRegions.push_back(this->newDPIntegrationRegion(resMin13, resMax13, resMax23, nextResMin23, m13Binning, defaultBinning, precision, nAmp_, nIncohAmp_));
1094 // Add the area between the last entry and the maximum m23 (which could be the whole strip if there are no entries in m23Regions)
1095 integrationRegions.push_back(this->newDPIntegrationRegion(resMin13, resMax13, lastResMax23, m23Max, m13Binning, defaultBinning, precision, nAmp_, nIncohAmp_));
1101 std::vector<LauDPPartialIntegralInfo*> LauIsobarDynamics::m23IntegrationRegions( const std::vector<std::pair<Double_t,Double_t> >& m13Regions,
1108 // Create integration regions for all narrow resonances in m23 (including the overlap regions with m13 narrow resonances)
1134 integrationRegions.push_back(this->newDPIntegrationRegion(resMin13, resMax13, resMin23, resMax23, m13Binning, m23Binning, precision, nAmp_, nIncohAmp_));
1138 integrationRegions.push_back(this->newDPIntegrationRegion(m13Min, resMin13, resMin23, resMax23, defaultBinning, m23Binning, precision, nAmp_, nIncohAmp_));
1144 integrationRegions.push_back(this->newDPIntegrationRegion(resMax13, nextResMin13, resMin23, resMax23, defaultBinning, m23Binning, precision, nAmp_, nIncohAmp_));
1150 // Add the area between the last entry and the maximum m13 (which could be the whole strip if there are no entries in m13Regions)
1151 integrationRegions.push_back(this->newDPIntegrationRegion(lastResMax13, m13Max, resMin23, resMax23, defaultBinning, m23Binning, precision, nAmp_, nIncohAmp_));
1157 LauDPPartialIntegralInfo* LauIsobarDynamics::newDPIntegrationRegion( const Double_t minm13, const Double_t maxm13,
1172 return new LauDPPartialIntegralInfo(minm13, maxm13, minm23, maxm23, m13BinWidth, m23BinWidth, precision, nAmp, nIncohAmp);
1178 std::cerr << "ERROR in LauIsobarDynamics::calcDPNormalisationScheme : Scheme already stored!" << std::endl;
1198 // Rho-omega mixing models implicitly contains omega(782) model, but width is of rho(770) - handle as a special case
1202 const Double_t omegaWidth = (omega_info!=0) ? omega_info->getWidth()->unblindValue() : 0.00849;
1204 for ( std::vector<LauAbsResonance*>::const_iterator iter = sigResonances_.begin(); iter != sigResonances_.end(); ++iter ) {
1224 std::cout << "INFO in LauIsobarDynamics::calcDPNormalisationScheme : Found narrow resonance: " << name << ", mass = " << mass << ", width = " << width << ", pair int = " << pair << std::endl;
1227 std::cout << std::string(53, ' ') << ": But its pole is outside the kinematically allowed range, so will not consider it narrow for the purposes of integration" << std::endl;
1239 std::cout << std::string(53, ' ') << ": But its pole is outside the kinematically allowed range, so will not consider it narrow for the purposes of integration" << std::endl;
1251 std::cout << std::string(53, ' ') << ": But its pole is outside the kinematically allowed range, so will not consider it narrow for the purposes of integration" << std::endl;
1260 std::cerr << "WARNING in LauIsobarDynamics::calcDPNormalisationScheme : strange pair integer, " << pair << ", for resonance \"" << (*iter)->getResonanceName() << std::endl;
1264 for ( std::vector<LauAbsIncohRes*>::const_iterator iter = sigIncohResonances_.begin(); iter != sigIncohResonances_.end(); ++iter ) {
1275 std::cout<<"INFO in LauIsobarDynamics::calcDPNormalisationScheme : Found narrow resonance: " << name << ", mass = " << mass << ", width = " << width << ", pair int = " << pair << std::endl;
1279 std::cout << std::string(53, ' ') << ": But its pole is outside the kinematically allowed range, so will not consider it narrow for the purposes of integration" << std::endl;
1291 std::cout << std::string(53, ' ') << ": But its pole is outside the kinematically allowed range, so will not consider it narrow for the purposes of integration" << std::endl;
1303 std::cout << std::string(53, ' ') << ": But its pole is outside the kinematically allowed range, so will not consider it narrow for the purposes of integration" << std::endl;
1312 std::cerr << "WARNING in LauIsobarDynamics::calcDPNormalisationScheme : strange pair integer, " << pair << ", for resonance \"" << (*iter)->getResonanceName() << std::endl;
1323 // - can later consider whether there's a need to split up the mPrime axis into regions around particularly narrow resonances in m12
1324 // - but it seems that this isn't really needed since even the default tune gives a good resolution for most narrow resonances such as phi / chi_c0
1325 std::cout<<"INFO in LauIsobarDynamics::calcDPNormalisationScheme : One or more narrow resonances found in m12, integrating over whole square Dalitz plot with bin widths of "<<mPrimeBinWidth_<<" in mPrime and "<<thPrimeBinWidth_<<" in thetaPrime..."<<std::endl;
1329 std::cerr << "WARNING in LauIsobarDynamics::calcDPNormalisationScheme : forcing kinematics to calculate the required square DP co-ordinates" << std::endl;
1333 dpPartialIntegralInfo_.push_back(new LauDPPartialIntegralInfo(0.0, 1.0, 0.0, 1.0, mPrimeBinWidth_, thPrimeBinWidth_, precision, nAmp_, nIncohAmp_, kTRUE, kinematics_));
1338 std::cout << "INFO in LauIsobarDynamics::calcDPNormalisationScheme : No narrow resonances found, integrating over whole Dalitz plot..." << std::endl;
1339 dpPartialIntegralInfo_.push_back(new LauDPPartialIntegralInfo(minm13, maxm13, minm23, maxm23, m13BinWidth_, m23BinWidth_, precision, nAmp_, nIncohAmp_));
1343 // Get regions in that correspond to narrow resonances in m13 and m23, and correct for overlaps in each dimension (to use the finest binning)
1353 for ( std::vector<std::pair<Double_t, Double_t> >::const_iterator iter = m13NarrowRes.begin(); iter != m13NarrowRes.end(); ++iter ) {
1363 std::cout << "INFO in LauIsobarDynamics::calcDPNormalisationScheme : Resonance at m13 = " << mass << " is close to threshold, extending integration region" << std::endl;
1367 std::cout << "INFO in LauIsobarDynamics::calcDPNormalisationScheme : Resonance at m13 = " << mass << " is close to upper edge of phase space, extending integration region" << std::endl;
1379 for ( std::vector<std::pair<Double_t, Double_t> >::const_iterator iter = m23NarrowRes.begin(); iter != m23NarrowRes.end(); ++iter ) {
1389 std::cout << "INFO in LauIsobarDynamics::calcDPNormalisationScheme : Resonance at m23 = " << mass << " is close to threshold, extending integration region" << std::endl;
1393 std::cout << "INFO in LauIsobarDynamics::calcDPNormalisationScheme : Resonance at m23 = " << mass << " is close to upper edge of phase space, extending integration region" << std::endl;
1406 std::vector<LauDPPartialIntegralInfo*> fineScheme13 = this->m13IntegrationRegions(m13Regions, m23Regions, m13Binnings, precision, m13BinWidth_);
1407 std::vector<LauDPPartialIntegralInfo*> fineScheme23 = this->m23IntegrationRegions(m13Regions, m23Regions, m13Binnings, m23Binnings, precision, m23BinWidth_);
1412 std::vector< std::pair<Double_t,Double_t> > coarseRegions = this->formGapsFromRegions(m13Regions, minm13, maxm13);
1414 std::vector<LauDPPartialIntegralInfo*> coarseScheme = this->m13IntegrationRegions(coarseRegions, m23Regions, coarseBinning, precision, m13BinWidth_);
1416 dpPartialIntegralInfo_.insert(dpPartialIntegralInfo_.end(), fineScheme13.begin(), fineScheme13.end());
1417 dpPartialIntegralInfo_.insert(dpPartialIntegralInfo_.end(), fineScheme23.begin(), fineScheme23.end());
1418 dpPartialIntegralInfo_.insert(dpPartialIntegralInfo_.end(), coarseScheme.begin(), coarseScheme.end());
1429 void LauIsobarDynamics::setIntegralBinWidths(const Double_t m13BinWidth, const Double_t m23BinWidth,
1465 Bool_t withinDP = squareDP ? kinematics_->withinSqDPLimits(m13, m23) : kinematics_->withinDPLimits(m13Sq, m23Sq);
1490 void LauIsobarDynamics::calculateAmplitudes( LauDPPartialIntegralInfo* intInfo, const UInt_t m13Point, const UInt_t m23Point )
1530 if ( (integralsToBeCalculated_.find(iAmp) != intEnd) && !sigResonances_[iAmp]->preSymmetrised() ) {
1542 if ( (integralsToBeCalculated_.find(iAmp+nAmp_) != intEnd) && !sigResonances_[iAmp]->preSymmetrised() ) {
1560 if ( (integralsToBeCalculated_.find(iAmp) != intEnd) && !sigResonances_[iAmp]->preSymmetrised() ) {
1568 if ( (integralsToBeCalculated_.find(iAmp+nAmp_) != intEnd) && !sigResonances_[iAmp]->preSymmetrised() ) {
1579 if ( (integralsToBeCalculated_.find(iAmp) != intEnd) && !sigResonances_[iAmp]->preSymmetrised() ) {
1587 if ( (integralsToBeCalculated_.find(iAmp+nAmp_) != intEnd) && !sigResonances_[iAmp]->preSymmetrised() ) {
1599 if ( (integralsToBeCalculated_.find(iAmp) != intEnd) && !sigResonances_[iAmp]->preSymmetrised() ) {
1607 if ( (integralsToBeCalculated_.find(iAmp+nAmp_) != intEnd) && !sigResonances_[iAmp]->preSymmetrised() ) {
1618 if ( (integralsToBeCalculated_.find(iAmp) != intEnd) && !sigResonances_[iAmp]->preSymmetrised() ) {
1626 if ( (integralsToBeCalculated_.find(iAmp+nAmp_) != intEnd) && !sigResonances_[iAmp]->preSymmetrised() ) {
1637 if ( (integralsToBeCalculated_.find(iAmp) != intEnd) && !sigResonances_[iAmp]->preSymmetrised() ) {
1645 if ( (integralsToBeCalculated_.find(iAmp+nAmp_) != intEnd) && !sigResonances_[iAmp]->preSymmetrised() ) {
1848 std::cerr<<"ERROR in LauIsobarDynamics::resAmp : index = "<<index<<" is not within the range 0 to "<<nAmp_-1<<std::endl;
1856 std::cerr<<"ERROR in LauIsobarDynamics::resAmp : Couldn't retrieve valid resonance with index = "<<index<<std::endl;
1873 std::cerr<<"ERROR in LauIsobarDynamics::incohResAmp : index = "<<index<<" is not within the range 0 to "<<nIncohAmp_-1<<std::endl;
1881 std::cerr<<"ERROR in LauIsobarDynamics::incohResAmp : Couldn't retrieve valid incoherent resonance with index = "<<index<<std::endl;
1892 void LauIsobarDynamics::setFFTerm(const UInt_t index, const Double_t realPart, const Double_t imagPart)
1896 std::cerr<<"ERROR in LauIsobarDynamics::setFFTerm : index = "<<index<<" is not within the range 0 to "<<nAmp_-1<<std::endl;
1905 // Function to set the internal incoherent intensity term (normally calculated using incohResAmp(index).
1907 std::cerr<<"ERROR in LauIsobarDynamics::setFFTerm : index = "<<index<<" is not within the range 0 to "<<nIncohAmp_-1<<std::endl;
2048 // Now loop over all resonances and find those which are K-matrix components for this propagator
2091 std::cout<<"INFO in LauIsobarDynamics::calcExtraInfo : Total K-matrix fit fraction for propagator "<<propName<<" is "<<kMatrixTotFitFrac<<std::endl;
2223 LauIsobarDynamics::ToyMCStatus LauIsobarDynamics::checkToyMC(Bool_t printErrorMessages, Bool_t printInfoMessages)
2231 std::cerr<<"WARNING in LauIsobarDynamics::checkToyMC : More than "<<iterationsMax_<<" iterations performed and no event accepted."<<std::endl;
2236 std::cerr<<" : |A|^2 maximum was set to "<<aSqMaxSet_<<" but this appears to be too high."<<std::endl;
2238 std::cerr<<" : The value of |A|^2 maximum will be decreased and the generation restarted."<<std::endl;
2241 std::cout<<"INFO in LauIsobarDynamics::checkToyMC : |A|^2 max reset to "<<aSqMaxSet_<<std::endl;
2245 std::cerr<<" : |A|^2 maximum was set to "<<aSqMaxSet_<<", which seems to be correct for the given model."<<std::endl;
2246 std::cerr<<" : However, the generation is very inefficient - please check your model."<<std::endl;
2247 std::cerr<<" : The maximum number of iterations will be increased and the generation restarted."<<std::endl;
2250 std::cout<<"INFO in LauIsobarDynamics::checkToyMC : max number of iterations reset to "<<iterationsMax_<<std::endl;
2256 std::cerr<<"WARNING in LauIsobarDynamics::checkToyMC : |A|^2 maximum was set to "<<aSqMaxSet_<<" but a value exceeding this was found: "<<aSqMaxVar_<<std::endl;
2257 std::cerr<<" : Run was invalid, as any generated MC will be biased, according to the accept/reject method!"<<std::endl;
2258 std::cerr<<" : The value of |A|^2 maximum be reset to be > "<<aSqMaxVar_<<" and the generation restarted."<<std::endl;
2261 std::cout<<"INFO in LauIsobarDynamics::checkToyMC : |A|^2 max reset to "<<aSqMaxSet_<<std::endl;
2264 std::cout<<"INFO in LauIsobarDynamics::checkToyMC : aSqMaxSet = "<<aSqMaxSet_<<" and aSqMaxVar = "<<aSqMaxVar_<<std::endl;
2276 std::cerr<<"ERROR in LauIsobarDynamics::setDataEventNo : Event index too large: "<<iEvt<<" >= "<<data_.size()<<"."<<std::endl;
2285 scfFraction_ = currentEvent_->retrieveScfFraction(); // These two are necessary, even though the dynamics don't actually use scfFraction_ or jacobian_,
2286 jacobian_ = currentEvent_->retrieveJacobian(); // since this is at the heart of the caching mechanism.
2325 void LauIsobarDynamics::calcLikelihoodInfo(const Double_t m13Sq, const Double_t m23Sq, const Int_t tagCat)
2396 // Since this is the first caching, we need to make sure to calculate everything for every resonance
2405 std::cerr<<"ERROR in LauIsobarDynamics::fillDataTree : Expecting at least 2 variables " <<"in input data tree, but there are "<<nBranches<<"!\n";
2406 std::cerr<<" : Make sure you have the right number of variables in your input data file!"<<std::endl;
2412 for ( std::vector<LauCacheData*>::iterator iter = data_.begin(); iter != data_.end(); ++iter ) {
2485 // then calculate totAmp_ and finally ASq_ = totAmp_.abs2() (without the efficiency correction!)
2502 // then calculate totAmp_ and finally ASq_ = totAmp_.abs2() (without the efficiency correction!)
2516 std::cerr << "ERROR in LauIsobarDynamics::updateCoeffs : Expected " << this->getnTotAmp() << " but got " << coeffs.size() << std::endl;
2527 // TODO should perhaps keep track of whether the resonance parameters have changed here and if none of those and none of the coeffs have changed then we don't need to update the norm
KMStringMap kMatrixPropSet_ The names of the M-matrix components in the model mapped to their propagators. Definition: LauIsobarDynamics.hh:804 Bool_t withinDPLimits(const Double_t m13Sq, const Double_t m23Sq) const Check whether a given (m13Sq,m23Sq) point is within the kinematic limits of the Dalitz plot... Definition: LauKinematics.cc:355 std::vector< LauComplex > Amp_ The complex coefficients for the amplitude components. Definition: LauIsobarDynamics.hh:768 void modifyDataTree() Recache the amplitude values for those that have changed. Definition: LauIsobarDynamics.cc:2354 Int_t nSigGenLoop_ The number of unsucessful attempts to generate an event so far. Definition: LauIsobarDynamics.hh:927 TString getNameDaug1() const Get name of the first daughter particle. Definition: LauDaughters.cc:243 Double_t getm23Max() const Get the m23 maximum defined as (mParent - m1) Definition: LauKinematics.hh:328 Double_t retrievemPrime() const Retrieve the square Dalitz plot coordinate, m'. Definition: LauCacheData.hh:133 std::vector< LauDPPartialIntegralInfo * > m23IntegrationRegions(const std::vector< std::pair< Double_t, Double_t > > &m13Regions, const std::vector< std::pair< Double_t, Double_t > > &m23Regions, const std::vector< Double_t > &m13Binnings, const std::vector< Double_t > &m23Binnings, const Double_t precision, const Double_t defaultBinning) const Create the integration grid objects for the m23 narrow resonance regions, including the overlap regio... Definition: LauIsobarDynamics.cc:1101 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. std::vector< LauDPPartialIntegralInfo * > m13IntegrationRegions(const std::vector< std::pair< Double_t, Double_t > > &m13Regions, const std::vector< std::pair< Double_t, Double_t > > &m23Regions, const std::vector< Double_t > &m13Binnings, const Double_t precision, const Double_t defaultBinning) const Create the integration grid objects for the m13 narrow resonance regions, excluding the overlap regio... Definition: LauIsobarDynamics.cc:1051 void setIntegralBinWidths(const Double_t m13BinWidth, const Double_t m23BinWidth, const Double_t mPrimeBinWidth=0.001, const Double_t thPrimeBinWidth=0.001) Set the widths of the bins to use when integrating across the Dalitz plot or square Dalitz plot... Definition: LauIsobarDynamics.cc:1429 Bool_t recalcNormalisation_ Flag to recalculate the normalisation. Definition: LauIsobarDynamics.hh:939 LauAbsResonance * addResonance(const TString &resName, const Int_t resPairAmpInt, const LauAbsResonance::LauResonanceModel resType, const LauBlattWeisskopfFactor::BlattWeisskopfCategory bwCategory=LauBlattWeisskopfFactor::Default) Add a resonance to the Dalitz plot. Definition: LauIsobarDynamics.cc:660 LauParameter * getMass() const Retrieve the mass of the resonant particle. Definition: LauResonanceInfo.hh:69 void storeIntensity(const UInt_t m13Point, const UInt_t m23Point, const UInt_t iAmp, const Double_t intensity) Store the intensity for the given grid point and intensity index. Definition: LauDPPartialIntegralInfo.hh:190 Double_t retrievem23Sq() const Retrieve the invariant mass squared of the second and third daugthers. Definition: LauCacheData.hh:127 Int_t getTypeDaug1() const Get PDG code of the first daughter particle. Definition: LauDaughters.cc:263 const TString & getResonanceName() const Get the name of the resonance. Definition: LauAbsResonance.hh:131 void updateCoeffs(const std::vector< LauComplex > &coeffs) Update the complex coefficients for the resonances. Definition: LauIsobarDynamics.cc:2512 std::set< UInt_t > integralsToBeCalculated_ Resonance indices for which the amplitudes and integrals should be recalculated. Definition: LauIsobarDynamics.hh:951 File containing declaration of LauResonanceInfo class. Double_t m13BinWidth_ The bin width to use when integrating over m13. Definition: LauIsobarDynamics.hh:846 Bool_t flipHelicity_ The helicity flip flag for new amplitude components. Definition: LauIsobarDynamics.hh:936 File containing declaration of LauAbsEffModel class. ClassImp(LauAbsCoeffSet) Double_t incohResAmp(const UInt_t index) Calculate the dynamic part of the intensity for a given incoherent component at the current point in ... Definition: LauIsobarDynamics.cc:1865 std::vector< std::pair< Double_t, Double_t > > formGapsFromRegions(const std::vector< std::pair< Double_t, Double_t > > ®ions, const Double_t min, const Double_t max) const Form the regions that are produced by the spaces between narrow resonances. Definition: LauIsobarDynamics.cc:1006 std::vector< Int_t > resPairAmp_ The index of the daughter not produced by the resonance for each amplitude component. Definition: LauIsobarDynamics.hh:810 void squareDP(const Bool_t calcSquareDPCoords) Enable/disable the calculation of square Dalitz plot co-ordinates. Definition: LauKinematics.hh:54 Bool_t hasResonance(const TString &resName) const Check whether this model includes a named resonance. Definition: LauIsobarDynamics.cc:921 const LauAbsResonance * findResonance(const TString &resName) const Retrieve the named resonance. Definition: LauIsobarDynamics.cc:966 Class for defining the properties of a resonant particle. Definition: LauResonanceInfo.hh:32 std::vector< LauParameter > extraParameters_ any extra parameters/quantities (e.g. K-matrix total fit fractions) Definition: LauIsobarDynamics.hh:792 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:175 Int_t getCharge(Int_t resPairAmpInt) const Get charge of a particular two-daughter combination. Definition: LauDaughters.cc:303 Double_t getEvtJacobian() const Retrieve the Jacobian, for the transformation into square DP coordinates, for the current event... Definition: LauIsobarDynamics.hh:320 File containing declaration of LauBelleNR class. 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:770 std::vector< Double_t > fSqEffSum_ The event-by-event running total of the dynamical amplitude squared for each amplitude component... Definition: LauIsobarDynamics.hh:918 File containing declaration of LauKMatrixProdSVP class. void calcDPNormalisationScheme() Calculate the Dalitz plot normalisation integrals across the whole Dalitz plot. Definition: LauIsobarDynamics.cc:1175 LauAbsEffModel * effModel_ The efficiency model across the Dalitz plot. Definition: LauIsobarDynamics.hh:752 void calcExtraInfo(const Bool_t init=kFALSE) Calculate the fit fractions, mean efficiency and total DP rate. Definition: LauIsobarDynamics.cc:1914 std::vector< Int_t > incohResPairAmp_ The index of the daughter not produced by the resonance for each incoherent amplitude component... Definition: LauIsobarDynamics.hh:816 Double_t DPNorm_ The normalisation factor for the log-likelihood function. Definition: LauIsobarDynamics.hh:771 LauTagCatScfFractionModelMap scfFractionModel_ The self cross feed fraction models across the Dalitz plot. Definition: LauIsobarDynamics.hh:759 LauParArray fitFrac_ The fit fractions for the amplitude components. Definition: LauIsobarDynamics.hh:774 LauParameter * getWidth() const Retrieve the width of the resonant particle. Definition: LauResonanceInfo.hh:75 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:933 Double_t scfFraction_ The fraction of events that are poorly reconstructed (the self cross feed fraction) at the current po... Definition: LauIsobarDynamics.hh:882 Abstract class for defining incoherent resonant amplitude models. Definition: LauAbsIncohRes.hh:29 Double_t m13Sq_ The invariant mass squared of the first and third daughters. Definition: LauIsobarDynamics.hh:864 Int_t iterationsMax_ The maximum allowed number of attempts when generating an event. Definition: LauIsobarDynamics.hh:924 TString getConjResName(const TString &resName) const Retrieve the name of the charge conjugate of a named resonance. Definition: LauIsobarDynamics.cc:2533 Definition: LauAbsResonance.hh:53 std::vector< Double_t > resonanceParValues_ List of floating resonance parameter values from previous calculation. Definition: LauIsobarDynamics.hh:945 File containing declaration of LauBelleSymNR class. File containing declaration of LauPrint class. void updateSqDPKinematics(const Double_t mPrime, const Double_t thetaPrime) Update all kinematic quantities based on the square DP co-ordinates m' and theta'. Definition: LauKinematics.cc:103 Pure abstract base class for defining the efficiency description across the signal Dalitz plot... Definition: LauAbsEffModel.hh:32 void setIncohIntenTerm(const UInt_t index, const Double_t value) Set the dynamic part of the intensity for a given incoherent amplitude component at the current point... Definition: LauIsobarDynamics.cc:1903 Double_t getm13Min() const Get the m13 minimum defined as (m1 + m3) Definition: LauKinematics.hh:317 Class for defining (a section of) the Dalitz plot integration binning scheme. Definition: LauDPPartialIntegralInfo.hh:35 Double_t retrieveJacobian() const Retrieve the Jacobian for the transformation into square-Dalitz-plot coordinates. ... Definition: LauCacheData.hh:163 std::map< TString, Double_t > LauFitData Type for holding event data. Definition: LauFitDataTree.hh:31 void calcDPNormalisation() Calculate the Dalitz plot normalisation integrals across the whole Dalitz plot. Definition: LauIsobarDynamics.cc:989 TString getNameDaug2() const Get name of the second daughter particle. Definition: LauDaughters.cc:248 Double_t getM23Value(const UInt_t m23Point) const Retrieve the m23 value at the given grid point. Definition: LauDPPartialIntegralInfo.hh:138 std::vector< TString > incohResTypAmp_ The resonance types of all of the incoherent amplitude components. Definition: LauIsobarDynamics.hh:813 std::vector< LauAbsIncohRes * > sigIncohResonances_ The incoherent resonances in the model. Definition: LauIsobarDynamics.hh:798 UInt_t nBranches() const Obtain the number of branches in the tree. Definition: LauFitDataTree.cc:170 Double_t getEvtScfFraction() const Retrieve the fraction of events that are poorly reconstructed (the self cross feed fraction) for the ... Definition: LauIsobarDynamics.hh:314 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 void calcLikelihoodInfo(const UInt_t iEvt) Calculate the likelihood (and all associated information) for the given event number. Definition: LauIsobarDynamics.cc:2289 std::vector< Double_t > fSqSum_ The event-by-event running total of the dynamical amplitude squared for each amplitude component... Definition: LauIsobarDynamics.hh:915 File containing declaration of LauKinematics class. UInt_t getnm23Points() const Retrieve the number of bins in m23. Definition: LauDPPartialIntegralInfo.hh:110 File containing declaration of LauKMatrixPropagator class. LauComplex resAmp(const UInt_t index) Calculate the dynamic part of the amplitude for a given component at the current point in the Dalitz ... Definition: LauIsobarDynamics.cc:1840 Double_t getm13Max() const Get the m13 maximum defined as (mParent - m2) Definition: LauKinematics.hh:333 UInt_t getnm13Points() const Retrieve the number of bins in m13. Definition: LauDPPartialIntegralInfo.hh:104 Definition: LauIsobarDynamics.hh:47 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:322 const LauAbsResonance * getResonance(const UInt_t resIndex) const Retrieve a resonance by its index. Definition: LauIsobarDynamics.cc:931 Double_t retrievem13Sq() const Retrieve the invariant mass squared of the first and third daugthers. Definition: LauCacheData.hh:121 Double_t m23Sq_ The invariant mass squared of the second and third daughters. Definition: LauIsobarDynamics.hh:867 Double_t evtLike_ The normalised likelihood for the current event. Definition: LauIsobarDynamics.hh:891 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:900 Singleton factory class for creating resonances. Definition: LauResonanceMaker.hh:35 Bool_t fullySymmetricDP_ Whether the Dalitz plot is fully symmetric. Definition: LauIsobarDynamics.hh:825 void fillDataTree(const LauFitDataTree &fitDataTree) Fill the internal data structure that caches the resonance dynamics. Definition: LauIsobarDynamics.cc:2391 void resetNormVectors() Zero the various values used to store integrals info. Definition: LauIsobarDynamics.cc:186 Double_t calcSqDPJacobian(const Double_t mPrime, const Double_t thPrime) const Calculate the Jacobian for the transformation m23^2, m13^2 -> m', theta' (square DP) at the given poin... Definition: LauKinematics.cc:134 Double_t abs2() const Obtain the square of the absolute value of the complex number. Definition: LauComplex.hh:232 Bool_t flavConjDP_ Whether the Dalitz plot is a flavour-conjugate final state. Definition: LauIsobarDynamics.hh:828 Bool_t gotSymmetricalDP() const Is Dalitz plot symmetric, i.e. 2 identical particles. Definition: LauDaughters.hh:66 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:849 LauDPPartialIntegralInfo * newDPIntegrationRegion(const Double_t minm13, const Double_t maxm13, const Double_t minm23, const Double_t maxm23, const Double_t m13BinWidth, const Double_t m23BinWidth, const Double_t precision, const UInt_t nAmp, const UInt_t nIncohAmp) const Wrapper for LauDPPartialIntegralInfo constructor. Definition: LauIsobarDynamics.cc:1157 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:338 void addKMatrixProdPole(const TString &poleName, const TString &propName, Int_t poleIndex, Bool_t useProdAdler=kFALSE) Add a K-matrix production pole term to the model. Definition: LauIsobarDynamics.cc:797 void calcTotalAmp(const Bool_t useEff) Calculate the total Dalitz plot amplitude at the current point in the Dalitz plot. Definition: LauIsobarDynamics.cc:1757 Double_t retrieveScfFraction(Int_t tagCat) Obtain the self cross feed fraction of the current event from the model. Definition: LauIsobarDynamics.cc:2559 std::vector< TString > resTypAmp_ The resonance types of all of the amplitude components. Definition: LauIsobarDynamics.hh:807 const std::vector< Double_t > & retrieveIncohIntensities() const Retrieve the incoherent intensities. Definition: LauCacheData.hh:181 const std::vector< Double_t > & retrieveRealAmp() const Retrieve the real parts of the amplitudes. Definition: LauCacheData.hh:169 LauIsobarDynamics(LauDaughters *daughters, LauAbsEffModel *effModel, LauAbsEffModel *scfFractionModel=0) Constructor. Definition: LauIsobarDynamics.cc:50 LauCacheData * currentEvent_ The cached data for the current event. Definition: LauIsobarDynamics.hh:789 void initialiseVectors() Initialise the internal storage for this model. Definition: LauIsobarDynamics.cc:483 Double_t jacobian_ The Jacobian, for the transformation into square DP coordinates at the current point in the Dalitz pl... Definition: LauIsobarDynamics.hh:885 void flipAndUpdateKinematics() Flips the DP variables m13^2 <-> m23^2 and recalculates all kinematic quantities. ... Definition: LauKinematics.cc:483 std::map< Int_t, LauAbsEffModel * > LauTagCatScfFractionModelMap The type used for containing multiple self cross feed fraction models for different categories (e... Definition: LauIsobarDynamics.hh:43 Double_t narrowWidth_ The value below which a resonance width is considered to be narrow. Definition: LauIsobarDynamics.hh:858 Double_t getM13Value(const UInt_t m13Point) const Retrieve the m13 value at the given grid point. Definition: LauDPPartialIntegralInfo.hh:131 Definition: LauAbsResonance.hh:55 File containing declaration of LauDPPartialIntegralInfo class. 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:906 Double_t getm23Min() const Get the m23 minimum defined as (m2 + m3) Definition: LauKinematics.hh:312 Double_t retrieveScfFraction() const Retrieve the fraction of poorly reconstructed events (the so-called self cross feed fraction) ... Definition: LauCacheData.hh:157 Double_t retrievethPrime() const Retrieve the square Dalitz plot coordinate, theta'. Definition: LauCacheData.hh:139 UInt_t getnTotAmp() const Retrieve the total number of amplitude components. Definition: LauIsobarDynamics.hh:453 virtual Double_t calcEfficiency(const LauKinematics *kinematics) const =0 Determine the efficiency for a given point in the Dalitz plot. Double_t calcSigDPNorm() Calculate the normalisation factor for the log-likelihood function. Definition: LauIsobarDynamics.cc:2130 void updateKinematics(const Double_t m13Sq, const Double_t m23Sq) Update all kinematic quantities based on the DP co-ordinates m13Sq and m23Sq. Definition: LauKinematics.cc:86 Int_t getTypeDaug3() const Get PDG code of the third daughter particle. Definition: LauDaughters.cc:273 void addGridPointToIntegrals(const Double_t weight) Add the amplitude values (with the appropriate weight) at the current grid point to the running integ... Definition: LauIsobarDynamics.cc:1800 Double_t thPrimeBinWidth_ The bin width to use when integrating over thetaPrime. Definition: LauIsobarDynamics.hh:855 const LauFitData & getData(UInt_t iEvt) const Retrieve the data for a given event. Definition: LauFitDataTree.cc:312 File containing LauRandom namespace. void rotateAndUpdateKinematics() Cyclically rotates the DP variables (m12 -> m23, m23 -> m13, m13 -> m12) and recalculates all kinemat... Definition: LauKinematics.cc:492 void removeCharge(TString &string) const Remove the charge from the given particle name. Definition: LauIsobarDynamics.cc:977 Double_t eff_ The efficiency at the current point in the Dalitz plot. Definition: LauIsobarDynamics.hh:879 void calculateAmplitudes() Calculate the amplitudes for all resonances for the current kinematics. Definition: LauIsobarDynamics.cc:1664 void correctDPOverlap(std::vector< std::pair< Double_t, Double_t > > ®ions, const std::vector< Double_t > &binnings) const Correct regions to ensure that the finest integration grid takes precedence. Definition: LauIsobarDynamics.cc:1030 Int_t getTypeDaug2() const Get PDG code of the second daughter particle. Definition: LauDaughters.cc:268 Double_t getWeight(const UInt_t m13Point, const UInt_t m23Point) const Retrieve the weight for the given grid point. Definition: LauDPPartialIntegralInfo.hh:124 LauAbsResonance * getResonance(const LauDaughters *daughters, const TString &resName, const Int_t resPairAmpInt, const LauAbsResonance::LauResonanceModel resType, const LauBlattWeisskopfFactor::BlattWeisskopfCategory bwCategory=LauBlattWeisskopfFactor::Default) Create a resonance. Definition: LauResonanceMaker.cc:641 Bool_t gotFlavourConjugateDP() const Is Dalitz plot flavour-conjugate, i.e. CP(d1) = d2 and CP(d3) = d3. Definition: LauDaughters.hh:78 Int_t resonanceIndex(const TString &resName) const Retrieve the index for the given resonance. Definition: LauIsobarDynamics.cc:891 Bool_t gotReweightedEvent() Calculates whether an event with the current kinematics should be accepted in order to produce a dist... Definition: LauIsobarDynamics.cc:2477 Abstract class for defining type for resonance amplitude models (Breit-Wigner, Flatte etc... Definition: LauAbsResonance.hh:37 Double_t binningFactor_ The factor relating the width of the narrowest resonance and the binning size. Definition: LauIsobarDynamics.hh:861 std::vector< LauCacheData * > data_ The cached data for all events. Definition: LauIsobarDynamics.hh:786 Bool_t gotFullySymmetricDP() const Is Dalitz plot fully symmetric, i.e. 3 identical particles. Definition: LauDaughters.hh:72 void findIntegralsToBeRecalculated() Determine which amplitudes and integrals need to be recalculated. Definition: LauIsobarDynamics.cc:229 Class for defining signal dynamics using the isobar model. Definition: LauIsobarDynamics.hh:39 Double_t getEventWeight() Calculate the acceptance rate, for events with the current kinematics, when generating events accordi... Definition: LauIsobarDynamics.cc:2498 LauAbsResonance * addIncoherentResonance(const TString &resName, const Int_t resPairAmpInt, const LauAbsResonance::LauResonanceModel resType) Add an incoherent resonance to the Dalitz plot. Definition: LauIsobarDynamics.cc:724 void addKMatrixProdSVP(const TString &SVPName, const TString &propName, Int_t channelIndex, Bool_t useProdAdler=kFALSE) Add a K-matrix slowly-varying part (SVP) term to the model. Definition: LauIsobarDynamics.cc:845 File containing LauConstants namespace. void writeIntegralsFile() Write the results of the integrals (and related information) to a file. Definition: LauIsobarDynamics.cc:539 File containing declaration of LauAbsResonance class. void calcDPPartialIntegral(LauDPPartialIntegralInfo *intInfo) Calculate the Dalitz plot normalisation integrals over a given range. Definition: LauIsobarDynamics.cc:1441 Double_t mPrimeBinWidth_ The bin width to use when integrating over mPrime. Definition: LauIsobarDynamics.hh:852 ToyMCStatus checkToyMC(Bool_t printErrorMessages=kTRUE, Bool_t printInfoMessages=kFALSE) Check the status of the toy MC generation. Definition: LauIsobarDynamics.cc:2223 UInt_t getnCohAmp() const Retrieve the number of coherent amplitude components. Definition: LauIsobarDynamics.hh:459 Double_t getEvtEff() const Retrieve the efficiency for the current event. Definition: LauIsobarDynamics.hh:308 UInt_t nIncohAmp_ The number of incoherent amplitude components. Definition: LauIsobarDynamics.hh:765 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:2100 std::vector< LauDPPartialIntegralInfo * > dpPartialIntegralInfo_ The storage of the integration scheme. Definition: LauIsobarDynamics.hh:840 Double_t getIntensity(const UInt_t m13Point, const UInt_t m23Point, const UInt_t iAmp) const Retrieve the intensity for the given grid point and intensity index. Definition: LauDPPartialIntegralInfo.hh:181 void genFlatPhaseSpace(Double_t &m13Sq, Double_t &m23Sq) const Routine to generate events flat in phase-space. Definition: LauKinematics.cc:328 void cullNullRegions(std::vector< LauDPPartialIntegralInfo * > ®ions) const Removes entries in the vector of LauDPPartialIntegralInfo* that are null. Definition: LauIsobarDynamics.cc:1024 void setDataEventNo(UInt_t iEvt) Load the data for a given event. Definition: LauIsobarDynamics.cc:2270 Definition: LauAbsResonance.hh:54 Bool_t normalizationSchemeDone_ Whether the scheme for the integration has been determined. Definition: LauIsobarDynamics.hh:834 std::vector< LauParameter * > resonancePars_ List of floating resonance parameters. Definition: LauIsobarDynamics.hh:942 std::vector< std::vector< UInt_t > > resonanceParResIndex_ Indices in sigResonances_ to point to the corresponding signal resonance(s) for each floating paramet... Definition: LauIsobarDynamics.hh:948 BlattWeisskopfCategory Define resonance categories that will share common barrier factor radii. Definition: LauBlattWeisskopfFactor.hh:48 void storeEfficiency(const UInt_t m13Point, const UInt_t m23Point, const Double_t efficiency) Store the efficiency for the given grid point. Definition: LauDPPartialIntegralInfo.hh:154 const LauComplex & getAmplitude(const UInt_t m13Point, const UInt_t m23Point, const UInt_t iAmp) const Retrieve the amplitude for the given grid point and amplitude index. Definition: LauDPPartialIntegralInfo.hh:163 LauParameter meanDPEff_ The mean efficiency across the Dalitz plot. Definition: LauIsobarDynamics.hh:783 Bool_t integralsDone_ Whether the integrals have been performed. Definition: LauIsobarDynamics.hh:831 std::vector< Double_t > incohInten_ The dynamic part of the intensity for each incoherent amplitude component at the current point in the... Definition: LauIsobarDynamics.hh:912 virtual LauComplex amplitude(const LauKinematics *kinematics) Calculate the complex amplitude. Definition: LauAbsResonance.cc:183 void storeAmplitude(const UInt_t m13Point, const UInt_t m23Point, const UInt_t iAmp, const LauComplex &litude) Store the amplitude for the given grid point and amplitude index. Definition: LauDPPartialIntegralInfo.hh:172 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:909 Bool_t forceSymmetriseIntegration_ Force the symmetrisation of the integration in m13 <-> m23 for non-symmetric but flavour-conjugate fi... Definition: LauIsobarDynamics.hh:837 static bool isIncoherentModel(LauResonanceModel model) Is the resonance model incoherent? Definition: LauAbsResonance.cc:28 void initialise(const std::vector< LauComplex > &coeffs) Initialise the Dalitz plot dynamics. Definition: LauIsobarDynamics.cc:252 TString getNameDaug3() const Get name of the third daughter particle. Definition: LauDaughters.cc:253 Bool_t withinSqDPLimits(const Double_t mPrime, const Double_t thetaPrime) const Check whether a given (m',theta') point is within the kinematic limits of the Dalitz plot... Definition: LauKinematics.cc:427 std::vector< Double_t > fNorm_ The normalisation factors for the dynamic parts of the amplitude for each amplitude component... Definition: LauIsobarDynamics.hh:921 Class for defining a K-matrix production "slowly-varying part" (SVP) amplitude. Definition: LauKMatrixProdSVP.hh:31 LauResonanceInfo * getResInfo(const TString &resName) const Get the information for the given resonance name. Definition: LauResonanceMaker.cc:914 File containing declaration of LauAbsIncohRes class. std::vector< LauAbsResonance * > sigResonances_ The resonances in the model. Definition: LauIsobarDynamics.hh:795 virtual Double_t intensityFactor(const LauKinematics *kinematics)=0 Get intensity factor. void setFFTerm(const UInt_t index, const Double_t realPart, const 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:1892 Double_t retrieveEfficiency() Obtain the efficiency of the current event from the model. Definition: LauIsobarDynamics.cc:2550 LauParArray fitFracEffUnCorr_ The efficiency-uncorrected fit fractions for the amplitude components. Definition: LauIsobarDynamics.hh:777 Class for defining a K-matrix propagator. Definition: LauKMatrixPropagator.hh:36 Generated by 1.8.5 |