8 #ifndef STAR_StMCAsymMaker
9 #define STAR_StMCAsymMaker
13 extern "C" void polar_(
int*,
double*,
double*,
double*,
int*);
14 extern "C" Double_t ctq5pd_(
int*,
int*,
double*,
double*,
int*);
15 extern "C" void num_(
double*,
double*,
double*,
double*,
double*,
double*,
double*,
double*,
double*,
double*,
double*);
16 extern "C" void denom_(
double*,
double*,
double*,
double*,
double*,
double*,
double*,
double*,
double*,
double*,
double*);
17 extern "C" void polpar_(
double*,
double*,
double*,
double*,
double*,
double*,
double*,
double*);
18 extern "C" void dssvini2009a_(
int*);
19 extern "C" void dssvfit2009a_(
double*,
double*,
double*,
double*,
double*,
double*,
double*,
double*);
20 extern "C" void lss2010_(
int*,
double*,
double*,
double*,
double*,
double*,
double*,
double*,
double*,
double*,
double*);
21 extern "C" {
extern struct {
int iini; } intini_; }
22 extern "C" void polpdf_(
int*,
double*,
double*,
double*,
double*,
double*,
double*,
double*,
double*,
double*,
double*,
double*,
double*,
double*,
double*);
23 extern "C" double dinteg_(
double (*)(
double&),
double&,
double&,
double&);
40 #include "StPythiaEvent.h"
52 St_particle *particleTabPtr;
53 St_g2t_event *Pg2t_event;
54 St_g2t_pythia *Pg2t_pythia;
60 Double_t parton1[11],parton2[11];
61 int flavor1,flavor2,flavor3,flavor4;
62 float s,t,u,hard_p,cos_th,x1,x2;
63 int pol_id_flag, unpol_id_flag;
64 double partonic_all,Q2;
66 double df1_NLO_GSA,df1_NLO_GSB,df1_NLO_GSC;
67 double df2_NLO_GSA,df2_NLO_GSB,df2_NLO_GSC;
68 double weight_NLO_GSA,weight_NLO_GSB,weight_NLO_GSC;
70 double df1_LO,df2_LO,f1_LO,f2_LO,weight_LO;
71 double df1_NLO,df2_NLO,f1_NLO,f2_NLO,weight_NLO;
72 double df1_NLO_g0,df2_NLO_g0,weight_NLO_g0;
73 double df1_NLO_gmax,df2_NLO_gmax,weight_NLO_gmax;
74 double df1_NLO_gmin,df2_NLO_gmin,weight_NLO_gmin;
75 double df1_NLO_m015,df2_NLO_m015,weight_NLO_m015;
76 double df1_NLO_m030,df2_NLO_m030,weight_NLO_m030;
77 double df1_NLO_m045,df2_NLO_m045,weight_NLO_m045;
78 double df1_NLO_m060,df2_NLO_m060,weight_NLO_m060;
79 double df1_NLO_m075,df2_NLO_m075,weight_NLO_m075;
80 double df1_NLO_m090,df2_NLO_m090,weight_NLO_m090;
81 double df1_NLO_m105,df2_NLO_m105,weight_NLO_m105;
82 double df1_NLO_p030,df2_NLO_p030,weight_NLO_p030;
83 double df1_NLO_p045,df2_NLO_p045,weight_NLO_p045;
84 double df1_NLO_p060,df2_NLO_p060,weight_NLO_p060;
85 double df1_NLO_p070,df2_NLO_p070,weight_NLO_p070;
87 double df1_NLO_DSSV,df2_NLO_DSSV,weight_NLO_DSSV;
88 double df1_NLO_DSSV2009a,df2_NLO_DSSV2009a,weight_NLO_DSSV2009a;
90 double df1_NLO_LSS1,df2_NLO_LSS1,weight_NLO_LSS1;
91 double df1_NLO_LSS2,df2_NLO_LSS2,weight_NLO_LSS2;
92 double df1_NLO_LSS3,df2_NLO_LSS3,weight_NLO_LSS3;
93 double df1_NLO_LSS2010_delGpos,df2_NLO_LSS2010_delGpos,weight_NLO_LSS2010_delGpos;
94 double df1_NLO_LSS2010_chsign_delG,df2_NLO_LSS2010_chsign_delG,weight_NLO_LSS2010_chsign_delG;
96 double df1_NLO_AAC1,df2_NLO_AAC1,weight_NLO_AAC1;
97 double df1_NLO_AAC2,df2_NLO_AAC2,weight_NLO_AAC2;
98 double df1_NLO_AAC3,df2_NLO_AAC3,weight_NLO_AAC3;
100 double df1_NLO_BB1,df2_NLO_BB1,weight_NLO_BB1;
101 double df1_NLO_BB2,df2_NLO_BB2,weight_NLO_BB2;
102 double df1_NLO_BB2010,df2_NLO_BB2010,weight_NLO_BB2010;
104 double df1_NLO_DNS1,df2_NLO_DNS1,weight_NLO_DNS1;
105 double df1_NLO_DNS2,df2_NLO_DNS2,weight_NLO_DNS2;
110 static Double_t get_polPDF_NLO_GSA(
int flavor,
double x1,
double Q2);
111 static Double_t get_polPDF_NLO_GSB(
int flavor,
double x1,
double Q2);
112 static Double_t get_polPDF_NLO_GSC(
int flavor,
double x1,
double Q2);
115 static Double_t get_polPDF_LO(
int flavor,
double x1,
double Q2);
116 static Double_t get_polPDF_NLO(
int flavor,
double x1,
double Q2);
117 static Double_t get_polPDF_NLO_g0(
int flavor,
double x1,
double Q2);
118 static Double_t get_polPDF_NLO_gmax(
int flavor,
double x1,
double Q2);
119 static Double_t get_polPDF_NLO_gmin(
int flavor,
double x1,
double Q2);
120 static Double_t get_polPDF_NLO_m015(
int flavor,
double x1,
double Q2);
121 static Double_t get_polPDF_NLO_m030(
int flavor,
double x1,
double Q2);
122 static Double_t get_polPDF_NLO_m045(
int flavor,
double x1,
double Q2);
123 static Double_t get_polPDF_NLO_m060(
int flavor,
double x1,
double Q2);
124 static Double_t get_polPDF_NLO_m075(
int flavor,
double x1,
double Q2);
125 static Double_t get_polPDF_NLO_m090(
int flavor,
double x1,
double Q2);
126 static Double_t get_polPDF_NLO_m105(
int flavor,
double x1,
double Q2);
127 static Double_t get_polPDF_NLO_p030(
int flavor,
double x1,
double Q2);
128 static Double_t get_polPDF_NLO_p045(
int flavor,
double x1,
double Q2);
129 static Double_t get_polPDF_NLO_p060(
int flavor,
double x1,
double Q2);
130 static Double_t get_polPDF_NLO_p070(
int flavor,
double x1,
double Q2);
133 static Double_t get_polPDF_NLO_DSSV(
int flavor,
double x1,
double Q2);
136 static Double_t get_polPDF_NLO_DSSV2009a(
int flavor,
double x1,
double Q2);
139 static Double_t get_polPDF_NLO_LSS1(
int flavor,
double x1,
double Q2);
140 static Double_t get_polPDF_NLO_LSS2(
int flavor,
double x1,
double Q2);
141 static Double_t get_polPDF_NLO_LSS3(
int flavor,
double x1,
double Q2);
142 static Double_t get_polPDF_NLO_LSS2010_delGpos(
int flavor,
double x1,
double Q2);
143 static Double_t get_polPDF_NLO_LSS2010_chsign_delG(
int flavor,
double x1,
double Q2);
146 static Double_t get_polPDF_NLO_AAC1(
int flavor,
double x1,
double Q2);
147 static Double_t get_polPDF_NLO_AAC2(
int flavor,
double x1,
double Q2);
148 static Double_t get_polPDF_NLO_AAC3(
int flavor,
double x1,
double Q2);
151 static Double_t get_polPDF_NLO_BB1(
int flavor,
double x1,
double Q2);
152 static Double_t get_polPDF_NLO_BB2(
int flavor,
double x1,
double Q2);
153 static Double_t get_polPDF_NLO_BB2010(
int flavor,
double x1,
double Q2);
156 static Double_t get_polPDF_NLO_DNS1(
int flavor,
double x1,
double Q2);
157 static Double_t get_polPDF_NLO_DNS2(
int flavor,
double x1,
double Q2);
159 static Double_t get_unpolPDF_LO(
int flavor,
double x1,
double Q2);
160 static Double_t get_unpolPDF_NLO(
int flavor,
double x1,
double Q2);
162 static Double_t getPartonicALL(
double s,
double t,
double u,
int pid,
int flavor1,
int flavor2,
int flavor3,
int flavor4);
164 static Double_t getProtonA1(
double x,
double Q2);
165 static double get_polPDF_firstMoment(
int pdf,
int flavor,
double Q2,
double xmin,
double xmax,
double epsilon = 1.0e-3);
169 virtual Int_t Init();
170 virtual Int_t
Make();
171 void Clear(
const Option_t* option =
"");
176 const St_particle* particleTable()
const {
return particleTabPtr; }
178 virtual const char *GetCVS()
const {
179 static const char cvs[]=
"Tag $Name: $ $Id: StMCAsymMaker.h,v 1.14 2014/08/06 11:43:39 jeromel Exp $ built " __DATE__
" " __TIME__ ;
virtual Int_t Make()
Make - this method is called in loop for each event.
Event data structure to hold all information from a Monte Carlo simulation. This class is the interfa...