Pluto
v6.3.0
Loading...
Searching...
No Matches
pA_cocktail_35.C
Go to the documentation of this file.
1
//TITLE Thermal source model of p+nucleus 3.5 AGeV
2
3
{
4
// To save space, only leptons branches are generated and written to file.
5
// allows for different seeds each time the macro is started
6
7
PUtils::SetSeed
(0);
8
9
// makeDistributionManager()->Disable("helicity_angles");
10
11
Bool_t
freeze
=kFALSE;
12
13
Float_t
Eb
= 3.5;
// beam energy in AGeV
14
Float_t
ctr
= 1.0;
//
15
//Float_t bmax = 3.9; // max. impact parameter (corresponds to 60% of all)
16
Float_t
bmax
= 0.0;
// Poisson sampling
17
if
(
bmax
>0.)
ctr
= 1.;
// use b sampling instead of Poisson sampling
18
19
Float_t T1 = 0.080;
// temperature in GeV (for pion 2-component spectra)
20
Float_t T2 = 0.080;
// temperature in GeV (assume this for thermalized source)
21
Float_t frac = 1.0;
// fraction of pion low-T component (from Jehad's fit to QMD)
22
Float_t
blast
= 0.0;
// radial expansion velocity
23
24
Float_t A2 = 1.0;
// polar distribution (from KaoS pion data)
25
Float_t A4 = 0.0;
26
Float_t
v1
= 0.0;
// side flow
27
Float_t
v2
= 0.0;
// elliptic flow
28
29
// Multiplicties for 3.5 AGeV P+nucleus min. bias events
30
Float_t
Mprot
= 2.03*
ctr
;
// proton
31
Float_t
Mneut
= 2.03*
ctr
;
// neutron
32
Float_t
Mdeut
= 0.0*
ctr
;
// deuteron (= 10% of proton)
33
// <Apart> = ctr*(8.9 + 8.9 + 2*0.89) = 19.6 = A/2
34
Float_t
Mpi0
= 0.60*
ctr
;
// pi0 multiplicity in p+C 3.5 AGeV
35
Float_t
Mpip
= 0.60*
ctr
;
// pi+
36
Float_t
Mpim
= 0.60*
ctr
;
// pi-
37
Float_t
Meta
= 0.031*
ctr
;
// eta
38
Float_t
Momega
= 0.011*
ctr
;
// omega
39
Float_t
Mrho0
= 0.011*
ctr
;
// rho0
40
Float_t
Mphi
= 0.0005*
ctr
;
// phi
41
Float_t
MDelta
= 2.*3./2.*
Mpi0
;
// Delta0 + Delta+
42
43
Float_t
enhance
= 500.;
// enhancement factor for mesons
44
//Float_t enhance = 5000.;
45
// enhance = 1.; // enhancement factor
46
Float_t enhancepi = 4.;
//enhancement factor for pi
47
//Float_t enhancepi = 1; //enhancement factor for pi
48
49
Mpi0
*= enhancepi;
50
//Mpip *= enhancepi;
51
Meta
*=
enhance
;
52
Momega
*=
enhance
;
53
Mrho0
*=
enhance
;
54
Mphi
*=
enhance
;
55
MDelta
*=
enhance
;
56
57
PFireball
*
source1
=
new
PFireball
(
"pi0"
,
Eb
,T1,T2,frac,
blast
,A2,A4,
v1
,
v2
);
58
PFireball
*
source2
=
new
PFireball
(
"eta"
,
Eb
,T2,0.,1.,
blast
,0.0,A4,
v1
,
v2
);
59
PFireball
*
source3
=
new
PFireball
(
"w"
,
Eb
,T2,0.,1.,
blast
,0.0,A4,
v1
,
v2
);
60
PFireball
*
source4
=
new
PFireball
(
"w"
,
Eb
,T2,0.,1.,
blast
,0.0,A4,
v1
,
v2
);
61
62
// source4->getFuncE()->Draw();
63
// return;
64
65
PFireball
*
source5
=
new
PFireball
(
"rho0"
,
Eb
,T2,0.,1.,
blast
,0.0,A4,
v1
,
v2
);
66
PFireball
*
source6
=
new
PFireball
(
"phi"
,
Eb
,T2,0.,1.,
blast
,0.0,A4,
v1
,
v2
);
67
PFireball
*
source7
=
new
PFireball
(
"phi"
,
Eb
,T2,0.,1.,
blast
,0.0,A4,
v1
,
v2
);
68
PFireball
*
source8
=
new
PFireball
(
"D0"
,
Eb
,T2,0.,1.,
blast
,0.0,A4,
v1
,
v2
);
69
PFireball
*
source9
=
new
PFireball
(
"phi"
,
Eb
,T1,T2,frac,
blast
,A2,A4,
v1
,
v2
);
70
PFireball
*source10 =
new
PFireball
(
"pi-"
,
Eb
,T1,T2,frac,
blast
,A2,A4,
v1
,
v2
);
71
PFireball
*source11 =
new
PFireball
(
"p"
,
Eb
,T1,T2,frac,
blast
,A2,A4,
v1
,
v2
);
72
PFireball
*source12 =
new
PFireball
(
"eta"
,
Eb
,T2,0.,1.,
blast
,0.0,A4,
v1
,
v2
);
73
74
source1
->SetW(1.0/enhancepi);
75
source2
->SetW(1.0/
enhance
);
76
source3
->SetW(1.0/
enhance
);
77
source4
->SetW(1.0/
enhance
);
78
source5
->SetW(1.0/
enhance
);
79
source6
->SetW(1.0/
enhance
);
80
source7
->SetW(1.0/
enhance
);
81
source8
->SetW(1.0/
enhance
);
82
source9
->SetW(1.0);
83
source10->
SetW
(1.0);
84
source11->
SetW
(1.0);
85
source12->
SetW
(1.0/
enhance
);
86
87
88
PChannel
*
c1
=
source1
->makeChannel(20, 0.012*
Mpi0
);
// pi0 decay directly
89
PChannel
*
c2
=
source2
->makeChannel(1, 0.006*
Meta
);
// eta -> gamma e+e-
90
PChannel
*
c3
=
source3
->makeChannel(1, 5.9e-4*
Momega
);
// omega -> pi0 e+e-
91
PChannel
*
c4
=
source4
->makeChannel(1, 7.15e-5*
Momega
);
// omega -> e+e-
92
PChannel
*
c5
=
source5
->makeChannel(1, 4.48e-5*
Mrho0
);
// rho0 -> e+e-
93
PChannel
*
c6
=
source6
->makeChannel(1, 3.00e-4*
Mphi
);
// phi -> e+e-
94
PChannel
*
c7
=
source7
->makeChannel(1, 1.30e-4*
Mphi
);
// phi -> eta e+e-
95
PChannel
*
c8
=
source8
->makeChannel(1, 4.4e-5*
MDelta
);
// Delta -> N e+e-
96
PChannel
*
c9
=
source9
->makeChannel(1,0.49*
Mphi
);
//phi->K+K-
97
/*
98
PChannel *c9 = source9->makeChannel(10, Mpip); // Pion plus
99
PChannel *c10 = source10->makeChannel(10, Mpim); // Pion minus
100
PChannel *c11 = source11->makeChannel(10, Mprot); // Proton
101
*/
102
PChannel
*c12 = source12->
makeChannel
(1, 0.21*
Meta
);
// eta -> gamma, gamma
103
//PChannel *c14 = source13->makeChannel(1, 0.99*Mpi0); // pi0 -> gamma, gamma
104
//
105
106
source1
->Print();
107
source2
->Print();
108
source3
->Print();
109
source4
->Print();
110
source5
->Print();
111
source6
->Print();
112
source7
->Print();
113
source8
->Print();
114
source9
->Print();
115
source10->
Print
();
116
source11->
Print
();
117
source12->
Print
();
118
119
120
PParticle
**
ptcls
;
121
123
124
PParticle
*gam1 =
new
PParticle
(
"g"
);
125
PParticle
*
diel1
=
new
PParticle
(
"dilepton"
);
126
PParticle
*
elec1
=
new
PParticle
(
"e-"
);
127
PParticle
*
posi1
=
new
PParticle
(
"e+"
);
128
130
131
ptcls
=
c1
->GetParticles();
132
PParticle
*s1_1[] = {
ptcls
[1], gam1,
diel1
};
133
PParticle
*
s1_2
[] = {
diel1
,
elec1
,
posi1
};
134
PChannel
*
c1_1
=
new
PChannel
(s1_1,2,1);
135
PChannel
*
c1_2
=
new
PChannel
(
s1_2
,2,1);
136
138
139
PParticle
*
gam2
=
new
PParticle
(
"g"
);
140
PParticle
*
diel2
=
new
PParticle
(
"dilepton"
);
141
PParticle
*
elec2
=
new
PParticle
(
"e-"
);
142
PParticle
*
posi2
=
new
PParticle
(
"e+"
);
143
145
146
ptcls
=
c2
->GetParticles();
147
PParticle
*
s2_1
[] = {
ptcls
[1],
gam2
,
diel2
};
148
PParticle
*
s2_2
[] = {
diel2
,
elec2
,
posi2
};
149
PChannel
*
c2_1
=
new
PChannel
(
s2_1
,2,1);
150
PChannel
*
c2_2
=
new
PChannel
(
s2_2
,2,1);
151
152
154
155
PParticle
*
pi03
=
new
PParticle
(
"pi0"
);
156
PParticle
*
diel3
=
new
PParticle
(
"dilepton"
);
157
PParticle
*
elec3
=
new
PParticle
(
"e-"
);
158
PParticle
*
posi3
=
new
PParticle
(
"e+"
);
159
160
ptcls
=
c3
->GetParticles();
161
PParticle
*
s3_1
[] = {
ptcls
[1],
pi03
,
diel3
};
162
PParticle
*
s3_2
[] = {
diel3
,
elec3
,
posi3
};
163
PChannel
*
c3_1
=
new
PChannel
(
s3_1
,2,1);
164
PChannel
*
c3_2
=
new
PChannel
(
s3_2
,2,1);
165
167
168
PParticle
*
elec4
=
new
PParticle
(
"e-"
);
169
PParticle
*
posi4
=
new
PParticle
(
"e+"
);
170
171
ptcls
=
c4
->GetParticles();
172
PParticle
*
s4_1
[] = {
ptcls
[1],
elec4
,
posi4
};
173
PChannel
*
c4_1
=
new
PChannel
(
s4_1
,2,1);
174
176
177
PParticle
*
elec5
=
new
PParticle
(
"e-"
);
178
PParticle
*
posi5
=
new
PParticle
(
"e+"
);
179
180
ptcls
=
c5
->GetParticles();
181
PParticle
*
s5_1
[] = {
ptcls
[1],
elec5
,
posi5
};
182
PChannel
*
c5_1
=
new
PChannel
(
s5_1
,2,1);
183
185
186
PParticle
*
elec6
=
new
PParticle
(
"e-"
);
187
PParticle
*
posi6
=
new
PParticle
(
"e+"
);
188
189
ptcls
=
c6
->GetParticles();
190
PParticle
*
s6_1
[] = {
ptcls
[1],
elec6
,
posi6
};
191
PChannel
*
c6_1
=
new
PChannel
(
s6_1
,2,1);
192
194
195
PParticle
*
eta7
=
new
PParticle
(
"eta"
);
196
PParticle
*
diel7
=
new
PParticle
(
"dilepton"
);
197
PParticle
*
elec7
=
new
PParticle
(
"e-"
);
198
PParticle
*
posi7
=
new
PParticle
(
"e+"
);
199
200
ptcls
=
c7
->GetParticles();
201
PParticle
*
s7_1
[] = {
ptcls
[1],
eta7
,
diel7
};
202
PParticle
*
s7_2
[] = {
diel7
,
elec7
,
posi7
};
203
PChannel
*
c7_1
=
new
PChannel
(
s7_1
,2,1);
204
PChannel
*
c7_2
=
new
PChannel
(
s7_2
,2,1);
205
207
208
PParticle
*
neut8
=
new
PParticle
(
"n"
);
209
PParticle
*
diel8
=
new
PParticle
(
"dilepton"
);
210
PParticle
*
elec8
=
new
PParticle
(
"e-"
);
211
PParticle
*
posi8
=
new
PParticle
(
"e+"
);
212
213
ptcls
=
c8
->GetParticles();
214
PParticle
*
s8_1
[] = {
ptcls
[1],
neut8
,
diel8
};
215
PParticle
*
s8_2
[] = {
diel8
,
elec8
,
posi8
};
216
PChannel
*
c8_1
=
new
PChannel
(
s8_1
,2,1);
217
PChannel
*
c8_2
=
new
PChannel
(
s8_2
,2,1);
218
219
//phi->K+,k- decay
220
221
ptcls
=
c9
->GetParticles();
222
PParticle
*
kp
=
new
PParticle
(
"K+"
);
223
PParticle
*
km
=
new
PParticle
(
"K-"
);
224
PParticle
*
s9_1
[] = {
ptcls
[1],
kp
,
km
};
225
PChannel
*
c9_1
=
new
PChannel
(
s9_1
,2,1);
226
228
229
PParticle
*
gamma1
=
new
PParticle
(
"g"
);
230
PParticle
*
gamma2
=
new
PParticle
(
"g"
);
231
232
ptcls
= c12->
GetParticles
();
233
PParticle
*
s12_1
[] = {
ptcls
[1],
gamma1
,
gamma2
};
234
PChannel
*
c12_1
=
new
PChannel
(
s12_1
,2,1);
235
237
238
239
240
241
PChannel
*
cc
[] = {
242
c1
,
c1_1
,
c1_2
,
/* pi0 */
243
c2
,
c2_1
,
c2_2
,
/* eta Dalitz */
244
c3
,
c3_1
,
c3_2
,
/* omega Dalitz */
245
c4
,
c4_1
,
/* omega direct */
246
c5
,
c5_1
,
/* rho0 */
247
c6
,
c6_1
,
/* phi direct */
248
c7
,
c7_1
,
c7_2
,
/* phi Dalitz */
249
c8
,
c8_1
,
c8_2
,
/* Delta Dalitz */
250
// c9,c9_1, /* phi K+,k- production */
251
// c10, /*Pim production*/
252
// c11, /* Proton production */
253
// c12,c12_1 /* eta 2 photon decay */
254
};
255
//change *cc[]if you add want to add new channels and modify param after outFile
256
257
PReaction
*
r
=
new
PReaction
(
cc
,
"pA"
,21,1,0,0,1);
258
//PReaction *r=new PReaction(cc,"pA",6,1,0,0,1);
259
r
->Print();
260
261
//r->setUserSelection(selectLeptons); // this works for a loaded function
262
//r->setUserSelection(&select); //calls filter function in PReaction.cc
263
//r->setTrigCond(1); // require at least 1 lepton per event
264
265
//r->SetDecayAll(1.); // decay all particles with tau < 1 ns
266
r
->SetHGeant(0);
// set to 1, if PLUTO is run from HGeant prompt
267
r
->loop(10000);
// do n events
268
269
//data->Draw("M()","(ID() == 51 || ID()==52 || ID()==41) * W()");
270
//data->Draw("M()","(ID()==41) * W()","same");
271
272
}
273
elec4
PParticle * elec4
Definition
NiNi_2AGeV.C:131
source7
PFireball * source7
Definition
NiNi_2AGeV.C:30
c6
PChannel * c6
Definition
NiNi_2AGeV.C:89
source5
PFireball * source5
Definition
NiNi_2AGeV.C:26
s7_1
PParticle * s7_1[]
Definition
NiNi_2AGeV.C:126
elec2
PParticle * elec2
Definition
NiNi_2AGeV.C:113
blast
Float_t blast
Definition
NiNi_2AGeV.C:8
source3
PFireball * source3
Definition
NiNi_2AGeV.C:22
Mneut
Float_t Mneut
Definition
NiNi_2AGeV.C:42
source8
PFireball * source8
Definition
NiNi_2AGeV.C:32
s6_1
PParticle * s6_1[]
Definition
NiNi_2AGeV.C:117
posi3
PParticle * posi3
Definition
NiNi_2AGeV.C:123
c7_1
PChannel * c7_1
Definition
NiNi_2AGeV.C:127
elec3
PParticle * elec3
Definition
NiNi_2AGeV.C:122
c7
PChannel * c7
Definition
NiNi_2AGeV.C:90
c8
PChannel * c8
Definition
NiNi_2AGeV.C:91
s9_1
PParticle * s9_1[]
Definition
NiNi_2AGeV.C:146
source6
PFireball * source6
Definition
NiNi_2AGeV.C:28
posi4
PParticle * posi4
Definition
NiNi_2AGeV.C:132
Meta
Float_t Meta
Definition
NiNi_2AGeV.C:49
diel1
PParticle * diel1
Definition
NiNi_2AGeV.C:101
Mpim
Float_t Mpim
Definition
NiNi_2AGeV.C:48
Mprot
Float_t Mprot
Definition
NiNi_2AGeV.C:41
c8_1
PChannel * c8_1
Definition
NiNi_2AGeV.C:136
Mpip
Float_t Mpip
Definition
NiNi_2AGeV.C:47
elec5
PParticle * elec5
Definition
NiNi_2AGeV.C:142
elec6
PParticle * elec6
Definition
NiNi_2AGeV.C:155
Mdeut
Float_t Mdeut
Definition
NiNi_2AGeV.C:43
s5_1
PParticle * s5_1[]
Definition
NiNi_2AGeV.C:106
enhance
Float_t enhance
Definition
NiNi_2AGeV.C:56
source2
PFireball * source2
Definition
NiNi_2AGeV.C:20
posi2
PParticle * posi2
Definition
NiNi_2AGeV.C:114
c6_1
PChannel * c6_1
Definition
NiNi_2AGeV.C:118
source4
PFireball * source4
Definition
NiNi_2AGeV.C:24
Mpi0
Float_t Mpi0
Definition
NiNi_2AGeV.C:46
Mrho0
Float_t Mrho0
Definition
NiNi_2AGeV.C:51
posi5
PParticle * posi5
Definition
NiNi_2AGeV.C:143
MDelta
Float_t MDelta
Definition
NiNi_2AGeV.C:53
source9
PFireball * source9
Definition
NiNi_2AGeV.C:34
ptcls
PParticle ** ptcls
Definition
NiNi_2AGeV.C:96
Momega
Float_t Momega
Definition
NiNi_2AGeV.C:50
posi1
PParticle * posi1
Definition
NiNi_2AGeV.C:103
elec1
PParticle * elec1
Definition
NiNi_2AGeV.C:102
c9
PChannel * c9
Definition
NiNi_2AGeV.C:92
posi6
PParticle * posi6
Definition
NiNi_2AGeV.C:156
c9_1
PChannel * c9_1
Definition
NiNi_2AGeV.C:148
c5_1
PChannel * c5_1
Definition
NiNi_2AGeV.C:108
Mphi
Float_t Mphi
Definition
NiNi_2AGeV.C:52
s8_1
PParticle * s8_1[]
Definition
NiNi_2AGeV.C:135
source1
PFireball * source1
Definition
NiNi_2AGeV.C:18
v2
TVector3 v2
Definition
analyze_pp_delta_dalitz.C:14
v1
TVector3 v1
Definition
analyze_pp_delta_dalitz.C:14
c1
c1
Definition
analyze_pp_delta_dalitz.C:23
PChannel
Definition
PChannel.h:33
PChannel::GetParticles
PParticle ** GetParticles()
Definition
PChannel.h:82
PFireball
Definition
PFireball.h:21
PFireball::Print
virtual void Print(const Option_t *delme="") const
PFireball::SetW
void SetW(double w=1.)
Definition
PFireball.h:257
PFireball::makeChannel
PChannel * makeChannel(Int_t nMax, Float_t nAverage=0.)
PParticle
Definition
PParticle.h:25
PReaction
Definition
PReaction.h:37
PUtils::SetSeed
static void SetSeed(UInt_t s)
Definition
PUtils.h:164
r
PReaction r(c,"eta_dalitz", 3, 0, 0, 0, 1)
c4
PChannel * c4
Definition
dp_2delta_dalitz.C:34
c2
PChannel * c2
Definition
dp_2delta_dalitz.C:32
cc
PChannel * cc[]
Definition
dp_2delta_dalitz.C:36
c5
PChannel * c5
Definition
dp_2delta_dalitz.C:35
c3
PChannel * c3
Definition
dp_2delta_dalitz.C:33
gamma1
PParticle * gamma1
Definition
pA_cocktail_35.C:229
diel3
PParticle * diel3
Definition
pA_cocktail_35.C:156
elec7
PParticle * elec7
Definition
pA_cocktail_35.C:197
c1_1
PChannel * c1_1
Definition
pA_cocktail_35.C:134
s3_2
PParticle * s3_2[]
Definition
pA_cocktail_35.C:162
c3_2
PChannel * c3_2
Definition
pA_cocktail_35.C:164
c12_1
PChannel * c12_1
Definition
pA_cocktail_35.C:234
s2_2
PParticle * s2_2[]
Definition
pA_cocktail_35.C:148
ctr
Float_t ctr
Definition
pA_cocktail_35.C:14
posi7
PParticle * posi7
Definition
pA_cocktail_35.C:198
s2_1
PParticle * s2_1[]
Definition
pA_cocktail_35.C:147
s1_2
PParticle * s1_2[]
Definition
pA_cocktail_35.C:133
c2_2
PChannel * c2_2
Definition
pA_cocktail_35.C:150
kp
PParticle * kp
Definition
pA_cocktail_35.C:222
elec8
PParticle * elec8
Definition
pA_cocktail_35.C:210
km
PParticle * km
Definition
pA_cocktail_35.C:223
gam2
PParticle * gam2
Dalitz decays.
Definition
pA_cocktail_35.C:139
s8_2
PParticle * s8_2[]
Definition
pA_cocktail_35.C:215
bmax
Float_t bmax
Definition
pA_cocktail_35.C:16
diel7
PParticle * diel7
Definition
pA_cocktail_35.C:196
posi8
PParticle * posi8
Definition
pA_cocktail_35.C:211
s12_1
PParticle * s12_1[]
Definition
pA_cocktail_35.C:233
s4_1
PParticle * s4_1[]
Definition
pA_cocktail_35.C:172
gamma2
PParticle * gamma2
Definition
pA_cocktail_35.C:230
s7_2
PParticle * s7_2[]
Definition
pA_cocktail_35.C:202
c7_2
PChannel * c7_2
Definition
pA_cocktail_35.C:204
eta7
PParticle * eta7
Definition
pA_cocktail_35.C:195
freeze
Bool_t freeze
Definition
pA_cocktail_35.C:11
c3_1
PChannel * c3_1
Definition
pA_cocktail_35.C:163
diel2
PParticle * diel2
Definition
pA_cocktail_35.C:140
c2_1
PChannel * c2_1
Definition
pA_cocktail_35.C:149
pi03
PParticle * pi03
Definition
pA_cocktail_35.C:155
Eb
Float_t Eb
Definition
pA_cocktail_35.C:13
c8_2
PChannel * c8_2
Definition
pA_cocktail_35.C:217
c4_1
PChannel * c4_1
Definition
pA_cocktail_35.C:173
neut8
PParticle * neut8
Definition
pA_cocktail_35.C:208
diel8
PParticle * diel8
Definition
pA_cocktail_35.C:209
s3_1
PParticle * s3_1[]
Definition
pA_cocktail_35.C:161
c1_2
PChannel * c1_2
Definition
pA_cocktail_35.C:135
pluto6
macros
pA_cocktail_35.C
Generated by
1.14.0