LauCPFitModel.cc
Go to the documentation of this file.
70 LauCPFitModel::LauCPFitModel(LauIsobarDynamics* negModel, LauIsobarDynamics* posModel, Bool_t tagged, const TString& tagVarName) : LauAbsFitModel(),
114 for (LauBkgndEmbDataList::iterator iter = negBkgndTree_.begin(); iter != negBkgndTree_.end(); ++iter) {
117 for (LauBkgndEmbDataList::iterator iter = posBkgndTree_.begin(); iter != posBkgndTree_.end(); ++iter) {
143 std::cerr << "ERROR in LauCPFitModel::setNSigEvents : The LauParameter pointer is null." << std::endl;
147 std::cerr << "ERROR in LauCPFitModel::setNSigEvents : You are trying to overwrite the signal yield." << std::endl;
151 std::cerr << "ERROR in LauCPFitModel::setNSigEvents : You are trying to overwrite the signal asymmetry." << std::endl;
157 if ( ! name.Contains("signalEvents") && !( name.BeginsWith("signal") && name.EndsWith("Events") ) ) {
166 void LauCPFitModel::setNSigEvents( LauParameter* nSigEvents, LauParameter* sigAsym, Bool_t forceAsym )
169 std::cerr << "ERROR in LauCPFitModel::setNSigEvents : The event LauParameter pointer is null." << std::endl;
173 std::cerr << "ERROR in LauCPFitModel::setNSigEvents : The asym LauParameter pointer is null." << std::endl;
178 std::cerr << "ERROR in LauCPFitModel::setNSigEvents : You are trying to overwrite the signal yield." << std::endl;
182 std::cerr << "ERROR in LauCPFitModel::setNSigEvents : You are trying to overwrite the signal asymmetry." << std::endl;
201 std::cerr << "ERROR in LauCPFitModel::setNBgkndEvents : The background yield LauParameter pointer is null." << std::endl;
206 std::cerr << "ERROR in LauCPFitModel::setNBkgndEvents : Invalid background class \"" << nBkgndEvents->name() << "\"." << std::endl;
207 std::cerr << " : Background class names must be provided in \"setBkgndClassNames\" before any other background-related actions can be performed." << std::endl;
214 std::cerr << "ERROR in LauCPFitModel::setNBkgndEvents : You are trying to overwrite the background yield." << std::endl;
219 std::cerr << "ERROR in LauCPFitModel::setNBkgndEvents : You are trying to overwrite the background asymmetry." << std::endl;
237 std::cerr << "ERROR in LauCPFitModel::setNBkgndEvents : The background yield LauParameter pointer is null." << std::endl;
242 std::cerr << "ERROR in LauCPFitModel::setNBkgndEvents : The background asym LauParameter pointer is null." << std::endl;
247 std::cerr << "ERROR in LauCPFitModel::setNBkgndEvents : Invalid background class \"" << nBkgndEvents->name() << "\"." << std::endl;
248 std::cerr << " : Background class names must be provided in \"setBkgndClassNames\" before any other background-related actions can be performed." << std::endl;
255 std::cerr << "ERROR in LauCPFitModel::setNBkgndEvents : You are trying to overwrite the background yield." << std::endl;
260 std::cerr << "ERROR in LauCPFitModel::setNBkgndEvents : You are trying to overwrite the background asymmetry." << std::endl;
280 void LauCPFitModel::splitSignalComponent( const TH2* dpHisto, const Bool_t upperHalf, const Bool_t fluctuateBins, LauScfMap* scfMap )
283 std::cerr << "ERROR in LauCPFitModel::splitSignalComponent : Have already setup SCF." << std::endl;
288 std::cerr << "ERROR in LauCPFitModel::splitSignalComponent : The histogram pointer is null." << std::endl;
294 scfFracHist_->setEffHisto( dpHisto, kTRUE, fluctuateBins, 0.0, 0.0, upperHalf, daughters->squareDP() );
305 std::cerr << "ERROR in LauCPFitModel::splitSignalComponent : Have already setup SCF." << std::endl;
317 void LauCPFitModel::setBkgndDPModels(const TString& bkgndClass, LauAbsBkgndDPModel* negModel, LauAbsBkgndDPModel* posModel)
320 std::cerr << "ERROR in LauCPFitModel::setBkgndDPModels : One or both of the model pointers is null." << std::endl;
326 std::cerr << "ERROR in LauCPFitModel::setBkgndDPModel : Invalid background class \"" << bkgndClass << "\"." << std::endl;
327 std::cerr << " : Background class names must be provided in \"setBkgndClassNames\" before any other background-related actions can be performed." << std::endl;
342 std::cerr << "ERROR in LauCPFitModel::setSignalPdfs : One or both of the PDF pointers is null." << std::endl;
348 std::cerr << "ERROR in LauCPFitModel::setSignalPdfs : The negative PDF pointer is null." << std::endl;
352 std::cerr << "WARNING in LauCPFitModel::setSignalPdfs : Doing an untagged fit so will not use the positive PDF." << std::endl;
363 std::cerr << "ERROR in LauCPFitModel::setSCFPdfs : One or both of the PDF pointers is null." << std::endl;
369 std::cerr << "ERROR in LauCPFitModel::setSCFPdfs : The negative PDF pointer is null." << std::endl;
373 std::cerr << "WARNING in LauCPFitModel::setSCFPdfs : Doing an untagged fit so will not use the positive PDF." << std::endl;
380 void LauCPFitModel::setBkgndPdfs(const TString& bkgndClass, LauAbsPdf* negPdf, LauAbsPdf* posPdf)
384 std::cerr << "ERROR in LauCPFitModel::setBkgndPdfs : One or both of the PDF pointers is null." << std::endl;
390 std::cerr << "ERROR in LauCPFitModel::setBkgndPdfs : The negative PDF pointer is null." << std::endl;
394 std::cerr << "WARNING in LauCPFitModel::setBkgndPdfs : Doing an untagged fit so will not use the positive PDF." << std::endl;
400 std::cerr << "ERROR in LauCPFitModel::setBkgndPdfs : Invalid background class \"" << bkgndClass << "\"." << std::endl;
401 std::cerr << " : Background class names must be provided in \"setBkgndClassNames\" before any other background-related actions can be performed." << std::endl;
419 std::cerr << "ERROR in LauCPFitModel::setAmpCoeffSet : Unequal number of signal DP components in the negative and positive models: " << nNegAmp << " != " << nPosAmp << std::endl;
423 for (std::vector<LauAbsCoeffSet*>::iterator iter = coeffPars_.begin(); iter != coeffPars_.end(); ++iter) {
436 std::cerr << "ERROR in LauCPFitModel::setAmpCoeffSet : " << negParent_ << " signal DP model doesn't contain component \"" << compName << "\"." << std::endl;
440 std::cerr << "ERROR in LauCPFitModel::setAmpCoeffSet : " << posParent_ << " signal DP model doesn't contain component \"" << conjName << "\"." << std::endl;
444 std::cerr << "ERROR in LauCPFitModel::setAmpCoeffSet : " << negParent_ << " signal DP model and " << posParent_ << " signal DP model have different indices for components \"" << compName << "\" and \"" << conjName << "\"." << std::endl;
450 std::cerr << "ERROR in LauCPFitModel::setAmpCoeffSet : Have already set coefficients for \"" << compName << "\"." << std::endl;
464 std::cout << "INFO in LauCPFitModel::setAmpCoeffSet : Added coefficients for component \"" << compName << "\" to the fit model." << std::endl;
472 std::cerr << "ERROR in LauCPFitModel::initialise : Signal model doesn't exist for any variable." << std::endl;
479 std::cerr << "ERROR in LauCPFitModel::initialise : the pointer to one (neg or pos) of the signal DP models is null.\n";
489 for (LauBkgndDPModelList::const_iterator dpmodel_iter = negBkgndDPModels_.begin(); dpmodel_iter != negBkgndDPModels_.end(); ++dpmodel_iter ) {
491 std::cerr << "ERROR in LauCPFitModel::initialise : The pointer to one of the background DP models is null.\n";
497 for (LauBkgndDPModelList::const_iterator dpmodel_iter = posBkgndDPModels_.begin(); dpmodel_iter != posBkgndDPModels_.end(); ++dpmodel_iter ) {
499 std::cerr << "ERROR in LauCPFitModel::initialise : The pointer to one of the background DP models is null.\n";
511 std::cerr << "ERROR in LauCPFitModel::initialise : Unequal number of signal DP components in the negative and positive models: " << nNegAmp << " != " << nPosAmp << std::endl;
515 std::cerr << "ERROR in LauCPFitModel::initialise : Number of signal DP components in the model (" << nNegAmp << ") not equal to number of coefficients supplied (" << nSigComp_ << ")." << std::endl;
553 for ( LauPdfList::const_iterator pdf_iter = negSignalPdfs_.begin(); pdf_iter != negSignalPdfs_.end(); ++pdf_iter ) {
555 for ( std::vector<TString>::const_iterator var_iter = varNames.begin(); var_iter != varNames.end(); ++var_iter ) {
563 for ( LauPdfList::const_iterator pdf_iter = negScfPdfs_.begin(); pdf_iter != negScfPdfs_.end(); ++pdf_iter ) {
565 for ( std::vector<TString>::const_iterator var_iter = varNames.begin(); var_iter != varNames.end(); ++var_iter ) {
572 std::cerr << "ERROR in LauCPFitModel::initialise : There are " << nsigpdfvars << " TM signal PDF variables but " << nscfpdfvars << " SCF signal PDF variables." << std::endl;
577 for (LauBkgndPdfsList::const_iterator bgclass_iter = negBkgndPdfs_.begin(); bgclass_iter != negBkgndPdfs_.end(); ++bgclass_iter) {
580 for ( LauPdfList::const_iterator pdf_iter = pdfList.begin(); pdf_iter != pdfList.end(); ++pdf_iter ) {
582 for ( std::vector<TString>::const_iterator var_iter = varNames.begin(); var_iter != varNames.end(); ++var_iter ) {
589 std::cerr << "ERROR in LauCPFitModel::initialise : There are " << nsigpdfvars << " signal PDF variables but " << nbkgndpdfvars << " bkgnd PDF variables." << std::endl;
610 std::cerr << "ERROR in LauCPFitModel::initialise : Number of fit parameters not of expected size. Exiting" << std::endl;
619 //std::cout << "INFO in LauCPFitModel::recalculateNormalizationInDPModels : Recalc Norm in DP model" << std::endl;
628 std::cout << "INFO in LauCPFitModel::initialiseDPModels : Initialising signal DP model" << std::endl;
633 for (LauBkgndDPModelList::iterator iter = negBkgndDPModels_.begin(); iter != negBkgndDPModels_.end(); ++iter) {
636 for (LauBkgndDPModelList::iterator iter = posBkgndDPModels_.begin(); iter != posBkgndDPModels_.end(); ++iter) {
651 std::cout << "INFO in LauCPFitModel::setSignalDPParameters : Setting the initial fit parameters for the signal DP model." << std::endl;
665 // Obtain the resonance parameters and place them in the vector of fit variables and in a separate vector
673 for ( LauParameterPList::iterator iter = negSigDPPars.begin(); iter != negSigDPPars.end(); ++iter ) {
679 for ( LauParameterPList::iterator iter = posSigDPPars.begin(); iter != posSigDPPars.end(); ++iter ) {
690 // NB all of them are passed to the fit, even though some have been fixed through parameter.fixed(kTRUE)
709 for (LauBkgndPdfsList::iterator iter = negBkgndPdfs_.begin(); iter != negBkgndPdfs_.end(); ++iter) {
713 for (LauBkgndPdfsList::iterator iter = posBkgndPdfs_.begin(); iter != posBkgndPdfs_.end(); ++iter) {
730 for (LauBkgndYieldList::const_iterator iter = bkgndEvents_.begin(); iter != bkgndEvents_.end(); ++iter) {
733 std::cerr << "ERROR in LauCPFitModel::setFitNEvents : Background yield not defined." << std::endl;
743 std::cout << "INFO in LauCPFitModel::setFitNEvents : Initialising number of events for signal and background components..." << std::endl;
750 std::cout << "INFO in LauCPFitModel::setFitNEvents : Initialising number of events for background components (and hence signal)..." << std::endl;
769 for (LauBkgndYieldList::iterator iter = bkgndEvents_.begin(); iter != bkgndEvents_.end(); ++iter) {
806 std::cerr << "ERROR in LauCPFitModel::setExtraNtupleVars : Initial Fit Fraction array of unexpected dimension: " << negFitFrac_.size() << std::endl;
811 std::cerr << "ERROR in LauCPFitModel::setExtraNtupleVars : Initial Fit Fraction array of unexpected dimension: " << negFitFrac_[i].size() << std::endl;
818 std::cerr << "ERROR in LauCPFitModel::setExtraNtupleVars : Initial Fit Fraction array of unexpected dimension: " << posFitFrac_.size() << std::endl;
823 std::cerr << "ERROR in LauCPFitModel::setExtraNtupleVars : Initial Fit Fraction array of unexpected dimension: " << posFitFrac_[i].size() << std::endl;
828 // Add the positive and negative fit fractions that have not been corrected for the efficiency for each signal component
831 std::cerr << "ERROR in LauCPFitModel::setExtraNtupleVars : Initial Fit Fraction array of unexpected dimension: " << negFitFracEffUnCorr_.size() << std::endl;
836 std::cerr << "ERROR in LauCPFitModel::setExtraNtupleVars : Initial Fit Fraction array of unexpected dimension: " << negFitFracEffUnCorr_[i].size() << std::endl;
843 std::cerr << "ERROR in LauCPFitModel::setExtraNtupleVars : Initial Fit Fraction array of unexpected dimension: " << posFitFracEffUnCorr_.size() << std::endl;
848 std::cerr << "ERROR in LauCPFitModel::setExtraNtupleVars : Initial Fit Fraction array of unexpected dimension: " << posFitFracEffUnCorr_[i].size() << std::endl;
1046 for (LauBkgndYieldList::iterator iter = bkgndEvents_.begin(); iter != bkgndEvents_.end(); ++iter) {
1052 for (LauBkgndYieldList::iterator iter = bkgndAsym_.begin(); iter != bkgndAsym_.end(); ++iter) {
1068 for (LauBkgndPdfsList::iterator iter = negBkgndPdfs_.begin(); iter != negBkgndPdfs_.end(); ++iter) {
1071 for (LauBkgndPdfsList::iterator iter = posBkgndPdfs_.begin(); iter != posBkgndPdfs_.end(); ++iter) {
1086 std::cerr << "ERROR in LauCPFitModel::finaliseFitResults : Fit Fraction array of unexpected dimension: " << negFitFrac.size() << std::endl;
1091 std::cerr << "ERROR in LauCPFitModel::finaliseFitResults : Fit Fraction array of unexpected dimension: " << negFitFrac[i].size() << std::endl;
1098 std::cerr << "ERROR in LauCPFitModel::finaliseFitResults : Fit Fraction array of unexpected dimension: " << posFitFrac.size() << std::endl;
1103 std::cerr << "ERROR in LauCPFitModel::finaliseFitResults : Fit Fraction array of unexpected dimension: " << posFitFrac[i].size() << std::endl;
1110 std::cerr << "ERROR in LauCPFitModel::finaliseFitResults : Fit Fraction array of unexpected dimension: " << negFitFracEffUnCorr.size() << std::endl;
1115 std::cerr << "ERROR in LauCPFitModel::finaliseFitResults : Fit Fraction array of unexpected dimension: " << negFitFracEffUnCorr[i].size() << std::endl;
1122 std::cerr << "ERROR in LauCPFitModel::finaliseFitResults : Fit Fraction array of unexpected dimension: " << posFitFracEffUnCorr.size() << std::endl;
1127 std::cerr << "ERROR in LauCPFitModel::finaliseFitResults : Fit Fraction array of unexpected dimension: " << posFitFracEffUnCorr[i].size() << std::endl;
1168 for (negExtraIter = negExtraPars.begin(); negExtraIter != negExtraPars.end(); ++negExtraIter) {
1175 for (posExtraIter = posExtraPars.begin(); posExtraIter != posExtraPars.end(); ++posExtraIter) {
1232 output << negParent_ << " FitFraction for component " << i << " (" << compName << ") = " << negFitFrac_[i][i] << std::endl;
1234 output << negParent_ << " overall DP rate (integral of matrix element squared) = " << negDPRate_ << std::endl;
1235 output << negParent_ << " average efficiency weighted by whole DP dynamics = " << negMeanEff_ << std::endl;
1241 output << posParent_ << " FitFraction for component " << i << " (" << conjName << ") = " << posFitFrac_[i][i] << std::endl;
1243 output << posParent_ << " overall DP rate (integral of matrix element squared) = " << posDPRate_ << std::endl;
1244 output << posParent_ << " average efficiency weighted by whole DP dynamics = " << posMeanEff_ << std::endl;
1251 output << "Fit Fraction asymmetry for component " << i << " (" << compName << ") = " << fitFracAsymm_[i] << std::endl;
1266 std::cout << "INFO in LauCPFitModel::writeOutTable : Writing out results of the fit to the tex file " << outputFile << std::endl;
1280 fout << "Component & " << negParent_ << " Fit Fraction & " << posParent_ << " Fit Fraction & Fit Fraction Asymmetry & ACP \\\\" << std::endl;
1363 for (LauBkgndPdfsList::const_iterator iter = negBkgndPdfs_.begin(); iter != negBkgndPdfs_.end(); ++iter) {
1367 for (LauBkgndPdfsList::const_iterator iter = posBkgndPdfs_.begin(); iter != posBkgndPdfs_.end(); ++iter) {
1383 std::cout << "INFO in LauCPFitModel::checkInitFitParams : Setting random parameters for the signal model" << std::endl;
1391 std::cout << "INFO in LauCPFitModel::randomiseInitFitPars : Randomising the initial fit magnitudes and phases of the components..." << std::endl;
1400 // by temporarily fixing all imported parameters, and then freeing those not set to be fixed when imported,
1402 // Convoluted, but beats changing the behaviour of functions that call checkInitFitParams or the coeffSet
1486 // Print out the information on what we're generating, but only if none of the parameters are blind (otherwise we risk unblinding them!)
1489 std::cout << " : Signal asymmetry = " << sigAsym << " and number of signal events = " << signalEvents_->genValue() << std::endl;
1494 std::cout << " : " << bkgndClass << " asymmetry = " << asymPar->genValue() << " and number of " << bkgndClass << " events = " << evtsPar->genValue() << std::endl;
1587 std::cout << "INFO in LauCPFitModel::genExpt : Generated event number " << iEvt << " out of " << nEvtsGen << " " << type << " events." << std::endl;
1605 std::cerr << "ERROR in LauCPFitModel::genExpt : Fit Fraction array of unexpected dimension: " << negFitFrac.size() << std::endl;
1610 std::cerr << "ERROR in LauCPFitModel::genExpt : Fit Fraction array of unexpected dimension: " << negFitFrac[i].size() << std::endl;
1616 std::cerr << "ERROR in LauCPFitModel::genExpt : Fit Fraction array of unexpected dimension: " << posFitFrac.size() << std::endl;
1621 std::cerr << "ERROR in LauCPFitModel::genExpt : Fit Fraction array of unexpected dimension: " << posFitFrac[i].size() << std::endl;
1803 std::cerr << "WARNING in LauCPFitModel::generateSignalEvent : Source of embedded signal events used up, clearing the list of used events." << std::endl;
1846 std::cerr << "ERROR in LauCPFitModel::generateBkgndEvent : Can't find the DP model for background class \"" << bkgndClass << "\"." << std::endl;
1863 std::cerr << "WARNING in LauCPFitModel::generateBkgndEvent : Source of embedded " << bkgndClass << " events used up, clearing the list of used events." << std::endl;
1904 for (LauPdfList::const_iterator pdf_iter = negSignalPdfs_.begin(); pdf_iter != negSignalPdfs_.end(); ++pdf_iter) {
1906 for ( std::vector<TString>::const_iterator var_iter = varNames.begin(); var_iter != varNames.end(); ++var_iter ) {
1939 void LauCPFitModel::generateExtraPdfValues(LauPdfList* extraPdfs, LauEmbeddedData* embeddedData)
1949 std::cerr << "ERROR in LauCPFitModel::generateExtraPdfValues : Null pointer to PDF list." << std::endl;
1954 //std::cerr << "WARNING in LauCPFitModel::generateExtraPdfValues : PDF list is empty." << std::endl;
1959 for (LauPdfList::iterator pdf_iter = extraPdfs->begin(); pdf_iter != extraPdfs->end(); ++pdf_iter) {
1966 for ( LauFitData::const_iterator var_iter = genValues.begin(); var_iter != genValues.end(); ++var_iter ) {
2024 for (LauBkgndYieldList::iterator iter = bkgndEvents_.begin(); iter != bkgndEvents_.end(); ++iter) {
2039 for (LauBkgndYieldList::const_iterator iter = bkgndEvents_.begin(); iter != bkgndEvents_.end(); ++iter) {
2067 for (LauBkgndDPModelList::iterator iter = negBkgndDPModels_.begin(); iter != negBkgndDPModels_.end(); ++iter) {
2070 for (LauBkgndDPModelList::iterator iter = posBkgndDPModels_.begin(); iter != posBkgndDPModels_.end(); ++iter) {
2079 for (LauBkgndPdfsList::iterator iter = negBkgndPdfs_.begin(); iter != negBkgndPdfs_.end(); ++iter) {
2085 for (LauBkgndPdfsList::iterator iter = posBkgndPdfs_.begin(); iter != posBkgndPdfs_.end(); ++iter) {
2093 std::cerr << "ERROR in LauCPFitModel::cacheInputFitVars : Input data does not contain DP branches and so can't cache the SCF fraction." << std::endl;
2121 std::cerr << "ERROR in LauCPFitModel::cacheInputFitVars : Input data does not contain branch \"" << tagVarName_ << "\"." << std::endl;
2140 // given true bin in the LauScfMap object. (What this means is that when Laura is provided with
2186 std::cerr << "ERROR in LauCPFitModel::getTotEvtLikelihood : Charge/tag not accepted value: " << curEvtCharge_ << std::endl;
2235 Double_t bkgndEvents = bkgndEvents_[bkgndID]->unblindValue() * 0.5 * (1.0 - curEvtCharge_ * bkgndAsym_[bkgndID]->unblindValue());
2249 for (LauBkgndYieldList::const_iterator iter = bkgndEvents_.begin(); iter != bkgndEvents_.end(); ++iter) {
2367 for (std::vector<Int_t>::const_iterator iter = trueBins->begin(); iter != trueBins->end(); ++iter)
2532 for (LauPdfList::const_iterator pdf_iter = extraPdfs->begin(); pdf_iter != extraPdfs->end(); ++pdf_iter) {
2539 for ( std::vector<TString>::const_iterator var_iter = varNames.begin(); var_iter != varNames.end(); ++var_iter ) {
2558 for ( std::vector<TString>::const_iterator var_iter = varNames.begin(); var_iter != varNames.end(); ++var_iter ) {
2570 std::cerr << "WARNING in LauCPFitModel::addSPlotNtupleBranches : Can't yet deal with 3D PDFs." << std::endl;
2576 Double_t LauCPFitModel::setSPlotNtupleBranchValues(LauPdfList* extraPdfs, const TString& prefix, UInt_t iEvt)
2582 for (LauPdfList::iterator pdf_iter = extraPdfs->begin(); pdf_iter != extraPdfs->end(); ++pdf_iter) {
2594 for ( std::vector<TString>::const_iterator var_iter = varNames.begin(); var_iter != varNames.end(); ++var_iter ) {
2613 for ( std::vector<TString>::const_iterator var_iter = varNames.begin(); var_iter != varNames.end(); ++var_iter ) {
2626 std::cerr << "WARNING in LauCPFitModel::setSPlotNtupleBranchValues : Can't yet deal with 3D PDFs." << std::endl;
2640 for (LauPdfList::const_iterator pdf_iter = negSignalPdfs_.begin(); pdf_iter != negSignalPdfs_.end(); ++pdf_iter) {
2643 for ( std::vector<TString>::const_iterator var_iter = varNames.begin(); var_iter != varNames.end(); ++var_iter ) {
2667 std::cerr << "WARNING in LauCPFitModel::freeSpeciesNames : \"" << par->name() << "\" is a LauFormulaPar, which implies it is perhaps not entirely free to float in the fit, so the sWeight calculation may not be reliable" << std::endl;
2701 for (LauPdfList::const_iterator pdf_iter = negSignalPdfs_.begin(); pdf_iter != negSignalPdfs_.end(); ++pdf_iter) {
2705 for ( std::vector<TString>::const_iterator var_iter = varNames.begin(); var_iter != varNames.end(); ++var_iter ) {
2720 for (LauPdfList::const_iterator pdf_iter = negScfPdfs_.begin(); pdf_iter != negScfPdfs_.end(); ++pdf_iter) {
2724 for ( std::vector<TString>::const_iterator var_iter = varNames.begin(); var_iter != varNames.end(); ++var_iter ) {
2740 for (LauPdfList::const_iterator pdf_iter = pdfList.begin(); pdf_iter != pdfList.end(); ++pdf_iter) {
2744 for ( std::vector<TString>::const_iterator var_iter = varNames.begin(); var_iter != varNames.end(); ++var_iter ) {
2761 std::cout << "INFO in LauCPFitModel::storePerEvtLlhds : Storing per-event likelihood values..." << std::endl;
2823 this->setSPlotNtupleDoubleBranchValue("efficiency",0.5*(posSigModel_->getEvtEff() + negSigModel_->getEvtEff()) );
2825 this->setSPlotNtupleDoubleBranchValue("scffraction",0.5*(posSigModel_->getEvtScfFraction() + negSigModel_->getEvtScfFraction()));
2906 std::cout << "INFO in LauCPFitModel::storePerEvtLlhds : Finished storing per-event likelihood values." << std::endl;
2914 std::cerr << "ERROR in LauCPFitModel::embedNegSignal : Already embedding signal from a file." << std::endl;
2922 std::cerr << "ERROR in LauCPFitModel::embedNegSignal : Problem creating data tree for embedding." << std::endl;
2930 void LauCPFitModel::embedNegBkgnd(const TString& bkgndClass, const TString& fileName, const TString& treeName,
2934 std::cerr << "ERROR in LauCPFitModel::embedBkgnd : Invalid background class \"" << bkgndClass << "\"." << std::endl;
2935 std::cerr << " : Background class names must be provided in \"setBkgndClassNames\" before any other background-related actions can be performed." << std::endl;
2942 std::cerr << "ERROR in LauCPFitModel::embedNegBkgnd : Already embedding background from a file." << std::endl;
2950 std::cerr << "ERROR in LauCPFitModel::embedNegBkgnd : Problem creating data tree for embedding." << std::endl;
2962 std::cerr << "ERROR in LauCPFitModel::embedPosSignal : Already embedding signal from a file." << std::endl;
2970 std::cerr << "ERROR in LauCPFitModel::embedPosSignal : Problem creating data tree for embedding." << std::endl;
2978 void LauCPFitModel::embedPosBkgnd(const TString& bkgndClass, const TString& fileName, const TString& treeName,
2982 std::cerr << "ERROR in LauCPFitModel::embedBkgnd : Invalid background class \"" << bkgndClass << "\"." << std::endl;
2983 std::cerr << " : Background class names must be provided in \"setBkgndClassNames\" before any other background-related actions can be performed." << std::endl;
2990 std::cerr << "ERROR in LauCPFitModel::embedPosBkgnd : Already embedding background from a file." << std::endl;
2998 std::cerr << "ERROR in LauCPFitModel::embedPosBkgnd : Problem creating data tree for embedding." << std::endl;
3011 std::cout << "INFO in LauCPFitModel::weightEvents : will create weights assuming events were generated flat in the square DP" << std::endl;
3013 std::cout << "INFO in LauCPFitModel::weightEvents : will create weights assuming events were generated flat in phase space" << std::endl;
3027 std::cerr << "WARNING in LauCPFitModel::weightEvents : Cannot find MC truth DP coordinate branches in supplied data, aborting." << std::endl;
3031 std::cerr << "WARNING in LauCPFitModel::weightEvents : Cannot find branch specifying event charge in supplied data, aborting." << std::endl;
3053 std::cerr << "WARNING in LauCPFitModel::weightEvents : Zero events in experiment " << iExpmt << ", skipping..." << std::endl;
3201 TCanvas *posC = new TCanvas("c"+resName+label + "Positive",resName+" ("+label+") Positive",0,0,600,400);
3209 TCanvas *negC = new TCanvas("c"+resName+label + "Negative",resName+" ("+label+") Negative",0,0,600,400);
3217 TCanvas *acpC = new TCanvas("c"+resName+label + "Asymmetry",resName+" ("+label+") Asymmetry",0,0,600,400);
3310 TCanvas *posC = new TCanvas("c"+tStrResID+label + "Positive",tStrResID+" ("+label+") Positive",0,0,600,400);
3318 TCanvas *negC = new TCanvas("c"+tStrResID+label + "Negative",tStrResID+" ("+label+") Negative",0,0,600,400);
3326 TCanvas *acpC = new TCanvas("c"+tStrResID+label + "Asymmetry",tStrResID+" ("+label+") Asymmetry",0,0,600,400);
3346 std::cout << "ERROR in LauCPFitModel::getParamFromTree : Leaf name " + name + " not found in parameter file!" << std::endl;
3349 std::cout << "ERROR in LauCPFitModel::getParamFromTree : Branch name " + name + " not found in parameter file!" << std::endl;
3357 std::cout << "INFO in LauCPFitModel::fixParam : Setting " << param->name() << " to " << val << std::endl;
3366 // Add parameter name to list to indicate that this should not be randomised by randomiseInitFitPars
3385 std::cerr << "ERROR in LauCPFitModel::fixParams : File '" + fixParamFileName_ + "' could not be opened for reading!" << std::endl;
3391 std::cerr << "ERROR in LauCPFitModel::fixParams : Tree '" + fixParamTreeName_ + "' not found in parameter file!" << std::endl;
void generateExtraPdfValues(LauPdfList *extraPdfs, LauEmbeddedData *embeddedData) Generate from the extra PDFs. Definition: LauCPFitModel.cc:1939 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:380 void modifyDataTree() Recache the amplitude values for those that have changed. Definition: LauIsobarDynamics.cc:2464 virtual void addSPlotNtupleIntegerBranch(const TString &name) Add a branch to the sPlot tree for storing an integer. Definition: LauAbsFitModel.cc:384 Double_t getm23Max() const Get the m23 maximum defined as (mParent - m1) Definition: LauKinematics.hh:342 The abstract interface for a background Dalitz plot model. Definition: LauAbsBkgndDPModel.hh:45 virtual LauSPlot::NameSet variableNames() const Returns the names of all variables in the fit. Definition: LauCPFitModel.cc:2633 Double_t getc23() const Get the cosine of the helicity angle theta23. Definition: LauKinematics.hh:255 TRandom * randomFun() Access the singleton random number generator with a particular seed. Definition: LauRandom.cc:34 const LauParameter & getDPRate() const Retrieve the overall Dalitz plot rate. Definition: LauIsobarDynamics.hh:456 Bool_t fixed() const Check whether the parameter is fixed or floated. Definition: LauParameter.hh:228 LauKinematics * negKinematics_ The B- Dalitz plot kinematics object. Definition: LauCPFitModel.hh:508 virtual void printAsymmetries(std::ostream &output) Print the asymmetries. Definition: LauCPFitModel.cc:1247 Bool_t writeLatexTable() const Determine whether writing out of the latex table is enabled. Definition: LauAbsFitModel.hh:143 void addSPlotNtupleBranches(const LauPdfList *extraPdfs, const TString &prefix) Add sPlot branches for the extra PDFs. Definition: LauCPFitModel.cc:2528 const TString & getResonanceName() const Get the name of the resonance. Definition: LauAbsResonance.hh:152 void setExtraPdfParameters() Set the fit parameters for the extra PDFs. Definition: LauCPFitModel.cc:687 void updateCoeffs(const std::vector< LauComplex > &coeffs) Update the complex coefficients for the resonances. Definition: LauIsobarDynamics.cc:2620 LauBkgndDPModelList posBkgndDPModels_ The B+ background Dalitz plot models. Definition: LauCPFitModel.hh:505 void setEffHisto(const TH2 *effHisto, Bool_t useInterpolation=kTRUE, Bool_t fluctuateBins=kFALSE, Double_t avEff=-1.0, Double_t absError=-1.0, Bool_t useUpperHalfOnly=kFALSE, Bool_t squareDP=kFALSE) Set the efficiency variation across the phase space using a predetermined 2D histogram. Definition: LauEffModel.cc:68 void cacheInfo(LauPdfList &pdfList, const LauFitDataTree &theData) Have all PDFs in the list cache the data. Definition: LauAbsFitModel.cc:950 virtual void setGenNtupleIntegerBranchValue(const TString &name, Int_t value) Set the value of an integer branch in the gen tree. Definition: LauAbsFitModel.cc:359 File containing declaration of LauAsymmCalc class. ClassImp(LauAbsCoeffSet) UInt_t nNormPar_ Number of normalisation parameters (yields, asymmetries) Definition: LauCPFitModel.hh:544 virtual void setNBkgndEvents(LauAbsRValue *nBkgndEvents) Set the background event yield(s) Definition: LauCPFitModel.cc:198 void squareDP(const Bool_t calcSquareDPCoords) Enable/disable the calculation of square Dalitz plot co-ordinates. Definition: LauKinematics.hh:68 Bool_t getReweightedEvent(LauIsobarDynamics *dynamics) Retrieve an event from the data sample, applying an accept/reject based on the given DP model... Definition: LauEmbeddedData.cc:73 const LauParameter & getMeanEff() const Retrieve the mean efficiency across the Dalitz plot. Definition: LauIsobarDynamics.hh:450 virtual Bool_t verifyFitData(const TString &dataFileName, const TString &dataTreeName) Open the input file and verify that all required variables are present. Definition: LauAbsFitModel.cc:521 void calcExtraFractions(Bool_t initValues=kFALSE) Calculate the CP-conserving and CP-violating fit fractions. Definition: LauCPFitModel.cc:945 const LauKinematics * getKinematics() const Retrieve the Dalitz plot kinematics. Definition: LauIsobarDynamics.hh:504 Class that defines the particular 3-body decay under study. Definition: LauDaughters.hh:47 UInt_t addFitParameters(LauPdfList &pdfList) Add parameters of the PDFs in the list to the list of all fit parameters. Definition: LauAbsFitModel.cc:856 Class for calculating the asymmetry between two variables. Definition: LauAsymmCalc.hh:39 Double_t getDPNorm() const Retrieve the normalisation factor for the log-likelihood function. Definition: LauIsobarDynamics.hh:492 Double_t getc13() const Get the cosine of the helicity angle theta13. Definition: LauKinematics.hh:261 File containing declaration of LauAbsCoeffSet class. void calcExtraInfo(const Bool_t init=kFALSE) Calculate the fit fractions, mean efficiency and total DP rate. Definition: LauIsobarDynamics.cc:1934 TH2 * trueHist(Int_t trueBin) Retrieve the migration histogram for trueBin. Definition: LauScfMap.cc:190 std::vector< LauComplex > negCoeffs_ The complex coefficients for B-. Definition: LauCPFitModel.hh:649 std::multimap< TString, std::pair< TString, TString > > TwoDMap Type to associate the name of the species that have 2D PDFs with the names of the two variables invol... Definition: LauSPlot.hh:82 Int_t buildIndex(const TString &majorName, const TString &minorName="0") Create an index table using leaves of the tree. Definition: LauGenNtuple.cc:178 void fixParam(LauParameter *param, const Double_t val, const Bool_t fix) Set a LauParameter to a given value. Definition: LauCPFitModel.cc:3355 void listBinCentres(std::vector< Double_t > &xCoords, std::vector< Double_t > &yCoords) const Create lists of the co-ordinates of the centres of true bins. Definition: LauScfMap.cc:128 virtual void getEvtExtraLikelihoods(UInt_t iEvt) Determine the signal and background likelihood for the extra variables for a given event... Definition: LauCPFitModel.cc:2411 File containing declaration of LauDaughters class. const std::vector< Int_t > * trueBins(Int_t recoBin) const Find which true bins contribute to the given reco bin. Definition: LauScfMap.cc:169 virtual Bool_t genExpt() Toy MC generation and fitting overloaded functions. Definition: LauCPFitModel.cc:1501 virtual void setGenNtupleDoubleBranchValue(const TString &name, Double_t value) Set the value of a double branch in the gen tree. Definition: LauAbsFitModel.cc:364 const LauFitNtuple * fitNtuple() const Const access to the fit ntuple. Definition: LauSimFitSlave.hh:98 void embedNegSignal(const TString &fileName, const TString &treeName, Bool_t reuseEventsWithinEnsemble, Bool_t reuseEventsWithinExperiment=kFALSE, Bool_t useReweighting=kFALSE) Embed full simulation events for the B- signal, rather than generating toy from the PDFs... Definition: LauCPFitModel.cc:2909 void addFriendTree(const TString &rootFileName, const TString &rootTreeName) Add a friend tree. Definition: LauGenNtuple.cc:209 File containing declaration of LauScfMap class. Double_t getEvtthPrime() const Retrieve the square Dalitz plot coordinate, theta', for the current event. Definition: LauIsobarDynamics.hh:316 std::pair< LauGenInfo, Bool_t > eventsToGenerate() Determine the number of events to generate for each hypothesis. Definition: LauCPFitModel.cc:1415 std::vector< Double_t > fakeSCFFracs_ The cached values of the SCF fraction for each bin centre. Definition: LauCPFitModel.hh:631 TString getConjResName(const TString &resName) const Retrieve the name of the charge conjugate of a named resonance. Definition: LauIsobarDynamics.cc:2641 std::vector< std::vector< LauParameter > > LauParArray Type to define an array of parameters. Definition: LauParameter.hh:558 virtual void printParValues() const =0 Print the current values of the parameters. Bool_t storeSignalMCMatch(LauEmbeddedData *embeddedData) Store the MC truth info on the TM/SCF nature of the embedded signal event. Definition: LauCPFitModel.cc:1976 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:117 Pure abstract base class for defining the efficiency description across the signal Dalitz plot... Definition: LauAbsEffModel.hh:46 Double_t prodPdfValue(LauPdfList &pdfList, UInt_t iEvt) Calculate the product of the per-event likelihoods of the PDFs in the list. Definition: LauAbsFitModel.cc:957 std::map< TString, Double_t > LauFitData Type for holding event data. Definition: LauFitDataTree.hh:45 LauComplex getFullAmplitude(const Int_t resID) const Retrieve the Amplitude of resonance resID. Definition: LauIsobarDynamics.hh:363 const LauParArray & getFitFractions() const Retrieve the fit fractions for the amplitude components. Definition: LauIsobarDynamics.hh:462 Bool_t squareDP() const Determine to use or not the square Dalitz plot. Definition: LauDaughters.hh:98 Double_t getEvtScfFraction() const Retrieve the fraction of events that are poorly reconstructed (the self cross feed fraction) for the ... Definition: LauIsobarDynamics.hh:328 Double_t getValue(const TString &name) const Get the value of a specified branch. Definition: LauEmbeddedData.cc:189 std::vector< Double_t > bkgndTotalLike_ Total background likelihood(s) Definition: LauCPFitModel.hh:706 void calcLikelihoodInfo(const UInt_t iEvt) Calculate the likelihood (and all associated information) for the given event number. Definition: LauIsobarDynamics.cc:2399 std::vector< Double_t > recoSCFFracs_ The cached values of the SCF fraction for each event. Definition: LauCPFitModel.hh:628 std::set< LauParameter * > LauParameterPSet Set of parameter pointers. Definition: LauAbsFitModel.hh:308 File containing declaration of LauKinematics class. virtual void setSPlotNtupleDoubleBranchValue(const TString &name, Double_t value) Set the value of a double branch in the sPlot tree. Definition: LauAbsFitModel.cc:399 File containing declaration of LauEmbeddedData class. std::vector< Double_t > bkgndExtraLike_ Background likelihood value(s) from extra PDFs. Definition: LauCPFitModel.hh:697 void printFitParameters(const LauPdfList &pdfList, std::ostream &fout) const Print the fit parameters for all PDFs in the list. Definition: LauAbsFitModel.cc:926 Double_t getm13Max() const Get the m13 maximum defined as (mParent - m2) Definition: LauKinematics.hh:347 std::map< TString, Double_t > fixParamMap_ Map from imported parameter name to value. Definition: LauAbsFitModel.hh:715 Bool_t haveBranch(const TString &name) const Boolean to determine whether branch exists. Definition: LauEmbeddedData.hh:89 File containing declaration of LauCPFitModel class. Bool_t usingScfModel() const Check whether a self cross feed fraction model is being used. Definition: LauIsobarDynamics.hh:522 const LauAbsResonance * getResonance(const UInt_t resIndex) const Retrieve a resonance by its index. Definition: LauIsobarDynamics.cc:951 virtual void cacheInputFitVars() Read in the input fit data variables, e.g. m13Sq and m23Sq. Definition: LauCPFitModel.cc:2046 void setSignalDPParameters() Set the fit parameters for the DP model. Definition: LauCPFitModel.cc:642 Double_t getEvtmPrime() const Retrieve the square Dalitz plot coordinate, m', for the current event. Definition: LauIsobarDynamics.hh:310 void readExperimentData(UInt_t iExpt) Read events only for the given experiment. Definition: LauFitDataTree.cc:158 void appendBinCentres(LauFitDataTree *inputData) Append fake data points to the inputData for each bin in the SCF smearing matrix. ... Definition: LauCPFitModel.cc:2135 virtual void savePDFPlotsWave(const TString &label, const Int_t &spin) Save the pdf Plots for the sum of resonances of a given spin. Definition: LauCPFitModel.cc:3227 File containing declaration of LauIsobarDynamics class. virtual UInt_t index() const Retrieve the index number of the coefficient set. Definition: LauAbsCoeffSet.hh:161 void fillDataTree(const LauFitDataTree &fitDataTree) Fill the internal data structure that caches the resonance dynamics. Definition: LauIsobarDynamics.cc:2501 virtual void checkInitFitParams() Check the initial fit parameters. Definition: LauCPFitModel.cc:1376 const LauParameterList & extraPars() const Const access the extra variables. Definition: LauAbsFitModel.hh:684 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:148 Double_t abs2() const Obtain the square of the absolute value of the complex number. Definition: LauComplex.hh:246 virtual void recalculateNormalisation() Recalculate Normalization the signal DP models. Definition: LauCPFitModel.cc:617 std::vector< LauParameter * > LauParameterPList List of parameter pointers. Definition: LauAbsFitModel.hh:304 void collateResonanceParameters() Collate the resonance parameters to initialise (or re-initialise) the model. Definition: LauIsobarDynamics.cc:267 Bool_t gotSymmetricalDP() const Is Dalitz plot symmetric, i.e. 2 identical particles. Definition: LauDaughters.hh:80 void storeCorrMatrix(const UInt_t iExpt, const LauAbsFitter::FitStatus &fitStatus, const TMatrixD &covMatrix) Store the correlation matrix and other fit information. Definition: LauFitNtuple.cc:74 virtual void finaliseFitResults(const TString &tablePrefixName) Get the fit results and store them. Definition: LauCPFitModel.cc:1017 Double_t getEvtm23Sq() const Retrieve the invariant mass squared of the second and third daughters in the current event... Definition: LauIsobarDynamics.hh:304 Bool_t withinDPLimits2(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 (alternat... Definition: LauKinematics.cc:418 virtual void printFitFractions(std::ostream &output) Print the fit fractions, total DP rate and mean efficiency. Definition: LauCPFitModel.cc:1226 Double_t calcEfficiency(const LauKinematics *kinematics) const Determine the efficiency for a given point in the Dalitz plot. Definition: LauEffModel.cc:268 LauParArray negFitFracEffUnCorr_ Fit B- fractions (uncorrected for the efficiency) Definition: LauCPFitModel.hh:556 void addIntegerBranch(const TString &name) Add integer branch to tree. Definition: LauGenNtuple.cc:87 UInt_t eventsPerExpt() const Obtain the total number of events in the current experiment. Definition: LauFitObject.hh:101 std::vector< LauParameter * > & getFloatingParameters() Retrieve the floating parameters of the resonance models. Definition: LauIsobarDynamics.hh:534 LauParArray posFitFracEffUnCorr_ Fit B+ fractions (uncorrected for the efficiency) Definition: LauCPFitModel.hh:559 virtual void addGenNtupleIntegerBranch(const TString &name) Add a branch to the gen tree for storing an integer. Definition: LauAbsFitModel.cc:349 const LauComplex & getEvtDPAmp() const Retrieve the total amplitude for the current event. Definition: LauIsobarDynamics.hh:292 Bool_t fixParams_ Whether to fix the loaded parameters (kTRUE) or leave them floating (kFALSE) Definition: LauAbsFitModel.hh:721 Int_t binNumber(Double_t xCoord, Double_t yCoord) const Find the global bin number for the given co-ordinates. Definition: LauScfMap.cc:158 Bool_t doPoissonSmearing() const Determine whether Poisson smearing is enabled for the toy MC generation. Definition: LauAbsFitModel.hh:125 Double_t getc12() const Get the cosine of the helicity angle theta12. Definition: LauKinematics.hh:249 std::vector< LauPdfList > LauBkgndPdfsList Typedef for a vector of background PDFs. Definition: LauCPFitModel.hh:235 void calcAsymmetries(Bool_t initValues=kFALSE) Calculate the CP asymmetries. Definition: LauCPFitModel.cc:998 std::map< TString, Double_t > NumbMap Type to associate a category name with a double precision number, e.g. a yield or PDF value for a giv... Definition: LauSPlot.hh:76 Bool_t doEMLFit() const Determine whether an extended maximum likelihood fit it being performed. Definition: LauAbsFitModel.hh:116 const LauDaughters * getDaughters() const Retrieve the daughters. Definition: LauIsobarDynamics.hh:498 File containing declaration of LauComplex class. LauFitData getValues(const std::vector< TString > &names) const Get values of specified branches. Definition: LauEmbeddedData.cc:200 const LauParArray & getFitFractionsEfficiencyUncorrected() const Retrieve the fit fractions for the amplitude components. Definition: LauIsobarDynamics.hh:468 Class to store the results from the toy MC generation into an ntuple. Definition: LauGenNtuple.hh:46 virtual LauSPlot::NumbMap fixdSpeciesNames() const Returns the names and yields of species that are fixed in the fit. Definition: LauCPFitModel.cc:2675 Class for defining the abstract interface for complex coefficient classes. Definition: LauAbsCoeffSet.hh:49 void fixParams(std::vector< LauParameter * > ¶ms) Set a vector of LauParameters according to the specified method. Definition: LauCPFitModel.cc:3373 const TMatrixD & covarianceMatrix() const Access the fit covariance matrix. Definition: LauFitObject.hh:218 void clearFitParVectors() Clear the vectors containing fit parameters. Definition: LauAbsFitModel.cc:227 virtual void setAmpCoeffSet(LauAbsCoeffSet *coeffSet) Set the DP amplitude coefficients. Definition: LauCPFitModel.cc:412 Class to store the data for embedding in toy experiments. Definition: LauEmbeddedData.hh:47 UInt_t getnTotAmp() const Retrieve the total number of amplitude components. Definition: LauIsobarDynamics.hh:474 virtual void addSPlotNtupleDoubleBranch(const TString &name) Add a branch to the sPlot tree for storing a double. Definition: LauAbsFitModel.cc:389 virtual void setupSPlotNtupleBranches() Add branches to store experiment number and the event number within the experiment. Definition: LauCPFitModel.cc:2461 void clearExtraVarVectors() Clear the vectors containing extra ntuple variables. Definition: LauAbsFitModel.cc:242 void getEmbeddedEvent(LauKinematics *kinematics) Retrieve an event from the data sample. Definition: LauEmbeddedData.cc:154 void splitSignalComponent(const TH2 *dpHisto, const Bool_t upperHalf=kFALSE, const Bool_t fluctuateBins=kFALSE, LauScfMap *scfMap=0) Split the signal component into well-reconstructed and mis-reconstructed parts. Definition: LauCPFitModel.cc:280 virtual void savePDFPlots(const TString &label) Save the pdf Plots for all the resonances. Definition: LauCPFitModel.cc:3110 const LauAbsEffModel * getEffModel() const Retrieve the model for the efficiency across the Dalitz plot. Definition: LauIsobarDynamics.hh:516 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:100 std::vector< Double_t > bkgndDPLike_ Background DP likelihood value(s) Definition: LauCPFitModel.hh:688 void embedNegBkgnd(const TString &bgClass, const TString &fileName, const TString &treeName, Bool_t reuseEventsWithinEnsemble, Bool_t reuseEventsWithinExperiment=kFALSE) Embed full simulation events for the given background class, rather than generating toy from the PDFs... Definition: LauCPFitModel.cc:2930 void appendFakePoints(const std::vector< Double_t > &xCoords, const std::vector< Double_t > &yCoords) Add fake events to the data. Definition: LauFitDataTree.cc:218 File containing declaration of LauAbsPdf class. Bool_t storeDPEff() const Determine whether the efficiency information should be stored in the sPlot ntuple. Definition: LauAbsFitModel.hh:173 LauBkgndReuseEventsList reuseBkgnd_ Vector of booleans to reuse background events. Definition: LauCPFitModel.hh:678 Double_t getEvtIntensity() const Retrieve the total intensity multiplied by the efficiency for the current event. Definition: LauIsobarDynamics.hh:340 UInt_t bkgndClassID(const TString &className) const The number assigned to a background class. Definition: LauAbsFitModel.cc:197 const LauFitData & getData(UInt_t iEvt) const Retrieve the data for a given event. Definition: LauFitDataTree.cc:348 File containing LauRandom namespace. Bool_t useRandomInitFitPars() const Determine whether the initial values of the fit parameters, in particular the isobar coefficient para... Definition: LauAbsFitModel.hh:176 File containing declaration of LauEffModel class. const LauFitDataTree * fitData() const Const access the data store. Definition: LauAbsFitModel.hh:704 void setIntegerBranchValue(const TString &name, Int_t value) Set value of an integer branch. Definition: LauGenNtuple.cc:105 virtual void setNSigEvents(LauParameter *nSigEvents) Set the signal event yield. Definition: LauCPFitModel.cc:140 virtual void weightEvents(const TString &dataFileName, const TString &dataTreeName) Weight events based on the DP model. Definition: LauCPFitModel.cc:3005 Bool_t validBkgndClass(const TString &className) const Check if the given background class is in the list. Definition: LauAbsFitModel.cc:180 virtual void writeOutTable(const TString &outputFile) Write the fit results in latex table format. Definition: LauCPFitModel.cc:1259 std::set< LauParameter * > allImportedFreeParams_ The set of parameters that are imported (either from a file or by value) and not. ... Definition: LauAbsFitModel.hh:726 Double_t getParamFromTree(TTree &tree, const TString &name) Retrieve a named parameter from a TTree. Definition: LauCPFitModel.cc:3337 Class that implements the efficiency description across the signal Dalitz plot. Definition: LauEffModel.hh:51 Int_t resonanceIndex(const TString &resName) const Retrieve the index for the given resonance. Definition: LauIsobarDynamics.cc:911 Abstract class for defining type for resonance amplitude models (Breit-Wigner, Flatte etc... Definition: LauAbsResonance.hh:51 const LauParameterPSet & resPars() const Const access the fit variables which affect the DP normalisation. Definition: LauAbsFitModel.hh:679 UInt_t nUsedEvents() const Retrieve the number of events that have already been sampled. Definition: LauEmbeddedData.hh:83 void storeParsAndErrors(const std::vector< LauParameter * > &fitVars, const std::vector< LauParameter > &extraVars) Store parameters and their errors. Definition: LauFitNtuple.cc:200 virtual void setSPlotNtupleIntegerBranchValue(const TString &name, Int_t value) Set the value of an integer branch in the sPlot tree. Definition: LauAbsFitModel.cc:394 Double_t setSPlotNtupleBranchValues(LauPdfList *extraPdfs, const TString &prefix, UInt_t iEvt) Set the branches for the sPlot ntuple with extra PDFs. Definition: LauCPFitModel.cc:2576 std::vector< LauComplex > posCoeffs_ The complex coefficients for B+. Definition: LauCPFitModel.hh:652 void updateSigEvents() Update the signal events after Minuit sets background parameters. Definition: LauCPFitModel.cc:2017 Class for defining signal dynamics using the isobar model. Definition: LauIsobarDynamics.hh:53 Double_t getEventWeight() Calculate the acceptance rate, for events with the current kinematics, when generating events accordi... Definition: LauIsobarDynamics.cc:2608 virtual void setupBkgndVectors() Define the length of the background vectors. Definition: LauCPFitModel.cc:123 File containing LauConstants namespace. void setSignalPdfs(LauAbsPdf *negPdf, LauAbsPdf *posPdf) Set the signal PDFs. Definition: LauCPFitModel.cc:338 virtual LauSPlot::TwoDMap twodimPDFs() const Returns the species and variables for all 2D PDFs in the fit. Definition: LauCPFitModel.cc:2694 virtual LauSPlot::NumbMap freeSpeciesNames() const Returns the names and yields of species that are free in the fit. Definition: LauCPFitModel.cc:2653 LauEffModel * scfFracHist_ The histogram giving the DP-dependence of the SCF fraction. Definition: LauCPFitModel.hh:622 void printFormat(std::ostream &stream, Double_t value) const Method to choose the printing format to a specified level of precision. Definition: LauPrint.cc:46 ToyMCStatus checkToyMC(Bool_t printErrorMessages=kTRUE, Bool_t printInfoMessages=kFALSE) Check the status of the toy MC generation. Definition: LauIsobarDynamics.cc:2333 UInt_t getnCohAmp() const Retrieve the number of coherent amplitude components. Definition: LauIsobarDynamics.hh:480 Bool_t haveBranch(const TString &name) const Check if the named branch is stored. Definition: LauFitDataTree.cc:273 virtual void propagateParUpdates() Calculate things that depend on the fit parameters after they have been updated by Minuit... Definition: LauCPFitModel.cc:2002 Class for representing the 4D smearing matrix for mis-reconstructed signal (self cross feed) ... Definition: LauScfMap.hh:43 virtual void storePerEvtLlhds() Store the per event likelihood values. Definition: LauCPFitModel.cc:2759 Double_t getEvtEff() const Retrieve the efficiency for the current event. Definition: LauIsobarDynamics.hh:322 UInt_t nBkgndClasses() const Returns the number of background classes. Definition: LauAbsFitModel.hh:188 const TString & bkgndClassName(UInt_t classID) const Get the name of a background class from the number. Definition: LauAbsFitModel.cc:215 std::vector< Double_t > recoJacobians_ The cached values of the sqDP jacobians for each event. Definition: LauCPFitModel.hh:634 const LauAbsFitter::FitStatus & fitStatus() const Access the fit status information. Definition: LauFitObject.hh:206 Bool_t enableEmbedding() const Determine whether embedding of events is enabled in the generation. Definition: LauAbsFitModel.hh:134 virtual Double_t getEventSum() const Get the total number of events. Definition: LauCPFitModel.cc:2244 virtual TString name() const Retrieve the name of the coefficient set. Definition: LauAbsCoeffSet.hh:132 const LauParameterPList & fitPars() const Const access the fit variables. Definition: LauAbsFitModel.hh:674 LauBkgndDPModelList negBkgndDPModels_ The B- background Dalitz plot models. Definition: LauCPFitModel.hh:502 virtual void addGenNtupleDoubleBranch(const TString &name) Add a branch to the gen tree for storing a double. Definition: LauAbsFitModel.cc:354 void updateFitParameters(LauPdfList &pdfList) Update the fit parameters for all PDFs in the list. Definition: LauAbsFitModel.cc:919 void embedPosBkgnd(const TString &bgClass, const TString &fileName, const TString &treeName, Bool_t reuseEventsWithinEnsemble, Bool_t reuseEventsWithinExperiment=kFALSE) Embed full simulation events for the given background class, rather than generating toy from the PDFs... Definition: LauCPFitModel.cc:2978 std::vector< Double_t > fakeJacobians_ The cached values of the sqDP jacobians for each true bin. Definition: LauCPFitModel.hh:637 virtual const TString & baseName() const Retrieve the base name of the coefficient set. Definition: LauAbsCoeffSet.hh:147 virtual Double_t getEvtSCFDPLikelihood(UInt_t iEvt) Calculate the SCF likelihood for the DP for a given event. Definition: LauCPFitModel.cc:2340 const std::vector< LauParameter > & getExtraParameters() const Retrieve any extra parameters/quantities (e.g. K-matrix total fit fractions) Definition: LauIsobarDynamics.hh:528 File containing declaration of LauAbsBkgndDPModel class. void setSCFPdfs(LauAbsPdf *negPdf, LauAbsPdf *posPdf) Set the SCF PDF for a given variable. Definition: LauCPFitModel.cc:359 std::map< std::pair< TString, Int_t >, std::pair< Int_t, Double_t > > LauGenInfo Define a map to be used to store a category name and numbers. Definition: LauCPFitModel.hh:229 void setBkgndPdfs(const TString &bkgndClass, LauAbsPdf *negPdf, LauAbsPdf *posPdf) Set the background PDFs. Definition: LauCPFitModel.cc:380 Double_t prob(Int_t recoBin, Int_t trueBin) const Probability of a true event in the given true bin migrating to the reco bin. Definition: LauScfMap.cc:179 void initialise(const std::vector< LauComplex > &coeffs) Initialise the Dalitz plot dynamics. Definition: LauIsobarDynamics.cc:347 virtual Double_t getTotEvtLikelihood(UInt_t iEvt) Get the total likelihood for each event. Definition: LauCPFitModel.cc:2178 virtual void getEvtDPLikelihood(UInt_t iEvt) Calculate the signal and background likelihoods for the DP for a given event. Definition: LauCPFitModel.cc:2256 Double_t getEvtm13Sq() const Retrieve the invariant mass squared of the first and third daughters in the current event... Definition: LauIsobarDynamics.hh:298 Pure abstract base class for defining a parameter containing an R value. Definition: LauAbsRValue.hh:43 void setBkgndDPModels(const TString &bkgndClass, LauAbsBkgndDPModel *negModel, LauAbsBkgndDPModel *posModel) Set the background DP models. Definition: LauCPFitModel.cc:317 std::set< TString > NameSet Type to store names, e.g. of the discriminating/control variables. Definition: LauSPlot.hh:73 File containing declaration of LauFitNtuple class. File containing declaration of LauGenNtuple class. LauKinematics * posKinematics_ The B+ Dalitz plot kinematics object. Definition: LauCPFitModel.hh:511 void setDoubleBranchValue(const TString &name, Double_t value) Set value of a double branch. Definition: LauGenNtuple.cc:110 void embedPosSignal(const TString &fileName, const TString &treeName, Bool_t reuseEventsWithinEnsemble, Bool_t reuseEventsWithinExperiment=kFALSE, Bool_t useReweighting=kFALSE) Embed full simulation events for the B+ signal, rather than generating toy from the PDFs... Definition: LauCPFitModel.cc:2957 std::vector< LauParameter > fitFracAsymm_ The fit fraction asymmetries. Definition: LauCPFitModel.hh:568 void setExtraNtupleVars() Set-up other parameters that are derived from the fit results, e.g. fit fractions. Definition: LauCPFitModel.cc:790 virtual Bool_t passVeto(const LauKinematics *kinematics) const =0 Determine whether the given DP position is outside the vetoes. Generated by ![]() |