Something went wrong on our end
-
Marc Pelizaeus authoredc3142bf6
JpsiGamKsKlKKFitParams.hh 2.80 KiB
#ifndef _JpsiGamKsKlKKFitParams_H
#define _JpsiGamKsKlKKFitParams_H
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <map>
#include <complex>
#include <cassert>
#include <boost/shared_ptr.hpp>
#include "TROOT.h"
#include "Examples/JpsiGamKsKlKK/JpsiGamKsKlKKData.hh"
#include "qft++/topincludes/relativistic-quantum-mechanics.hh"
#include "PwaUtils/DataUtils.hh"
#include "Utils/PawianCollectionUtils.hh"
#include "Minuit2/MnUserParameters.h"
// using namespace std;
using namespace ROOT::Minuit2;
struct paramGamKsKlKK
{
std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > PsiToEtacGamma;
std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > PsiToEta2225Gamma;
std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > PsiToF22010Gamma;
std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > PsiToF22300Gamma;
std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess > PsiToF22340Gamma;
pair<double, double> BwEtac;
pair<double, double> BwEta2225;
pair<double, double> BwF22010;
pair<double, double> BwF22300;
pair<double, double> BwF22340;
};
struct paramEnumGamKsKlKK{
enum { etacGamma=0, eta2225Gamma, f22010Gamma, f22300Gamma, f22340Gamma, nAmps,
etac=nAmps, eta2225, f22010, f22300 ,f22340, nMasses };
static const std::string& name(unsigned int t)
{
static std::string fitName[paramEnumGamKsKlKK::nMasses]
={"etacGam", "eta2225Gamma", "f22010Gamma", "f22300Gamma", "f2340Gamma",
"etac", "eta2250", "f22010", "f22340", "f22340" };
if (t<0 || t>=paramEnumGamKsKlKK::nMasses) assert(0);
return fitName[t];
}
};
class JpsiGamKsKlKKFitParams{
public:
JpsiGamKsKlKKFitParams();
virtual ~JpsiGamKsKlKKFitParams();
std::vector< boost::shared_ptr<const JPCLS> > jpclsVec(unsigned int index);
std::map< boost::shared_ptr<const JPCLS>, pair<double, double>, pawian::Collection::SharedPtrLess >& ampMap(paramGamKsKlKK& params, unsigned int index);
pair<double, double>& massPair(paramGamKsKlKK& params, unsigned int index);
int setFitParamValDec(paramGamKsKlKK& theParamVal, const std::vector<double>& par, int counter, unsigned int index);
int setFitParamValMass(paramGamKsKlKK& theParamVal, const std::vector<double>& par, int counter, unsigned int index);
void setMnUsrParamsDec(MnUserParameters& upar, paramGamKsKlKK& startVal, paramGamKsKlKK& errVal, unsigned int index);
void setMnUsrParamsMass(MnUserParameters& upar, paramGamKsKlKK& startVal, paramGamKsKlKK& errVal, unsigned int index);
protected:
private:
std::map < unsigned int, std::vector< boost::shared_ptr<const JPCLS> > > _jpclsMap;
};
#endif