From efecda8b5696054bc7b0bd5802f8e756be946a03 Mon Sep 17 00:00:00 2001
From: Bertram Kopf <bertram@pc14.(none)>
Date: Fri, 3 Feb 2012 16:06:43 +0100
Subject: [PATCH] Psi2STo2K2PiGam: added Pi3000 hyp

---
 Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.cc |  5 ++
 Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.hh | 13 +++--
 Examples/Psi2STo2K2PiGam/Hyp9Lh.cc            | 58 +++++++++++++++++++
 Examples/Psi2STo2K2PiGam/Hyp9Lh.hh            |  2 +
 .../Mpsi2STo2K2PiGamTestApp.cc                |  2 +
 5 files changed, 76 insertions(+), 4 deletions(-)

diff --git a/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.cc b/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.cc
index 71f4a6ba..95e60247 100644
--- a/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.cc
+++ b/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.cc
@@ -77,6 +77,8 @@ FitParams2K2PiGam::FitParams2K2PiGam()
   _jpclsMap[paramEnum2K2PiGam::ChiToPi1800Pi0Tof1370]=theStates.ChiToPi0Pi0States();
   _jpclsMap[paramEnum2K2PiGam::ChiToPi1800Pi0ToKappa]=theStates.ChiToPi0Pi0States();
   _jpclsMap[paramEnum2K2PiGam::ChiToPi1800Pi0ToK892K]=theStates.Pi0pToKstKStates();
+  _jpclsMap[paramEnum2K2PiGam::ChiToPi3000Pi0ToK892K]=theStates.Pi0pToKstKStates();
+  _jpclsMap[paramEnum2K2PiGam::ChiToPi3000Pi0ToK_0_1950K]=theStates.ChiToPi0Pi0States();
   _jpclsMap[paramEnum2K2PiGam::ChiToPi_2_2285Pi]=theStates.ChiToPi_2PiStates();
   _jpclsMap[paramEnum2K2PiGam::Pi_2_2285Tof1700Pi]=theStates.Pi_2Tof0PiStates();
   _jpclsMap[paramEnum2K2PiGam::Pi_2_2285ToK892KPi]=theStates.Pi_2ToKst1KStates();
@@ -172,6 +174,8 @@ std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collecti
   else if (index==paramEnum2K2PiGam::ChiToPi1800Pi0Tof1370) return params.ChiToPi1800Pi0Tof1370;
   else if (index==paramEnum2K2PiGam::ChiToPi1800Pi0ToKappa) return params.ChiToPi1800Pi0ToKappa;
   else if (index==paramEnum2K2PiGam::ChiToPi1800Pi0ToK892K) return params.ChiToPi1800Pi0ToK892K;
+  else if (index==paramEnum2K2PiGam::ChiToPi3000Pi0ToK892K) return params.ChiToPi3000Pi0ToK892K;
+  else if (index==paramEnum2K2PiGam::ChiToPi3000Pi0ToK_0_1950K) return params.ChiToPi3000Pi0ToK_0_1950K;
   else if (index==paramEnum2K2PiGam::ChiToPi_2_2285Pi) return params.ChiToPi_2_2285Pi; 
   else if (index==paramEnum2K2PiGam::Pi_2_2285Tof1700Pi) return params.Pi_2_2285Tof1700Pi;
   else if (index==paramEnum2K2PiGam::Pi_2_2285ToK892KPi) return params.Pi_2_2285ToK892KPi;
