Makefile added to PDF8
[u/mrichter/AliRoot.git] / EVGEN / AliPythia.cxx
CommitLineData
4c039060 1/**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3 * *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
6 * *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
15
16/*
17$Log$
95b811fe 18Revision 1.7 2000/06/09 20:34:50 morsch
19All coding rule violations except RS3 corrected
20
f87cfe57 21Revision 1.6 1999/11/09 07:38:48 fca
22Changes for compatibility with version 2.23 of ROOT
23
084c1b4a 24Revision 1.5 1999/11/03 17:43:20 fca
25New version from G.Martinez & A.Morsch
26
886b6f73 27Revision 1.4 1999/09/29 09:24:14 fca
28Introduction of the Copyright and cvs Log
29
4c039060 30*/
31
75c6d54e 32
fe4da5cc 33#include "AliPythia.h"
f87cfe57 34#include "AliRun.h"
35
fe4da5cc 36ClassImp(AliPythia)
37
fe4da5cc 38//_____________________________________________________________________________
39
95b811fe 40AliPythia* AliPythia::fgAliPythia=NULL;
fe4da5cc 41
75c6d54e 42AliPythia::AliPythia()
43{
95b811fe 44// Default Constructor
fe4da5cc 45}
46
47void AliPythia::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfunc)
48{
f87cfe57 49// Initialise the process to generate
fe4da5cc 50 fProcess = process;
51 fEcms = energy;
52 fStrucFunc = strucfunc;
53// don't decay p0
95b811fe 54 SetMDCY(Pycomp(111),1,0);
fe4da5cc 55// select structure function
56 SetMSTP(52,2);
57 SetMSTP(51,strucfunc);
58//
59// Pythia initialisation for selected processes//
60//
61// Make MSEL clean
62//
63 for (Int_t i=1; i<= 200; i++) {
64 SetMSUB(i,0);
65 }
66// select charm production
67 switch (process)
68 {
69 case charm:
70 SetMSEL(4);
71//
72// heavy quark masses
73
74 SetPMAS(4,1,1.2);
75
76//
77// primordial pT
78 SetMSTP(91,1);
79 SetPARP(91,1);
80 SetPARP(93,3);
81//
82 break;
83 case beauty:
84 SetMSEL(5);
85 SetPMAS(5,1,4.75);
86 break;
87 case jpsi:
88 SetMSEL(0);
89// gg->J/Psi g
90 SetMSUB(86,1);
91 break;
92 case jpsi_chi:
93 SetMSEL(0);
94// gg->J/Psi g
95 SetMSUB(86,1);
96// gg-> chi_0c g
97 SetMSUB(87,1);
98// gg-> chi_1c g
99 SetMSUB(88,1);
100// gg-> chi_2c g
101 SetMSUB(89,1);
102 case charm_unforced:
103 SetMSEL(0);
104// gq->qg
105 SetMSUB(28,1);
106// gg->qq
107 SetMSUB(53,1);
108// gg->gg
109 SetMSUB(68,1);
110 case beauty_unforced:
111 SetMSEL(0);
112// gq->qg
113 SetMSUB(28,1);
114// gg->qq
115 SetMSUB(53,1);
116// gg->gg
117 SetMSUB(68,1);
118 break;
75c6d54e 119 case mb:
120// Minimum Bias pp-Collisions
121//
122// Tuning of parameters descibed in G. Ciapetti and A. Di Ciaccio
123// Proc. of the LHC Workshop, Aachen 1990, Vol. II p. 155
124//
125// select Pythia min. bias model
126 SetMSEL(2);
127 SetMSUB(92,1);
128 SetMSUB(93,1);
129 SetMSUB(94,1);
130 SetMSUB(95,1);
131// Multiple interactions switched on
132 SetMSTP(81,1);
133 SetMSTP(82,1);
134// Low-pT cut-off for hard scattering
135 SetPARP(81,1.9);
136// model for subsequent non-hardest interaction
137// 90% gg->gg 10% gg->qq
138 SetPARP(86,0.9);
139// 90% of gluon interactions have minimum string length
140 SetPARP(85,0.9);
fe4da5cc 141 }
142//
143// Initialize PYTHIA
95b811fe 144 SetMSTP(41,1);
75c6d54e 145
95b811fe 146 Initialize("CMS","p","p",fEcms);
fe4da5cc 147}
148
95b811fe 149Int_t AliPythia::CheckedLuComp(Int_t kf)
fe4da5cc 150{
95b811fe 151// Check Lund particle code (for debugging)
152 Int_t kc=Pycomp(kf);
153 printf("\n Lucomp kf,kc %d %d",kf,kc);
154 return kc;
fe4da5cc 155}
156
95b811fe 157AliPythia* AliPythia::Instance()
fe4da5cc 158{
95b811fe 159 if (fgAliPythia) {
160 return fgAliPythia;
161 } else {
162 fgAliPythia = new AliPythia();
163 return fgAliPythia;
fe4da5cc 164 }
fe4da5cc 165}
95b811fe 166void AliPythia::Streamer(TBuffer &R__b) {}
fe4da5cc 167
fe4da5cc 168
169
170
171
172
173