From 6e2ea6aa28b79e51efd688fd2cf5d431c346dfed Mon Sep 17 00:00:00 2001
From: Bertram Kopf <bertram@pc14.(none)>
Date: Thu, 1 Mar 2012 19:33:41 +0100
Subject: [PATCH] Psi2STo2K2PiGam: added sigma f2

---
 Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.cc |  4 ++
 Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.hh |  8 +++-
 Examples/Psi2STo2K2PiGam/Hyp4Lh.cc            | 43 +++++++++++++++++--
 Examples/Psi2STo2K2PiGam/Hyp4Lh.hh            |  2 +
 .../Mpsi2STo2K2PiGamTestApp.cc                |  2 +
 5 files changed, 53 insertions(+), 6 deletions(-)

diff --git a/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.cc b/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.cc
index e9705d40..bd68d73e 100644
--- a/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.cc
+++ b/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.cc
@@ -91,6 +91,8 @@ void FitParams2K2PiGam::filljpclsMap(){
   _jpclsMap[paramEnum2K2PiGam::ChiToSigmaf1370]=_statesPtr->ChiTof0f0States();
   _jpclsMap[paramEnum2K2PiGam::sigmaf1710]=_statesPtr->ChiTof0f0States();
   _jpclsMap[paramEnum2K2PiGam::sigmaf2200]=_statesPtr->ChiTof0f0States();
+  _jpclsMap[paramEnum2K2PiGam::ChiToSigmaf_2_1525]=_statesPtr->ChiTof0f0States();
+  _jpclsMap[paramEnum2K2PiGam::ChiToSigmaf_2_1950]=_statesPtr->ChiTof0f0States();
   _jpclsMap[paramEnum2K2PiGam::K_0_1460ToK892Pi]=_statesPtr->ChiToK0K0States();
   _jpclsMap[paramEnum2K2PiGam::K_0_1460ToK_0_1430Pi]=_statesPtr->ChiToK0K0States();
   _jpclsMap[paramEnum2K2PiGam::K_0_1830ToK892Pi]=_statesPtr->ChiToK0K0States();
@@ -201,6 +203,8 @@ std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collecti
   else if (index==paramEnum2K2PiGam::ChiToSigmaf1370) return params.ChiToSigmaf1370;
   else if (index==paramEnum2K2PiGam::sigmaf1710) return params.ChiToSigmaf1710;
   else if (index==paramEnum2K2PiGam::sigmaf2200) return params.ChiToSigmaf2200;
+  else if (index==paramEnum2K2PiGam::ChiToSigmaf_2_1525) return params.ChiToSigmaf_2_1525;
+  else if (index==paramEnum2K2PiGam::ChiToSigmaf_2_1950) return params.ChiToSigmaf_2_1950;
   else if (index==paramEnum2K2PiGam::K_0_1460ToK892Pi) return params.K_0_1460ToK892Pi;
   else if (index==paramEnum2K2PiGam::K_0_1460ToK_0_1430Pi) return params.K_0_1460ToK_0_1430Pi;
   else if (index==paramEnum2K2PiGam::K_0_1830ToK892Pi) return params.K_0_1830ToK892Pi;
diff --git a/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.hh b/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.hh
index 73a934da..5c003104 100644
--- a/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.hh
+++ b/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.hh
@@ -59,6 +59,8 @@ struct param2K2PiGam
   std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiToSigmaf1370;
   std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiToSigmaf1710;
   std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiToSigmaf2200;
+  std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiToSigmaf_2_1525;
+  std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiToSigmaf_2_1950;
   std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > f980_pif1370_k;
   std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > f980_kf1370_pi;
   std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > f980_pif1500_k;
@@ -171,7 +173,8 @@ struct paramEnum2K2PiGam{
 	f980_pif1710_k, f980_kf1710_pi, ChiTof1710f1710, 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, 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, 
+	sigmaf980, ChiToSigmaf1370, sigmaf1710, sigmaf2200, ChiToSigmaf_2_1525, ChiToSigmaf_2_1950,
+	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_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, 
@@ -200,7 +203,8 @@ struct paramEnum2K2PiGam{
 	"f980_pif1710_k", "f980_kf1710_pi", "ChiTof1710f1710", "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", "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",
+	"sigmaf980", "ChiToSigmaf1370", "sigmaf1710", "sigmaf2200", "ChiToSigmaf_2_1525", "ChiToSigmaf_2_1950",
+	"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_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",
diff --git a/Examples/Psi2STo2K2PiGam/Hyp4Lh.cc b/Examples/Psi2STo2K2PiGam/Hyp4Lh.cc
index 3e41c0da..9dfd205e 100644
--- a/Examples/Psi2STo2K2PiGam/Hyp4Lh.cc
+++ b/Examples/Psi2STo2K2PiGam/Hyp4Lh.cc
@@ -20,6 +20,8 @@ Hyp4Lh::Hyp4Lh(boost::shared_ptr<const Psi2STo2K2PiGamEvtList> theEvtList, const
   ,_f1500f_2_1525Hyp4(true)
   ,_f1710f_2_1430Hyp4(true)
   ,_f1710f_2_1950Hyp4(true)
+  ,_sigmaf_2_1525Hyp4(true)
+  ,_sigmaf_2_1950Hyp4(true)
   ,_doHyp4(true)
   ,_nFitParams(0)
   ,_f980FlatteRemain(false)
@@ -42,6 +44,8 @@ Hyp4Lh::Hyp4Lh( boost::shared_ptr<AbsPsi2STo2K2PiGamLh> theLhPtr, const std::map
   ,_f1500f_2_1525Hyp4(true)
   ,_f1710f_2_1430Hyp4(true)
   ,_f1710f_2_1950Hyp4(true)
+  ,_sigmaf_2_1525Hyp4(true)
+  ,_sigmaf_2_1950Hyp4(true)
   ,_doHyp4(true)
   ,_nFitParams(0)
   ,_f980FlatteRemain(false)
@@ -220,6 +224,24 @@ complex<double> Hyp4Lh::chi0DecAmps(const param2K2PiGam& theParamVal, Psi2STo2K2
   currentResult+=chiTof2_pif0_kAmp(theData, ChiTof1710_kf2_pi, f_2_1950Mass, f_2_1950Width, f1710Mass, f1710Width);
   }
 
+  if (_sigmaf_2_1525Hyp4){
+    std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiToSigmaf_2_1525=theParamVal.ChiToSigmaf_2_1525;
+
+    double sigmaMass=theParamVal.BwSigma.first;
+    double sigmaWidth=theParamVal.BwSigma.second;
+
+    currentResult+=chiTof0_pif2_kAmp(theData, ChiToSigmaf_2_1525, sigmaMass, sigmaWidth, f_2_1525Mass, f_2_1525Width);
+  }
+
+  if (_sigmaf_2_1950Hyp4){
+    std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiToSigmaf_2_1950=theParamVal.ChiToSigmaf_2_1950;
+
+    double sigmaMass=theParamVal.BwSigma.first;
+    double sigmaWidth=theParamVal.BwSigma.second;
+
+    currentResult+=chiTof0_pif2_kAmp(theData, ChiToSigmaf_2_1950, sigmaMass, sigmaWidth, f_2_1950Mass, f_2_1950Width);
+  }
+
   if (_sigmaf1370Hyp4){
     std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiToSigmaf1370=theParamVal.ChiToSigmaf1370;
     
@@ -391,8 +413,14 @@ void Hyp4Lh::setUp(const std::map<const std::string, bool>& hypMap){
   theKey="sigmaf1370Hyp4";
   setHyps( hypMap, _sigmaf1370Hyp4, theKey);
 
+  theKey="sigmaf_2_1525Hyp4";
+  setHyps( hypMap, _sigmaf_2_1525Hyp4, theKey);
+
+  theKey="sigmaf_2_1950Hyp4";
+  setHyps( hypMap, _sigmaf_2_1950Hyp4, theKey);
+
 
-  if(!_f980f1370Hyp4 && !_f1710f1370Hyp4 && !_f980f_2_1430Hyp4 && !_f1710f_2_1430Hyp4 && !_f980f_2_1950Hyp4 && !_f980f_2_2010Hyp4 && !_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 && !_sigmaf_2_1525Hyp4 && !_sigmaf_2_1950Hyp4) _doHyp4=false; 
 
   if (!_doHyp4) return;
 
@@ -443,18 +471,25 @@ void Hyp4Lh::setUp(const std::map<const std::string, bool>& hypMap){
     _ampVec.push_back(paramEnum2K2PiGam::f1710_pif_2_1950_k);
     _ampVec.push_back(paramEnum2K2PiGam::f1710_kf_2_1950_pi);
   }
+  if(_sigmaf_2_1525Hyp4){
+    _ampVec.push_back(paramEnum2K2PiGam::ChiToSigmaf_2_1525);
+  }
+  if(_sigmaf_2_1950Hyp4){
+    _ampVec.push_back(paramEnum2K2PiGam::ChiToSigmaf_2_1950);
+  }
+
   if(_sigmaf1370Hyp4){
     _ampVec.push_back(paramEnum2K2PiGam::ChiToSigmaf1370);
   }
   if (_f980f1370Hyp4 || _f1710f1370Hyp4 || _sigmaf1370Hyp4) _massVec.push_back(paramEnum2K2PiGam::f1370);
   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_1950Hyp4 || _f1710f_2_1950Hyp4 || _sigmaf_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);
+  if (_f980f_2_1525Hyp4 || _f1500f_2_1525Hyp4 || _sigmaf_2_1525Hyp4) _massVec.push_back(paramEnum2K2PiGam::f_2_1525);
 
   // fill all other resonances
-  if (_sigmaf1370Hyp4){
+  if (_sigmaf1370Hyp4 || _sigmaf_2_1525Hyp4 || _sigmaf_2_1950Hyp4){
     _massVecRemain.push_back(paramEnum2K2PiGam::sigma);
   }
 
diff --git a/Examples/Psi2STo2K2PiGam/Hyp4Lh.hh b/Examples/Psi2STo2K2PiGam/Hyp4Lh.hh
index 9963c730..4643ca2e 100644
--- a/Examples/Psi2STo2K2PiGam/Hyp4Lh.hh
+++ b/Examples/Psi2STo2K2PiGam/Hyp4Lh.hh
@@ -62,6 +62,8 @@ protected:
   bool _f1500f_2_1525Hyp4;
   bool _f1710f_2_1430Hyp4;
   bool _f1710f_2_1950Hyp4;
+  bool _sigmaf_2_1525Hyp4;
+  bool _sigmaf_2_1950Hyp4;
   bool _doHyp4;
   virtual complex<double> chi0DecAmps(const param2K2PiGam& theParamVal, Psi2STo2K2PiGamData::Psi2STo2K2PiGamEvtData* theData);
   virtual bool equalChic0DecParams();
diff --git a/Examples/Psi2STo2K2PiGam/Mpsi2STo2K2PiGamTestApp.cc b/Examples/Psi2STo2K2PiGam/Mpsi2STo2K2PiGamTestApp.cc
index e18e4fda..b0035afa 100644
--- a/Examples/Psi2STo2K2PiGam/Mpsi2STo2K2PiGamTestApp.cc
+++ b/Examples/Psi2STo2K2PiGam/Mpsi2STo2K2PiGamTestApp.cc
@@ -173,6 +173,8 @@ int main(int __argc,char *__argv[]){
   hypMap["f1710f_2_1430Hyp4"]=true;
   hypMap["f1710f_2_1950Hyp4"]=true;
   hypMap["sigmaf1370Hyp4"]=true;
+  hypMap["sigmaf_2_1525Hyp4"]=true;
+  hypMap["sigmaf_2_1950Hyp4"]=true;
   hypMap["doHyp5"]=true;
   hypMap["K_0_2400KHyp5"]=true;
   hypMap["K_0_2400KTof_0_1710Hyp5"]=true;
-- 
GitLab