@@ -222,6 +226,7 @@ pair<double, double>& FitParams2K2PiGam::massPair(param2K2PiGam& params, unsigne
   else if (index==paramEnum2K2PiGam::K_0_1830) return params.BwK_0_1830;
   else if (index==paramEnum2K2PiGam::Pi_2_1670) return params.BwPi_2_1670;
   else if (index==paramEnum2K2PiGam::Pi1800) return params.BwPi1800;
+  else if (index==paramEnum2K2PiGam::Pi3000) return params.BwPi3000;
   else if (index==paramEnum2K2PiGam::Pi_2_2285) return params.BwPi_2_2285;
   else if (index==paramEnum2K2PiGam::K_2_1770) return params.BwK_2_1770;
   else{ Alert << "index " << index << " not supported !!!" << endmsg;
diff --git a/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.hh b/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.hh
index 2e16c57f..06ee1d39 100644
--- a/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.hh
+++ b/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.hh
@@ -90,6 +90,8 @@ struct param2K2PiGam
   std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiToPi1800Pi0Tof1370;
   std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiToPi1800Pi0ToKappa;
   std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiToPi1800Pi0ToK892K;
+  std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiToPi3000Pi0ToK892K;
+  std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiToPi3000Pi0ToK_0_1950K;
   std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiToPi_2_2285Pi;
   std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > Pi_2_2285Tof1700Pi;
   std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > Pi_2_2285ToK892KPi;
@@ -128,6 +130,7 @@ struct param2K2PiGam
     pair<double, double> BwK_1_1650;
     pair<double, double> BwPi_2_1670;
   pair<double, double> BwPi1800;
+  pair<double, double> BwPi3000;
   pair<double, double> BwPi_2_2285;
   pair<double, double> BwK_2_1770;
 
@@ -149,14 +152,15 @@ struct paramEnum2K2PiGam{
 	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, 
-	ChiToPi_2_1670Pi, Pi_2_1670Tof_2_1270Pi, Pi_2_1670ToK892K, ChiToPi1800Pi0Tof980, ChiToPi1800Pi0Tof1370, ChiToPi1800Pi0ToKappa, ChiToPi1800Pi0ToK892K, 
+	ChiToPi_2_1670Pi, Pi_2_1670Tof_2_1270Pi, Pi_2_1670ToK892K, 
+	ChiToPi1800Pi0Tof980, ChiToPi1800Pi0Tof1370, ChiToPi1800Pi0ToKappa, ChiToPi1800Pi0ToK892K, ChiToPi3000Pi0ToK892K, ChiToPi3000Pi0ToK_0_1950K, 
 	ChiToPi_2_2285Pi,Pi_2_2285Tof1700Pi, Pi_2_2285ToK892KPi, Pi_2_2285ToK_0_1430K, Pi_2_2285ToK_2_1430K, 
 	ChiToK_2_1770K, K_2_1770ToK_2_1430Pi, ChiToK_0_1430KPi, nAmps,         
 
 	K892=nAmps,Kappa, K_0_1430, K_1_1400,  K_1_1410, K_2_1430, K_1_1270,K_1_1650, 
 	f1500, f1710, f2200, sigma, f1360, f1370, K_0_2400, K_1_2400, K_0_1950, K_1_1680, K_1_2300, K_0_1460, K_0_1830, 
 	f_2_1270, f_2_1430, f_2_1525, f_2_1950, f_2_2300, 
-	Pi_2_1670, Pi1800, Pi_2_2285, K_2_1770, nMasses,
+	Pi_2_1670, Pi1800, Pi3000, Pi_2_2285, K_2_1770, nMasses,
 
 	f980=nMasses,f980gpipi, f980gKK, nFlatte,
 
@@ -175,14 +179,15 @@ struct paramEnum2K2PiGam{
 	"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",
-	"ChiToPi_2_1670Pi","Pi_2_1670Tof_2_1270Pi","Pi_2_1670ToK892K","ChiToPi1800Pi0Tof980","ChiToPi1800Pi0Tof1370","ChiToPi1800Pi0ToKappa","ChiToPi1800Pi0ToK892K",
+	"ChiToPi_2_1670Pi","Pi_2_1670Tof_2_1270Pi","Pi_2_1670ToK892K",
+	"ChiToPi1800Pi0Tof980","ChiToPi1800Pi0Tof1370","ChiToPi1800Pi0ToKappa","ChiToPi1800Pi0ToK892K","ChiToPi3000Pi0ToK892K","ChiToPi3000Pi0ToK_0_1950K",
 	"ChiToPi_2_2285Pi","Pi_2_2285Tof1700Pi","Pi_2_2285ToK892KPi","Pi_2_2285ToK_0_1430K","Pi_2_2285ToK_2_1430K", 
 	"ChiToK_2_1770K","K_2_1770ToK_2_1430Pi","ChiToK_0_1430KPi",
 
 	"K892", "Kappa", "K_0_1430", "K_1_1400", "K_1_1410", "K_2_1430", "K_1_1270", "K_1_1650", 
         "f1500", "f1710", "f2200", "sigma", "f1360", "f1370", "K_0_2400", "K_1_2400", "K_0_1950", "K_1_1680", "K_1_2300", "K_0_1460", "K_0_1830",
 	"f_2_1270", "f_2_1430", "f_2_1525","f_2_1950","f_2_2300",
-	"Pi_2_1670","Pi1800","Pi_2_2285","K_2_1770",
+	"Pi_2_1670","Pi1800","Pi3000","Pi_2_2285","K_2_1770",
 
 	"f980","f980gpipi", "f980gKK",
 	
diff --git a/Examples/Psi2STo2K2PiGam/Hyp9Lh.cc b/Examples/Psi2STo2K2PiGam/Hyp9Lh.cc
index 561469e9..161887ef 100644
--- a/Examples/Psi2STo2K2PiGam/Hyp9Lh.cc
+++ b/Examples/Psi2STo2K2PiGam/Hyp9Lh.cc
@@ -15,6 +15,8 @@ Hyp9Lh::Hyp9Lh(boost::shared_ptr<const Psi2STo2K2PiGamEvtList> theEvtList, const
   ,_Pi1800Tof1370PiHyp9(true)
   ,_Pi1800ToKappaKHyp9(true)
   ,_Pi1800Pi0ToK892KHyp9(true)
+  ,_Pi3000Pi0ToK892KHyp9(true)
+  ,_Pi3000Pi0ToK_0_1950KHyp9(true)
   ,_Pi_2_2285Tof1710PiHyp9(true)
   ,_Pi_2_2285ToK892KHyp9(true)
   ,_Pi_2_2285ToK_0_1430KHyp9(true)
@@ -36,6 +38,8 @@ Hyp9Lh::Hyp9Lh( boost::shared_ptr<AbsPsi2STo2K2PiGamLh> theLhPtr, const std::map
   ,_Pi1800Tof1370PiHyp9(true)
   ,_Pi1800ToKappaKHyp9(true)
   ,_Pi1800Pi0ToK892KHyp9(true)
+  ,_Pi3000Pi0ToK892KHyp9(true)
+  ,_Pi3000Pi0ToK_0_1950KHyp9(true)
   ,_Pi_2_2285Tof1710PiHyp9(true)
   ,_Pi_2_2285ToK892KHyp9(true)
   ,_Pi_2_2285ToK_0_1430KHyp9(true)
@@ -128,6 +132,26 @@ complex<double> Hyp9Lh::chi0DecAmps(const param2K2PiGam& theParamVal, Psi2STo2K2
 
   }
 
+  if(_Pi3000Pi0ToK892KHyp9){
+    std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiToPi3000Pi0ToK892K=theParamVal.ChiToPi3000Pi0ToK892K;
+    double Pi3000Mass=theParamVal.BwPi3000.first;
+    double Pi3000Width=theParamVal.BwPi3000.second;
+    double K892Mass=theParamVal.BwK892.first;
+    double K892Width=theParamVal.BwK892.second;
+    
+    result+=chiToPi0PiToKstarKAmp(theData, ChiToPi3000Pi0ToK892K, Pi3000Mass, Pi3000Width, K892Mass, K892Width);
+
+  }
+
+  if(_Pi3000Pi0ToK_0_1950KHyp9){
+    std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiToPi3000Pi0ToK_0_1950K=theParamVal.ChiToPi3000Pi0ToK_0_1950K;
+    double Pi3000Mass=theParamVal.BwPi3000.first;
+    double Pi3000Width=theParamVal.BwPi3000.second;
+    double K_0_1950Mass=theParamVal.BwK_0_1950.first;
+    double K_0_1950Width=theParamVal.BwK_0_1950.second;
+
+    result+=chiToPi0Pi0ToK0KAmp(theData, ChiToPi3000Pi0ToK_0_1950K, Pi3000Mass, Pi3000Width, K_0_1950Mass, K_0_1950Width);
+  }
 
   if (_Pi_2_2285Tof1710PiHyp9 || _Pi_2_2285ToK892KHyp9 || _Pi_2_2285ToK_0_1430KHyp9 || _Pi_2_2285ToK_2_1430KHyp9){
     double Pi_2_2285Mass=theParamVal.BwPi_2_2285.first;
@@ -402,6 +426,27 @@ void Hyp9Lh::setUp(const std::map<const std::string, bool>& hypMap){
     exit(0);
   } 
 
+  iter= hypMap.find("Pi3000Pi0ToK892KHyp9");
+  if (iter !=hypMap.end()){
+    _Pi3000Pi0ToK892KHyp9= iter->second;
+    Info<< "hypothesis " << iter->first << "\t" << _Pi3000Pi0ToK892KHyp9 <<endmsg;
+    _hypMap[iter->first]= iter->second;
+  }
+  else{
+    Alert << "Pi30000Pi0ToK892KHyp9 not set!!!" <<endmsg;
+    exit(0);
+  } 
+
+  iter= hypMap.find("Pi3000Pi0ToK_0_1950KHyp9");
+  if (iter !=hypMap.end()){
+    _Pi3000Pi0ToK_0_1950KHyp9= iter->second;
+    Info<< "hypothesis " << iter->first << "\t" << _Pi3000Pi0ToK892KHyp9 <<endmsg;
+    _hypMap[iter->first]= iter->second;
+  }
+  else{
+    Alert << "Pi3000Pi0ToK_0_1950KHyp9 not set!!!" <<endmsg;
+    exit(0);
+  } 
 
   iter= hypMap.find("Pi_2_2285Tof1710PiHyp9");
   
@@ -535,6 +580,19 @@ void Hyp9Lh::setUp(const std::map<const std::string, bool>& hypMap){
 
   }
 
+    if (_Pi3000Pi0ToK892KHyp9 || _Pi3000Pi0ToK_0_1950KHyp9){
+      _massVec.push_back(paramEnum2K2PiGam::Pi3000);
+
+      if (_Pi3000Pi0ToK892KHyp9){
+	_ampVec.push_back(paramEnum2K2PiGam::ChiToPi3000Pi0ToK892K);
+      }
+      if (_Pi3000Pi0ToK_0_1950KHyp9){
+	_ampVec.push_back(paramEnum2K2PiGam::ChiToPi3000Pi0ToK_0_1950K);
+	if(!_K_0_1430K_0_1950Hyp6 && !_KappaK_0_1950Hyp6){
+	  _massVec.push_back(paramEnum2K2PiGam::K_0_1950);
+	}
+      }
+    }
 
   if (_Pi_2_2285Tof1710PiHyp9 || _Pi_2_2285ToK892KHyp9 || _Pi_2_2285ToK_0_1430KHyp9 || _Pi_2_2285ToK_2_1430KHyp9){
     _ampVec.push_back(paramEnum2K2PiGam::ChiToPi_2_2285Pi);
diff --git a/Examples/Psi2STo2K2PiGam/Hyp9Lh.hh b/Examples/Psi2STo2K2PiGam/Hyp9Lh.hh
index 87d586c3..ada7c0ef 100644
--- a/Examples/Psi2STo2K2PiGam/Hyp9Lh.hh
+++ b/Examples/Psi2STo2K2PiGam/Hyp9Lh.hh
@@ -56,6 +56,8 @@ protected:
   bool _Pi1800Tof1370PiHyp9;
   bool _Pi1800ToKappaKHyp9;
   bool _Pi1800Pi0ToK892KHyp9;
+  bool _Pi3000Pi0ToK892KHyp9;
+  bool _Pi3000Pi0ToK_0_1950KHyp9;
   bool _Pi_2_2285Tof1710PiHyp9;
   bool _Pi_2_2285ToK892KHyp9;
   bool _Pi_2_2285ToK_0_1430KHyp9;
diff --git a/Examples/Psi2STo2K2PiGam/Mpsi2STo2K2PiGamTestApp.cc b/Examples/Psi2STo2K2PiGam/Mpsi2STo2K2PiGamTestApp.cc
index 2dae7154..dcf35848 100644
--- a/Examples/Psi2STo2K2PiGam/Mpsi2STo2K2PiGamTestApp.cc
+++ b/Examples/Psi2STo2K2PiGam/Mpsi2STo2K2PiGamTestApp.cc
@@ -184,6 +184,8 @@ int main(int __argc,char *__argv[]){
   hypMap["Pi_2_2285Tof1710PiHyp9"]=true;
   hypMap["Pi_2_2285ToK892KHyp9"]=true;
   hypMap["Pi1800Pi0ToK892KHyp9"]=true;
+  hypMap["Pi3000Pi0ToK892KHyp9"]=true;
+  hypMap["Pi3000Pi0ToK_0_1950KHyp9"]=true;
   hypMap["Pi_2_2285ToK_0_1430KHyp9"]=true;
   hypMap["Pi_2_2285ToK_2_1430KHyp9"]=true;
   hypMap["f980f_2_2300Hyp9"]=true;
-- 
GitLab