diff --git a/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.cc b/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.cc index f2d236ba0114df1c617a1b2b669c4da16688a525..55cead5cd02600357af25d8a12aae82e254a2a4a 100644 --- a/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.cc +++ b/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.cc @@ -19,6 +19,7 @@ FitParams2K2PiGam::FitParams2K2PiGam() _jpclsMap[paramEnum2K2PiGam::K_2_1430K_2_1430]=theStates.ChiTo2K_2_1430States(); _jpclsMap[paramEnum2K2PiGam::K_0_1430K_2_1430]=theStates.ChiToK0K2_States(); _jpclsMap[paramEnum2K2PiGam::K_1_1410K_1_1410]=theStates.ChiTo2K892States(); + _jpclsMap[paramEnum2K2PiGam::ChiToK_1_1410_K892]=theStates.ChiTo2K892States(); _jpclsMap[paramEnum2K2PiGam::ChiToK_1_1400K]=theStates.ChiToK1400ToK892piStates(); _jpclsMap[paramEnum2K2PiGam::K_1_1400ToK892Pi]=theStates.K1400ToKst1PiStates(); _jpclsMap[paramEnum2K2PiGam::ChiToK_1_1270_K]=theStates.ChiToK1400ToK892piStates(); @@ -119,6 +120,7 @@ std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collecti else if (index==paramEnum2K2PiGam::K_2_1430K_2_1430) return params.ChiTo2K_2_1430; else if (index==paramEnum2K2PiGam::K_0_1430K_2_1430) return params.ChiToK_0_1430_K_2_1430; else if (index==paramEnum2K2PiGam::K_1_1410K_1_1410) return params.ChiToK_1_1410_K_1_1410; + else if (index==paramEnum2K2PiGam::ChiToK_1_1410_K892) return params.ChiToK_1_1410_K892; else if (index==paramEnum2K2PiGam::ChiToK_1_1400K) return params.ChiToK_1_1400K; else if (index==paramEnum2K2PiGam::K_1_1400ToK892Pi) return params.K1400ToK892Pi; else if (index==paramEnum2K2PiGam::ChiToK_1_1270_K) return params.ChiToK_1_1270_K; diff --git a/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.hh b/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.hh index 4562c121b1d419343dca6dab168a906bcb1a200b..3539df71834b305ac85fa7b8aa633e1a3f86707e 100644 --- a/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.hh +++ b/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.hh @@ -32,6 +32,7 @@ struct param2K2PiGam std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiTo2K_0_1430; std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiToK_0_1430_K_2_1430; std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiToK_1_1410_K_1_1410; + std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiToK_1_1410_K892; std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiToK_1_1400K; std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > K1400ToK892Pi; std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiToK_1_1270_K; @@ -145,7 +146,7 @@ struct param2K2PiGam }; struct paramEnum2K2PiGam{ - enum {ChiGam=0, K892K892, KappaKappa, K_0_1430K_0_1430, K_2_1430K_2_1430, K_0_1430K_2_1430, K_1_1410K_1_1410, + enum {ChiGam=0, K892K892, KappaKappa, K_0_1430K_0_1430, K_2_1430K_2_1430, K_0_1430K_2_1430, K_1_1410K_1_1410, ChiToK_1_1410_K892, ChiToK_1_1400K, K_1_1400ToK892Pi, ChiToK_1_1270_K, K_1_1270ToK892Pi, K_1_1270ToK_0_1430Pi, ChiToK_1_1650K, K_1_1650ToK892Pi, K_1_1650ToK_0_1430Pi, K_0_1430K_0_1950, KappaK_0_1950, ChiToKappaK_0_1430, ChiToK_1_2400K, K_1_2400Tof980K, @@ -172,7 +173,7 @@ struct paramEnum2K2PiGam{ static const std::string& name(unsigned int t) { static std::string fitName[paramEnum2K2PiGam::nPhaseSpace] - ={"ChiGam", "K892K892", "KappaKappa", "K_0_1430K_0_1430", "K_2_1430K_2_1430", "K_0_1430K_2_1430", "K_1_1410K_1_1410", + ={"ChiGam", "K892K892", "KappaKappa", "K_0_1430K_0_1430", "K_2_1430K_2_1430", "K_0_1430K_2_1430", "K_1_1410K_1_1410","ChiToK_1_1410_K892", "ChiToK_1_1400K", "K_1_1400ToK892Pi", "ChiToK_1_1270_K", "K_1_1270ToK892Pi", "K_1_1270ToK_0_1430Pi", "ChiToK_1_1650K", "K_1_1650ToK892Pi", "K_1_1650ToK_0_1430Pi","K_0_1430K_0_1950", "KappaK_0_1950","ChiToKappaK_0_1430", "ChiToK_1_2400K", "K_1_2400Tof980K", diff --git a/Examples/Psi2STo2K2PiGam/Hyp1Lh.cc b/Examples/Psi2STo2K2PiGam/Hyp1Lh.cc index 4b0205e697d4040b53ce371259ed111ab7ae422a..2041c431029317d3a6254b17cd6db6cfe2cda03e 100644 --- a/Examples/Psi2STo2K2PiGam/Hyp1Lh.cc +++ b/Examples/Psi2STo2K2PiGam/Hyp1Lh.cc @@ -13,6 +13,7 @@ Hyp1Lh::Hyp1Lh(boost::shared_ptr<const Psi2STo2K2PiGamEvtList> theEvtList, const ,_K2_1430_K2_1430Hyp(false) ,_K0_1430_K2_1430Hyp(false) ,_K1_1410_K1_1410Hyp(false) + ,_K1_1410_K892Hyp1(true) ,_nFitParams(0) { setUp(hypMap); @@ -26,6 +27,7 @@ Hyp1Lh::Hyp1Lh( boost::shared_ptr<AbsPsi2STo2K2PiGamLh> theLhPtr, const std::map ,_K2_1430_K2_1430Hyp(false) ,_K0_1430_K2_1430Hyp(false) ,_K1_1410_K1_1410Hyp(false) + ,_K1_1410_K892Hyp1(true) ,_nFitParams(0) { setUp(hypMap); @@ -79,11 +81,20 @@ complex<double> Hyp1Lh::chi0DecAmps(const param2K2PiGam& theParamVal, Psi2STo2K2 if (_K0_1430_K0_1430Hyp) result+=chiTo2K_0_Amp(theData, ChiTo2K_0_1430, K_0_1430Mass, K_0_1430Width, K_0_1430Mass, K_0_1430Width); if (_K2_1430_K2_1430Hyp) result+=chiTo2K_2_Amp(theData, ChiTo2K_2_1430, K_2_1430Mass, K_2_1430Width); if (_K0_1430_K2_1430Hyp) result+=chiToK0K2Amp(theData, ChiToK_0_1430_K_2_1430, K_0_1430Mass, K_0_1430Width, K_2_1430Mass, K_2_1430Width); - if (_K1_1410_K1_1410Hyp){ + + if (_K1_1410_K1_1410Hyp || _K1_1410_K892Hyp1){ double K_1_1410Mass=theParamVal.BwK_1_1410.first; double K_1_1410Width=theParamVal.BwK_1_1410.second; - std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiToK_1_1410_K_1_1410=theParamVal.ChiToK_1_1410_K_1_1410; - result+=chiToK1K1Amp(theData, ChiToK_1_1410_K_1_1410, K_1_1410Mass, K_1_1410Width, K_1_1410Mass, K_1_1410Width); + + if(_K1_1410_K1_1410Hyp){ + std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiToK_1_1410_K_1_1410=theParamVal.ChiToK_1_1410_K_1_1410; + result+=chiToK1K1Amp(theData, ChiToK_1_1410_K_1_1410, K_1_1410Mass, K_1_1410Width, K_1_1410Mass, K_1_1410Width); + } + + if(_K1_1410_K892Hyp1){ + std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiToK_1_1410_K892=theParamVal.ChiToK_1_1410_K892; + result+=chiToK1K1Amp(theData, ChiToK_1_1410_K892, K892Mass, K892Width, K_1_1410Mass, K_1_1410Width); + } } //Chi_c0 decay to K1*(1400) -> K1*(892) pi0 -> (K pi0) pi0 @@ -311,9 +322,17 @@ void Hyp1Lh::setUp(const std::map<const std::string, bool>& hypMap){ _hypMap[iter->first]= iter->second; Info<< "hypothesis " << iter->first << "\t" << _K1_1410_K1_1410Hyp <<endmsg; } - else Alert << "hypothesis K1_1410_K1_1410Hyp not set!!!" <<endmsg; + iter= hypMap.find("K1_1410_K892Hyp1"); + if (iter !=hypMap.end()){ + _K1_1410_K892Hyp1= iter->second; + _hypMap[iter->first]= iter->second; + Info<< "hypothesis " << iter->first << "\t" << _K1_1410_K892Hyp1 <<endmsg; + } + else Alert << "hypothesis K1_1410_K892Hyp1 not set!!!" <<endmsg; + + _ampVec.push_back(paramEnum2K2PiGam::ChiGam); _ampVec.push_back(paramEnum2K2PiGam::K892K892); _ampVec.push_back(paramEnum2K2PiGam::f980_pif1710_k); @@ -332,9 +351,16 @@ void Hyp1Lh::setUp(const std::map<const std::string, bool>& hypMap){ if(_K2_1430_K2_1430Hyp) _ampVec.push_back(paramEnum2K2PiGam::K_2_1430K_2_1430); if(_K0_1430_K0_1430Hyp) _ampVec.push_back(paramEnum2K2PiGam::K_0_1430K_0_1430); if(_K0_1430_K2_1430Hyp) _ampVec.push_back(paramEnum2K2PiGam::K_0_1430K_2_1430); - if(_K1_1410_K1_1410Hyp){ - _ampVec.push_back(paramEnum2K2PiGam::K_1_1410K_1_1410); + if(_K1_1410_K1_1410Hyp || _K1_1410_K892Hyp1){ _massVec.push_back(paramEnum2K2PiGam::K_1_1410); + + if(_K1_1410_K1_1410Hyp){ + _ampVec.push_back(paramEnum2K2PiGam::K_1_1410K_1_1410); + } + + if(_K1_1410_K892Hyp1){ + _ampVec.push_back(paramEnum2K2PiGam::ChiToK_1_1410_K892); + } } _massVec.push_back(paramEnum2K2PiGam::K892); diff --git a/Examples/Psi2STo2K2PiGam/Hyp1Lh.hh b/Examples/Psi2STo2K2PiGam/Hyp1Lh.hh index 792ce88a81641b6331155e6a4663de4c698ac851..12ed038104dab0589645830ea8f664ca6aff3cbd 100644 --- a/Examples/Psi2STo2K2PiGam/Hyp1Lh.hh +++ b/Examples/Psi2STo2K2PiGam/Hyp1Lh.hh @@ -59,6 +59,7 @@ protected: bool _K2_1430_K2_1430Hyp; bool _K0_1430_K2_1430Hyp; bool _K1_1410_K1_1410Hyp; + bool _K1_1410_K892Hyp1; std::map<const std::string, bool> _hypMap; virtual complex<double> chi0DecAmps(const param2K2PiGam& theParamVal, Psi2STo2K2PiGamData::Psi2STo2K2PiGamEvtData* theData); diff --git a/Examples/Psi2STo2K2PiGam/Mpsi2STo2K2PiGamTestApp.cc b/Examples/Psi2STo2K2PiGam/Mpsi2STo2K2PiGamTestApp.cc index fe21b404dcc5b2a568088c53eb5c4e79317a2c6c..c11b660dd0ef9e21b5ec9ef125844999fe1108bc 100644 --- a/Examples/Psi2STo2K2PiGam/Mpsi2STo2K2PiGamTestApp.cc +++ b/Examples/Psi2STo2K2PiGam/Mpsi2STo2K2PiGamTestApp.cc @@ -148,6 +148,7 @@ int main(int __argc,char *__argv[]){ hypMap["K2_1430_K2_1430Hyp"]=true; hypMap["K0_1430_K2_1430Hyp"]=true; hypMap["K1_1410_K1_1410Hyp"]=true; + hypMap["K1_1410_K892Hyp1"]=true; hypMap["doHyp2"]=true; hypMap["sigmaf980Hyp3"]=true; hypMap["sigmaf1710Hyp3"]=true;