From 0e8dfbfa551f207ebe44b9d3f28e08ca894e8936 Mon Sep 17 00:00:00 2001
From: Jan Schulze <jansch@sleipnir.(none)>
Date: Mon, 27 Feb 2012 13:38:37 +0100
Subject: [PATCH] Psi2STo2K2PiGam: added f_2_2010 in Hyp4Lh

---
 Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.cc |  5 +++
 Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.hh | 11 ++++--
 Examples/Psi2STo2K2PiGam/Hyp4Lh.cc            | 37 +++++++++++++++++--
 Examples/Psi2STo2K2PiGam/Hyp4Lh.hh            |  1 +
 .../Mpsi2STo2K2PiGamTestApp.cc                |  1 +
 5 files changed, 48 insertions(+), 7 deletions(-)

diff --git a/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.cc b/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.cc
index fa5fe968..59a88e05 100644
--- a/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.cc
+++ b/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.cc
@@ -54,6 +54,8 @@ FitParams2K2PiGam::FitParams2K2PiGam()
   _jpclsMap[paramEnum2K2PiGam::f980_kf_2_1525_pi]=theStates.ChiTof0f2States();
   _jpclsMap[paramEnum2K2PiGam::f980_pif_2_1950_k]=theStates.ChiTof0f2States();
   _jpclsMap[paramEnum2K2PiGam::f980_kf_2_1950_pi]=theStates.ChiTof0f2States();
+  _jpclsMap[paramEnum2K2PiGam::f980_pif_2_2010_k]=theStates.ChiTof0f2States();
+  _jpclsMap[paramEnum2K2PiGam::f980_kf_2_2010_pi]=theStates.ChiTof0f2States();
   _jpclsMap[paramEnum2K2PiGam::f1500_pif_2_1525_k]=theStates.ChiTof0f2States();
   _jpclsMap[paramEnum2K2PiGam::f1500_kf_2_1525_pi]=theStates.ChiTof0f2States();
   _jpclsMap[paramEnum2K2PiGam::f1710_pif_2_1430_k]=theStates.ChiTof0f2States();
@@ -163,6 +165,8 @@ std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collecti
   else if (index==paramEnum2K2PiGam::f980_kf_2_1525_pi) return params.f980_kf_2_1525_pi;
   else if (index==paramEnum2K2PiGam::f980_pif_2_1950_k) return params.f980_pif_2_1950_k;
   else if (index==paramEnum2K2PiGam::f980_kf_2_1950_pi) return params.f980_kf_2_1950_pi;
+  else if (index==paramEnum2K2PiGam::f980_pif_2_2010_k) return params.f980_pif_2_2010_k;
+  else if (index==paramEnum2K2PiGam::f980_kf_2_2010_pi) return params.f980_kf_2_2010_pi;
   else if (index==paramEnum2K2PiGam::f1500_pif_2_1525_k) return params.f1500_pif_2_1525_k;
   else if (index==paramEnum2K2PiGam::f1500_kf_2_1525_pi) return params.f1500_kf_2_1525_pi;
   else if (index==paramEnum2K2PiGam::f1710_pif_2_1430_k) return params.f1710_pif_2_1430_k;
