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
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
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};
134 PChannel *c1_1 = new PChannel(s1_1,2,1);
136
138
140 PParticle *diel2 = new PParticle("dilepton");
143
145
146 ptcls = c2->GetParticles();
151
152
154
155 PParticle *pi03 = new PParticle("pi0");
156 PParticle *diel3 = new PParticle("dilepton");
159
160 ptcls = c3->GetParticles();
165
167
170
171 ptcls = c4->GetParticles();
174
176
179
180 ptcls = c5->GetParticles();
183
185
188
189 ptcls = c6->GetParticles();
192
194
195 PParticle *eta7 = new PParticle("eta");
196 PParticle *diel7 = new PParticle("dilepton");
199
200 ptcls = c7->GetParticles();
205
207
209 PParticle *diel8 = new PParticle("dilepton");
212
213 ptcls = c8->GetParticles();
218
219 //phi->K+,k- decay
220
221 ptcls= c9->GetParticles();
222 PParticle *kp = new PParticle("K+");
223 PParticle *km = new PParticle("K-");
226
228
231
232 ptcls = c12->GetParticles();
235
237
238
239
240
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
PParticle * elec4
Definition NiNi_2AGeV.C:131
PFireball * source7
Definition NiNi_2AGeV.C:30
PChannel * c6
Definition NiNi_2AGeV.C:89
PFireball * source5
Definition NiNi_2AGeV.C:26
PParticle * s7_1[]
Definition NiNi_2AGeV.C:126
PParticle * elec2
Definition NiNi_2AGeV.C:113
Float_t blast
Definition NiNi_2AGeV.C:8
PFireball * source3
Definition NiNi_2AGeV.C:22
Float_t Mneut
Definition NiNi_2AGeV.C:42
PFireball * source8
Definition NiNi_2AGeV.C:32
PParticle * s6_1[]
Definition NiNi_2AGeV.C:117
PParticle * posi3
Definition NiNi_2AGeV.C:123
PChannel * c7_1
Definition NiNi_2AGeV.C:127
PParticle * elec3
Definition NiNi_2AGeV.C:122
PChannel * c7
Definition NiNi_2AGeV.C:90
PChannel * c8
Definition NiNi_2AGeV.C:91
PParticle * s9_1[]
Definition NiNi_2AGeV.C:146
PFireball * source6
Definition NiNi_2AGeV.C:28
PParticle * posi4
Definition NiNi_2AGeV.C:132
Float_t Meta
Definition NiNi_2AGeV.C:49
PParticle * diel1
Definition NiNi_2AGeV.C:101
Float_t Mpim
Definition NiNi_2AGeV.C:48
Float_t Mprot
Definition NiNi_2AGeV.C:41
PChannel * c8_1
Definition NiNi_2AGeV.C:136
Float_t Mpip
Definition NiNi_2AGeV.C:47
PParticle * elec5
Definition NiNi_2AGeV.C:142
PParticle * elec6
Definition NiNi_2AGeV.C:155
Float_t Mdeut
Definition NiNi_2AGeV.C:43
PParticle * s5_1[]
Definition NiNi_2AGeV.C:106
Float_t enhance
Definition NiNi_2AGeV.C:56
PFireball * source2
Definition NiNi_2AGeV.C:20
PParticle * posi2
Definition NiNi_2AGeV.C:114
PChannel * c6_1
Definition NiNi_2AGeV.C:118
PFireball * source4
Definition NiNi_2AGeV.C:24
Float_t Mpi0
Definition NiNi_2AGeV.C:46
Float_t Mrho0
Definition NiNi_2AGeV.C:51
PParticle * posi5
Definition NiNi_2AGeV.C:143
Float_t MDelta
Definition NiNi_2AGeV.C:53
PFireball * source9
Definition NiNi_2AGeV.C:34
PParticle ** ptcls
Definition NiNi_2AGeV.C:96
Float_t Momega
Definition NiNi_2AGeV.C:50
PParticle * posi1
Definition NiNi_2AGeV.C:103
PParticle * elec1
Definition NiNi_2AGeV.C:102
PChannel * c9
Definition NiNi_2AGeV.C:92
PParticle * posi6
Definition NiNi_2AGeV.C:156
PChannel * c9_1
Definition NiNi_2AGeV.C:148
PChannel * c5_1
Definition NiNi_2AGeV.C:108
Float_t Mphi
Definition NiNi_2AGeV.C:52
PParticle * s8_1[]
Definition NiNi_2AGeV.C:135
PFireball * source1
Definition NiNi_2AGeV.C:18
TVector3 v2
TVector3 v1
PParticle ** GetParticles()
Definition PChannel.h:82
virtual void Print(const Option_t *delme="") const
void SetW(double w=1.)
Definition PFireball.h:257
PChannel * makeChannel(Int_t nMax, Float_t nAverage=0.)
static void SetSeed(UInt_t s)
Definition PUtils.h:164
PReaction r(c,"eta_dalitz", 3, 0, 0, 0, 1)
PChannel * c4
PChannel * c2
PChannel * cc[]
PChannel * c5
PChannel * c3
PParticle * gamma1
PParticle * diel3
PParticle * elec7
PChannel * c1_1
PParticle * s3_2[]
PChannel * c3_2
PChannel * c12_1
PParticle * s2_2[]
Float_t ctr
PParticle * posi7
PParticle * s2_1[]
PParticle * s1_2[]
PChannel * c2_2
PParticle * kp
PParticle * elec8
PParticle * km
PParticle * gam2
Dalitz decays.
PParticle * s8_2[]
Float_t bmax
PParticle * diel7
PParticle * posi8
PParticle * s12_1[]
PParticle * s4_1[]
PParticle * gamma2
PParticle * s7_2[]
PChannel * c7_2
PParticle * eta7
Bool_t freeze
PChannel * c3_1
PParticle * diel2
PChannel * c2_1
PParticle * pi03
Float_t Eb
PChannel * c8_2
PChannel * c4_1
PParticle * neut8
PParticle * diel8
PParticle * s3_1[]
PChannel * c1_2