]>
Commit | Line | Data |
---|---|---|
f87cfe57 | 1 | #ifndef ALIGENPHOSLIB_H |
2 | #define ALIGENPHOSLIB_H | |
b22ee262 | 3 | #include "AliGenLib.h" |
886b6f73 | 4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | /* $Id$ */ | |
8 | ||
ac3faee4 | 9 | //====================================================================== |
10 | // AliGenPHOSlib class contains parameterizations of the | |
11 | // pion, kaon, eta, omega, etaprime, phi and baryon (proton, | |
12 | // antiproton, neutron and anti-neutron) particles for the | |
13 | // study of the neutral background in PHOS detector. | |
35ead6c1 | 14 | // Additional particle species simulation options has been added: |
15 | // Charged Pion, Charged Kaons, KLong Proton, Anti-Proton, Neutron, | |
16 | // Anti-Neutron --> Changes made by Gustavo Conesa in November 2004 | |
ac3faee4 | 17 | //====================================================================== |
18 | ||
65fb704d | 19 | class TRandom; |
20 | ||
886b6f73 | 21 | class AliGenPHOSlib : |
b22ee262 | 22 | public AliGenLib |
886b6f73 | 23 | { |
24 | public: | |
10dbd8f8 | 25 | enum constants{kPion, kChargedPion, kPi0, kPi0Flat, kKaon, kChargedKaon, kKaon0L, |
8fc6910b | 26 | kEta, kEtaFlat,kOmega, kOmegaFlat, kEtaPrime, kPhi, |
35ead6c1 | 27 | kBaryon, kProton, kAProton, kNeutron, kANeutron}; |
fac5662b | 28 | GenFunc GetPt(Int_t param, const char* tname=0) const; |
29 | GenFunc GetY (Int_t param, const char* tname=0) const; | |
30 | GenFuncIp GetIp(Int_t param, const char* tname=0) const; | |
31 | private: | |
886b6f73 | 32 | // pions |
75e0cc59 | 33 | static Double_t PtPion(const Double_t *px, const Double_t *dummy); |
886b6f73 | 34 | static Double_t PtScal(Double_t pt, Int_t np); |
75e0cc59 | 35 | static Double_t YPion( const Double_t *py, const Double_t *dummy); |
65fb704d | 36 | static Int_t IpPion(TRandom* ran); |
35ead6c1 | 37 | static Int_t IpChargedPion(TRandom* ran); |
10dbd8f8 | 38 | // pi0 Distribution |
39 | static Double_t PtPi0(const Double_t *px, const Double_t *dummy); | |
74c62c73 | 40 | // pi0 Flat Distribution |
75e0cc59 | 41 | static Double_t PtPi0Flat(const Double_t *px, const Double_t *dummy); |
42 | static Double_t YPi0Flat( const Double_t *py, const Double_t *dummy); | |
74c62c73 | 43 | static Int_t IpPi0Flat(TRandom* ran); |
44 | ||
886b6f73 | 45 | // kaons |
75e0cc59 | 46 | static Double_t PtKaon(const Double_t *px, const Double_t *dummy); |
47 | static Double_t YKaon( const Double_t *py, const Double_t *dummy); | |
65fb704d | 48 | static Int_t IpKaon(TRandom* ran); |
35ead6c1 | 49 | static Int_t IpChargedKaon(TRandom* ran); |
50 | static Int_t IpKaon0L(TRandom* ran); | |
886b6f73 | 51 | // etas |
75e0cc59 | 52 | static Double_t PtEta(const Double_t *px, const Double_t *dummy); |
53 | static Double_t YEta( const Double_t *py, const Double_t *dummy); | |
65fb704d | 54 | static Int_t IpEta(TRandom *ran); |
74c62c73 | 55 | |
56 | // etas Flat Distribution | |
75e0cc59 | 57 | static Double_t PtEtaFlat(const Double_t *px, const Double_t *dummy); |
58 | static Double_t YEtaFlat( const Double_t *py, const Double_t *dummy); | |
74c62c73 | 59 | static Int_t IpEtaFlat(TRandom *ran); |
60 | ||
886b6f73 | 61 | // omegas |
75e0cc59 | 62 | static Double_t PtOmega(const Double_t *px, const Double_t *dummy); |
63 | static Double_t YOmega( const Double_t *py, const Double_t *dummy); | |
65fb704d | 64 | static Int_t IpOmega(TRandom *ran); |
8fc6910b | 65 | |
66 | // omegas Flat Distribution | |
67 | static Double_t PtOmegaFlat(const Double_t *px, const Double_t *dummy); | |
68 | static Double_t YOmegaFlat( const Double_t *py, const Double_t *dummy); | |
69 | static Int_t IpOmegaFlat(TRandom *ran); | |
70 | ||
886b6f73 | 71 | // etaprime |
75e0cc59 | 72 | static Double_t PtEtaprime(const Double_t *px, const Double_t *dummy); |
73 | static Double_t YEtaprime( const Double_t *py, const Double_t *dummy); | |
65fb704d | 74 | static Int_t IpEtaprime(TRandom* ran); |
74c62c73 | 75 | |
886b6f73 | 76 | // phis |
75e0cc59 | 77 | static Double_t PtPhi(const Double_t *px, const Double_t *dummy); |
78 | static Double_t YPhi( const Double_t *py, const Double_t *dummy); | |
65fb704d | 79 | static Int_t IpPhi(TRandom* ran); |
74c62c73 | 80 | |
886b6f73 | 81 | // baryons |
75e0cc59 | 82 | static Double_t PtBaryon(const Double_t *px, const Double_t *dummy); |
83 | static Double_t YBaryon( const Double_t *py, const Double_t *dummy); | |
65fb704d | 84 | static Int_t IpBaryon(TRandom *ran); |
35ead6c1 | 85 | static Int_t IpProton(TRandom *ran); |
86 | static Int_t IpAProton(TRandom *ran); | |
87 | static Int_t IpNeutron(TRandom *ran); | |
88 | static Int_t IpANeutron(TRandom *ran); | |
35ead6c1 | 89 | |
762c0d1d | 90 | ClassDef(AliGenPHOSlib,0) // Library providing y and pT parameterisations |
886b6f73 | 91 | }; |
92 | #endif | |
93 | ||
94 | ||
95 | ||
96 | ||
97 | ||
98 | ||
99 |