@@ -240,6 +244,7 @@ pair<double, double>& FitParams2K2PiGam::massPair(param2K2PiGam& params, unsigne
   else if (index==paramEnum2K2PiGam::f_2_1430) return params.Bwf_2_1430;
   else if (index==paramEnum2K2PiGam::f_2_1525) return params.Bwf_2_1525;
   else if (index==paramEnum2K2PiGam::f_2_1950) return params.Bwf_2_1950;
+  else if (index==paramEnum2K2PiGam::f_2_2010) return params.Bwf_2_2010;
   else if (index==paramEnum2K2PiGam::f_2_2300) return params.Bwf_2_2300;
   else if (index==paramEnum2K2PiGam::K_0_2400) return params.BwK_0_2400;
   else if (index==paramEnum2K2PiGam::K_1_2400) return params.BwK_1_2400;
diff --git a/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.hh b/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.hh
index 0ebc98d2..9a4a8352 100644
--- a/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.hh
+++ b/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.hh
@@ -72,6 +72,8 @@ struct param2K2PiGam
   std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > f980_kf_2_1525_pi;
   std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > f980_pif_2_1950_k;
   std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > f980_kf_2_1950_pi;
+  std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > f980_pif_2_2010_k;
+  std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > f980_kf_2_2010_pi;
   std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > f1500_pif_2_1525_k;
   std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > f1500_kf_2_1525_pi;
   std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > f1710_pif_2_1430_k;
@@ -130,6 +132,7 @@ struct param2K2PiGam
     pair<double, double> Bwf_2_1430;
     pair<double, double> Bwf_2_1525;
     pair<double, double> Bwf_2_1950;
+    pair<double, double> Bwf_2_2010;
     pair<double, double> Bwf_2_2300;
     pair<double, double> BwK_0_2400;
     pair<double, double> BwK_1_2400;
@@ -165,7 +168,7 @@ struct paramEnum2K2PiGam{
 	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, ChiToK1680K1680, ChiToK1680K_0_1430, 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,
+	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, f980_pif_2_2010_k, f980_kf_2_2010_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, ChiToPi3000Pi0ToK892K, ChiToPi3000Pi0ToK_0_1950K, 
@@ -174,7 +177,7 @@ struct paramEnum2K2PiGam{
 
 	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_2_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, 
+	f_2_1270, f_2_1430, f_2_1525, f_2_1950, f_2_2010, f_2_2300, 
 	Pi_2_1670, Pi1800, Pi3000, Pi_2_2285, K_2_1770, nMasses,
 
 	f980=nMasses,f980gpipi, f980gKK, nFlatte,
@@ -194,7 +197,7 @@ struct paramEnum2K2PiGam{
 	"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", "ChiToK1680K1680", "ChiToK1680K_0_1430", "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",  
+	"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", "f980_pif_2_2010_k", "f980_kf_2_2010_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","ChiToPi3000Pi0ToK892K","ChiToPi3000Pi0ToK_0_1950K",
@@ -202,7 +205,7 @@ struct paramEnum2K2PiGam{
 	"ChiToK_2_1770K","K_2_1770ToK_2_1430Pi","ChiToK_0_1430KPi","ChiToK892KPi",
 	"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_2_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",
+	"f_2_1270", "f_2_1430", "f_2_1525","f_2_1950","f_2_2010","f_2_2300",
 	"Pi_2_1670","Pi1800","Pi3000","Pi_2_2285","K_2_1770",
 
 	"f980","f980gpipi", "f980gKK",
diff --git a/Examples/Psi2STo2K2PiGam/Hyp4Lh.cc b/Examples/Psi2STo2K2PiGam/Hyp4Lh.cc
index eecbca5c..a05156bf 100644
--- a/Examples/Psi2STo2K2PiGam/Hyp4Lh.cc
+++ b/Examples/Psi2STo2K2PiGam/Hyp4Lh.cc
@@ -16,6 +16,7 @@ Hyp4Lh::Hyp4Lh(boost::shared_ptr<const Psi2STo2K2PiGamEvtList> theEvtList, const
   ,_f980f_2_1430Hyp4(true)
   ,_f980f_2_1525Hyp4(true)
   ,_f980f_2_1950Hyp4(true)
+  ,_f980f_2_2010Hyp4(true)
   ,_f1500f_2_1525Hyp4(true)
   ,_f1710f_2_1430Hyp4(true)
   ,_f1710f_2_1950Hyp4(true)
@@ -38,6 +39,7 @@ Hyp4Lh::Hyp4Lh( boost::shared_ptr<AbsPsi2STo2K2PiGamLh> theLhPtr, const std::map
   ,_f980f_2_1430Hyp4(true)
   ,_f980f_2_1525Hyp4(true)
   ,_f980f_2_1950Hyp4(true)
+  ,_f980f_2_2010Hyp4(true)
   ,_f1500f_2_1525Hyp4(true)
   ,_f1710f_2_1430Hyp4(true)
   ,_f1710f_2_1950Hyp4(true)
@@ -90,6 +92,9 @@ complex<double> Hyp4Lh::chi0DecAmps(const param2K2PiGam& theParamVal, Psi2STo2K2
   double f_2_1950Mass=theParamVal.Bwf_2_1950.first;
   double f_2_1950Width=theParamVal.Bwf_2_1950.second;
 
+  double f_2_2010Mass=theParamVal.Bwf_2_2010.first;
+  double f_2_2010Width=theParamVal.Bwf_2_2010.second;
+
   if (_f980f1370Hyp4){
     std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiTof980_pif1370_k=theParamVal.f980_pif1370_k;
     std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiTof980_kf1370_pi=theParamVal.f980_kf1370_pi;
@@ -174,6 +179,17 @@ complex<double> Hyp4Lh::chi0DecAmps(const param2K2PiGam& theParamVal, Psi2STo2K2
     currentResult+=chiTof980_kf2_piAmp(theData, ChiTof980_kf2_pi, f980_Mass, f980_gKK, f980_gPiPi, f_2_1950Mass, f_2_1950Width);
   }
 
+  if (_f980f_2_2010Hyp4){
+    std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiTof980_pif2_k=theParamVal.f980_pif_2_2010_k;
+    std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiTof980_kf2_pi=theParamVal.f980_kf_2_2010_pi;
+
+    double f980_Mass=theParamVal.Flatf980;
+    double f980_gPiPi=theParamVal.Flatf980gPiPi;
+    double f980_gKK=theParamVal.Flatf980gKK;
+    currentResult+=chiTof980_pif2_kAmp(theData, ChiTof980_pif2_k, f980_Mass, f980_gPiPi, f980_gKK, f_2_2010Mass, f_2_2010Width);
+    currentResult+=chiTof980_kf2_piAmp(theData, ChiTof980_kf2_pi, f980_Mass, f980_gKK, f980_gPiPi, f_2_2010Mass, f_2_2010Width);
+  }
+
   if (_f1500f_2_1525Hyp4){
     std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiTof1500_pif2_k=theParamVal.f1500_pif_2_1525_k;
     std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiTof1500_kf2_pi=theParamVal.f1500_kf_2_1525_pi;
@@ -424,8 +440,18 @@ void Hyp4Lh::setUp(const std::map<const std::string, bool>& hypMap){
     exit(0);
   }
 
-  iter= hypMap.find("f980f1500Hyp4");
+  iter= hypMap.find("f980f_2_2010Hyp4");
+  if (iter !=hypMap.end()){
+    _f980f_2_2010Hyp4= iter->second;
+    Info<< "hypothesis " << iter->first << "\t" << _f980f_2_2010Hyp4 <<endmsg;
+    _hypMap[iter->first]= iter->second;
+  }
+  else{
+    Alert << "hypothesis f980f_2_2010Hyp4 not set!!!" <<endmsg;
+    exit(0);
+  }
 
+  iter= hypMap.find("f980f1500Hyp4");
   if (iter !=hypMap.end()){
     _f980f1500Hyp4= iter->second;
     Info<< "hypothesis " << iter->first << "\t" << _f980f1500Hyp4 <<endmsg;
@@ -484,7 +510,7 @@ void Hyp4Lh::setUp(const std::map<const std::string, bool>& hypMap){
     exit(0);
   }
 
-  if(!_f980f1370Hyp4 && !_f1710f1370Hyp4 && !_f980f_2_1430Hyp4 && !_f1710f_2_1430Hyp4 && !_f980f_2_1950Hyp4 && !_f1710f_2_1950Hyp4 && !_sigmaf1370Hyp4) _doHyp4=false; 
+  if(!_f980f1370Hyp4 && !_f1710f1370Hyp4 && !_f980f_2_1430Hyp4 && !_f1710f_2_1430Hyp4 && !_f980f_2_1950Hyp4 && !_f980f_2_2010Hyp4 && !_f1710f_2_1950Hyp4 && !_sigmaf1370Hyp4) _doHyp4=false; 
 
   if (!_doHyp4) return;
 
@@ -519,6 +545,10 @@ void Hyp4Lh::setUp(const std::map<const std::string, bool>& hypMap){
     _ampVec.push_back(paramEnum2K2PiGam::f980_pif_2_1950_k);
     _ampVec.push_back(paramEnum2K2PiGam::f980_kf_2_1950_pi);
   }
+  if (_f980f_2_2010Hyp4){
+    _ampVec.push_back(paramEnum2K2PiGam::f980_pif_2_2010_k);
+    _ampVec.push_back(paramEnum2K2PiGam::f980_kf_2_2010_pi);
+  }
   if (_f1500f_2_1525Hyp4){
     _ampVec.push_back(paramEnum2K2PiGam::f1500_pif_2_1525_k);
     _ampVec.push_back(paramEnum2K2PiGam::f1500_kf_2_1525_pi);
@@ -538,6 +568,7 @@ void Hyp4Lh::setUp(const std::map<const std::string, bool>& hypMap){
   if (_f980f1500Hyp4 || _f1500f_2_1525Hyp4) _massVec.push_back(paramEnum2K2PiGam::f1500);
   if (_f980f_2_1430Hyp4 || _f1710f_2_1430Hyp4) _massVec.push_back(paramEnum2K2PiGam::f_2_1430);
   if (_f980f_2_1950Hyp4 || _f1710f_2_1950Hyp4) _massVec.push_back(paramEnum2K2PiGam::f_2_1950);
+  if (_f980f_2_2010Hyp4) _massVec.push_back(paramEnum2K2PiGam::f_2_2010);
   if (_f980f_2_1525Hyp4 || _f1500f_2_1525Hyp4) _massVec.push_back(paramEnum2K2PiGam::f_2_1525);
 
   // fill all other resonances
@@ -549,7 +580,7 @@ void Hyp4Lh::setUp(const std::map<const std::string, bool>& hypMap){
       _massVecRemain.push_back(paramEnum2K2PiGam::f1710);
   }
 
-  if(_f980f1370Hyp4 || _f980f1500Hyp4 || _f980f_2_1270Hyp4 || _f980f_2_1430Hyp4 || _f980f_2_1525Hyp4 || _f980f_2_1950Hyp4){
+  if(_f980f1370Hyp4 || _f980f1500Hyp4 || _f980f_2_1270Hyp4 || _f980f_2_1430Hyp4 || _f980f_2_1525Hyp4 || _f980f_2_1950Hyp4 || _f980f_2_2010Hyp4){
     _f980FlatteRemain=true;
   }
 
diff --git a/Examples/Psi2STo2K2PiGam/Hyp4Lh.hh b/Examples/Psi2STo2K2PiGam/Hyp4Lh.hh
index 6dab536a..05947074 100644
--- a/Examples/Psi2STo2K2PiGam/Hyp4Lh.hh
+++ b/Examples/Psi2STo2K2PiGam/Hyp4Lh.hh
@@ -58,6 +58,7 @@ protected:
   bool _f980f_2_1430Hyp4;
   bool _f980f_2_1525Hyp4;
   bool _f980f_2_1950Hyp4;
+  bool _f980f_2_2010Hyp4;
   bool _f1500f_2_1525Hyp4;
   bool _f1710f_2_1430Hyp4;
   bool _f1710f_2_1950Hyp4;
diff --git a/Examples/Psi2STo2K2PiGam/Mpsi2STo2K2PiGamTestApp.cc b/Examples/Psi2STo2K2PiGam/Mpsi2STo2K2PiGamTestApp.cc
index e938f668..f5ac435d 100644
--- a/Examples/Psi2STo2K2PiGam/Mpsi2STo2K2PiGamTestApp.cc
+++ b/Examples/Psi2STo2K2PiGam/Mpsi2STo2K2PiGamTestApp.cc
@@ -168,6 +168,7 @@ int main(int __argc,char *__argv[]){
   hypMap["f980f_2_1430Hyp4"]=true;
   hypMap["f980f_2_1525Hyp4"]=true;
   hypMap["f980f_2_1950Hyp4"]=true;
+  hypMap["f980f_2_2010Hyp4"]=true;
   hypMap["f1500f_2_1525Hyp4"]=true;
   hypMap["f1710f_2_1430Hyp4"]=true;
   hypMap["f1710f_2_1950Hyp4"]=true;
-- 
GitLab