diff --git a/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.cc b/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.cc index 40b55a97a63754d1aaf30df91212a88d3dbefb3b..c8d11733339ccdffd33d4cb8fcd04ff8fcbd1971 100644 --- a/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.cc +++ b/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.cc @@ -61,6 +61,7 @@ FitParams2K2PiGam::FitParams2K2PiGam() _jpclsMap[paramEnum2K2PiGam::ChiToK_1_2400K]=theStates.ChiToK1400ToK892piStates(); _jpclsMap[paramEnum2K2PiGam::K_1_2400Tof980K]=theStates.K1pTof0KStates(); _jpclsMap[paramEnum2K2PiGam::K892K_1_1680]=theStates.ChiTo2K892States(); + _jpclsMap[paramEnum2K2PiGam::ChiToK1680K1680]=theStates.ChiTo2K892States(); _jpclsMap[paramEnum2K2PiGam::K892K_1_2300]=theStates.ChiTo2K892States(); _jpclsMap[paramEnum2K2PiGam::sigmaf980]=theStates.ChiTof0f0States(); _jpclsMap[paramEnum2K2PiGam::ChiToSigmaf1370]=theStates.ChiTof0f0States(); @@ -159,6 +160,7 @@ std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collecti else if (index==paramEnum2K2PiGam::ChiToK_1_2400K) return params.ChiToK_1_2400K; else if (index==paramEnum2K2PiGam::K_1_2400Tof980K) return params.K_1_2400Tof980K; else if (index==paramEnum2K2PiGam::K892K_1_1680) return params.ChiToK892K1680; + else if (index==paramEnum2K2PiGam::ChiToK1680K1680) return params.ChiToK1680K1680; else if (index==paramEnum2K2PiGam::K892K_1_2300) return params.ChiToK892K2300; else if (index==paramEnum2K2PiGam::sigmaf980) return params.ChiToSigmaf980; else if (index==paramEnum2K2PiGam::ChiToSigmaf1370) return params.ChiToSigmaf1370; diff --git a/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.hh b/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.hh index b4f0566b45a79031d3c73715d0524609147db5a2..dca54f65954f60fa72c3e4cb06e308a842c60278 100644 --- a/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.hh +++ b/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.hh @@ -75,6 +75,7 @@ struct param2K2PiGam std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiToKappaK_0_1430; std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiToKappaK_0_1950; std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiToK892K1680; + std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiToK1680K1680; std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiToK892K2300; std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > K_0_1460ToK892Pi; std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > K_0_1460ToK_0_1430Pi; @@ -149,7 +150,7 @@ struct paramEnum2K2PiGam{ ChiToK_1_2400K, K_1_2400Tof980K, f980_pif1710_k, f980_kf1710_pi, f980f980, f980f2200, ChiTof980f_2_2300, ChiTof_2_2300sigma, f980_pif1370_k, f980_kf1370_pi, f980_pif1500_k, f980_kf1500_pi, f1710_pif1370_k, f1710_kf1370_pi, - K_0_2400KToKf980, ChiToK_0_2400ToKf_0_1710, K892K_1_1680, K892K_1_2300, + K_0_2400KToKf980, ChiToK_0_2400ToKf_0_1710, K892K_1_1680, ChiToK1680K1680, K892K_1_2300, sigmaf980, ChiToSigmaf1370, sigmaf1710, sigmaf2200, K_0_1460ToK892Pi, K_0_1460ToK_0_1430Pi, K_0_1830ToK892Pi, K_0_1830ToK_0_1430Pi, f980_pif_2_1270_k, f980_kf_2_1270_pi, f980_pif_2_1430_k, f980_kf_2_1430_pi, f980_pif_2_1525_k, f980_kf_2_1525_pi, f980_pif_2_1950_k, f980_kf_2_1950_pi, f1500_pif_2_1525_k, f1500_kf_2_1525_pi, f1710_pif_2_1430_k, f1710_kf_2_1430_pi, f1710_pif_2_1950_k, f1710_kf_2_1950_pi, @@ -176,7 +177,7 @@ struct paramEnum2K2PiGam{ "ChiToK_1_2400K", "K_1_2400Tof980K", "f980_pif1710_k", "f980_kf1710_pi", "f980f980", "f980f2200", "ChiTof980f_2_2300","ChiTof_2_2300sigma", "f980_pif1370_k", "f980_kf1370_pi", "f980_pif1500_k", "f980_kf1500_pi", "f1710_pif1370_k", "f1710_kf1370_pi", - "K_0_2400KToKf980", "ChiToK_0_2400ToKf_0_1710", "K892K_1_1680", "K892K_1_2300", + "K_0_2400KToKf980", "ChiToK_0_2400ToKf_0_1710", "K892K_1_1680", "ChiToK1680K1680", "K892K_1_2300", "sigmaf980", "ChiToSigmaf1370", "sigmaf1710", "sigmaf2200", "K_0_1460ToK892Pi", "K_0_1460ToK_0_1430Pi","K_0_1830ToK892Pi", "K_0_1830ToK_0_1430Pi", "f980_pif_2_1270_k", "f980_kf_2_1270_pi","f980_pif_2_1430_k", "f980_kf_2_1430_pi","f980_pif_2_1525_k", "f980_kf_2_1525_pi", "f980_pif_2_1950_k", "f980_kf_2_1950_pi", "f1500_pif_2_1525_k", "f1500_kf_2_1525_pi", "f1710_pif_2_1430_k", "f1710_kf_2_1430_pi", "f1710_pif_2_1950_k", "f1710_kf_2_1950_pi", diff --git a/Examples/Psi2STo2K2PiGam/Hyp7Lh.cc b/Examples/Psi2STo2K2PiGam/Hyp7Lh.cc index ee8686ddbe94a2c0ab95145ea0b060a4ea80a2da..bed233a934289332e9c0c78e833d361f61d61110 100644 --- a/Examples/Psi2STo2K2PiGam/Hyp7Lh.cc +++ b/Examples/Psi2STo2K2PiGam/Hyp7Lh.cc @@ -11,6 +11,7 @@ Hyp7Lh::Hyp7Lh(boost::shared_ptr<const Psi2STo2K2PiGamEvtList> theEvtList, const Hyp6Lh(theEvtList, hypMap ) ,_KappaHyp(true) ,_K1_1680Hyp(true) + ,_K1_1680K1_1680Hyp7(true) ,_K1_2300Hyp(true) ,_nFitParams(0) { @@ -21,6 +22,7 @@ Hyp7Lh::Hyp7Lh( boost::shared_ptr<AbsPsi2STo2K2PiGamLh> theLhPtr, const std::map Hyp6Lh(theLhPtr->getEventList(), hypMap) ,_KappaHyp(true) ,_K1_1680Hyp(true) + ,_K1_1680K1_1680Hyp7(true) ,_K1_2300Hyp(true) ,_nFitParams(0) { @@ -47,11 +49,21 @@ complex<double> Hyp7Lh::chi0DecAmps(const param2K2PiGam& theParamVal, Psi2STo2K2 result+=chiTo2K_0_Amp(theData, ChiTo2Kappa, KappaMass, KappaWidth, KappaMass, KappaWidth); } - if(_K1_1680Hyp){ - std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiToK892K1680=theParamVal.ChiToK892K1680; + if(_K1_1680Hyp || _K1_1680K1_1680Hyp7){ + double K_1_1680Mass=theParamVal.BwK_1_1680.first; - double K_1_1680Width=theParamVal.BwK_1_1680.second; - result+=chiToK1K1Amp(theData, ChiToK892K1680, K892Mass, K892Width, K_1_1680Mass, K_1_1680Width); + double K_1_1680Width=theParamVal.BwK_1_1680.second; + + if (_K1_1680Hyp){ + std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiToK892K1680=theParamVal.ChiToK892K1680; + result+=chiToK1K1Amp(theData, ChiToK892K1680, K892Mass, K892Width, K_1_1680Mass, K_1_1680Width); + } + + if (_K1_1680K1_1680Hyp7){ + std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiToK1680K1680=theParamVal.ChiToK1680K1680; + result+=chiToK1K1Amp(theData, ChiToK1680K1680, K_1_1680Mass, K_1_1680Width, K_1_1680Mass, K_1_1680Width); + } + } if(_K1_2300Hyp){ @@ -71,19 +83,15 @@ void Hyp7Lh::setMnUsrParams(MnUserParameters& upar, param2K2PiGam& startVal, pa Hyp6Lh::setMnUsrParams(upar, startVal, errVal); - if(_KappaHyp){ - _fitParams2K2PiGam.setMnUsrParamsDec(upar, startVal, errVal, paramEnum2K2PiGam::KappaKappa); - if (!_KappaK_0_1950Hyp6) _fitParams2K2PiGam.setMnUsrParamsMass(upar, startVal, errVal, paramEnum2K2PiGam::Kappa); - } + std::vector<unsigned int>::const_iterator itAmps; + for ( itAmps=_ampVec.begin(); itAmps!=_ampVec.end(); ++itAmps){ - if(_K1_1680Hyp){ - _fitParams2K2PiGam.setMnUsrParamsDec(upar, startVal, errVal, paramEnum2K2PiGam::K892K_1_1680); - _fitParams2K2PiGam.setMnUsrParamsMass(upar, startVal, errVal, paramEnum2K2PiGam::K_1_1680); + _fitParams2K2PiGam.setMnUsrParamsDec(upar, startVal, errVal, (*itAmps)); } - if(_K1_2300Hyp){ - _fitParams2K2PiGam.setMnUsrParamsDec(upar, startVal, errVal, paramEnum2K2PiGam::K892K_1_2300); - _fitParams2K2PiGam.setMnUsrParamsMass(upar, startVal, errVal, paramEnum2K2PiGam::K_1_2300); + std::vector<unsigned int>::const_iterator itMasses; + for ( itMasses=_massVec.begin(); itMasses!=_massVec.end(); ++itMasses){ + _fitParams2K2PiGam.setMnUsrParamsMass(upar, startVal, errVal, (*itMasses) ); } } @@ -99,21 +107,19 @@ int Hyp7Lh::setFitParamVal(param2K2PiGam& theParamVal, const std::vector<double> } int counter=Hyp6Lh::setFitParamVal(theParamVal, par); - if(_KappaHyp){ - counter=_fitParams2K2PiGam.setFitParamValDec(theParamVal, par, counter, paramEnum2K2PiGam::KappaKappa); - if (!_KappaK_0_1950Hyp6) counter=_fitParams2K2PiGam.setFitParamValMass(theParamVal, par, counter, paramEnum2K2PiGam::Kappa); - } - if(_K1_1680Hyp){ - counter=_fitParams2K2PiGam.setFitParamValDec(theParamVal, par, counter, paramEnum2K2PiGam::K892K_1_1680); - counter=_fitParams2K2PiGam.setFitParamValMass(theParamVal, par, counter, paramEnum2K2PiGam::K_1_1680); - } - if(_K1_2300Hyp){ - counter=_fitParams2K2PiGam.setFitParamValDec(theParamVal, par, counter, paramEnum2K2PiGam::K892K_1_2300); - counter=_fitParams2K2PiGam.setFitParamValMass(theParamVal, par, counter, paramEnum2K2PiGam::K_1_2300); - } + std::vector<unsigned int>::const_iterator itAmps; + for ( itAmps=_ampVec.begin(); itAmps!=_ampVec.end(); ++itAmps){ + counter=_fitParams2K2PiGam.setFitParamValDec(theParamVal, par, counter, (*itAmps)); + } + + std::vector<unsigned int>::const_iterator itMasses; + for ( itMasses=_massVec.begin(); itMasses!=_massVec.end(); ++itMasses){ + counter=_fitParams2K2PiGam.setFitParamValMass(theParamVal, par, counter, (*itMasses) ); + } return counter; + } unsigned int Hyp7Lh::nFitParams(){ @@ -204,7 +210,16 @@ void Hyp7Lh::setUp(const std::map<const std::string, bool>& hypMap){ _hypMap[iter->first]= iter->second; } else Alert << "hypothesis K1_1680Hyp7 not set!!!" <<endmsg; - + + + iter= hypMap.find("K1_1680K1_1680Hyp7"); + if (iter !=hypMap.end()){ + _K1_1680K1_1680Hyp7= iter->second; + Info<< "hypothesis " << iter->first << "\t" << _K1_1680K1_1680Hyp7 <<endmsg; + _hypMap[iter->first]= iter->second; + } + else Alert << "hypothesis K1_1680K1_1680Hyp7 not set!!!" <<endmsg; + iter= hypMap.find("K1_2300Hyp7"); if (iter !=hypMap.end()){ @@ -221,9 +236,15 @@ void Hyp7Lh::setUp(const std::map<const std::string, bool>& hypMap){ if(!_KappaK_0_1950Hyp6) _massVec.push_back(paramEnum2K2PiGam::Kappa); } - if(_K1_1680Hyp){ - _ampVec.push_back(paramEnum2K2PiGam::K892K_1_1680); + if(_K1_1680Hyp || _K1_1680K1_1680Hyp7){ + _massVec.push_back(paramEnum2K2PiGam::K_1_1680); + if(_K1_1680Hyp){ + _ampVec.push_back(paramEnum2K2PiGam::K892K_1_1680); + } + if(_K1_1680K1_1680Hyp7){ + _ampVec.push_back(paramEnum2K2PiGam::ChiToK1680K1680); + } } if(_K1_2300Hyp){ diff --git a/Examples/Psi2STo2K2PiGam/Hyp7Lh.hh b/Examples/Psi2STo2K2PiGam/Hyp7Lh.hh index 015234c01246d0ed915820a18efe0801b2f62f7c..6204a1401704e02587da83b53101281538628b2f 100644 --- a/Examples/Psi2STo2K2PiGam/Hyp7Lh.hh +++ b/Examples/Psi2STo2K2PiGam/Hyp7Lh.hh @@ -52,6 +52,7 @@ public: protected: bool _KappaHyp; bool _K1_1680Hyp; + bool _K1_1680K1_1680Hyp7; bool _K1_2300Hyp; virtual complex<double> chi0DecAmps(const param2K2PiGam& theParamVal, Psi2STo2K2PiGamData::Psi2STo2K2PiGamEvtData* theData); diff --git a/Examples/Psi2STo2K2PiGam/Mpsi2STo2K2PiGamTestApp.cc b/Examples/Psi2STo2K2PiGam/Mpsi2STo2K2PiGamTestApp.cc index c0c82926e942a947fd6cfdfb4ec379cbe7c26941..1b865065d9e84e3df88ffd803cdfdbeba5f07667 100644 --- a/Examples/Psi2STo2K2PiGam/Mpsi2STo2K2PiGamTestApp.cc +++ b/Examples/Psi2STo2K2PiGam/Mpsi2STo2K2PiGamTestApp.cc @@ -173,6 +173,7 @@ int main(int __argc,char *__argv[]){ hypMap["KappaK_0_1430Hyp6"]=true; hypMap["KappaK_0_1950Hyp6"]=true; hypMap["K1_1680Hyp7"]=true; + hypMap["K1_1680K1_1680Hyp7"]=true; hypMap["K1_2300Hyp7"]=true; hypMap["KappaHyp7"]=true; hypMap["K_0_1460ToKstPiHyp8"]=true;