From 8592a9c0d4666736dc4945415140fda8fce5d3b4 Mon Sep 17 00:00:00 2001
From: Bertram Kopf <bertram@pc14.(none)>
Date: Tue, 31 Jan 2012 21:08:41 +0100
Subject: [PATCH] Psi2STo2K2PiGam: added ChiToPi1800Pi0ToK892K

---
 .../Psi2STo2K2PiGam/AbsPsi2STo2K2PiGamLh.cc   | 58 +++++++++++++++++++
 .../Psi2STo2K2PiGam/AbsPsi2STo2K2PiGamLh.hh   |  4 +-
 Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.cc |  2 +
 Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.hh |  5 +-
 Examples/Psi2STo2K2PiGam/Hyp9Lh.cc            | 56 +++++++++++++++---
 Examples/Psi2STo2K2PiGam/Hyp9Lh.hh            |  1 +
 .../Mpsi2STo2K2PiGamTestApp.cc                |  1 +
 .../Psi2STo2K2PiGam/Psi2STo2K2PiGamStates.cc  |  8 +++
 .../Psi2STo2K2PiGam/Psi2STo2K2PiGamStates.hh  |  2 +
 9 files changed, 125 insertions(+), 12 deletions(-)

diff --git a/Examples/Psi2STo2K2PiGam/AbsPsi2STo2K2PiGamLh.cc b/Examples/Psi2STo2K2PiGam/AbsPsi2STo2K2PiGamLh.cc
index 680d7a46..e1f64c7f 100644
--- a/Examples/Psi2STo2K2PiGam/AbsPsi2STo2K2PiGamLh.cc
+++ b/Examples/Psi2STo2K2PiGam/AbsPsi2STo2K2PiGamLh.cc
@@ -1112,6 +1112,64 @@ complex<double> AbsPsi2STo2K2PiGamLh::chiToPi2Pi0Tof2PiAmp(Psi2STo2K2PiGamData::
   return result;
 }
 
