]>
Commit | Line | Data |
---|---|---|
014616eb | 1 | #ifndef ALIGENGSILIB_H |
2 | #define ALIGENGSILIB_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /* $Id$ */ | |
7 | ||
fdcaa191 | 8 | ///////////////////////////////////////////////////////////////////////////// |
9 | // // | |
10 | // Implementation of AliGenLib for GSI simulations. // | |
11 | // It is an extension of AliMUONLib providing the option for different // | |
12 | // parametrisations of pt, y for every particle type // | |
13 | // // | |
14 | // Responsible: Andres.Sandoval@cern.ch // | |
15 | // // | |
16 | ///////////////////////////////////////////////////////////////////////////// | |
675e9664 | 17 | |
b22ee262 | 18 | #include "AliGenLib.h" |
65fb704d | 19 | class TRandom; |
014616eb | 20 | |
b22ee262 | 21 | class AliGenGSIlib :public AliGenLib { |
014616eb | 22 | public: |
fac5662b | 23 | GenFunc GetPt(Int_t param, const char * tname=0) const; |
24 | GenFunc GetY(Int_t param, const char * tname=0) const; | |
25 | GenFuncIp GetIp(Int_t param, const char * tname=0) const; | |
26 | ||
fdcaa191 | 27 | enum constants{kUpsilon, kJPsi, kCharm, kBeauty, kEta, kEtaprime, kOmega, kRho, kKaon, kPion, kPhi, kLambda, kBaryons}; |
28 | ||
fac5662b | 29 | private: |
30 | ||
fdcaa191 | 31 | static Double_t PtScal(Double_t pt, Int_t np); |
32 | ||
33 | // Upsilon | |
34 | static Int_t IpUpsilon(TRandom *ran); | |
014616eb | 35 | // Upsilon RITMAN |
36 | static Double_t PtUpsilonRitman( Double_t *px, Double_t *dummy ); | |
37 | static Double_t YUpsilonRitman(Double_t *py, Double_t *dummy); | |
fdcaa191 | 38 | // Upsilon FLAT |
39 | static Double_t PtUpsilonFlat( Double_t *px, Double_t *dummy ); | |
40 | static Double_t YUpsilonFlat(Double_t *py, Double_t *dummy); | |
014616eb | 41 | // Upsilon Karel |
42 | static Double_t PtUpsilonKarel( Double_t *px, Double_t *dummy ); | |
43 | static Double_t YUpsilonKarel(Double_t *py, Double_t *dummy); | |
fdcaa191 | 44 | // Upsilon MUONlib |
014616eb | 45 | static Double_t PtUpsilonMUON( Double_t *px, Double_t *dummy ); |
46 | static Double_t YUpsilonMUON(Double_t *py, Double_t *dummy); | |
014616eb | 47 | |
fdcaa191 | 48 | |
49 | // JPsi | |
50 | static Int_t IpJpsi(TRandom *ran); | |
51 | // JPsi FLAT | |
52 | static Double_t PtJpsiFlat( Double_t *px, Double_t *dummy ); | |
53 | static Double_t YJpsiFlat(Double_t *py, Double_t *dummy); | |
54 | // JPsi from MUONlib | |
55 | static Double_t PtJpsiMUON( Double_t *px, Double_t *dummy ); | |
56 | static Double_t YJpsiMUON(Double_t *py, Double_t *dummy); | |
57 | // JPsi from Ritman | |
58 | static Double_t PtJpsiRitman( Double_t *px, Double_t *dummy ); | |
59 | ||
60 | // JPsi from Sergei | |
61 | // static Double_t PtJpsi( Double_t *px, Double_t *dummy ); | |
62 | // static Double_t YJpsi(Double_t *py, Double_t *dummy); | |
63 | // static Int_t IpJpsi(TRandom *ran); | |
64 | ||
65 | ||
66 | // Charm | |
67 | static Int_t IpCharm(TRandom *ran); | |
68 | static Double_t PtCharmFlat( Double_t *px, Double_t *dummy ); | |
69 | static Double_t PtCharmMUON( Double_t *px, Double_t *dummy ); | |
70 | static Double_t PtCharmGSI( Double_t *px, Double_t *dummy ); | |
71 | static Double_t YCharm(Double_t *py, Double_t *dummy); | |
72 | ||
73 | ||
74 | // Beauty | |
75 | static Int_t IpBeauty(TRandom *ran); | |
76 | static Double_t PtBeautyFlat( Double_t *px, Double_t *dummy ); | |
77 | static Double_t PtBeautyMUON( Double_t *px, Double_t *dummy ); | |
78 | static Double_t PtBeautyGSI( Double_t *px, Double_t *dummy ); | |
79 | static Double_t YBeauty(Double_t *py, Double_t *dummy); | |
80 | ||
81 | ||
82 | // Eta | |
83 | static Int_t IpEta(TRandom *ran); | |
84 | static Double_t PtEtaPHOS( Double_t *px, Double_t *dummy ); | |
85 | static Double_t YEtaPHOS(Double_t *py, Double_t *dummy); | |
86 | ||
87 | ||
88 | // Etaprime | |
89 | static Int_t IpEtaprime(TRandom *ran); | |
90 | static Double_t PtEtaprimePHOS( Double_t *px, Double_t *dummy ); | |
91 | static Double_t YEtaprimePHOS(Double_t *py, Double_t *dummy); | |
92 | ||
93 | ||
94 | // Omega | |
95 | static Int_t IpOmega(TRandom *ran); | |
96 | static Double_t PtOmega( Double_t *px, Double_t *dummy ); | |
97 | static Double_t YOmega(Double_t *py, Double_t *dummy); | |
98 | ||
99 | ||
100 | // Rho | |
101 | static Int_t IpRho(TRandom *ran); | |
102 | static Double_t PtRho( Double_t *px, Double_t *dummy ); | |
103 | static Double_t YRho(Double_t *py, Double_t *dummy); | |
104 | ||
105 | ||
106 | ||
107 | // Kaon | |
108 | static Int_t IpKaonPHOS(TRandom *ran); | |
109 | static Double_t PtKaonPHOS( Double_t *px, Double_t *dummy ); | |
110 | static Double_t YKaonPHOS(Double_t *py, Double_t *dummy); | |
111 | ||
112 | ||
113 | // Pion | |
114 | static Int_t IpPionPHOS(TRandom *ran); | |
115 | static Double_t PtPion( Double_t *px, Double_t *dummy ); | |
116 | static Double_t YPion(Double_t *py, Double_t *dummy); | |
117 | ||
118 | ||
119 | // Phi | |
120 | static Int_t IpPhi(TRandom *ran); | |
121 | static Double_t PtPhiPHOS( Double_t *px, Double_t *dummy ); | |
122 | static Double_t YPhiPHOS(Double_t *py, Double_t *dummy); | |
123 | ||
124 | ||
125 | // Lambda | |
126 | // static Double_t PtLambda( Double_t *px, Double_t *dummy ); | |
127 | // static Double_t YLambda(Double_t *py, Double_t *dummy); | |
128 | // static Int_t IpLambda(TRandom *ran); | |
129 | ||
130 | ||
131 | // Baryons | |
132 | static Int_t IpBaryons(TRandom *ran); | |
133 | static Double_t PtBaryons( Double_t *px, Double_t *dummy ); | |
134 | static Double_t YBaryons(Double_t *py, Double_t *dummy); | |
135 | ||
136 | ||
fdcaa191 | 137 | |
762c0d1d | 138 | ClassDef(AliGenGSIlib,0) |
014616eb | 139 | }; |
140 | ||
141 | #endif | |
142 | ||
143 | ||
144 | ||
145 | ||
146 | ||
147 | ||
148 |