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

Merge branch 'master' of tau.ep1.rub.de:/var/www/git/Pawian

parents c350f9f9 71a4e8bc
No related branches found
No related tags found
No related merge requests found
...@@ -11,6 +11,7 @@ paramFile = /data/sleipnir1/marc/PwaJpsiGamKsKlKK/startParamBase.dat ...@@ -11,6 +11,7 @@ paramFile = /data/sleipnir1/marc/PwaJpsiGamKsKlKK/startParamBase.dat
startHypo = production startHypo = production
disableHyp = f02020Hyp disableHyp = f02020Hyp
disableHyp = f1Hyp
mnParFix = J1P-1C-1L1S1PsiToEtacGamPhi mnParFix = J1P-1C-1L1S1PsiToEtacGamPhi
......
...@@ -18,9 +18,12 @@ JpsiGamKsKlKKFitParams::JpsiGamKsKlKKFitParams() ...@@ -18,9 +18,12 @@ JpsiGamKsKlKKFitParams::JpsiGamKsKlKKFitParams()
_jpclsMap[paramEnumJpsiGamKsKlKK::PsiToF22010Gamma]=theStates.PsiToF2GammaStates(); _jpclsMap[paramEnumJpsiGamKsKlKK::PsiToF22010Gamma]=theStates.PsiToF2GammaStates();
_jpclsMap[paramEnumJpsiGamKsKlKK::PsiToF22300Gamma]=theStates.PsiToF2GammaStates(); _jpclsMap[paramEnumJpsiGamKsKlKK::PsiToF22300Gamma]=theStates.PsiToF2GammaStates();
_jpclsMap[paramEnumJpsiGamKsKlKK::PsiToF22340Gamma]=theStates.PsiToF2GammaStates(); _jpclsMap[paramEnumJpsiGamKsKlKK::PsiToF22340Gamma]=theStates.PsiToF2GammaStates();
_jpclsMap[paramEnumJpsiGamKsKlKK::PsiToEta21870Gamma]=theStates.PsiToEta2GammaStates();
_jpclsMap[paramEnumJpsiGamKsKlKK::PsiToF1Gamma]=theStates.PsiToF1GammaStates();
_jpclsMap[paramEnumJpsiGamKsKlKK::F02020ToPhiPhi]=theStates.F0ToPhiPhiStates(); _jpclsMap[paramEnumJpsiGamKsKlKK::F02020ToPhiPhi]=theStates.F0ToPhiPhiStates();
_jpclsMap[paramEnumJpsiGamKsKlKK::F22300ToPhiPhi]=theStates.F2ToPhiPhiStates(); _jpclsMap[paramEnumJpsiGamKsKlKK::F22300ToPhiPhi]=theStates.F2ToPhiPhiStates();
_jpclsMap[paramEnumJpsiGamKsKlKK::Eta21870ToPhiPhi]=theStates.Eta2ToPhiPhiStates();
_jpclsMap[paramEnumJpsiGamKsKlKK::F1ToPhiPhi]=theStates.F1ToPhiPhiStates();
} }
JpsiGamKsKlKKFitParams::JpsiGamKsKlKKFitParams(fitParams& theStartparams, fitParams& theErrorparams) : JpsiGamKsKlKKFitParams::JpsiGamKsKlKKFitParams(fitParams& theStartparams, fitParams& theErrorparams) :
...@@ -35,8 +38,13 @@ JpsiGamKsKlKKFitParams::JpsiGamKsKlKKFitParams(fitParams& theStartparams, fitPar ...@@ -35,8 +38,13 @@ JpsiGamKsKlKKFitParams::JpsiGamKsKlKKFitParams(fitParams& theStartparams, fitPar
_jpclsMap[paramEnumJpsiGamKsKlKK::PsiToF22010Gamma]=theStates.PsiToF2GammaStates(); _jpclsMap[paramEnumJpsiGamKsKlKK::PsiToF22010Gamma]=theStates.PsiToF2GammaStates();
_jpclsMap[paramEnumJpsiGamKsKlKK::PsiToF22300Gamma]=theStates.PsiToF2GammaStates(); _jpclsMap[paramEnumJpsiGamKsKlKK::PsiToF22300Gamma]=theStates.PsiToF2GammaStates();
_jpclsMap[paramEnumJpsiGamKsKlKK::PsiToF22340Gamma]=theStates.PsiToF2GammaStates(); _jpclsMap[paramEnumJpsiGamKsKlKK::PsiToF22340Gamma]=theStates.PsiToF2GammaStates();
_jpclsMap[paramEnumJpsiGamKsKlKK::PsiToEta21870Gamma]=theStates.PsiToEta2GammaStates();
_jpclsMap[paramEnumJpsiGamKsKlKK::PsiToF1Gamma]=theStates.PsiToF1GammaStates();
_jpclsMap[paramEnumJpsiGamKsKlKK::F02020ToPhiPhi]=theStates.F0ToPhiPhiStates(); _jpclsMap[paramEnumJpsiGamKsKlKK::F02020ToPhiPhi]=theStates.F0ToPhiPhiStates();
_jpclsMap[paramEnumJpsiGamKsKlKK::F22300ToPhiPhi]=theStates.F2ToPhiPhiStates(); _jpclsMap[paramEnumJpsiGamKsKlKK::F22300ToPhiPhi]=theStates.F2ToPhiPhiStates();
_jpclsMap[paramEnumJpsiGamKsKlKK::Eta21870ToPhiPhi]=theStates.Eta2ToPhiPhiStates();
_jpclsMap[paramEnumJpsiGamKsKlKK::F1ToPhiPhi]=theStates.F1ToPhiPhiStates();
} }
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
#include "TROOT.h" #include "TROOT.h"
//#include "Examples/JpsiGamKsKlKK/JpsiGamKsKlKKData.hh"
#include "qft++/topincludes/relativistic-quantum-mechanics.hh" #include "qft++/topincludes/relativistic-quantum-mechanics.hh"
#include "PwaUtils/DataUtils.hh" #include "PwaUtils/DataUtils.hh"
#include "PwaUtils/FitParamsBase.hh" #include "PwaUtils/FitParamsBase.hh"
...@@ -27,17 +27,17 @@ using namespace ROOT::Minuit2; ...@@ -27,17 +27,17 @@ using namespace ROOT::Minuit2;
struct paramEnumJpsiGamKsKlKK{ struct paramEnumJpsiGamKsKlKK{
enum { PsiToEtacGamma=0, PsiToEta2225Gamma, PsiToF02020Gamma, PsiToF22010Gamma, PsiToF22300Gamma, PsiToF22340Gamma, enum { PsiToEtacGamma=0, PsiToEta2225Gamma, PsiToF02020Gamma, PsiToF22010Gamma, PsiToF22300Gamma, PsiToF22340Gamma, PsiToEta21870Gamma, PsiToF1Gamma,
F02020ToPhiPhi, F22300ToPhiPhi, nAmps, F02020ToPhiPhi, F22300ToPhiPhi, Eta21870ToPhiPhi, F1ToPhiPhi, nAmps,
etac=nAmps, eta2225, f02020, f22010, f22300 ,f22340, nMasses, f02020gKK=nMasses, f02020gPhiPhi, ngFactors, etac=nAmps, eta2225, f02020, f22010, f22300 ,f22340, eta21870, f1, nMasses, f02020gKK=nMasses, f02020gPhiPhi, ngFactors,
phaseSpace=ngFactors, nOthers }; phaseSpace=ngFactors, nOthers };
static const std::string& name(unsigned int t) static const std::string& name(unsigned int t)
{ {
static std::string fitName[paramEnumJpsiGamKsKlKK::nOthers] static std::string fitName[paramEnumJpsiGamKsKlKK::nOthers]
={"PsiToEtacGam", "PsiToEta2225Gamma", "PsiToF02020Gamma", "PsiToF22010Gamma", "PsiToF22300Gamma", "PsiToF2340Gamma", ={"PsiToEtacGam", "PsiToEta2225Gamma", "PsiToF02020Gamma", "PsiToF22010Gamma", "PsiToF22300Gamma", "PsiToF2340Gamma", "PsiToEta21870Gamma", "PsiToF1Gamma",
"F02020ToPhiPhi", "F22300ToPhiPhi", "F02020ToPhiPhi", "F22300ToPhiPhi", "Eta21870ToPhiPhi", "F1ToPhiPhi",
"etac", "eta2250", "f02020", "f22010", "f22300", "f22340", "f02020gKK","f02020gPhiPhi", "phaseSpace" }; "etac", "eta2250", "f02020", "f22010", "f22300", "f22340", "eta21870", "f1", "f02020gKK","f02020gPhiPhi", "phaseSpace" };
if (t<0 || t>=paramEnumJpsiGamKsKlKK::nOthers) assert(0); if (t<0 || t>=paramEnumJpsiGamKsKlKK::nOthers) assert(0);
return fitName[t]; return fitName[t];
} }
......
...@@ -13,6 +13,8 @@ JpsiGamKsKlKKProdLh::JpsiGamKsKlKKProdLh(boost::shared_ptr<const EvtDataBaseList ...@@ -13,6 +13,8 @@ JpsiGamKsKlKKProdLh::JpsiGamKsKlKKProdLh(boost::shared_ptr<const EvtDataBaseList
,_f02020Hyp(true) ,_f02020Hyp(true)
,_f02020FlatteHyp(true) ,_f02020FlatteHyp(true)
,_f22300Hyp(true) ,_f22300Hyp(true)
,_eta21870Hyp(true)
,_f1Hyp(true)
,_usePhasespace(true) ,_usePhasespace(true)
{ {
...@@ -30,6 +32,8 @@ JpsiGamKsKlKKProdLh::JpsiGamKsKlKKProdLh( boost::shared_ptr<AbsLh> theLhPtr, con ...@@ -30,6 +32,8 @@ JpsiGamKsKlKKProdLh::JpsiGamKsKlKKProdLh( boost::shared_ptr<AbsLh> theLhPtr, con
,_f02020Hyp(true) ,_f02020Hyp(true)
,_f02020FlatteHyp(true) ,_f02020FlatteHyp(true)
,_f22300Hyp(true) ,_f22300Hyp(true)
,_eta21870Hyp(true)
,_f1Hyp(true)
,_usePhasespace(true) ,_usePhasespace(true)
{ {
...@@ -117,20 +121,58 @@ double JpsiGamKsKlKKProdLh::calcEvtIntensity(EvtData* theData, fitParams& thePar ...@@ -117,20 +121,58 @@ double JpsiGamKsKlKKProdLh::calcEvtIntensity(EvtData* theData, fitParams& thePar
mass = theParamVal.Masses[paramEnumJpsiGamKsKlKK::f22300]; mass = theParamVal.Masses[paramEnumJpsiGamKsKlKK::f22300];
width = theParamVal.Widths[paramEnumJpsiGamKsKlKK::f22300]; width = theParamVal.Widths[paramEnumJpsiGamKsKlKK::f22300];
JmpGmp+=f2GammaAmp(1, 1, theData, PsiTof2GamMag, PsiTof2GamPhi,F2ToPhiPhiMag,F2ToPhiPhiPhi,mass,width ); Spin f2Spin=2;
JmpGmm+=f2GammaAmp(1, -1, theData, PsiTof2GamMag, PsiTof2GamPhi,F2ToPhiPhiMag,F2ToPhiPhiPhi,mass,width ); JmpGmp+=f2GammaAmp(1, 1, f2Spin, theData, PsiTof2GamMag, PsiTof2GamPhi,F2ToPhiPhiMag,F2ToPhiPhiPhi,mass,width );
JmmGmp+=f2GammaAmp(-1, 1, theData, PsiTof2GamMag, PsiTof2GamPhi,F2ToPhiPhiMag,F2ToPhiPhiPhi,mass,width ); JmpGmm+=f2GammaAmp(1, -1, f2Spin, theData, PsiTof2GamMag, PsiTof2GamPhi,F2ToPhiPhiMag,F2ToPhiPhiPhi,mass,width );
JmmGmm+=f2GammaAmp(-1, -1, theData, PsiTof2GamMag, PsiTof2GamPhi,F2ToPhiPhiMag,F2ToPhiPhiPhi,mass,width ); JmmGmp+=f2GammaAmp(-1, 1, f2Spin, theData, PsiTof2GamMag, PsiTof2GamPhi,F2ToPhiPhiMag,F2ToPhiPhiPhi,mass,width );
JmmGmm+=f2GammaAmp(-1, -1, f2Spin, theData, PsiTof2GamMag, PsiTof2GamPhi,F2ToPhiPhiMag,F2ToPhiPhiPhi,mass,width );
} }
result=norm(JmpGmp)+norm(JmpGmm)+norm(JmmGmp)+norm(JmmGmm); if (_eta21870Hyp){
std::map< boost::shared_ptr<const JPCLS>, double, pawian::Collection::SharedPtrLess > PsiToEta2GamMag=theParamVal.Mags[paramEnumJpsiGamKsKlKK::PsiToEta21870Gamma];
if(_usePhasespace){ std::map< boost::shared_ptr<const JPCLS>, double, pawian::Collection::SharedPtrLess > PsiToEta2GamPhi=theParamVal.Phis[paramEnumJpsiGamKsKlKK::PsiToEta21870Gamma];
result = result + theParamVal.otherParams[paramEnumJpsiGamKsKlKK::phaseSpace];
} std::map< boost::shared_ptr<const JPCLS>, double, pawian::Collection::SharedPtrLess > Eta2ToPhiPhiMag=theParamVal.Mags[paramEnumJpsiGamKsKlKK::Eta21870ToPhiPhi];
std::map< boost::shared_ptr<const JPCLS>, double, pawian::Collection::SharedPtrLess > Eta2ToPhiPhiPhi=theParamVal.Phis[paramEnumJpsiGamKsKlKK::Eta21870ToPhiPhi];
return result;
mass = theParamVal.Masses[paramEnumJpsiGamKsKlKK::eta21870];
width = theParamVal.Widths[paramEnumJpsiGamKsKlKK::eta21870];
Spin eta2Spin=2;
JmpGmp+=f2GammaAmp(1, 1, eta2Spin, theData, PsiToEta2GamMag, PsiToEta2GamPhi,Eta2ToPhiPhiMag,Eta2ToPhiPhiPhi,mass,width );
JmpGmm+=f2GammaAmp(1, -1, eta2Spin,theData, PsiToEta2GamMag, PsiToEta2GamPhi,Eta2ToPhiPhiMag,Eta2ToPhiPhiPhi,mass,width );
JmmGmp+=f2GammaAmp(-1, 1, eta2Spin,theData, PsiToEta2GamMag, PsiToEta2GamPhi,Eta2ToPhiPhiMag,Eta2ToPhiPhiPhi,mass,width );
JmmGmm+=f2GammaAmp(-1, -1, eta2Spin, theData, PsiToEta2GamMag, PsiToEta2GamPhi,Eta2ToPhiPhiMag,Eta2ToPhiPhiPhi,mass,width );
}
if(_f1Hyp){
std::map< boost::shared_ptr<const JPCLS>, double, pawian::Collection::SharedPtrLess > PsiTof1GamMag=theParamVal.Mags[paramEnumJpsiGamKsKlKK::PsiToF1Gamma];
std::map< boost::shared_ptr<const JPCLS>, double, pawian::Collection::SharedPtrLess > PsiTof1GamPhi=theParamVal.Phis[paramEnumJpsiGamKsKlKK::PsiToF1Gamma];
std::map< boost::shared_ptr<const JPCLS>, double, pawian::Collection::SharedPtrLess > F1ToPhiPhiMag=theParamVal.Mags[paramEnumJpsiGamKsKlKK::F1ToPhiPhi];
std::map< boost::shared_ptr<const JPCLS>, double, pawian::Collection::SharedPtrLess > F1ToPhiPhiPhi=theParamVal.Phis[paramEnumJpsiGamKsKlKK::F1ToPhiPhi];
mass = theParamVal.Masses[paramEnumJpsiGamKsKlKK::f1];
width = theParamVal.Widths[paramEnumJpsiGamKsKlKK::f1];
Spin f1Spin=1;
JmpGmp+=f2GammaAmp(1, 1, f1Spin, theData, PsiTof1GamMag, PsiTof1GamPhi,F1ToPhiPhiMag,F1ToPhiPhiPhi,mass,width );
JmpGmm+=f2GammaAmp(1, -1, f1Spin, theData, PsiTof1GamMag, PsiTof1GamPhi,F1ToPhiPhiMag,F1ToPhiPhiPhi,mass,width );
JmmGmp+=f2GammaAmp(-1, 1, f1Spin, theData, PsiTof1GamMag, PsiTof1GamPhi,F1ToPhiPhiMag,F1ToPhiPhiPhi,mass,width );
JmmGmm+=f2GammaAmp(-1, -1, f1Spin, theData, PsiTof1GamMag, PsiTof1GamPhi,F1ToPhiPhiMag,F1ToPhiPhiPhi,mass,width );
}
result=norm(JmpGmp)+norm(JmpGmm)+norm(JmmGmp)+norm(JmmGmm);
if(_usePhasespace){
result = result + theParamVal.otherParams[paramEnumJpsiGamKsKlKK::phaseSpace];
}
return result;
} }
complex<double> JpsiGamKsKlKKProdLh::calcCoherentAmp(Spin Minit, Spin lamGam, fitParams& theParamVal, EvtData* theData){ complex<double> JpsiGamKsKlKKProdLh::calcCoherentAmp(Spin Minit, Spin lamGam, fitParams& theParamVal, EvtData* theData){
...@@ -256,7 +298,7 @@ complex<double> JpsiGamKsKlKKProdLh::f0ToPhiPhiTo4KAmp(EvtData* theData, ...@@ -256,7 +298,7 @@ complex<double> JpsiGamKsKlKKProdLh::f0ToPhiPhiTo4KAmp(EvtData* theData,
complex<double> JpsiGamKsKlKKProdLh::f2GammaAmp(Spin Minit, Spin Mgamma, EvtData* theData, complex<double> JpsiGamKsKlKKProdLh::f2GammaAmp(Spin Minit, Spin Mgamma, Spin fJSpin, EvtData* theData,
std::map< boost::shared_ptr<const JPCLS>, double, pawian::Collection::SharedPtrLess >& ampf2ProdMag, std::map< boost::shared_ptr<const JPCLS>, double, pawian::Collection::SharedPtrLess >& ampf2ProdMag,
std::map< boost::shared_ptr<const JPCLS>, double, pawian::Collection::SharedPtrLess >& ampf2ProdPhi, std::map< boost::shared_ptr<const JPCLS>, double, pawian::Collection::SharedPtrLess >& ampf2ProdPhi,
std::map< boost::shared_ptr<const JPCLS>, double, pawian::Collection::SharedPtrLess >& ampf2DecMag, std::map< boost::shared_ptr<const JPCLS>, double, pawian::Collection::SharedPtrLess >& ampf2DecMag,
...@@ -267,7 +309,7 @@ complex<double> JpsiGamKsKlKKProdLh::f2GammaAmp(Spin Minit, Spin Mgamma, EvtData ...@@ -267,7 +309,7 @@ complex<double> JpsiGamKsKlKKProdLh::f2GammaAmp(Spin Minit, Spin Mgamma, EvtData
Vector4<double> fv2Phi= theData->FourVecs[enumJpsiGamKsKlKKData::V4_KsKlKpKm_HeliPsi]; Vector4<double> fv2Phi= theData->FourVecs[enumJpsiGamKsKlKKData::V4_KsKlKpKm_HeliPsi];
std::map<Spin, complex<double> > decAmp; std::map<Spin, complex<double> > decAmp;
for (Spin lambdaf2=-2; lambdaf2<=2; ++lambdaf2){ for (Spin lambdaf2=-fJSpin; lambdaf2<=fJSpin; ++lambdaf2){
decAmp[lambdaf2]=f2ToPhiPhiTo4KAmp(theData, lambdaf2, ampf2DecMag,ampf2DecPhi ); decAmp[lambdaf2]=f2ToPhiPhiTo4KAmp(theData, lambdaf2, ampf2DecMag,ampf2DecPhi );
} }
...@@ -279,13 +321,13 @@ complex<double> JpsiGamKsKlKKProdLh::f2GammaAmp(Spin Minit, Spin Mgamma, EvtData ...@@ -279,13 +321,13 @@ complex<double> JpsiGamKsKlKKProdLh::f2GammaAmp(Spin Minit, Spin Mgamma, EvtData
double thePsiPhi=ampf2ProdPhi[PsiState]; double thePsiPhi=ampf2ProdPhi[PsiState];
complex<double> expiphiPsi(cos(thePsiPhi), sin(thePsiPhi)); complex<double> expiphiPsi(cos(thePsiPhi), sin(thePsiPhi));
for(Spin f2Lambda=-2;f2Lambda<=2; f2Lambda++){ for(Spin f2Lambda=-fJSpin;f2Lambda<=fJSpin; f2Lambda++){
Spin lambda = f2Lambda-Mgamma; Spin lambda = f2Lambda-Mgamma;
if( fabs(lambda)>PsiState->J || fabs(lambda)>PsiState->S) continue; if( fabs(lambda)>PsiState->J || fabs(lambda)>PsiState->S) continue;
complex<double> amp = thePsiMag*expiphiPsi*sqrt(2*PsiState->L+1) complex<double> amp = thePsiMag*expiphiPsi*sqrt(2*PsiState->L+1)
*Clebsch(PsiState->L, 0, PsiState->S, lambda, PsiState->J, lambda) *Clebsch(PsiState->L, 0, PsiState->S, lambda, PsiState->J, lambda)
*Clebsch(2, f2Lambda, 1, -Mgamma, PsiState->S, lambda ) *Clebsch(fJSpin, f2Lambda, 1, -Mgamma, PsiState->S, lambda )
*conj( theData->WignerDs[enumJpsiGamKsKlKKData::Df_Psi][PsiState->J][Minit][lambda] ); *conj( theData->WignerDs[enumJpsiGamKsKlKKData::Df_Psi][PsiState->J][Minit][lambda] );
amp=amp*decAmp[f2Lambda]; amp=amp*decAmp[f2Lambda];
...@@ -347,8 +389,6 @@ complex<double> JpsiGamKsKlKKProdLh::phiphiTo4KAmp( EvtData* theData, Spin lambd ...@@ -347,8 +389,6 @@ complex<double> JpsiGamKsKlKKProdLh::phiphiTo4KAmp( EvtData* theData, Spin lambd
void JpsiGamKsKlKKProdLh::print(std::ostream& os) const{ void JpsiGamKsKlKKProdLh::print(std::ostream& os) const{
os << "JpsiGamKsKlKKProdLh::print\n"; os << "JpsiGamKsKlKKProdLh::print\n";
} }
...@@ -374,6 +414,16 @@ void JpsiGamKsKlKKProdLh::getDefaultParams(fitParams& fitVal, fitParams& fitErr) ...@@ -374,6 +414,16 @@ void JpsiGamKsKlKKProdLh::getDefaultParams(fitParams& fitVal, fitParams& fitErr)
theAmpMap[paramEnumJpsiGamKsKlKK::F22300ToPhiPhi] = theFitParams.jpclsVec(paramEnumJpsiGamKsKlKK::F22300ToPhiPhi); theAmpMap[paramEnumJpsiGamKsKlKK::F22300ToPhiPhi] = theFitParams.jpclsVec(paramEnumJpsiGamKsKlKK::F22300ToPhiPhi);
} }
if(_eta21870Hyp){
theAmpMap[paramEnumJpsiGamKsKlKK::PsiToEta21870Gamma] = theFitParams.jpclsVec(paramEnumJpsiGamKsKlKK::PsiToEta21870Gamma);
theAmpMap[paramEnumJpsiGamKsKlKK::Eta21870ToPhiPhi] = theFitParams.jpclsVec(paramEnumJpsiGamKsKlKK::Eta21870ToPhiPhi);
}
if(_f1Hyp){
theAmpMap[paramEnumJpsiGamKsKlKK::PsiToF1Gamma] = theFitParams.jpclsVec(paramEnumJpsiGamKsKlKK::PsiToF1Gamma);
theAmpMap[paramEnumJpsiGamKsKlKK::F1ToPhiPhi] = theFitParams.jpclsVec(paramEnumJpsiGamKsKlKK::F1ToPhiPhi);
}
...@@ -401,8 +451,8 @@ void JpsiGamKsKlKKProdLh::getDefaultParams(fitParams& fitVal, fitParams& fitErr) ...@@ -401,8 +451,8 @@ void JpsiGamKsKlKKProdLh::getDefaultParams(fitParams& fitVal, fitParams& fitErr)
//fill masses and wisths //fill masses and wisths
fitVal.Masses[paramEnumJpsiGamKsKlKK::etac]=2.95; fitVal.Masses[paramEnumJpsiGamKsKlKK::etac]=2.98;
fitErr.Masses[paramEnumJpsiGamKsKlKK::etac]=0.05; fitErr.Masses[paramEnumJpsiGamKsKlKK::etac]=0.03;
fitVal.Widths[paramEnumJpsiGamKsKlKK::etac]=.06; fitVal.Widths[paramEnumJpsiGamKsKlKK::etac]=.06;
fitErr.Widths[paramEnumJpsiGamKsKlKK::etac]=0.03; fitErr.Widths[paramEnumJpsiGamKsKlKK::etac]=0.03;
...@@ -437,6 +487,20 @@ void JpsiGamKsKlKKProdLh::getDefaultParams(fitParams& fitVal, fitParams& fitErr) ...@@ -437,6 +487,20 @@ void JpsiGamKsKlKKProdLh::getDefaultParams(fitParams& fitVal, fitParams& fitErr)
fitErr.Widths[paramEnumJpsiGamKsKlKK::f22300]=0.4; fitErr.Widths[paramEnumJpsiGamKsKlKK::f22300]=0.4;
} }
if(_eta21870Hyp){
fitVal.Masses[paramEnumJpsiGamKsKlKK::eta21870]=2.1;
fitErr.Masses[paramEnumJpsiGamKsKlKK::eta21870]=0.3;
fitVal.Widths[paramEnumJpsiGamKsKlKK::eta21870]=.55;
fitErr.Widths[paramEnumJpsiGamKsKlKK::eta21870]=0.4;
}
if(_f1Hyp){
fitVal.Masses[paramEnumJpsiGamKsKlKK::f1]=2.1;
fitErr.Masses[paramEnumJpsiGamKsKlKK::f1]=0.3;
fitVal.Widths[paramEnumJpsiGamKsKlKK::f1]=.55;
fitErr.Widths[paramEnumJpsiGamKsKlKK::f1]=0.4;
}
if(_usePhasespace){ if(_usePhasespace){
fitVal.otherParams[paramEnumJpsiGamKsKlKK::phaseSpace]=0.2; fitVal.otherParams[paramEnumJpsiGamKsKlKK::phaseSpace]=0.2;
fitErr.otherParams[paramEnumJpsiGamKsKlKK::phaseSpace]=0.4; fitErr.otherParams[paramEnumJpsiGamKsKlKK::phaseSpace]=0.4;
...@@ -484,6 +548,22 @@ JpsiGamKsKlKKProdLh::initializeHypothesisMap( const std::map<const std::string, ...@@ -484,6 +548,22 @@ JpsiGamKsKlKKProdLh::initializeHypothesisMap( const std::map<const std::string,
} }
else Alert << "hypothesis f22300Hyp not set!!!" <<endmsg; else Alert << "hypothesis f22300Hyp not set!!!" <<endmsg;
iter= hypMap.find("eta21870Hyp");
if (iter !=hypMap.end()){
_eta21870Hyp= iter->second;
Info<< "hypothesis " << iter->first << "\t" << _eta21870Hyp <<endmsg;
_hypMap[iter->first]= iter->second;
}
else Alert << "hypothesis eta21870Hyp not set!!!" <<endmsg;
iter= hypMap.find("f1Hyp");
if (iter !=hypMap.end()){
_f1Hyp= iter->second;
Info<< "hypothesis " << iter->first << "\t" << _f1Hyp <<endmsg;
_hypMap[iter->first]= iter->second;
}
else Alert << "hypothesis f1Hyp not set!!!" <<endmsg;
iter= hypMap.find("usePhasespace"); iter= hypMap.find("usePhasespace");
if (iter !=hypMap.end()){ if (iter !=hypMap.end()){
......
...@@ -70,7 +70,7 @@ protected: ...@@ -70,7 +70,7 @@ protected:
std::map< boost::shared_ptr<const JPCLS>, double, pawian::Collection::SharedPtrLess >& ampf0DecPhi ); std::map< boost::shared_ptr<const JPCLS>, double, pawian::Collection::SharedPtrLess >& ampf0DecPhi );
virtual complex<double> f2GammaAmp(Spin Minit, Spin Mgamma, EvtData* theData, virtual complex<double> f2GammaAmp(Spin Minit, Spin Mgamma, Spin fJSpin, EvtData* theData,
std::map< boost::shared_ptr<const JPCLS>, double, pawian::Collection::SharedPtrLess >& ampf2ProdMag, std::map< boost::shared_ptr<const JPCLS>, double, pawian::Collection::SharedPtrLess >& ampf2ProdMag,
std::map< boost::shared_ptr<const JPCLS>, double, pawian::Collection::SharedPtrLess >& ampf2ProdPhi, std::map< boost::shared_ptr<const JPCLS>, double, pawian::Collection::SharedPtrLess >& ampf2ProdPhi,
std::map< boost::shared_ptr<const JPCLS>, double, pawian::Collection::SharedPtrLess >& ampf2DecMag, std::map< boost::shared_ptr<const JPCLS>, double, pawian::Collection::SharedPtrLess >& ampf2DecMag,
...@@ -80,6 +80,7 @@ protected: ...@@ -80,6 +80,7 @@ protected:
std::map< boost::shared_ptr<const JPCLS>, double, pawian::Collection::SharedPtrLess > &ampf2DecMag , std::map< boost::shared_ptr<const JPCLS>, double, pawian::Collection::SharedPtrLess > &ampf2DecMag ,
std::map< boost::shared_ptr<const JPCLS>, double, pawian::Collection::SharedPtrLess > &ampf2DecPhi ); std::map< boost::shared_ptr<const JPCLS>, double, pawian::Collection::SharedPtrLess > &ampf2DecPhi );
complex<double> phiphiTo4KAmp( EvtData* theData, Spin lambdaPhi1, Spin lambdaPhi2 ); complex<double> phiphiTo4KAmp( EvtData* theData, Spin lambdaPhi1, Spin lambdaPhi2 );
...@@ -89,6 +90,9 @@ protected: ...@@ -89,6 +90,9 @@ protected:
bool _f02020FlatteHyp; bool _f02020FlatteHyp;
bool _f22300Hyp; bool _f22300Hyp;
bool _eta21870Hyp;
bool _f1Hyp;
bool _usePhasespace; bool _usePhasespace;
std::map<const std::string, bool> _hypMap; std::map<const std::string, bool> _hypMap;
......
...@@ -12,18 +12,24 @@ JpsiGamKsKlKKStates::JpsiGamKsKlKKStates() : ...@@ -12,18 +12,24 @@ JpsiGamKsKlKKStates::JpsiGamKsKlKKStates() :
_phiJPC(new jpcRes(1, -1, -1)), _phiJPC(new jpcRes(1, -1, -1)),
_etaJPC(new jpcRes(0, -1, 1)), _etaJPC(new jpcRes(0, -1, 1)),
_f0JPC(new jpcRes(0, 1, 1)), _f0JPC(new jpcRes(0, 1, 1)),
_f2JPC(new jpcRes(2, 1, 1)) _f1JPC(new jpcRes(1, 1, 1)),
_f2JPC(new jpcRes(2, 1, 1)),
_eta2JPC(new jpcRes(2,-1,1) )
{ {
//LS combinations for Psi decays to X gamma //LS combinations for Psi decays to X gamma
fillJPCLS(_psiJPC, _etaJPC, _gammaJPC, _JPCLS_PsiToEtaGamma); fillJPCLS(_psiJPC, _etaJPC, _gammaJPC, _JPCLS_PsiToEtaGamma);
fillJPCLS(_psiJPC, _f0JPC, _gammaJPC, _JPCLS_PsiToF0Gamma); fillJPCLS(_psiJPC, _f0JPC, _gammaJPC, _JPCLS_PsiToF0Gamma);
fillJPCLS(_psiJPC, _f1JPC, _gammaJPC, _JPCLS_PsiToF1Gamma);
fillJPCLS(_psiJPC, _f2JPC, _gammaJPC, _JPCLS_PsiToF2Gamma); fillJPCLS(_psiJPC, _f2JPC, _gammaJPC, _JPCLS_PsiToF2Gamma);
fillJPCLS(_psiJPC, _eta2JPC, _gammaJPC, _JPCLS_PsiToEta2Gamma);
//X decays to phi phi //X decays to phi phi
fillJPCLS(_etaJPC, _phiJPC, _phiJPC, _JPCLS_EtaToPhiPhi); fillJPCLS(_etaJPC, _phiJPC, _phiJPC, _JPCLS_EtaToPhiPhi);
fillJPCLS(_f0JPC, _phiJPC, _phiJPC, _JPCLS_F0ToPhiPhi); fillJPCLS(_f0JPC, _phiJPC, _phiJPC, _JPCLS_F0ToPhiPhi);
fillJPCLS(_f1JPC, _phiJPC, _phiJPC, _JPCLS_F1ToPhiPhi);
fillJPCLS(_f2JPC, _phiJPC, _phiJPC, _JPCLS_F2ToPhiPhi); fillJPCLS(_f2JPC, _phiJPC, _phiJPC, _JPCLS_F2ToPhiPhi);
fillJPCLS(_eta2JPC, _phiJPC, _phiJPC, _JPCLS_Eta2ToPhiPhi);
//phi to kk //phi to kk
fillJPCLS(_phiJPC, _kJPC, _kJPC, _JPCLS_PhiToKK); fillJPCLS(_phiJPC, _kJPC, _kJPC, _JPCLS_PhiToKK);
...@@ -67,18 +73,30 @@ void JpsiGamKsKlKKStates::print(std::ostream& os) const ...@@ -67,18 +73,30 @@ void JpsiGamKsKlKKStates::print(std::ostream& os) const
os << "*** Psi -> f0 gamma: LS combinations for the decay *** "<< std::endl; os << "*** Psi -> f0 gamma: LS combinations for the decay *** "<< std::endl;
printDecayJPCLS(os, _JPCLS_PsiToF0Gamma ); printDecayJPCLS(os, _JPCLS_PsiToF0Gamma );
os << "*** Psi -> f1 gamma: LS combinations for the decay *** "<< std::endl;
printDecayJPCLS(os, _JPCLS_PsiToF1Gamma );
os << "*** Psi -> f2 gamma: LS combinations for the decay *** "<< std::endl; os << "*** Psi -> f2 gamma: LS combinations for the decay *** "<< std::endl;
printDecayJPCLS(os, _JPCLS_PsiToF2Gamma ); printDecayJPCLS(os, _JPCLS_PsiToF2Gamma );
os << "*** Psi -> eta2 gamma: LS combinations for the decay *** "<< std::endl;
printDecayJPCLS(os, _JPCLS_PsiToEta2Gamma );
os << "*** eta -> phi phi: LS combinations for the decay *** "<< std::endl; os << "*** eta -> phi phi: LS combinations for the decay *** "<< std::endl;
printDecayJPCLS(os, _JPCLS_EtaToPhiPhi ); printDecayJPCLS(os, _JPCLS_EtaToPhiPhi );
os << "*** f0 -> phi phi: LS combinations for the decay *** "<< std::endl; os << "*** f0 -> phi phi: LS combinations for the decay *** "<< std::endl;
printDecayJPCLS(os, _JPCLS_F0ToPhiPhi ); printDecayJPCLS(os, _JPCLS_F0ToPhiPhi );
os << "*** f1 -> phi phi: LS combinations for the decay *** "<< std::endl;
printDecayJPCLS(os, _JPCLS_F1ToPhiPhi );
os << "*** f2 -> phi phi: LS combinations for the decay *** "<< std::endl; os << "*** f2 -> phi phi: LS combinations for the decay *** "<< std::endl;
printDecayJPCLS(os, _JPCLS_F2ToPhiPhi ); printDecayJPCLS(os, _JPCLS_F2ToPhiPhi );
os << "*** eta2 -> phi phi: LS combinations for the decay *** "<< std::endl;
printDecayJPCLS(os, _JPCLS_Eta2ToPhiPhi );
os << "*** phi -> KK: LS combinations for the decay *** "<< std::endl; os << "*** phi -> KK: LS combinations for the decay *** "<< std::endl;
printDecayJPCLS(os, _JPCLS_PhiToKK ); printDecayJPCLS(os, _JPCLS_PhiToKK );
} }
......
...@@ -27,10 +27,14 @@ public: ...@@ -27,10 +27,14 @@ public:
std::vector< boost::shared_ptr<const JPCLS> > PsiToEtaGammaStates() const {return _JPCLS_PsiToEtaGamma;} std::vector< boost::shared_ptr<const JPCLS> > PsiToEtaGammaStates() const {return _JPCLS_PsiToEtaGamma;}
std::vector< boost::shared_ptr<const JPCLS> > PsiToF0GammaStates() const {return _JPCLS_PsiToF0Gamma;} std::vector< boost::shared_ptr<const JPCLS> > PsiToF0GammaStates() const {return _JPCLS_PsiToF0Gamma;}
std::vector< boost::shared_ptr<const JPCLS> > PsiToF1GammaStates() const {return _JPCLS_PsiToF1Gamma;}
std::vector< boost::shared_ptr<const JPCLS> > PsiToF2GammaStates() const {return _JPCLS_PsiToF2Gamma;} std::vector< boost::shared_ptr<const JPCLS> > PsiToF2GammaStates() const {return _JPCLS_PsiToF2Gamma;}
std::vector< boost::shared_ptr<const JPCLS> > PsiToEta2GammaStates() const {return _JPCLS_PsiToEta2Gamma;}
std::vector< boost::shared_ptr<const JPCLS> > EtaToPhiPhiStates() const {return _JPCLS_EtaToPhiPhi;} std::vector< boost::shared_ptr<const JPCLS> > EtaToPhiPhiStates() const {return _JPCLS_EtaToPhiPhi;}
std::vector< boost::shared_ptr<const JPCLS> > F0ToPhiPhiStates() const {return _JPCLS_F0ToPhiPhi;} std::vector< boost::shared_ptr<const JPCLS> > F0ToPhiPhiStates() const {return _JPCLS_F0ToPhiPhi;}
std::vector< boost::shared_ptr<const JPCLS> > F1ToPhiPhiStates() const {return _JPCLS_F1ToPhiPhi;}
std::vector< boost::shared_ptr<const JPCLS> > F2ToPhiPhiStates() const {return _JPCLS_F2ToPhiPhi;} std::vector< boost::shared_ptr<const JPCLS> > F2ToPhiPhiStates() const {return _JPCLS_F2ToPhiPhi;}
std::vector< boost::shared_ptr<const JPCLS> > Eta2ToPhiPhiStates() const {return _JPCLS_Eta2ToPhiPhi;}
std::vector< boost::shared_ptr<const JPCLS> > PhiToKKStates() const {return _JPCLS_PhiToKK;} std::vector< boost::shared_ptr<const JPCLS> > PhiToKKStates() const {return _JPCLS_PhiToKK;}
void print(std::ostream& os) const; void print(std::ostream& os) const;
...@@ -46,14 +50,20 @@ private: ...@@ -46,14 +50,20 @@ private:
boost::shared_ptr<jpcRes> _phiJPC; boost::shared_ptr<jpcRes> _phiJPC;
boost::shared_ptr<jpcRes> _etaJPC; boost::shared_ptr<jpcRes> _etaJPC;
boost::shared_ptr<jpcRes> _f0JPC; boost::shared_ptr<jpcRes> _f0JPC;
boost::shared_ptr<jpcRes> _f1JPC;
boost::shared_ptr<jpcRes> _f2JPC; boost::shared_ptr<jpcRes> _f2JPC;
boost::shared_ptr<jpcRes> _eta2JPC;
std::vector< boost::shared_ptr<const JPCLS> > _JPCLS_PsiToEtaGamma; std::vector< boost::shared_ptr<const JPCLS> > _JPCLS_PsiToEtaGamma;
std::vector< boost::shared_ptr<const JPCLS> > _JPCLS_PsiToF0Gamma; std::vector< boost::shared_ptr<const JPCLS> > _JPCLS_PsiToF0Gamma;
std::vector< boost::shared_ptr<const JPCLS> > _JPCLS_PsiToF1Gamma;
std::vector< boost::shared_ptr<const JPCLS> > _JPCLS_PsiToF2Gamma; std::vector< boost::shared_ptr<const JPCLS> > _JPCLS_PsiToF2Gamma;
std::vector< boost::shared_ptr<const JPCLS> > _JPCLS_PsiToEta2Gamma;
std::vector< boost::shared_ptr<const JPCLS> > _JPCLS_EtaToPhiPhi; std::vector< boost::shared_ptr<const JPCLS> > _JPCLS_EtaToPhiPhi;
std::vector< boost::shared_ptr<const JPCLS> > _JPCLS_F0ToPhiPhi; std::vector< boost::shared_ptr<const JPCLS> > _JPCLS_F0ToPhiPhi;
std::vector< boost::shared_ptr<const JPCLS> > _JPCLS_F1ToPhiPhi;
std::vector< boost::shared_ptr<const JPCLS> > _JPCLS_F2ToPhiPhi; std::vector< boost::shared_ptr<const JPCLS> > _JPCLS_F2ToPhiPhi;
std::vector< boost::shared_ptr<const JPCLS> > _JPCLS_Eta2ToPhiPhi;
std::vector< boost::shared_ptr<const JPCLS> > _JPCLS_PhiToKK; std::vector< boost::shared_ptr<const JPCLS> > _JPCLS_PhiToKK;
void fillJPCLS(boost::shared_ptr<jpcRes>, boost::shared_ptr<jpcRes>, boost::shared_ptr<jpcRes>, std::vector< boost::shared_ptr<const JPCLS> >& ); void fillJPCLS(boost::shared_ptr<jpcRes>, boost::shared_ptr<jpcRes>, boost::shared_ptr<jpcRes>, std::vector< boost::shared_ptr<const JPCLS> >& );
......
...@@ -148,6 +148,8 @@ int main(int __argc,char *__argv[]){ ...@@ -148,6 +148,8 @@ int main(int __argc,char *__argv[]){
hypMap["f02020Hyp"]=true; hypMap["f02020Hyp"]=true;
hypMap["f02020FlatteHyp"]=true; hypMap["f02020FlatteHyp"]=true;
hypMap["f22300Hyp"]=true; hypMap["f22300Hyp"]=true;
hypMap["eta21870Hyp"]=true;
hypMap["f1Hyp"]=true;
hypMap["usePhasespace"]=true; hypMap["usePhasespace"]=true;
const std::vector<std::string> disabledHyps=theAppParams.disabledHyps(); const std::vector<std::string> disabledHyps=theAppParams.disabledHyps();
......
TFile *f;
int ipad;
void plotQA(TString fName="./JpsiGamKsKlKK.root"){
f = new TFile(fName, "READ");
if(f==0){
cout << "Could not open file " << fName << endl;
return;
}
ipad=1;
TCanvas* c1 = new TCanvas("c1","c1",450,600);
c1->Divide(2,3);
TCanvas* c2 = new TCanvas("c2","c2",450,600);
c2->Divide(2,3);
ipad=1;
c1->cd(ipad);
plotHist("_PhiPhiMass");
c1->cd(ipad);
plotHist("_costGamCm");
c1->cd(ipad);
plotHist("_costKs_KsKlHeli");
c1->cd(ipad);
plotHist("_costKp_KpKmHeli");
c1->cd(ipad);
plotHist("_phiKs_KsKlHeli");
c1->cd(ipad);
plotHist("_phiKp_KpKmHeli");
ipad=1;
c2->cd(ipad);
plotHist("_costPhi_KpKm");
c2->cd(ipad);
plotHist("_phiPhi_KpKm");
c2->cd(ipad);
plotHist("_chi");
c1->Print("qaPlots.pdf(");
c2->Print("qaPlots.pdf)");
}
void plotHist(TString base){
TH1F* hd = (TH1F*) f->Get(base+"DataHist");
TH1F* hf = (TH1F*) f->Get(base+"FittedHist");
hd->SetMinimum(0);
hf->SetMinimum(0);
hf->SetLineWidth(2);
hf->SetLineColor(kRed);
hd->Draw("E");
hf->Draw("same");
ipad++;
return;
}
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