#pragma once #include <iostream> #include <fstream> #include <string> #include <vector> #include <complex> #include <cassert> #include <boost/shared_ptr.hpp> #include <boost/function.hpp> #include "TROOT.h" // #include <TSystem.h> #include "qft++/topincludes/relativistic-quantum-mechanics.hh" #include "PwaUtils/PsiProdBaseLhNew.hh" #include "Examples/JpsiToPhiPhiGam/JpsiToPhiPhiGamStates.hh" #include "PwaUtils/DataUtils.hh" #include "Minuit2/MnUserParameters.h" class AbsXdecAmp; class JpsiToPhiPhiGamLh : public PsiProdBaseLhNew{ public: // create/copy/destroy: ///Constructor JpsiToPhiPhiGamLh(boost::shared_ptr<const EvtDataBaseListNew>, const std::vector<std::string>& hypVec, boost::shared_ptr<JpsiToPhiPhiGamStates> theStates); JpsiToPhiPhiGamLh(boost::shared_ptr<AbsLhNew>, const std::vector<std::string>& hypVec, boost::shared_ptr<JpsiToPhiPhiGamStates> theStates); /** Destructor */ virtual ~JpsiToPhiPhiGamLh(); virtual AbsLhNew* clone_() const { return new JpsiToPhiPhiGamLh(_evtListPtr, _hypVec, _jpsiToPhiPhiGamStatesPtr); } // virtual double calcEvtIntensity( EvtDataNew* theData, fitParamsNew& theParamVal); //Getters: // virtual void getDefaultParams(fitParamsNew& fitVal, fitParamsNew& fitErr); virtual void print(std::ostream& os) const; protected: boost::shared_ptr<JpsiToPhiPhiGamStates> _jpsiToPhiPhiGamStatesPtr; private: void initializeHypothesis(); };