+complex<double>  AbsPsi2STo2K2PiGamLh::chiToPi0PiToKstarKAmp(Psi2STo2K2PiGamData::Psi2STo2K2PiGamEvtData* theData, std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess >& ChiToPi_0_Dec, double Pi_0_Mass, double Pi_0_Width, double Kstar_Mass, double Kstar_Width){
+
+  Vector4<double> KKPi0(theData->KKPi0_HeliChic0_4V.E(), theData->KKPi0_HeliChic0_4V.Px(), 
+		     theData->KKPi0_HeliChic0_4V.Py(), theData->KKPi0_HeliChic0_4V.Pz());
+
+  Vector4<double> KKPi1(theData->KKPi1_HeliChic0_4V.E(), theData->KKPi1_HeliChic0_4V.Px(), 
+		     theData->KKPi1_HeliChic0_4V.Py(), theData->KKPi1_HeliChic0_4V.Pz());
+
+  Vector4<double> Kstarp_pi0(theData->KpPi0_HeliKKPi0_4V.E(), theData->KpPi0_HeliKKPi0_4V.Px(), 
+		     theData->KpPi0_HeliKKPi0_4V.Py(), theData->KpPi0_HeliKKPi0_4V.Pz());
+
+  Vector4<double> Kstarp_pi1(theData->KpPi1_HeliKKPi1_4V.E(), theData->KpPi1_HeliKKPi1_4V.Px(), 
+		     theData->KpPi1_HeliKKPi1_4V.Py(), theData->KpPi1_HeliKKPi1_4V.Pz());
+
+  Vector4<double> Kstarm_pi0(theData->KmPi0_HeliKKPi0_4V.E(), theData->KmPi0_HeliKKPi0_4V.Px(), 
+		     theData->KmPi0_HeliKKPi0_4V.Py(), theData->KmPi0_HeliKKPi0_4V.Pz());
+
+  Vector4<double> Kstarm_pi1(theData->KmPi1_HeliKKPi1_4V.E(), theData->KmPi1_HeliKKPi1_4V.Px(), 
+		     theData->KmPi1_HeliKKPi1_4V.Py(), theData->KmPi1_HeliKKPi1_4V.Pz());
+
+  complex<double> result(0.,0.);
+  
+  std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess >::iterator itDec;
+
+  for ( itDec=ChiToPi_0_Dec.begin(); itDec!=ChiToPi_0_Dec.end(); ++itDec){
+
+    boost::shared_ptr<const JPCLS> theState=itDec->first;
+    double theMagDec=itDec->second.first;
+    double thePhiDec=itDec->second.second;
+    complex<double> expiphiDec(cos(thePhiDec), sin(thePhiDec));
+
+    complex<double> currentResultDec(0.,0.);
+
+    complex<double> tmpDec(0.,0.);
+    
+    tmpDec+=sqrt(2.*theState->L+1)*Clebsch(theState->L, 0., theState->S, 0, theState->J, 0)*Clebsch(1,0, 0, 0, theState->S, 0)
+      *(( BreitWigner(KKPi0, Pi_0_Mass, Pi_0_Width)
+	  *( BreitWignerBlattW(Kstarp_pi0, 0.493677, 0.1349766, Kstar_Mass, Kstar_Width,1)
+	     *theData->DfKst1pToKpPi0ViaKKPi0[1][0][0]
+	     +BreitWignerBlattW(Kstarm_pi0, 0.493677, 0.1349766, Kstar_Mass, Kstar_Width,1)
+	     *theData->DfKst1mToKmPi0ViaKKPi0[1][0][0]))
+	+( BreitWigner(KKPi1, Pi_0_Mass, Pi_0_Width)
+	   *( BreitWignerBlattW(Kstarp_pi1, 0.493677, 0.1349766, Kstar_Mass, Kstar_Width,1)
+	      *theData->DfKst1pToKpPi1ViaKKPi1[1][0][0] 
+	      +BreitWignerBlattW(Kstarm_pi1, 0.493677, 0.1349766, Kstar_Mass, Kstar_Width,1)
+	      *theData->DfKst1mToKmPi1ViaKKPi1[1][0][0] ))
+	);
+    
+    
+    currentResultDec+=tmpDec*theMagDec*expiphiDec;
+    
+    result+=theMagDec*expiphiDec*currentResultDec;
+  }
+
+  return result;
+}
+
+
 complex<double>  AbsPsi2STo2K2PiGamLh::chiToPi2Pi0ToKstarKAmp(Psi2STo2K2PiGamData::Psi2STo2K2PiGamEvtData* theData, std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess >& ChiToPi_2_Prod, std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess >& Pi_2_Dec, double Pi_2_Mass, double Pi_2_Width, double Kstar_Mass, double Kstar_Width){
 
   Vector4<double> KKPi0(theData->KKPi0_HeliChic0_4V.E(), theData->KKPi0_HeliChic0_4V.Px(), 
diff --git a/Examples/Psi2STo2K2PiGam/AbsPsi2STo2K2PiGamLh.hh b/Examples/Psi2STo2K2PiGam/AbsPsi2STo2K2PiGamLh.hh
index 93e0bed0..0f82074c 100644
--- a/Examples/Psi2STo2K2PiGam/AbsPsi2STo2K2PiGamLh.hh
+++ b/Examples/Psi2STo2K2PiGam/AbsPsi2STo2K2PiGamLh.hh
@@ -75,7 +75,7 @@ protected:
 
   virtual complex<double> chiTo2K_2_Amp(Psi2STo2K2PiGamData::Psi2STo2K2PiGamEvtData* theData, std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess >& ChiTo2K_2, double K_2_Mass, double K_2_Width);
 
-  virtual complex<double> chiToK0K2Amp(Psi2STo2K2PiGamData::Psi2STo2K2PiGamEvtData* theData, std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess >& ChiToK0K2, double K0Mass, double K0Width,  double K2Mass, double K2Width);
+ virtual complex<double> chiToK0K2Amp(Psi2STo2K2PiGamData::Psi2STo2K2PiGamEvtData* theData, std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess >& ChiToK0K2, double K0Mass, double K0Width,  double K2Mass, double K2Width);
 
 //   virtual  complex<double> chiToK1ToK1piAmp(Psi2STo2K2PiGamData::Psi2STo2K2PiGamEvtData* theData, std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess >& K1ToK1dPi, double K1Mass, double K1Width, double K1dMass, double K1dWidth);
 
@@ -116,6 +116,8 @@ protected:
 
   virtual complex<double> chiToPi2Pi0Tof2PiAmp(Psi2STo2K2PiGamData::Psi2STo2K2PiGamEvtData* theData, std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess >& ChiToPi_2_Prod, std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess >& Pi_2_Dec, double Pi_2_Mass, double Pi_2_Width, double f_2_Mass, double f_2_Width);
 
+  virtual complex<double>  chiToPi0PiToKstarKAmp(Psi2STo2K2PiGamData::Psi2STo2K2PiGamEvtData* theData, std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess >& ChiToPi_0_Prod, double Pi_0_Mass, double Pi_0_Width, double Kstar_Mass, double Kstar_Width);
+
   virtual complex<double> chiToPi2Pi0ToKstarKAmp(Psi2STo2K2PiGamData::Psi2STo2K2PiGamEvtData* theData, std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess >& ChiToPi_2_Prod, std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess >& Pi_2_Dec, double Pi_2_Mass, double Pi_2_Width, double Kstar_Mass, double Kstar_Width);
 
   virtual complex<double> chiToPi0Pi0Tof980kkAmp(Psi2STo2K2PiGamData::Psi2STo2K2PiGamEvtData* theData, std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess >& ChiToPi0Pi0Amp, double f980_Mass, double f980_gKK, double f980_gPiPi, double Pi_0_Mass, double Pi_0_Width);
diff --git a/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.cc b/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.cc
index a3e5a0f9..701ac49a 100644
--- a/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.cc
+++ b/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.cc
@@ -76,6 +76,7 @@ FitParams2K2PiGam::FitParams2K2PiGam()
   _jpclsMap[paramEnum2K2PiGam::ChiToPi1800Pi0Tof980]=theStates.ChiToPi0Pi0States();
   _jpclsMap[paramEnum2K2PiGam::ChiToPi1800Pi0Tof1370]=theStates.ChiToPi0Pi0States();
   _jpclsMap[paramEnum2K2PiGam::ChiToPi1800Pi0ToKappa]=theStates.ChiToPi0Pi0States();
+  _jpclsMap[paramEnum2K2PiGam::ChiToPi1800Pi0ToK892K]=theStates.Pi0pToKstKStates();
   _jpclsMap[paramEnum2K2PiGam::ChiToPi_2_2285Pi]=theStates.ChiToPi_2PiStates();
   _jpclsMap[paramEnum2K2PiGam::Pi_2_2285Tof1700Pi]=theStates.Pi_2Tof0PiStates();
   _jpclsMap[paramEnum2K2PiGam::ChiToK_2_1770K]=theStates.ChiToK2mK0mStates();
@@ -167,6 +168,7 @@ std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collecti
   else if (index==paramEnum2K2PiGam::ChiToPi1800Pi0Tof980) return params.ChiToPi1800Pi0Tof980;
   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::ChiToPi_2_2285Pi) return params.ChiToPi_2_2285Pi; 
   else if (index==paramEnum2K2PiGam::Pi_2_2285Tof1700Pi) return params.Pi_2_2285Tof1700Pi;
   else if (index==paramEnum2K2PiGam::ChiToK_2_1770K) return params.ChiToK_2_1770K;
diff --git a/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.hh b/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.hh
index bdccb525..4ef2bdfd 100644
--- a/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.hh
+++ b/Examples/Psi2STo2K2PiGam/FitParams2K2PiGam.hh
@@ -89,6 +89,7 @@ struct param2K2PiGam
   std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiToPi1800Pi0Tof980;
   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 > 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 > ChiToK_2_1770K;
@@ -145,7 +146,7 @@ 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, 
+	ChiToPi_2_1670Pi, Pi_2_1670Tof_2_1270Pi, Pi_2_1670ToK892K, ChiToPi1800Pi0Tof980, ChiToPi1800Pi0Tof1370, ChiToPi1800Pi0ToKappa, ChiToPi1800Pi0ToK892K, 
 	ChiToPi_2_2285Pi,Pi_2_2285Tof1700Pi, 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, 
@@ -170,7 +171,7 @@ 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",
+	"ChiToPi_2_1670Pi","Pi_2_1670Tof_2_1270Pi","Pi_2_1670ToK892K","ChiToPi1800Pi0Tof980","ChiToPi1800Pi0Tof1370","ChiToPi1800Pi0ToKappa","ChiToPi1800Pi0ToK892K",
 	"ChiToPi_2_2285Pi","Pi_2_2285Tof1700Pi","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", 
diff --git a/Examples/Psi2STo2K2PiGam/Hyp9Lh.cc b/Examples/Psi2STo2K2PiGam/Hyp9Lh.cc
index e1a8bb5c..04bfe726 100644
--- a/Examples/Psi2STo2K2PiGam/Hyp9Lh.cc
+++ b/Examples/Psi2STo2K2PiGam/Hyp9Lh.cc
@@ -14,6 +14,7 @@ Hyp9Lh::Hyp9Lh(boost::shared_ptr<const Psi2STo2K2PiGamEvtList> theEvtList, const
   ,_Pi1800Tof980PiHyp9(true)
   ,_Pi1800Tof1370PiHyp9(true)
   ,_Pi1800ToKappaKHyp9(true)
+  ,_Pi1800Pi0ToK892KHyp9(true)
   ,_Pi_2_2285Tof1710PiHyp9(true)
   ,_f980f_2_2300Hyp9(true)
   ,_f_2_2300sigmaHyp9(true)
@@ -31,6 +32,7 @@ Hyp9Lh::Hyp9Lh( boost::shared_ptr<AbsPsi2STo2K2PiGamLh> theLhPtr, const std::map
   ,_Pi1800Tof980PiHyp9(true)
   ,_Pi1800Tof1370PiHyp9(true)
   ,_Pi1800ToKappaKHyp9(true)
+  ,_Pi1800Pi0ToK892KHyp9(true)
   ,_Pi_2_2285Tof1710PiHyp9(true)
   ,_f980f_2_2300Hyp9(true)
   ,_f_2_2300sigmaHyp9(true)
@@ -109,6 +111,18 @@ complex<double> Hyp9Lh::chi0DecAmps(const param2K2PiGam& theParamVal, Psi2STo2K2
     result+=chiToPi0Pi0ToK0KAmp(theData, ChiToPi1800Pi0ToKappa, Pi1800Mass, Pi1800Width, KappaMass, KappaWidth);
   }
 
+  if(_Pi1800Pi0ToK892KHyp9){
+    std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > ChiToPi1800Pi0ToK892K=theParamVal.ChiToPi1800Pi0ToK892K;
+    double Pi1800Mass=theParamVal.BwPi1800.first;
+    double Pi1800Width=theParamVal.BwPi1800.second;
+    double K892Mass=theParamVal.BwK892.first;
+    double K892Width=theParamVal.BwK892.second;
+    
+    result+=chiToPi0PiToKstarKAmp(theData, ChiToPi1800Pi0ToK892K, Pi1800Mass, Pi1800Width, K892Mass, K892Width);
+
+  }
+
+
   if (_Pi_2_2285Tof1710PiHyp9){
     double Pi_2_2285Mass=theParamVal.BwPi_2_2285.first;
     double Pi_2_2285Width=theParamVal.BwPi_2_2285.second;
@@ -344,6 +358,18 @@ void Hyp9Lh::setUp(const std::map<const std::string, bool>& hypMap){
     exit(0);
   } 
 
+  iter= hypMap.find("Pi1800Pi0ToK892KHyp9");
+  if (iter !=hypMap.end()){
+    _Pi1800Pi0ToK892KHyp9= iter->second;
+    Info<< "hypothesis " << iter->first << "\t" << _Pi1800Pi0ToK892KHyp9 <<endmsg;
+    _hypMap[iter->first]= iter->second;
+  }
+  else{
+    Alert << "Pi1800Pi0ToK892KHyp9 not set!!!" <<endmsg;
+    exit(0);
+  } 
+
+
   iter= hypMap.find("Pi_2_2285Tof1710PiHyp9");
   
   if (iter !=hypMap.end()){
@@ -409,20 +435,32 @@ void Hyp9Lh::setUp(const std::map<const std::string, bool>& hypMap){
     }
   }
 
-  if (_Pi1800Tof980PiHyp9){
-    _ampVec.push_back(paramEnum2K2PiGam::ChiToPi1800Pi0Tof980);
+
+  if (_Pi1800Tof980PiHyp9 || _Pi1800Tof1370PiHyp9 || _Pi1800ToKappaKHyp9 || _Pi1800ToKappaKHyp9){
+
     _massVec.push_back(paramEnum2K2PiGam::Pi1800);
-  }
 
-  if (_Pi1800Tof1370PiHyp9){
-    _ampVec.push_back(paramEnum2K2PiGam::ChiToPi1800Pi0Tof1370);
-    _massVec.push_back(paramEnum2K2PiGam::f1360);
-  }
+    if (_Pi1800Tof980PiHyp9){
+      _ampVec.push_back(paramEnum2K2PiGam::ChiToPi1800Pi0Tof980);
+    }
+    
+    if (_Pi1800Tof1370PiHyp9){
+      _ampVec.push_back(paramEnum2K2PiGam::ChiToPi1800Pi0Tof1370);
+      _massVec.push_back(paramEnum2K2PiGam::f1360);
+    }
+    
+    
+    if(_Pi1800ToKappaKHyp9){
+      _ampVec.push_back(paramEnum2K2PiGam::ChiToPi1800Pi0ToKappa);
+    }
+
+    if (_Pi1800Pi0ToK892KHyp9){
+      _ampVec.push_back(paramEnum2K2PiGam::ChiToPi1800Pi0ToK892K);
+    }
 
-  if(_Pi1800ToKappaKHyp9){
-    _ampVec.push_back(paramEnum2K2PiGam::ChiToPi1800Pi0ToKappa);
   }
 
+
   if (_Pi_2_2285Tof1710PiHyp9){
     _ampVec.push_back(paramEnum2K2PiGam::ChiToPi_2_2285Pi);
     _ampVec.push_back(paramEnum2K2PiGam::Pi_2_2285Tof1700Pi);
diff --git a/Examples/Psi2STo2K2PiGam/Hyp9Lh.hh b/Examples/Psi2STo2K2PiGam/Hyp9Lh.hh
index 11e8b559..e3d9f108 100644
--- a/Examples/Psi2STo2K2PiGam/Hyp9Lh.hh
+++ b/Examples/Psi2STo2K2PiGam/Hyp9Lh.hh
@@ -55,6 +55,7 @@ protected:
   bool _Pi1800Tof980PiHyp9;
   bool _Pi1800Tof1370PiHyp9;
   bool _Pi1800ToKappaKHyp9;
+  bool _Pi1800Pi0ToK892KHyp9;
   bool _Pi_2_2285Tof1710PiHyp9;
   bool _f980f_2_2300Hyp9;
   bool _f_2_2300sigmaHyp9;
diff --git a/Examples/Psi2STo2K2PiGam/Mpsi2STo2K2PiGamTestApp.cc b/Examples/Psi2STo2K2PiGam/Mpsi2STo2K2PiGamTestApp.cc
index b5834737..8fc47458 100644
--- a/Examples/Psi2STo2K2PiGam/Mpsi2STo2K2PiGamTestApp.cc
+++ b/Examples/Psi2STo2K2PiGam/Mpsi2STo2K2PiGamTestApp.cc
@@ -182,6 +182,7 @@ int main(int __argc,char *__argv[]){
   hypMap["Pi1800Tof980PiHyp9"]=true;
   hypMap["Pi1800Tof1370PiHyp9"]=true;
   hypMap["Pi_2_2285Tof1710PiHyp9"]=true;
+  hypMap["Pi1800Pi0ToK892KHyp9"]=true;
   hypMap["f980f_2_2300Hyp9"]=true;
   hypMap["f_2_2300sigmaHyp9"]=true;
   hypMap["K_2_1770ToK_2_1430PiHyp9"]=true;
diff --git a/Examples/Psi2STo2K2PiGam/Psi2STo2K2PiGamStates.cc b/Examples/Psi2STo2K2PiGam/Psi2STo2K2PiGamStates.cc
index ee2d362e..07f93f54 100644
--- a/Examples/Psi2STo2K2PiGam/Psi2STo2K2PiGamStates.cc
+++ b/Examples/Psi2STo2K2PiGam/Psi2STo2K2PiGamStates.cc
@@ -85,6 +85,8 @@ Psi2STo2K2PiGamStates::Psi2STo2K2PiGamStates() :
 
  //LS combinations for the K1+ decay to f0 K
   fillJPCLS(_K1400JPC, _f0JPC, _kJPC, _K1pTof0KJPCLS);
+
+  fillJPCLS(_pi0JPC, _Kst1JPC, _pi0JPC, _Pi0pToKstKJPCLS);
 }
 
 Psi2STo2K2PiGamStates::~Psi2STo2K2PiGamStates()
@@ -250,6 +252,12 @@ void Psi2STo2K2PiGamStates::print(std::ostream& os) const
     os << "\n" << std::endl;
   }
 
+  os << "\n ***  LS combinations for the decay pi0 to K*1 K *** "<< std::endl;
+  for ( itJPCLS=_Pi0pToKstKJPCLS.begin(); itJPCLS!=_Pi0pToKstKJPCLS.end(); ++itJPCLS){
+    (*itJPCLS)->print(os);
+    os << "\n" << std::endl;
+  }
+
   os << "\n *** K+- *** "<< std::endl;
   _kJPC->print(os);
 
diff --git a/Examples/Psi2STo2K2PiGam/Psi2STo2K2PiGamStates.hh b/Examples/Psi2STo2K2PiGam/Psi2STo2K2PiGamStates.hh
index 1bb984a5..3c1d6e47 100644
--- a/Examples/Psi2STo2K2PiGam/Psi2STo2K2PiGamStates.hh
+++ b/Examples/Psi2STo2K2PiGam/Psi2STo2K2PiGamStates.hh
@@ -44,6 +44,7 @@ public:
   std::vector< boost::shared_ptr<const JPCLS> > ChiToK2mK0mStates() const {return _ChiToK2mK0mJPCLS;}
   std::vector< boost::shared_ptr<const JPCLS> > K2mToK2pPiStates() const {return _K2mToK2pPiJPCLS;}
   std::vector< boost::shared_ptr<const JPCLS> > K1pTof0KStates() const {return _K1pTof0KJPCLS;}
+  std::vector< boost::shared_ptr<const JPCLS> > Pi0pToKstKStates() const {return _Pi0pToKstKJPCLS;}
   void print(std::ostream& os) const; 
 
 protected:
@@ -87,6 +88,7 @@ private:
   std::vector< boost::shared_ptr<const JPCLS> > _Kst1JPCLS;
   std::vector< boost::shared_ptr<const JPCLS> > _Kst2JPCLS;
   std::vector< boost::shared_ptr<const JPCLS> > _f2JPCLS;
+  std::vector< boost::shared_ptr<const JPCLS> > _Pi0pToKstKJPCLS;
 
   void fillJPCLS(boost::shared_ptr<jpcRes>, boost::shared_ptr<jpcRes>, boost::shared_ptr<jpcRes>, std::vector< boost::shared_ptr<const JPCLS> >& ); 
 };
-- 
GitLab