CGEM BOSS 6.6.5.i
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtConExc.hh
Go to the documentation of this file.
1//--------------------------------------------------------------------------
2//
3// Environment:
4// This software is part of models developed at BES collaboration
5// based on the EvtGen framework. If you use all or part
6// of it, please give an appropriate acknowledgement.
7//
8// Copyright Information: See EvtGen/BesCopyright
9// Copyright (A) 2006 Ping Rong-Gang @IHEP
10//
11// Module: EvtConExc.hh
12//
13// Description: To define cross section for the continuum exclusive process
14// Experimental cross section taken from PRD73,012005, PRD76,092006, also
15// see a review: Rev. Mod. Phys. 83,1545
16 /*******************--- mode definition: also see EvtXsection.cc
17 0: ppbar
18 1: nnbar
19 2: Lambda0 anti-Lambda0
20 3: Sigma0 anti-Sigma0
21 4: Lambda0 anti-Sigma0
22 5: Sigma0 anti-Lambda0
23 6: pi+ pi-
24 7: pi+ pi- pi0
25 8: K+K- pi0
26 9: KsK+pi-
27 10: KsK-pi+
28 11: K+K-eta
29 12: 2(pi+pi-)
30 13: pi+pi-2pi0
31 14: K+K-pi+pi-
32 15: K+K-2pi0
33 16: 2(K+K-)
34 17: 2(pi+pi-)pi0
35 18: 2(pi+pi-)eta
36 19: K+K-pi+pi-pi0
37 20: K+K-pi+pi-eta
38 21: 3(pi+pi-)
39 22: 2(pi+pi-pi0)
40 23: phi eta
41 24: phi pi0
42 25: K+K*-
43 26: K-K*+
44 27: K_SK*0-bar
45 28: K*0(892)K+pi-
46 29: K*0(892)K-pi+
47 30: K*+K-pi0
48 31: K*-K+pi0
49 32: K_2*(1430)0 K+pi-
50 33: K_2*(1430)0 K-pi+
51 34: K+K-rho
52 35: phi pi+pi-
53 36: phi f0(980)
54 37: eta pi+pi-
55 38: omega pi+ pi-
56 39: omega f0(980)
57 40: eta' pi+ pi-
58 41: f_1(1285)pi+pi-
59 42: omega K+K-
60 43: omega pi+pi-pi0
61 *************************************/
62// Modification history:
63//
64// Ping R.-G. Nov., 2012 Module created
65//
66//------------------------------------------------------------------------
67//
68#ifndef EVTCONEXC_HH
69#define EVTCONEXC_HH
70
71//#include <string.h>
72#include "EvtGenBase/EvtId.hh"
75//------ including root
76#include "TH1.h"
77#include "TH2.h"
78#include "TH3.h"
79#include "TFile.h"
80#include "TROOT.h"
81#include "TTree.h"
82#include "TGraphErrors.h"
83#include "TDirectory.h"
84
85class EvtParticle;
86
88
89public:
90
92 } //constructor
93 //---
94 virtual ~EvtConExc();
95
96 void getName(std::string& name);
97
99
100 void initProbMax();
101
102 void init();
103 void init_Br_ee();
104
105 void decay(EvtParticle *p);
106 void init_mode(int mode);
107 double gamHXSection(EvtParticle* p, double El, double Eh, int nmc=100000);
108 double gamHXSection(double s, double El, double Eh, int nmc=100000);
109 double gamHXSection(double El, double Eh);
110 double gamHXSection_er(double El,double Eh);
111
112 void findMaxXS(EvtParticle *p);
113 double difgamXs(EvtParticle* p); //differential cross section for gamma + hadrons
114 bool gam_sampling(EvtParticle *p);
115 bool xs_sampling(double xs);
116 bool baryon_sampling(EvtVector4R pcm, EvtVector4R pi);//baryon angular distri. 1+cos^2\theta
117 bool meson_sampling(EvtVector4R pcm, EvtVector4R pi); //meson angular distri. sin^2\theta
118 double Rad1(double s, double x);
119 double Rad2(double s, double x);
120 double Rad2difXs(EvtParticle *p);
121 double Rad2difXs(double s, double x);
122 double Rad1difXs(EvtParticle *p);
123 double Ros_xs(double mx, double bree,EvtId pid);
125 static double _cms; //energy of CMS of ee beam
126 static double XS_max;// maxium of cross section in experiment
127
128 static int getMode;
129 double Li2(double x);
130 double SoftPhoton_xs(double s,double b);
131private:
132
133 int _mode,_ndaugs,radflag;
134 EvtId daugs[10],gamId;//daugs[0]~dagus[_ndaugs-1] are hadrons, daugs[_ndaugs] is ISR gamma
135 static double _xs0,_xs1; //cross section for 0 and 1-photon processes
136 static double _er0,_er1; //cross section for 0 and 1-photon processes
137 static int _nevt;
138
139 EvtParticle* gamH;
140 double maxXS;//maximum of diffrential cross section respective to cos\theta and mhds for ee->gamma hadrons
141 double differ,differ2,Rad2Xs;
142 std::string _unit;
143 std::vector<double> BR_ee;
144 std::vector<EvtId > ResId;
145
146 //-- for deguggint to make root file
147 TFile *myfile;
148 Double_t pgam[4],phds[4],ph1[4],ph2[4],mhds;
149 Double_t mass1,mass2;
150 Int_t imode;
151 TTree *xs;
152 bool mydbg; //handler w/o debugging
153 TGraphErrors *mygr;
154 TH1F* myth;
155 // for calulate the correction factor
156 int pdgcode;
157 std::string file;
158 EvtId son[10],pid;
159 int nson;
160};
161
162#endif
163
XmlRpcServer s
double Li2(double x)
void findMaxXS(EvtParticle *p)
Definition EvtConExc.cc:938
static int getMode
Definition EvtConExc.hh:128
void init()
Definition EvtConExc.cc:158
void init_Br_ee()
double gamHXSection_er(double El, double Eh)
Definition EvtConExc.cc:920
double Ros_xs(double mx, double bree, EvtId pid)
double Rad1(double s, double x)
static EvtXsection * myxsection
Definition EvtConExc.hh:124
bool meson_sampling(EvtVector4R pcm, EvtVector4R pi)
bool xs_sampling(double xs)
double gamHXSection(EvtParticle *p, double El, double Eh, int nmc=100000)
Definition EvtConExc.cc:819
double Rad1difXs(EvtParticle *p)
void init_mode(int mode)
Definition EvtConExc.cc:337
bool baryon_sampling(EvtVector4R pcm, EvtVector4R pi)
double Rad2difXs(EvtParticle *p)
double SoftPhoton_xs(double s, double b)
double difgamXs(EvtParticle *p)
Definition EvtConExc.cc:973
void initProbMax()
Definition EvtConExc.cc:711
static double _cms
Definition EvtConExc.hh:125
virtual ~EvtConExc()
Definition EvtConExc.cc:136
bool gam_sampling(EvtParticle *p)
Definition EvtConExc.cc:999
double Rad2(double s, double x)
void getName(std::string &name)
Definition EvtConExc.cc:145
void decay(EvtParticle *p)
Definition EvtConExc.cc:717
static double XS_max
Definition EvtConExc.hh:126
EvtDecayBase * clone()
Definition EvtConExc.cc:151
Definition EvtId.hh:27
const float pi
Definition vector3.h:133