]>
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 |
75e0cc59 | 36 | static Double_t PtUpsilonRitman( const Double_t *px, const Double_t *dummy ); |
37 | static Double_t YUpsilonRitman(const Double_t *py, const Double_t *dummy); | |
fdcaa191 | 38 | // Upsilon FLAT |
75e0cc59 | 39 | static Double_t PtUpsilonFlat( const Double_t *px, const Double_t *dummy ); |
40 | static Double_t YUpsilonFlat(const Double_t *py, const Double_t *dummy); | |
014616eb | 41 | // Upsilon Karel |
75e0cc59 | 42 | static Double_t PtUpsilonKarel( const Double_t *px, const Double_t *dummy ); |
43 | static Double_t YUpsilonKarel(const Double_t *py, const Double_t *dummy); | |
fdcaa191 | 44 | // Upsilon MUONlib |
75e0cc59 | 45 | static Double_t PtUpsilonMUON( const Double_t *px, const Double_t *dummy ); |
46 | static Double_t YUpsilonMUON(const Double_t *py, const Double_t *dummy); | |
014616eb | 47 | |
fdcaa191 | 48 | |
49 | // JPsi | |
50 | static Int_t IpJpsi(TRandom *ran); | |
51 | // JPsi FLAT | |
75e0cc59 | 52 | static Double_t PtJpsiFlat( const Double_t *px, const Double_t *dummy ); |
53 | static Double_t YJpsiFlat(const Double_t *py, const Double_t *dummy); | |
fdcaa191 | 54 | // JPsi from MUONlib |
75e0cc59 | 55 | static Double_t PtJpsiMUON( const Double_t *px, const Double_t *dummy ); |
56 | static Double_t YJpsiMUON(const Double_t *py, const Double_t *dummy); | |
fdcaa191 | 57 | // JPsi from Ritman |
75e0cc59 | 58 | static Double_t PtJpsiRitman( const Double_t *px, const Double_t *dummy ); |
fdcaa191 | 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); | |
75e0cc59 | 68 | static Double_t PtCharmFlat( const Double_t *px, const Double_t *dummy ); |
69 | static Double_t PtCharmMUON( const Double_t *px, const Double_t *dummy ); | |
70 | static Double_t PtCharmGSI( const Double_t *px, const Double_t *dummy ); | |
71 | static Double_t YCharm(const Double_t *py, const Double_t *dummy); | |
fdcaa191 | 72 | |
73 | ||
74 | // Beauty | |
75 | static Int_t IpBeauty(TRandom *ran); | |
75e0cc59 | 76 | static Double_t PtBeautyFlat( const Double_t *px, const Double_t *dummy ); |
77 | static Double_t PtBeautyMUON( const Double_t *px, const Double_t *dummy ); | |
78 | static Double_t PtBeautyGSI( const Double_t *px, const Double_t *dummy ); | |
79 | static Double_t YBeauty(const Double_t *py, const Double_t *dummy); | |
fdcaa191 | 80 | |
81 | ||
82 | // Eta | |
83 | static Int_t IpEta(TRandom *ran); | |
75e0cc59 | 84 | static Double_t PtEtaPHOS( const Double_t *px, const Double_t *dummy ); |
85 | static Double_t YEtaPHOS(const Double_t *py, const Double_t *dummy); | |
fdcaa191 | 86 | |
87 | ||
88 | // Etaprime | |
89 | static Int_t IpEtaprime(TRandom *ran); | |
75e0cc59 | 90 | static Double_t PtEtaprimePHOS( const Double_t *px, const Double_t *dummy ); |
91 | static Double_t YEtaprimePHOS(const Double_t *py, const Double_t *dummy); | |
fdcaa191 | 92 | |
93 | ||
94 | // Omega | |
95 | static Int_t IpOmega(TRandom *ran); | |
75e0cc59 | 96 | static Double_t PtOmega( const Double_t *px, const Double_t *dummy ); |
97 | static Double_t YOmega(const Double_t *py, const Double_t *dummy); | |
fdcaa191 | 98 | |
99 | ||
100 | // Rho | |
101 | static Int_t IpRho(TRandom *ran); | |
75e0cc59 | 102 | static Double_t PtRho( const Double_t *px, const Double_t *dummy ); |
103 | static Double_t YRho(const Double_t *py, const Double_t *dummy); | |
fdcaa191 | 104 | |
105 | ||
106 | ||
107 | // Kaon | |
108 | static Int_t IpKaonPHOS(TRandom *ran); | |
75e0cc59 | 109 | static Double_t PtKaonPHOS( const Double_t *px, const Double_t *dummy ); |
110 | static Double_t YKaonPHOS(const Double_t *py, const Double_t *dummy); | |
fdcaa191 | 111 | |
112 | ||
113 | // Pion | |
114 | static Int_t IpPionPHOS(TRandom *ran); | |
75e0cc59 | 115 | static Double_t PtPion( const Double_t *px, const Double_t *dummy ); |
116 | static Double_t YPion(const Double_t *py, const Double_t *dummy); | |
fdcaa191 | 117 | |
118 | ||
119 | // Phi | |
120 | static Int_t IpPhi(TRandom *ran); | |
75e0cc59 | 121 | static Double_t PtPhiPHOS( const Double_t *px, const Double_t *dummy ); |
122 | static Double_t YPhiPHOS(const Double_t *py, const Double_t *dummy); | |
fdcaa191 | 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); | |
75e0cc59 | 133 | static Double_t PtBaryons( const Double_t *px, const Double_t *dummy ); |
134 | static Double_t YBaryons(const Double_t *py, const Double_t *dummy); | |
fdcaa191 | 135 | |
136 | ||
fdcaa191 | 137 | |
762c0d1d | 138 | ClassDef(AliGenGSIlib,0) |
014616eb | 139 | }; |
140 | ||
141 | #endif | |
142 | ||
143 | ||
144 | ||
145 | ||
146 | ||
147 | ||
148 |