82#include "TGraphErrors.h"
83#include "TDirectory.h"
97 void getName(std::string& name);
109 double gamHXSection(
double s,
double El,
double Eh,
int nmc=100000);
116 double difgamXs(
double mhds,
double sintheta);
132 double Rad1(
double s,
double x);
133 double Rad2(
double s,
double x);
145 double Li2(
double x);
147 double lgr(
double *x,
double *y,
int n,
double t);
148 bool islgr(
double *x,
double *y,
int n,
double t);
149 double LLr(
double *x,
double *y,
int n,
double t);
150 int selectMode(std::vector<int> vmod,
double mhds);
166 double getVP(
double cms);
167 void mk_VXS(
double Esig,
double Egamcut,
double EgamH,
int midx);
171 std::vector<EvtId>
get_mode(
int mode);
177 std::vector<std::string>
split(std::string str,std::string pattern);
180 void calAF(
double myecms);
182 double trapezoid(
double s,
double a,
double b,
int n);
187 int _mode,_ndaugs,radflag,testflag;
188 EvtId daugs[10],gamId;
189 static double _xs0,_xs1;
190 static double _er0,_er1;
192 std::vector<double> ISRXS,ISRM;
193 std::vector<bool> ISRFLAG;
196 double differ,differ2,Rad2Xs;
198 std::vector<double> BR_ee;
199 std::vector<EvtId > ResId,ISRID;
204 Double_t pgam[4],phds[4],ph1[4],ph2[4],mhds,sumxs;
205 Double_t mass1,mass2,costheta,selectmode;
211 TH1F* myth,*Xobs,*Xsum;
218 static double AF[600],AA[600],MH[600];
219 double RadXS[600],EgamH;
220 std::vector<double> myFisr;
222 double mjsi,mpsip,mpsipp,mphi,momega,mrho0,mrho3s,momega2s;
223 double wjsi,wpsip,wpsipp,wphi,womega,wrho0,wrho3s,womega2s;
227 std::vector<int> _modeFlag;
229 std::vector<int > vmode, vmd;
230 static std::vector<std::vector <double> > VXS;
231 std::vector<double> vpx,vpr,vpi;
235 static int nconexcdecays;
241 static std::string* commands;
244 double threshold, beamEnergySpread;
EvtDecayBase * EvtDecayBasePtr
bool checkdecay(EvtParticle *p)
void findMaxXS(EvtParticle *p)
double addNarrowRXS(double mhi, double binwidth)
double narrowRXS(double mxL, double mxH)
bool VP_sampling(EvtVector4R pcm, EvtVector4R pi)
void command(std::string cmd)
double gamHXSection_er(double El, double Eh)
bool islgr(double *x, double *y, int n, double t)
double lgr(double *x, double *y, int n, double t)
double baryonAng(double mx)
double Ros_xs(double mx, double bree, EvtId pid)
double Rad1(double s, double x)
static EvtXsection * staxsection
static EvtXsection * myxsection
void SetP4Rvalue(EvtParticle *part, double mhdr, double xeng, double theta)
bool meson_sampling(EvtVector4R pcm, EvtVector4R pi)
bool photonSampling(EvtParticle *part)
double ISR_ang_integrate(double x, double theta)
bool xs_sampling(double xs)
int selectMode(std::vector< int > vmod, double mhds)
double gamHXSection(EvtParticle *p, double El, double Eh, int nmc=100000)
double Rad1difXs(EvtParticle *p)
bool baryon_sampling(EvtVector4R pcm, EvtVector4R pi)
int get_mode_index(int mode)
double LLr(double *x, double *y, int n, double t)
double Rad2difXs(EvtParticle *p)
double SoftPhoton_xs(double s, double b)
bool angularSampling(EvtParticle *part)
double difgamXs(EvtParticle *p)
double ISR_ang_sampling(double x)
double Mhad_sampling(double *x, double *y)
double energySpread(double mu, double sigma)
std::vector< EvtId > get_mode(int mode)
double getObsXsection(double mhds, int mode)
void mk_VXS(double Esig, double Egamcut, double EgamH, int midx)
void calAF(double myecms)
bool hadron_angle_sampling(EvtVector4R ppi, EvtVector4R pcm)
bool gam_sampling(EvtParticle *p)
double Rad2(double s, double x)
double trapezoid(double s, double a, double b, int n)
void getName(std::string &name)
void decay(EvtParticle *p)
std::vector< std::string > split(std::string str, std::string pattern)
std::string commandName()
double Egam2Mhds(double Egam)
void SetP4(EvtParticle *part, double mhdr, double xeng, double theta)