Skip to content
Snippets Groups Projects
Commit 908bd028 authored by Bertram Kopf's avatar Bertram Kopf
Browse files

added f1 decay modes in JpsiGamEtaPiPi

parent 4cc69257
No related branches found
No related tags found
No related merge requests found
......@@ -41,5 +41,8 @@ void JpsiGamEtaPiPiFitParams::initialize(){
_jpclsMap[paramEnumJpsiGamEtaPiPi::Eta2Tof0_980Eta]=theStates.Eta2Tof0EtaStates();
_jpclsMap[paramEnumJpsiGamEtaPiPi::F1ToPiPiEta]=theStates.F1Toa0PiStates();
_jpclsMap[paramEnumJpsiGamEtaPiPi::F1ToA980Pi]=theStates.F1Toa0PiStates();
_jpclsMap[paramEnumJpsiGamEtaPiPi::F1ToA2_1320Pi]=theStates.F1Toa2PiStates();
_jpclsMap[paramEnumJpsiGamEtaPiPi::F1ToSigmaEta]=theStates.F1Tof0EtaStates();
_jpclsMap[paramEnumJpsiGamEtaPiPi::F1Tof0_980Eta]=theStates.F1Tof0EtaStates();
}
......@@ -28,7 +28,7 @@ struct paramEnumJpsiGamEtaPiPi{
enum { PsiToEtaGamma=0, PsiToEta2Gamma, PsiToF1Gamma,
EtaToPiPiEta, EtaToA980Pi, EtaToA2_1320Pi, EtaToSigmaEta, EtaTof0_980Eta,
Eta2ToPiPiEta, Eta2ToA980Pi, Eta2ToA2_1320Pi, Eta2ToSigmaEta, Eta2Tof0_980Eta,
F1ToPiPiEta, F1ToA980Pi, nAmps,
F1ToPiPiEta, F1ToA980Pi, F1ToA2_1320Pi, F1ToSigmaEta, F1Tof0_980Eta, nAmps,
a0_980=nAmps, a2_1320, sigma, f0_980, nMasses,
a0_980gPiEta=nMasses, a0_980gKK, f0_980gPiPi, f0_980gKK, ngFactors,
phaseSpace=ngFactors, nOthers };
......@@ -39,7 +39,7 @@ struct paramEnumJpsiGamEtaPiPi{
={"PsiToEtaGamma", "PsiToEta2Gamma", "PsiToF1Gamma",
"EtaToPiPiEta", "EtaToA980Pi", "EtaToA2_1320Pi", "EtaToSigmaEta", "EtaTof0_980Eta",
"Eta2ToPiPiEta", "Eta2ToA980Pi", "Eta2ToA2_1320Pi", "Eta2ToSigmaEta", "Eta2Tof0_980Eta",
"F1ToPiPiEta","F1ToA980Pi",
"F1ToPiPiEta","F1ToA980Pi", "F1ToA2_1320Pi", "F1ToSigmaEta", "F1Tof0_980Eta",
"a0_980","a2_1320","sigma","f0_980",
"a0_980gPiEta", "a0_980gKK","f0_980gPiPi", "f0_980gKK",
"phaseSpace"};
......
......@@ -27,6 +27,9 @@ JpsiGamEtaPiPiProdLh::JpsiGamEtaPiPiProdLh(boost::shared_ptr<const EvtDataBaseLi
,_eta2Tof0_980EtaHyp(false)
,_f1ToPiPiEtaHyp(false)
,_f1Toa980PiHyp(false)
,_f1Toa2_1320PiHyp(false)
,_f1ToSigmaEtaHyp(false)
,_f1Tof0_980EtaHyp(false)
,_usePhasespace(false)
,_massPi0(0.1349766)
,_massKplus(0.493677)
......@@ -54,6 +57,9 @@ JpsiGamEtaPiPiProdLh::JpsiGamEtaPiPiProdLh( boost::shared_ptr<AbsLh> theLhPtr, c
,_eta2Tof0_980EtaHyp(false)
,_f1ToPiPiEtaHyp(false)
,_f1Toa980PiHyp(false)
,_f1Toa2_1320PiHyp(false)
,_f1ToSigmaEtaHyp(false)
,_f1Tof0_980EtaHyp(false)
,_usePhasespace(false)
,_massPi0(0.1349766)
,_massKplus(0.493677)
......@@ -197,7 +203,7 @@ double JpsiGamEtaPiPiProdLh::calcEvtIntensity(EvtData* theData, fitParams& thePa
}
if(_f1ToPiPiEtaHyp || _f1Toa980PiHyp){
if(_f1ToPiPiEtaHyp || _f1Toa980PiHyp || _f1ToSigmaEtaHyp || _f1ToSigmaEtaHyp){
std::map< boost::shared_ptr<const JPCLS>, double, pawian::Collection::SharedPtrLess > PsiTof1GamMag=theParamVal.Mags[paramEnumJpsiGamEtaPiPi::PsiToF1Gamma];
std::map< boost::shared_ptr<const JPCLS>, double, pawian::Collection::SharedPtrLess > PsiTof1GamPhi=theParamVal.Phis[paramEnumJpsiGamEtaPiPi::PsiToF1Gamma];
......@@ -249,6 +255,79 @@ double JpsiGamEtaPiPiProdLh::calcEvtIntensity(EvtData* theData, fitParams& thePa
}
if(_f1Toa2_1320PiHyp){
std::map< boost::shared_ptr<const JPCLS>, double, pawian::Collection::SharedPtrLess > f1ToA2_1320PiMag=theParamVal.Mags[paramEnumJpsiGamEtaPiPi::F1ToA2_1320Pi];
std::map< boost::shared_ptr<const JPCLS>, double, pawian::Collection::SharedPtrLess > f1ToA2_1320PiPhi=theParamVal.Phis[paramEnumJpsiGamEtaPiPi::F1ToA2_1320Pi];
double a2_1320Mass=theParamVal.Masses[paramEnumJpsiGamEtaPiPi::a2_1320];
double a2_1320Width=theParamVal.Widths[paramEnumJpsiGamEtaPiPi::a2_1320];
Vector4<double > p4EtaPiplus(theData->FourVecs[enumJpsiGamEtaPiPiData::V4_EtaPip_HeliPsi].E(),
theData->FourVecs[enumJpsiGamEtaPiPiData::V4_EtaPip_HeliPsi].Px(),
theData->FourVecs[enumJpsiGamEtaPiPiData::V4_EtaPip_HeliPsi].Py(),
theData->FourVecs[enumJpsiGamEtaPiPiData::V4_EtaPip_HeliPsi].Pz());
Vector4<double > p4EtaPiminus(theData->FourVecs[enumJpsiGamEtaPiPiData::V4_EtaPim_HeliPsi].E(),
theData->FourVecs[enumJpsiGamEtaPiPiData::V4_EtaPim_HeliPsi].Px(),
theData->FourVecs[enumJpsiGamEtaPiPiData::V4_EtaPim_HeliPsi].Py(),
theData->FourVecs[enumJpsiGamEtaPiPiData::V4_EtaPim_HeliPsi].Pz());
complex<double> a2_1320PlusBW=BreitWigner(p4EtaPiplus, a2_1320Mass, a2_1320Width);
complex<double> a2_1320MinusBW=BreitWigner(p4EtaPiminus, a2_1320Mass, a2_1320Width);
for (Spin helif1=-1; helif1<=1; helif1++){
TmpDecAmp[helif1]+=XToAPiAmp(1, helif1, 2, theData, f1ToA2_1320PiMag, f1ToA2_1320PiPhi, a2_1320PlusBW, a2_1320MinusBW);
}
}
if(_f1ToSigmaEtaHyp){
std::map< boost::shared_ptr<const JPCLS>, double, pawian::Collection::SharedPtrLess > f1ToSigmaEtaMag=theParamVal.Mags[paramEnumJpsiGamEtaPiPi::F1ToSigmaEta];
std::map< boost::shared_ptr<const JPCLS>, double, pawian::Collection::SharedPtrLess > f1ToSigmaEtaPhi=theParamVal.Phis[paramEnumJpsiGamEtaPiPi::F1ToSigmaEta];
double sigmaMass=theParamVal.Masses[paramEnumJpsiGamEtaPiPi::sigma];
double sigmaWidth=theParamVal.Widths[paramEnumJpsiGamEtaPiPi::sigma];
Vector4<double > p4PiplusPiminus(theData->FourVecs[enumJpsiGamEtaPiPiData::V4_PipPim_HeliPsi].E(),
theData->FourVecs[enumJpsiGamEtaPiPiData::V4_PipPim_HeliPsi].Px(),
theData->FourVecs[enumJpsiGamEtaPiPiData::V4_PipPim_HeliPsi].Py(),
theData->FourVecs[enumJpsiGamEtaPiPiData::V4_PipPim_HeliPsi].Pz());
complex<double> dynamicFct = BreitWigner(p4PiplusPiminus, sigmaMass, sigmaWidth);
for (Spin helif1=-1; helif1<=1; helif1++){
TmpDecAmp[helif1] += XToEtaFAmp( 1, helif1, 0, theData, f1ToSigmaEtaMag, f1ToSigmaEtaPhi, dynamicFct);
}
}
if(_f1Tof0_980EtaHyp){
std::map< boost::shared_ptr<const JPCLS>, double, pawian::Collection::SharedPtrLess > f1Tof0_980EtaMag=theParamVal.Mags[paramEnumJpsiGamEtaPiPi::F1Tof0_980Eta];
std::map< boost::shared_ptr<const JPCLS>, double, pawian::Collection::SharedPtrLess > f1Tof0_980EtaPhi=theParamVal.Phis[paramEnumJpsiGamEtaPiPi::F1Tof0_980Eta];
double f0_980Mass=theParamVal.Masses[paramEnumJpsiGamEtaPiPi::f0_980];
double f0_980gPiPi=theParamVal.gFactors[paramEnumJpsiGamEtaPiPi::f0_980gPiPi];
double f0_980gKK=theParamVal.gFactors[paramEnumJpsiGamEtaPiPi::f0_980gKK];
Vector4<double > p4PiplusPiminus(theData->FourVecs[enumJpsiGamEtaPiPiData::V4_PipPim_HeliPsi].E(),
theData->FourVecs[enumJpsiGamEtaPiPiData::V4_PipPim_HeliPsi].Px(),
theData->FourVecs[enumJpsiGamEtaPiPiData::V4_PipPim_HeliPsi].Py(),
theData->FourVecs[enumJpsiGamEtaPiPiData::V4_PipPim_HeliPsi].Pz());
complex<double> dynamicFct=Flatte(p4PiplusPiminus, _decPairPiPi, _decPairKK, f0_980Mass, f0_980gPiPi, f0_980gKK);
for (Spin helif1=-1; helif1<=1; helif1++){
TmpDecAmp[helif1] += XToEtaFAmp(1, helif1, 0, theData, f1Tof0_980EtaMag, f1Tof0_980EtaPhi, dynamicFct);
}
}
for (Spin helf1=-1; helf1<2; helf1++){
JmpGmp+=JpGpTmpMap[helf1]*TmpDecAmp[helf1];
JmpGmm+=JpGmTmpMap[helf1]*TmpDecAmp[helf1];
......@@ -621,7 +700,7 @@ void JpsiGamEtaPiPiProdLh::getDefaultParams(fitParams& fitVal, fitParams& fitErr
if(_f1ToPiPiEtaHyp || _f1Toa980PiHyp){
if(_f1ToPiPiEtaHyp || _f1Toa980PiHyp|| _f1Toa2_1320PiHyp || _f1ToSigmaEtaHyp || _f1Tof0_980EtaHyp){
theAmpMap[paramEnumJpsiGamEtaPiPi::PsiToF1Gamma] = theFitParams.jpclsVec(paramEnumJpsiGamEtaPiPi::PsiToF1Gamma);
if(_f1ToPiPiEtaHyp){
......@@ -631,6 +710,18 @@ void JpsiGamEtaPiPiProdLh::getDefaultParams(fitParams& fitVal, fitParams& fitErr
if (_f1Toa980PiHyp){
theAmpMap[paramEnumJpsiGamEtaPiPi::F1ToA980Pi] = theFitParams.jpclsVec(paramEnumJpsiGamEtaPiPi::F1ToA980Pi);
}
if(_f1Toa2_1320PiHyp){
theAmpMap[paramEnumJpsiGamEtaPiPi::F1ToA2_1320Pi] = theFitParams.jpclsVec(paramEnumJpsiGamEtaPiPi::F1ToA2_1320Pi);
}
if(_f1ToSigmaEtaHyp){
theAmpMap[paramEnumJpsiGamEtaPiPi::F1ToSigmaEta] = theFitParams.jpclsVec(paramEnumJpsiGamEtaPiPi::F1ToSigmaEta);
}
if(_f1Tof0_980EtaHyp){
theAmpMap[paramEnumJpsiGamEtaPiPi::F1Tof0_980Eta] = theFitParams.jpclsVec(paramEnumJpsiGamEtaPiPi::F1Tof0_980Eta);
}
}
......@@ -667,7 +758,7 @@ void JpsiGamEtaPiPiProdLh::getDefaultParams(fitParams& fitVal, fitParams& fitErr
fitErr.gFactors[paramEnumJpsiGamEtaPiPi::a0_980gKK]=0.06;
}
if(_etaTof0_980EtaHyp || _eta2Tof0_980EtaHyp){
if(_etaTof0_980EtaHyp || _eta2Tof0_980EtaHyp || _f1Tof0_980EtaHyp){
fitVal.Masses[paramEnumJpsiGamEtaPiPi::f0_980]=0.98;
fitErr.Masses[paramEnumJpsiGamEtaPiPi::f0_980]=0.03;
fitVal.gFactors[paramEnumJpsiGamEtaPiPi::f0_980gPiPi] = 0.7;
......@@ -676,14 +767,14 @@ void JpsiGamEtaPiPiProdLh::getDefaultParams(fitParams& fitVal, fitParams& fitErr
fitErr.gFactors[paramEnumJpsiGamEtaPiPi::f0_980gKK]=0.06;
}
if(_etaToSigmaEtaHyp || _eta2ToSigmaEtaHyp){
if(_etaToSigmaEtaHyp || _eta2ToSigmaEtaHyp || _f1ToSigmaEtaHyp){
fitVal.Masses[paramEnumJpsiGamEtaPiPi::sigma]=0.5;
fitErr.Masses[paramEnumJpsiGamEtaPiPi::sigma]=0.05;
fitVal.Widths[paramEnumJpsiGamEtaPiPi::sigma]=0.4;
fitErr.Widths[paramEnumJpsiGamEtaPiPi::sigma]=0.08;
}
if(_etaToa2_1320PiHyp){
if(_etaToa2_1320PiHyp || _eta2Toa2_1320PiHyp || _f1Toa2_1320PiHyp){
fitVal.Masses[paramEnumJpsiGamEtaPiPi::a2_1320]=1.32;
fitErr.Masses[paramEnumJpsiGamEtaPiPi::a2_1320]=0.02;
fitVal.Widths[paramEnumJpsiGamEtaPiPi::a2_1320]=0.1;
......@@ -740,6 +831,15 @@ JpsiGamEtaPiPiProdLh::initializeHypothesisMap( const std::map<const std::string,
theKey="f1Toa980PiHyp";
setHyps( hypMap, _f1Toa980PiHyp, theKey);
theKey="f1Toa2_1320PiHyp";
setHyps( hypMap, _f1Toa2_1320PiHyp, theKey);
theKey="f1ToSigmaEtaHyp";
setHyps( hypMap, _f1ToSigmaEtaHyp, theKey);
theKey="f1Tof0_980EtaHyp";
setHyps( hypMap, _f1Tof0_980EtaHyp, theKey);
theKey="usePhasespace";
setHyps( hypMap, _usePhasespace, theKey);
......
......@@ -91,6 +91,9 @@ protected:
bool _eta2Tof0_980EtaHyp;
bool _f1ToPiPiEtaHyp;
bool _f1Toa980PiHyp;
bool _f1Toa2_1320PiHyp;
bool _f1ToSigmaEtaHyp;
bool _f1Tof0_980EtaHyp;
bool _usePhasespace;
......
......@@ -25,6 +25,8 @@ JpsiGamEtaPiPiStates::JpsiGamEtaPiPiStates() :
fillJPCLS(_etaJPC, _a2JPC, _piJPC,_JPCLS_EtaToa2Pi);
fillJPCLS(_eta2JPC, _a2JPC, _piJPC,_JPCLS_Eta2Toa2Pi);
fillJPCLS(_eta2JPC, _f0JPC, _etaJPC,_JPCLS_Eta2Tof0Eta);
fillJPCLS(_f1JPC, _a2JPC, _piJPC, _JPCLS_F1Toa2Pi);
fillJPCLS(_f1JPC, _f0JPC, _etaJPC, _JPCLS_F1Tof0Eta);
}
JpsiGamEtaPiPiStates::~JpsiGamEtaPiPiStates()
......@@ -55,7 +57,13 @@ void JpsiGamEtaPiPiStates::print(std::ostream& os) const
printDecayJPCLS(os, _JPCLS_Eta2Tof0Eta );
os << "*** f1 -> a0 pi: LS combinations for the decay *** "<< std::endl;
printDecayJPCLS(os, _JPCLS_F1Toa0Pi );
printDecayJPCLS(os, _JPCLS_F1Toa0Pi );
os << "*** f1 -> a2 pi: LS combinations for the decay *** "<< std::endl;
printDecayJPCLS(os, _JPCLS_F1Toa2Pi );
os << "*** f1 -> f0 eta: LS combinations for the decay *** "<< std::endl;
printDecayJPCLS(os, _JPCLS_F1Tof0Eta );
}
......@@ -34,7 +34,9 @@ public:
std::vector< boost::shared_ptr<const JPCLS> > Eta2Toa2PiStates() const {return _JPCLS_Eta2Toa2Pi;}
std::vector< boost::shared_ptr<const JPCLS> > Eta2Tof0EtaStates() const {return _JPCLS_Eta2Tof0Eta;}
std::vector< boost::shared_ptr<const JPCLS> > F1Toa0PiStates() const {return _JPCLS_F1Toa0Pi;}
std::vector< boost::shared_ptr<const JPCLS> > F1Tof0EtaStates() const {return _JPCLS_F1Tof0Eta;}
std::vector< boost::shared_ptr<const JPCLS> > F1Toa2PiStates() const {return _JPCLS_F1Toa2Pi;}
virtual void print(std::ostream& os) const;
protected:
......@@ -57,7 +59,9 @@ private:
std::vector< boost::shared_ptr<const JPCLS> > _JPCLS_EtaToa2Pi;
std::vector< boost::shared_ptr<const JPCLS> > _JPCLS_Eta2Toa0Pi;
std::vector< boost::shared_ptr<const JPCLS> > _JPCLS_Eta2Toa2Pi;
std::vector< boost::shared_ptr<const JPCLS> > _JPCLS_Eta2Tof0Eta;
std::vector< boost::shared_ptr<const JPCLS> > _JPCLS_Eta2Tof0Eta;
std::vector< boost::shared_ptr<const JPCLS> > _JPCLS_F1Tof0Eta;
std::vector< boost::shared_ptr<const JPCLS> > _JPCLS_F1Toa2Pi;
};
#endif
......@@ -165,8 +165,10 @@ int main(int __argc,char *__argv[]){
hypMap["eta2Tof0_980EtaHyp"] =false;
hypMap["f1ToPiPiEtaHyp"] =false;
hypMap["f1Toa980PiHyp"] =false;
hypMap["f1Toa2_1320PiHyp"] =false;
hypMap["f1ToSigmaEtaHyp"] =false;
hypMap["f1Tof0_980EtaHyp"] =false;
hypMap["usePhasespace"]=false;
const std::vector<std::string> enabledHyps=theAppParams.enabledHyps();
std::vector<std::string>::const_iterator itStr;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment