Newer
Older
#ifndef _AbsOmegaPiLh_H
#define _AbsOmegaPiLh_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/pbarpToOmegaPi/OmegaPiData.hh"
#include "Examples/pbarpToOmegaPi/minuitstartparam.hh"
#include <geneva/GConstrainedDoubleObjectCollection.hpp>
#include "Minuit2/MnUserParameters.h"
// using namespace std;
using namespace ROOT::Minuit2;
public:
// create/copy/destroy:
///Constructor
AbsOmegaPiLh(boost::shared_ptr<const OmegaPiEventList> theEvtList, boost::shared_ptr<const pbarpToOmegaPi0States> theStates);
AbsOmegaPiLh(boost::shared_ptr<AbsOmegaPiLh> theOmegaPiLhPtr);
virtual AbsOmegaPiLh* clone_() const=0;
virtual double calcLogLh(const OmegaPiData::fitParamVal& theParamVal);
virtual double calcEvtIntensity(OmegaPiData::OmPiEvtData* theData, const OmegaPiData::fitParamVal& theParamVal)=0;
virtual complex<double> spinDensity(Spin M, Spin M_, OmegaPiData::OmPiEvtData* theData, const OmegaPiData::fitParamVal& theParamVal)=0;
virtual complex<double> spinDensityOmegaFrame(Spin M, Spin M_, OmegaPiData::OmPiEvtData* theData, const OmegaPiData::fitParamVal& theParamVal)=0;
boost::shared_ptr<const OmegaPiEventList> getEventList() const {return _omegaPiEventListPtr;}
boost::shared_ptr<const pbarpToOmegaPi0States> omegaPi0States() const {return _omegaPi0StatesPtr;}
virtual void getFitParamVal(OmegaPiData::fitParamVal& theParamVal, const std::vector<double>& par) const=0;
virtual void setGenevaFitParamVal( boost::shared_ptr<Gem::Geneva::GConstrainedDoubleObjectCollection> theGbdc_ptr )=0;
virtual void setMnUsrParams(MnUserParameters& upar)=0;
virtual void setMnUsrParams(MnUserParameters& upar, OmegaPiData::fitParamVal &finalFitParm)=0;
virtual void setMnUsrParams(MnUserParameters& upar, minuitStartParam &theStartParam)=0;
virtual void dumpCurrentResult(std::ostream& os, const OmegaPiData::fitParamVal& fitParmVal) const =0;
virtual void printFitParams(std::ostream& os, const OmegaPiData::fitParamVal& fitParmVal)=0;
virtual void print(std::ostream& os) const;
unsigned int _globalItCounter;
boost::shared_ptr<const OmegaPiEventList> _omegaPiEventListPtr;
boost::shared_ptr<const pbarpToOmegaPi0States> _omegaPi0StatesPtr;
std::vector<OmegaPiData::OmPiEvtData*> _evtDataVec;
std::vector<OmegaPiData::OmPiEvtData*> _evtMCVec;