Something went wrong on our end
-
Bertram Kopf authored44bd8fe9
Hyp6Lh.hh 2.21 KiB
#ifndef _Hyp6Lh_H
#define _Hyp6Lh_H
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <complex>
#include <cassert>
#include <boost/shared_ptr.hpp>
#include "TROOT.h"
// #include <TSystem.h>
#include "qft++/topincludes/relativistic-quantum-mechanics.hh"
#include "Examples/Psi2STo2K2PiGam/Hyp5Lh.hh"
#include "Examples/Psi2STo2K2PiGam/Psi2STo2K2PiGamData.hh"
#include "PwaUtils/DataUtils.hh"
#include "Minuit2/MnUserParameters.h"
class Hyp6Lh : public Hyp5Lh{
public:
// create/copy/destroy:
///Constructor
Hyp6Lh(boost::shared_ptr<const Psi2STo2K2PiGamEvtList>, const std::map<const std::string, bool>& hypMap, boost::shared_ptr<Psi2STo2K2PiGamStates> theStatesPtr, bool cacheAmps=false);
Hyp6Lh(boost::shared_ptr<AbsPsi2STo2K2PiGamLh>, const std::map<const std::string, bool>& hypMap, boost::shared_ptr<Psi2STo2K2PiGamStates> theStatesPtr, bool cacheAmps=false);
/** Destructor */
virtual ~Hyp6Lh();
virtual AbsPsi2STo2K2PiGamLh* clone_(){
return new Hyp6Lh(_Psi2STo2K2PiGamEvtListPtr, _hypMap, _fitParams2K2PiGam.states(), _cacheAmps);
}
// Getters:
virtual void setMnUsrParams(MnUserParameters& upar, param2K2PiGam& startVal, param2K2PiGam& errVal);
virtual int setFitParamVal(param2K2PiGam& theParamVal, const std::vector<double>& par);
virtual unsigned int nFitParams();
virtual void print(std::ostream& os) const;
virtual void printCurrentFitResult(param2K2PiGam& theParamVal);
virtual void dumpCurrentResult(std::ostream& os, param2K2PiGam& theParamVal, std::string& suffix);
protected:
bool _doHyp6;
bool _K_0_1430K_0_1950Hyp6;
bool _KappaK_0_1430Hyp6;
bool _KappaK_0_1950Hyp6;
virtual complex<double> chi0DecAmps(const param2K2PiGam& theParamVal, Psi2STo2K2PiGamData::Psi2STo2K2PiGamEvtData* theData);
virtual bool equalChic0DecParams();
virtual void copyCurrentVals(Hyp6Lh* theLh);
std::map<unsigned int, complex<double> > _currentResultHyp6;
private:
unsigned int _nFitParams;
std::vector<unsigned int> _ampVec;
std::vector<unsigned int> _massVec;
std::vector<unsigned int> _massVecRemain;
void setUp(const std::map<const std::string, bool>& hypMap);
unsigned int _evtCounter;
bool _equalParameter;
bool equalParams();
};
#endif