#ifndef _JpsiGamEtaPiPiFitParams_H #define _JpsiGamEtaPiPiFitParams_H #include <iostream> #include <fstream> #include <string> #include <vector> #include <map> #include <complex> #include <cassert> #include <boost/shared_ptr.hpp> #include "TROOT.h" #include "qft++/topincludes/relativistic-quantum-mechanics.hh" #include "PwaUtils/DataUtils.hh" #include "PwaUtils/FitParamsBase.hh" #include "Utils/PawianCollectionUtils.hh" #include "Minuit2/MnUserParameters.h" #include "PwaUtils/FitParamsBase.hh" // using namespace std; using namespace ROOT::Minuit2; struct paramEnumJpsiGamEtaPiPi{ enum { PsiToEtaGamma=0, PsiToF1Gamma, EtaToPiPiEta, EtaToA980Pi, EtaToA2_1320Pi, F1ToPiPiEta, F1ToA980Pi, nAmps, a0_980=nAmps, a2_1320, nMasses, a0_980gPiEta=nMasses, a0_980gKK, ngFactors, phaseSpace=ngFactors, nOthers }; static const std::string& name(unsigned int t) { static std::string fitName[paramEnumJpsiGamEtaPiPi::nOthers] ={"PsiToEtaGamma", "PsiToF1Gamma", "EtaToPiPiEta", "EtaToA980Pi", "EtaToA2_1320Pi", "F1ToPiPiEta","F1ToA980Pi", "a0_980","a2_1320", "a0_980gPiEta", "a0_980gKK", "phaseSpace"}; if (t<0 || t>=paramEnumJpsiGamEtaPiPi::nOthers) assert(0); return fitName[t]; } }; class JpsiGamEtaPiPiFitParams : public FitParamsBase { public: JpsiGamEtaPiPiFitParams(); JpsiGamEtaPiPiFitParams(fitParams& theStartparams, fitParams& theErrorparams); virtual ~JpsiGamEtaPiPiFitParams(); virtual const std::string ampName(int index) {return paramEnumJpsiGamEtaPiPi::name(index);} virtual const std::string massName(int index) {return paramEnumJpsiGamEtaPiPi::name(index);} virtual const std::string widthName(int index) {return paramEnumJpsiGamEtaPiPi::name(index);} virtual const std::string gFactorName(int index) {return paramEnumJpsiGamEtaPiPi::name(index);} virtual const std::string otherName(int index) {return paramEnumJpsiGamEtaPiPi::name(index);} virtual int ampIdxMin() {return paramEnumJpsiGamEtaPiPi::PsiToEtaGamma;} virtual int ampIdxMax() {return paramEnumJpsiGamEtaPiPi::nAmps-1;} virtual int massIdxMin() {return paramEnumJpsiGamEtaPiPi::nAmps;} virtual int massIdxMax() {return paramEnumJpsiGamEtaPiPi::nMasses-1;} virtual int gFactorIdxMin() {return paramEnumJpsiGamEtaPiPi::nMasses;} virtual int gFactorIdxMax() {return paramEnumJpsiGamEtaPiPi::ngFactors-1;} virtual int otherIdxMin() {return paramEnumJpsiGamEtaPiPi::ngFactors;} virtual int otherIdxMax() {return paramEnumJpsiGamEtaPiPi::nOthers-1;} protected: virtual void initialize(); private: }; #endif