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

added eta2 hyp in JpsiGamEtaPiPi

parent 18fed39d
No related branches found
No related tags found
No related merge requests found
......@@ -27,10 +27,14 @@ void JpsiGamEtaPiPiFitParams::initialize(){
theStates.print(std::cout);
_jpclsMap[paramEnumJpsiGamEtaPiPi::PsiToEtaGamma]=theStates.PsiToEtaGammaStates();
_jpclsMap[paramEnumJpsiGamEtaPiPi::PsiToEta2Gamma]=theStates.PsiToEta2GammaStates();
_jpclsMap[paramEnumJpsiGamEtaPiPi::PsiToF1Gamma]=theStates.PsiToF0GammaStates();
_jpclsMap[paramEnumJpsiGamEtaPiPi::EtaToPiPiEta]=theStates.EtaToa0PiStates();
_jpclsMap[paramEnumJpsiGamEtaPiPi::EtaToA980Pi]=theStates.EtaToa0PiStates();
_jpclsMap[paramEnumJpsiGamEtaPiPi::EtaToA2_1320Pi]=theStates.EtaToa2PiStates();
_jpclsMap[paramEnumJpsiGamEtaPiPi::Eta2ToPiPiEta]=theStates.Eta2Toa0PiStates();
_jpclsMap[paramEnumJpsiGamEtaPiPi::Eta2ToA980Pi]=theStates.Eta2Toa0PiStates();
_jpclsMap[paramEnumJpsiGamEtaPiPi::Eta2ToA2_1320Pi]=theStates.Eta2Toa2PiStates();
_jpclsMap[paramEnumJpsiGamEtaPiPi::F1ToPiPiEta]=theStates.F1Toa0PiStates();
_jpclsMap[paramEnumJpsiGamEtaPiPi::F1ToA980Pi]=theStates.F1Toa0PiStates();
}
......
......@@ -25,7 +25,8 @@ using namespace ROOT::Minuit2;
struct paramEnumJpsiGamEtaPiPi{
enum { PsiToEtaGamma=0, PsiToF1Gamma, EtaToPiPiEta, EtaToA980Pi, EtaToA2_1320Pi, F1ToPiPiEta, F1ToA980Pi, nAmps,
enum { PsiToEtaGamma=0, PsiToEta2Gamma, PsiToF1Gamma,
EtaToPiPiEta, EtaToA980Pi, EtaToA2_1320Pi, Eta2ToPiPiEta, Eta2ToA980Pi, Eta2ToA2_1320Pi, F1ToPiPiEta, F1ToA980Pi, nAmps,
a0_980=nAmps, a2_1320, nMasses,
a0_980gPiEta=nMasses, a0_980gKK, ngFactors,
phaseSpace=ngFactors, nOthers };
......@@ -33,7 +34,8 @@ struct paramEnumJpsiGamEtaPiPi{
static const std::string& name(unsigned int t)
{
static std::string fitName[paramEnumJpsiGamEtaPiPi::nOthers]
={"PsiToEtaGamma", "PsiToF1Gamma", "EtaToPiPiEta", "EtaToA980Pi", "EtaToA2_1320Pi", "F1ToPiPiEta","F1ToA980Pi",
={"PsiToEtaGamma", "PsiToEta2Gamma", "PsiToF1Gamma",
"EtaToPiPiEta", "EtaToA980Pi", "EtaToA2_1320Pi", "Eta2ToPiPiEta", "Eta2ToA980Pi", "Eta2ToA2_1320Pi", "F1ToPiPiEta","F1ToA980Pi",
"a0_980","a2_1320",
"a0_980gPiEta", "a0_980gKK",
"phaseSpace"};
......
......@@ -18,6 +18,9 @@ JpsiGamEtaPiPiProdLh::JpsiGamEtaPiPiProdLh(boost::shared_ptr<const EvtDataBaseLi
,_etaToPiPiEtaHyp(false)
,_etaToa980PiHyp(false)
,_etaToa2_1320PiHyp(false)
,_eta2ToPiPiEtaHyp(false)
,_eta2Toa980PiHyp(false)
,_eta2Toa2_1320PiHyp(false)
,_f1ToPiPiEtaHyp(false)
,_f1Toa980PiHyp(false)
,_usePhasespace(false)
......@@ -31,6 +34,9 @@ JpsiGamEtaPiPiProdLh::JpsiGamEtaPiPiProdLh( boost::shared_ptr<AbsLh> theLhPtr, c
,_etaToPiPiEtaHyp(false)
,_etaToa980PiHyp(false)
,_etaToa2_1320PiHyp(false)
,_eta2ToPiPiEtaHyp(false)
,_eta2Toa980PiHyp(false)
,_eta2Toa2_1320PiHyp(false)
,_f1ToPiPiEtaHyp(false)
,_f1Toa980PiHyp(false)
,_usePhasespace(false)
......@@ -128,7 +134,6 @@ double JpsiGamEtaPiPiProdLh::calcEvtIntensity(EvtData* theData, fitParams& thePa
}
// std::map<int, map<Spin,map<Spin,map<Spin,complex<double> > > > > f1Amps;
if(_f1ToPiPiEtaHyp || _f1Toa980PiHyp){
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];
......@@ -189,6 +194,105 @@ double JpsiGamEtaPiPiProdLh::calcEvtIntensity(EvtData* theData, fitParams& thePa
}
}
if(_eta2ToPiPiEtaHyp || _eta2Toa980PiHyp || _eta2Toa2_1320PiHyp){
std::map< boost::shared_ptr<const JPCLS>, double, pawian::Collection::SharedPtrLess > PsiToEta2GamMag=theParamVal.Mags[paramEnumJpsiGamEtaPiPi::PsiToEta2Gamma];
std::map< boost::shared_ptr<const JPCLS>, double, pawian::Collection::SharedPtrLess > PsiToEta2GamPhi=theParamVal.Phis[paramEnumJpsiGamEtaPiPi::PsiToEta2Gamma];
std::map<Spin,complex<double> > JpGpTmpMap;
std::map<Spin,complex<double> > JpGmTmpMap;
std::map<Spin,complex<double> > JmGpTmpMap;
std::map<Spin,complex<double> > JmGmTmpMap;
std::map<Spin,complex<double> > TmpDecAmp;
for (Spin heliEta2=-2; heliEta2<=2; heliEta2++){
JpGpTmpMap[heliEta2]= psiToXGammaAmp(1, 2, heliEta2, 1, theData, PsiToEta2GamMag, PsiToEta2GamPhi);
JpGmTmpMap[heliEta2]= psiToXGammaAmp(1, 2, heliEta2, -1, theData, PsiToEta2GamMag, PsiToEta2GamPhi);
JmGpTmpMap[heliEta2]=psiToXGammaAmp(-1, 2, heliEta2, 1, theData, PsiToEta2GamMag, PsiToEta2GamPhi);
JmGmTmpMap[heliEta2]=psiToXGammaAmp(-1, 2, heliEta2, -1, theData, PsiToEta2GamMag, PsiToEta2GamPhi);
TmpDecAmp[heliEta2] = complex<double> (0.,0.);
}
if(_eta2ToPiPiEtaHyp){
std::map< boost::shared_ptr<const JPCLS>, double, pawian::Collection::SharedPtrLess > eta2ToPiPiEtaMag=theParamVal.Mags[paramEnumJpsiGamEtaPiPi::Eta2ToPiPiEta];
std::map< boost::shared_ptr<const JPCLS>, double, pawian::Collection::SharedPtrLess > eta2ToPiPiEtaPhi=theParamVal.Phis[paramEnumJpsiGamEtaPiPi::Eta2ToPiPiEta];
for (Spin heliEta2=-2; heliEta2<=2; heliEta2++){
TmpDecAmp[heliEta2]+=XToPiPiEtaAmp(2, heliEta2, theData, eta2ToPiPiEtaMag, eta2ToPiPiEtaPhi);
}
}
if(_eta2Toa980PiHyp){
std::map< boost::shared_ptr<const JPCLS>, double, pawian::Collection::SharedPtrLess > eta2ToA980PiMag=theParamVal.Mags[paramEnumJpsiGamEtaPiPi::Eta2ToA980Pi];
std::map< boost::shared_ptr<const JPCLS>, double, pawian::Collection::SharedPtrLess > eta2ToA980PiPhi=theParamVal.Phis[paramEnumJpsiGamEtaPiPi::Eta2ToA980Pi];
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> a980PlusFlatte=A980DecFlatte(theParamVal, p4EtaPiplus);
complex<double> a980MinusFlatte=A980DecFlatte(theParamVal, p4EtaPiminus);
for (Spin heliEta2=-2; heliEta2<=2; heliEta2++){
TmpDecAmp[heliEta2]+=XToAPiAmp(2, heliEta2, 0, theData, eta2ToA980PiMag, eta2ToA980PiPhi, a980PlusFlatte, a980MinusFlatte);
}
}
if(_eta2Toa2_1320PiHyp){
std::map< boost::shared_ptr<const JPCLS>, double, pawian::Collection::SharedPtrLess > eta2ToA2_1320PiMag=theParamVal.Mags[paramEnumJpsiGamEtaPiPi::Eta2ToA2_1320Pi];
std::map< boost::shared_ptr<const JPCLS>, double, pawian::Collection::SharedPtrLess > eta2ToA2_1320PiPhi=theParamVal.Phis[paramEnumJpsiGamEtaPiPi::Eta2ToA2_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 heliEta2=-2; heliEta2<=2; heliEta2++){
TmpDecAmp[heliEta2]+=XToAPiAmp(2, heliEta2, 2, theData, eta2ToA2_1320PiMag, eta2ToA2_1320PiPhi, a2_1320PlusBW, a2_1320MinusBW);
}
}
for (Spin heliEta2=-2; heliEta2<=2; heliEta2++){
JmpGmp+=JpGpTmpMap[heliEta2]*TmpDecAmp[heliEta2];
JmpGmm+=JpGmTmpMap[heliEta2]*TmpDecAmp[heliEta2];
JmmGmp+=JmGpTmpMap[heliEta2]*TmpDecAmp[heliEta2];
JmmGmm+=JmGmTmpMap[heliEta2]*TmpDecAmp[heliEta2];
}
}
result=norm(JmpGmp)+norm(JmpGmm)+norm(JmmGmp)+norm(JmmGmm);
......@@ -345,6 +449,25 @@ void JpsiGamEtaPiPiProdLh::getDefaultParams(fitParams& fitVal, fitParams& fitErr
}
}
if(_eta2ToPiPiEtaHyp || _eta2Toa980PiHyp || _eta2Toa2_1320PiHyp){
theAmpMap[paramEnumJpsiGamEtaPiPi::PsiToEta2Gamma] = theFitParams.jpclsVec(paramEnumJpsiGamEtaPiPi::PsiToEta2Gamma);
if(_eta2ToPiPiEtaHyp){
theAmpMap[paramEnumJpsiGamEtaPiPi::Eta2ToPiPiEta] = theFitParams.jpclsVec(paramEnumJpsiGamEtaPiPi::Eta2ToPiPiEta);
}
if (_eta2Toa980PiHyp){
theAmpMap[paramEnumJpsiGamEtaPiPi::Eta2ToA980Pi] = theFitParams.jpclsVec(paramEnumJpsiGamEtaPiPi::Eta2ToA980Pi);
}
if(_eta2Toa2_1320PiHyp){
theAmpMap[paramEnumJpsiGamEtaPiPi::Eta2ToA2_1320Pi] = theFitParams.jpclsVec(paramEnumJpsiGamEtaPiPi::Eta2ToA2_1320Pi);
}
}
if(_f1ToPiPiEtaHyp || _f1Toa980PiHyp){
theAmpMap[paramEnumJpsiGamEtaPiPi::PsiToF1Gamma] = theFitParams.jpclsVec(paramEnumJpsiGamEtaPiPi::PsiToF1Gamma);
......@@ -437,6 +560,37 @@ JpsiGamEtaPiPiProdLh::initializeHypothesisMap( const std::map<const std::string,
}
else Alert << "hypothesis etaToa2_1320PiHyp not set!!!" <<endmsg;
iter= hypMap.find("eta2ToPiPiEtaHyp");
if (iter !=hypMap.end()){
_eta2ToPiPiEtaHyp= iter->second;
Info<< "hypothesis " << iter->first << "\t" << _eta2ToPiPiEtaHyp <<endmsg;
_hypMap[iter->first]= iter->second;
}
else Alert << "hypothesis eta2ToPiPiEtaHyp not set!!!" <<endmsg;
iter= hypMap.find("eta2Toa980PiHyp");
if (iter !=hypMap.end()){
_eta2Toa980PiHyp= iter->second;
Info<< "hypothesis " << iter->first << "\t" << _eta2Toa980PiHyp <<endmsg;
_hypMap[iter->first]= iter->second;
}
else Alert << "hypothesis eta2Toa980PiHyp not set!!!" <<endmsg;
iter= hypMap.find("eta2Toa2_1320PiHyp");
if (iter !=hypMap.end()){
_eta2Toa2_1320PiHyp= iter->second;
Info<< "hypothesis " << iter->first << "\t" << _eta2Toa2_1320PiHyp <<endmsg;
_hypMap[iter->first]= iter->second;
}
else Alert << "hypothesis eta2Toa2_1320PiHyp not set!!!" <<endmsg;
iter= hypMap.find("f1ToPiPiEtaHyp");
if (iter !=hypMap.end()){
......
......@@ -77,6 +77,9 @@ protected:
bool _etaToPiPiEtaHyp;
bool _etaToa980PiHyp;
bool _etaToa2_1320PiHyp;
bool _eta2ToPiPiEtaHyp;
bool _eta2Toa980PiHyp;
bool _eta2Toa2_1320PiHyp;
bool _f1ToPiPiEtaHyp;
bool _f1Toa980PiHyp;
......
......@@ -8,6 +8,7 @@
JpsiGamEtaPiPiStates::JpsiGamEtaPiPiStates() :
JpsiToXGamStates(),
_etaJPC(new jpcRes(0, -1, 1)),
_eta2JPC(new jpcRes(2, -1, 1)),
_f0JPC(new jpcRes(0, 1, 1)),
_f1JPC(new jpcRes(1, 1, 1)),
_f2JPC(new jpcRes(2, 1, 1)),
......@@ -18,9 +19,10 @@ JpsiGamEtaPiPiStates::JpsiGamEtaPiPiStates() :
//X decays to phi phi
fillJPCLS(_etaJPC, _a0JPC, _piJPC, _JPCLS_EtaToa0Pi);
fillJPCLS(_eta2JPC, _a0JPC, _piJPC, _JPCLS_Eta2Toa0Pi);
fillJPCLS(_f1JPC, _a0JPC, _piJPC,_JPCLS_F1Toa0Pi);
fillJPCLS(_etaJPC, _a2JPC, _piJPC,_JPCLS_EtaToa2Pi);
fillJPCLS(_eta2JPC, _a2JPC, _piJPC,_JPCLS_Eta2Toa2Pi);
}
JpsiGamEtaPiPiStates::~JpsiGamEtaPiPiStates()
......@@ -35,9 +37,15 @@ void JpsiGamEtaPiPiStates::print(std::ostream& os) const
os << "*** eta -> a0 pi: LS combinations for the decay *** "<< std::endl;
printDecayJPCLS(os, _JPCLS_EtaToa0Pi );
os << "*** eta2 -> a0 pi: LS combinations for the decay *** "<< std::endl;
printDecayJPCLS(os, _JPCLS_Eta2Toa0Pi );
os << "*** eta -> a2 pi: LS combinations for the decay *** "<< std::endl;
printDecayJPCLS(os, _JPCLS_EtaToa2Pi );
os << "*** eta2 -> a2 pi: LS combinations for the decay *** "<< std::endl;
printDecayJPCLS(os, _JPCLS_Eta2Toa2Pi );
os << "*** f1 -> a0 pi: LS combinations for the decay *** "<< std::endl;
printDecayJPCLS(os, _JPCLS_F1Toa0Pi );
}
......
......@@ -29,6 +29,8 @@ public:
std::vector< boost::shared_ptr<const JPCLS> > EtaToa0PiStates() const {return _JPCLS_EtaToa0Pi;}
std::vector< boost::shared_ptr<const JPCLS> > EtaToa2PiStates() const {return _JPCLS_EtaToa2Pi;}
std::vector< boost::shared_ptr<const JPCLS> > Eta2Toa0PiStates() const {return _JPCLS_Eta2Toa0Pi;}
std::vector< boost::shared_ptr<const JPCLS> > Eta2Toa2PiStates() const {return _JPCLS_Eta2Toa2Pi;}
std::vector< boost::shared_ptr<const JPCLS> > F1Toa0PiStates() const {return _JPCLS_F1Toa0Pi;}
virtual void print(std::ostream& os) const;
......@@ -39,6 +41,7 @@ protected:
private:
boost::shared_ptr<jpcRes> _etaJPC;
boost::shared_ptr<jpcRes> _eta2JPC;
boost::shared_ptr<jpcRes> _f0JPC;
boost::shared_ptr<jpcRes> _f1JPC;
boost::shared_ptr<jpcRes> _f2JPC;
......@@ -49,7 +52,8 @@ private:
std::vector< boost::shared_ptr<const JPCLS> > _JPCLS_EtaToa0Pi;
std::vector< boost::shared_ptr<const JPCLS> > _JPCLS_F1Toa0Pi;
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;
};
#endif
......@@ -156,6 +156,9 @@ int main(int __argc,char *__argv[]){
hypMap["etaToPiPiEtaHyp"] =false;
hypMap["etaToa980PiHyp"] =false;
hypMap["etaToa2_1320PiHyp"] =false;
hypMap["eta2ToPiPiEtaHyp"] =false;
hypMap["eta2Toa980PiHyp"] =false;
hypMap["eta2Toa2_1320PiHyp"] =false;
hypMap["f1ToPiPiEtaHyp"] =false;
hypMap["f1Toa980PiHyp"] =false;
hypMap["usePhasespace"]=false;
......
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