1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
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 **************************************************************************/
18 Revision 1.7 2002/10/14 14:55:35 hristov
19 Merging the VirtualMC branch to the main development branch (HEAD)
21 Revision 1.5.10.1 2002/06/10 14:57:41 hristov
24 Revision 1.6 2002/04/16 15:53:19 morsch
25 Coding rule violations corrected.
27 Revision 1.5 2001/05/15 15:43:23 morsch
28 Update of library for low mass resonances (Yiota Foka)
30 Revision 1.4 2001/03/09 13:01:41 morsch
31 - enum constants for paramterisation type (particle family) moved to AliGen*lib.h
32 - use AliGenGSIlib::kUpsilon, AliGenPHOSlib::kEtaPrime to access the constants
34 Revision 1.3 2000/12/21 16:24:06 morsch
35 Coding convention clean-up
37 Revision 1.2 2000/11/30 07:12:50 alibrary
38 Introducing new Rndm and QA classes
40 Revision 1.1 2000/06/15 08:48:43 morsch
41 AliGenGSIlib with parametersations for GSI physics simulation added (YF, MI)
43 Revision 1.7 2000/05/02 08:12:13 morsch
44 Coding rule violations corrected.
46 Revision 1.6 1999/09/29 09:24:14 fca
47 Introduction of the Copyright and cvs Log
51 /////////////////////////////////////////////////////////////////////////////
53 // Implementation of AliGenlib to collect parametrisations used for //
54 // GSI simulations. //
55 // It is an extension of AliMUONLib providing in addition the option //
56 // for different parametrisations of pt, y and ip for every particle type //
58 // Responsible: Andres.Sandoval@cern.ch //
60 /////////////////////////////////////////////////////////////////////////////
65 #include "AliGenGSIlib.h"
68 ClassImp(AliGenGSIlib)
70 //==========================================================================
72 // Definition of Particle Distributions
74 //==========================================================================
78 //--------------------------------------------------------------------------
80 // upsilon particle composition
82 //--------------------------------------------------------------------------
83 Int_t AliGenGSIlib::IpUpsilon(TRandom *)
85 // Return upsilon pdg code
90 Double_t AliGenGSIlib::PtUpsilonFlat( Double_t *px, Double_t *dummy )
92 //--------------------------------------------------------------------------
94 // upsilon pt-distribution FLAT
96 //____________________________________________________________--------------
98 const Double_t kptmin = 0.0;
99 const Double_t kptmax = 15.0;
101 Double_t weight = 0.;
103 if (kptmin < x < kptmax) weight = 1.;
108 Double_t AliGenGSIlib::YUpsilonFlat(Double_t *py, Double_t *dummy)
110 //--------------------------------------------------------------------------
112 // upsilon y-distribution FLAT
114 //--------------------------------------------------------------------------
116 const Double_t ky0 = 1.5;
117 const Double_t kb=1.;
119 Double_t y=TMath::Abs(*py);
129 Double_t AliGenGSIlib::PtUpsilonRitman( Double_t *px, Double_t *dummy )
131 //--------------------------------------------------------------------------
133 // upsilon pt-distribution RITMAN
135 //--------------------------------------------------------------------------
137 const Double_t kpt0 = 4.7;
138 const Double_t kxn = 3.5;
141 Double_t pass1 = 1.+((x*x)/(kpt0*kpt0));
143 return x/TMath::Power(pass1,kxn);
146 Double_t AliGenGSIlib::YUpsilonRitman(Double_t *py, Double_t *dummy)
148 //--------------------------------------------------------------------------
150 // upsilon y-distribution RITMAN
152 //--------------------------------------------------------------------------
154 const Double_t ky0 = 3.;
155 const Double_t kb=1.;
157 Double_t y=TMath::Abs(*py);
162 yu=kb*TMath::Exp(-(y-ky0)*(y-ky0)/2);
167 Double_t AliGenGSIlib::PtUpsilonKarel( Double_t *px, Double_t *dummy )
169 //--------------------------------------------------------------------------
171 // upsilon pt-distribution kAREL
173 //--------------------------------------------------------------------------
179 Double_t AliGenGSIlib::YUpsilonKarel(Double_t *py, Double_t *dummy)
181 //--------------------------------------------------------------------------
183 // upsilon y-distribution KAREL
185 //--------------------------------------------------------------------------
192 Double_t AliGenGSIlib::PtUpsilonMUON( Double_t *px, Double_t *dummy )
194 //--------------------------------------------------------------------------
196 // upsilon pt-distribution MUONlib
198 //--------------------------------------------------------------------------
200 const Double_t kpt0 = 5.3;
201 const Double_t kxn = 2.5;
204 Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
206 return x/TMath::Power(pass1,kxn);
209 Double_t AliGenGSIlib::YUpsilonMUON(Double_t *py, Double_t *dummy)
211 //--------------------------------------------------------------------------
213 // upsilon y-distribution MUONlib
215 //--------------------------------------------------------------------------
217 const Double_t ky0 = 3.;
218 const Double_t kb=1.;
220 Double_t y=TMath::Abs(*py);
225 yu=kb*TMath::Exp(-(y-ky0)*(y-ky0)/2);
230 //--------------------------------------------------------------------------
234 Int_t AliGenGSIlib::IpJpsi(TRandom *)
236 //--------------------------------------------------------------------------
238 // J/Psi particle composition
240 //--------------------------------------------------------------------------
245 Double_t AliGenGSIlib::PtJpsiFlat( Double_t *px, Double_t *dummy )
247 //--------------------------------------------------------------------------
249 // J/Psi pt-distribution FLAT
251 //--------------------------------------------------------------------------
253 const Double_t kptmin = 0.0;
254 const Double_t kptmax = 15.0;
256 Double_t weight = 0.;
258 if (kptmin < x < kptmax) weight = 1.;
263 Double_t AliGenGSIlib::YJpsiFlat(Double_t *py, Double_t *dummy)
265 //--------------------------------------------------------------------------
267 // J/Psi y-distribution FLAT
269 //--------------------------------------------------------------------------
271 const Double_t ky0 = 1.5;
272 const Double_t kb=1.;
274 Double_t y=TMath::Abs(*py);
284 Double_t AliGenGSIlib::PtJpsiMUON( Double_t *px, Double_t *dummy )
286 //--------------------------------------------------------------------------
288 // J/Psi pt-distribution MUONlib
290 //--------------------------------------------------------------------------
292 const Double_t kpt0 = 4.;
293 const Double_t kxn = 3.6;
296 Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
297 return x/TMath::Power(pass1,kxn);
300 Double_t AliGenGSIlib::PtJpsiRitman( Double_t *px, Double_t *dummy )
302 //--------------------------------------------------------------------------
304 // J/Psi pt-distribution Ritman
306 //--------------------------------------------------------------------------
308 const Double_t kpt0 = 2.3;
309 const Double_t kxn = 3.5;
312 Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
314 return x/TMath::Power(pass1,kxn);
317 Double_t AliGenGSIlib::YJpsiMUON(Double_t *py, Double_t *dummy)
319 //--------------------------------------------------------------------------
321 // J/Psi y-distribution MUONlib
323 //--------------------------------------------------------------------------
325 const Double_t ky0 = 4.;
326 const Double_t kb=1.;
328 Double_t y=TMath::Abs(*py);
333 yj=kb*TMath::Exp(-(y-ky0)*(y-ky0)/2);
337 //--------------------------------------------------------------------------
339 // J/Psi pt-distribution by Sergei
341 //--------------------------------------------------------------------------
342 //Double_t AliGenGSIlib::PtJpsi( Double_t *px, Double_t *dummy )
345 // return x = gRandom->Rndm()*10.;
348 //--------------------------------------------------------------------------
350 // J/Psi y-distribution by Sergei
352 //--------------------------------------------------------------------------
353 /*Double_t AliGenGSIlib::YJpsi(Double_t *py, Double_t *dummy)
356 const Double_t ky0 = 4.;
357 const Double_t kb=1.;
359 Double_t y=TMath::Abs(*py);
364 yj=kb*TMath::Exp(-(y-ky0)*(y-ky0)/2);
369 //--------------------------------------------------------------------------
373 //--------------------------------------------------------------------------
374 Int_t AliGenGSIlib::IpCharm(TRandom *ran)
377 // charm particle composition
379 //--------------------------------------------------------------------------
384 random = ran->Rndm();
387 } else if (random < 0.75) {
389 } else if (random < 0.90) {
394 if (ran->Rndm() < 0.5) {ip=-ip;}
399 Double_t AliGenGSIlib::PtCharmFlat( Double_t *px, Double_t *dummy)
401 //--------------------------------------------------------------------------
403 // charm pt-distribution, FLAT
405 //--------------------------------------------------------------------------
414 Double_t AliGenGSIlib::PtCharmGSI( Double_t *px, Double_t *dummy)
416 //--------------------------------------------------------------------------
418 // charm pt-distribution, from Dariuzs Miskowiec
420 //--------------------------------------------------------------------------
422 //Taken from PYTHIA with MRS D-' (3031 from PDFLIB), K=3.0
423 const Double_t kp1 = 1.3;
424 const Double_t kp2 = 0.39;
425 const Double_t kp3 = 0.018;
426 const Double_t kp4 = 0.91;
429 Double_t pass1 =TMath::Exp(-x/kp2) ;
430 Double_t pass2 =TMath::Exp(-x/kp4) ;
431 return TMath::Power(x,kp1) * (pass1 + kp3 * pass2);
434 Double_t AliGenGSIlib::PtCharmMUON( Double_t *px, Double_t *dummy)
436 //--------------------------------------------------------------------------
438 // charm pt-distribution, from MUONlib
440 //--------------------------------------------------------------------------
442 const Double_t kpt0 = 4.08;
443 const Double_t kxn = 9.40;
446 Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
448 return x/TMath::Power(pass1,kxn);
451 Double_t AliGenGSIlib::YCharm( Double_t *px, Double_t *dummy)
453 //--------------------------------------------------------------------------
455 // charm y-distribution
457 //--------------------------------------------------------------------------
461 return YJpsiMUON(px,dum);
464 //--------------------------------------------------------------------------
468 //--------------------------------------------------------------------------
469 Int_t AliGenGSIlib::IpBeauty(TRandom *ran)
472 // beauty particle composition
474 //--------------------------------------------------------------------------
478 random = ran->Rndm();
481 } else if (random < 0.75) {
483 } else if (random < 0.90) {
488 if (ran->Rndm() < 0.5) {ip=-ip;}
492 Double_t AliGenGSIlib::PtBeautyFlat( Double_t *px, Double_t *dummy)
494 //--------------------------------------------------------------------------
496 // beauty pt-distribution, FLAT
498 //--------------------------------------------------------------------------
507 Double_t AliGenGSIlib::PtBeautyGSI( Double_t *px, Double_t *dummy)
509 //--------------------------------------------------------------------------
512 // beauty pt-distribution, from D. Miskowiec
514 //--------------------------------------------------------------------------
516 //Taken from PYTHIA with MRS D-' (3031 from PDFLIB), K=3.0
517 const Double_t kp1 = 1.3;
518 const Double_t kp2 = 1.78;
519 const Double_t kp3 = 0.0096;
520 const Double_t kp4 = 4.16;
523 Double_t pass1 =TMath::Exp(-x/kp2) ;
524 Double_t pass2 =TMath::Exp(-x/kp4) ;
526 return TMath::Power(x,kp1) * (pass1 + kp3 * pass2);
529 Double_t AliGenGSIlib::PtBeautyMUON( Double_t *px, Double_t *dummy)
531 //--------------------------------------------------------------------------
533 // beauty pt-distribution, from MUONlib
535 //--------------------------------------------------------------------------
537 const Double_t kpt0 = 4.;
538 const Double_t kxn = 3.6;
541 Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
543 return x/TMath::Power(pass1,kxn);
546 Double_t AliGenGSIlib::YBeauty( Double_t *px, Double_t *dummy)
548 //--------------------------------------------------------------------------
550 // beauty y-distribution
552 //--------------------------------------------------------------------------
556 return YJpsiMUON(px,dum);
559 //--------------------------------------------------------------------------
563 //--------------------------------------------------------------------------
564 Int_t AliGenGSIlib::IpEta(TRandom *)
567 // eta particle composition
569 //--------------------------------------------------------------------------
574 Double_t AliGenGSIlib::PtEtaPHOS( Double_t *px, Double_t *dummy )
576 //--------------------------------------------------------------------------
578 // eta pt-distribution
580 //____________________________________________________________--------------
582 return PtScal(*px,3); // 3==> Eta in the PtScal function
585 Double_t AliGenGSIlib::YEtaPHOS(Double_t *py, Double_t *dummy)
587 //--------------------------------------------------------------------------
589 // eta y-distribution
591 //--------------------------------------------------------------------------
593 const Double_t ka = 1000.;
594 const Double_t kdy = 4.;
596 Double_t y=TMath::Abs(*py);
598 Double_t ex = y*y/(2*kdy*kdy);
600 return ka*TMath::Exp(-ex);
603 //--------------------------------------------------------------------------
607 //--------------------------------------------------------------------------
608 Int_t AliGenGSIlib::IpEtaprime(TRandom *)
611 // etaprime particle composition
613 //--------------------------------------------------------------------------
618 Double_t AliGenGSIlib::PtEtaprimePHOS( Double_t *px, Double_t *dummy )
620 //--------------------------------------------------------------------------
622 // etaprime pt-distribution
624 //____________________________________________________________--------------
626 return PtScal(*px,5); // 5==> Etaprime in the PtScal function
629 Double_t AliGenGSIlib::YEtaprimePHOS(Double_t *py, Double_t *dummy)
631 //--------------------------------------------------------------------------
633 // etaprime y-distribution
635 //--------------------------------------------------------------------------
637 const Double_t ka = 1000.;
638 const Double_t kdy = 4.;
640 Double_t y=TMath::Abs(*py);
642 Double_t ex = y*y/(2*kdy*kdy);
644 return ka*TMath::Exp(-ex);
647 //--------------------------------------------------------------------------
651 //--------------------------------------------------------------------------
652 Int_t AliGenGSIlib::IpOmega(TRandom *)
655 // omega particle composition
657 //--------------------------------------------------------------------------
662 Double_t AliGenGSIlib::PtOmega( Double_t *px, Double_t *dummy )
664 //--------------------------------------------------------------------------
666 // omega pt-distribution
668 //____________________________________________________________--------------
670 return PtScal(*px,4); // 4==> Omega in the PtScal function
673 Double_t AliGenGSIlib::YOmega(Double_t *py, Double_t *dummy)
675 //--------------------------------------------------------------------------
677 // omega y-distribution
679 //--------------------------------------------------------------------------
681 const Double_t ka = 1000.;
682 const Double_t kdy = 4.;
685 Double_t y=TMath::Abs(*py);
687 Double_t ex = y*y/(2*kdy*kdy);
689 return ka*TMath::Exp(-ex);
692 //--------------------------------------------------------------------------
696 //--------------------------------------------------------------------------
698 Int_t AliGenGSIlib::IpRho(TRandom *)
701 // rho particle composition
703 //--------------------------------------------------------------------------
708 Double_t AliGenGSIlib::PtRho( Double_t *px, Double_t *dummy )
710 //--------------------------------------------------------------------------
712 // rho pt-distribution
714 //____________________________________________________________--------------
716 return PtScal(*px,11); // 11==> Rho in the PtScal function
719 Double_t AliGenGSIlib::YRho(Double_t *py, Double_t *dummy)
721 //--------------------------------------------------------------------------
723 // rho y-distribution
725 //--------------------------------------------------------------------------
727 const Double_t ka = 1000.;
728 const Double_t kdy = 4.;
731 Double_t y=TMath::Abs(*py);
733 Double_t ex = y*y/(2*kdy*kdy);
735 return ka*TMath::Exp(-ex);
738 //--------------------------------------------------------------------------
742 //--------------------------------------------------------------------------
743 Int_t AliGenGSIlib::IpPionPHOS(TRandom *ran)
746 // particle composition pi+, pi0, pi-
748 //--------------------------------------------------------------------------
750 Float_t random = ran->Rndm();
752 if ( (3.*random) < 1. )
758 if ( (3.*random) >= 2.)
768 Double_t AliGenGSIlib::PtPion( Double_t *px, Double_t *dummy )
770 //--------------------------------------------------------------------------
772 // pion pt-distribution
774 // Pion transverse momentum distribtuion as in AliGenMUONlib class,
775 // version 3.01 of aliroot:
776 // PT-PARAMETERIZATION CDF, PRL 61(88) 1819
777 // POWER LAW FOR PT > 500 MEV
778 // MT SCALING BELOW (T=160 MEV)
780 //____________________________________________________________--------------
782 const Double_t kp0 = 1.3;
783 const Double_t kxn = 8.28;
784 const Double_t kxlim=0.5;
785 const Double_t kt=0.160;
786 const Double_t kxmpi=0.139;
787 const Double_t kb=1.;
788 Double_t y, y1, kxmpi2, ynorm, a;
791 y1=TMath::Power(kp0/(kp0+kxlim),kxn);
793 ynorm=kb*(TMath::Exp(-sqrt(kxlim*kxlim+kxmpi2)/kt));
796 y=a*TMath::Power(kp0/(kp0+x),kxn);
798 y=kb*TMath::Exp(-sqrt(x*x+kxmpi2)/kt);
802 Double_t AliGenGSIlib::YPion(Double_t *py, Double_t *dummy)
804 //--------------------------------------------------------------------------
806 // pion y-distribution
808 //--------------------------------------------------------------------------
810 const Double_t ka = 7000.;
811 const Double_t kdy = 4.;
813 Double_t y=TMath::Abs(*py);
815 Double_t ex = y*y/(2*kdy*kdy);
817 return ka*TMath::Exp(-ex);
820 Int_t AliGenGSIlib::IpKaonPHOS(TRandom *ran)
822 //--------------------------------------------------------------------------
826 //--------------------------------------------------------------------------
828 // kaon particle composition K+, K-, Ko_short, Ko_long
830 //--------------------------------------------------------------------------
832 Float_t random = ran->Rndm();
833 Float_t random2 = ran->Rndm();
845 return 130; // K^0 short
847 return 310; // K^0 long
851 Double_t AliGenGSIlib::PtKaonPHOS( Double_t *px, Double_t *dummy )
853 //--------------------------------------------------------------------------
855 // kaon pt-distribution
857 //____________________________________________________________--------------
859 return PtScal(*px,2); // 2==> Kaon in the PtScal function
862 Double_t AliGenGSIlib::YKaonPHOS(Double_t *py, Double_t *dummy)
864 //--------------------------------------------------------------------------
866 // kaon y-distribution
868 //--------------------------------------------------------------------------
870 const Double_t ka = 1000.;
871 const Double_t kdy = 4.;
873 Double_t y=TMath::Abs(*py);
875 Double_t ex = y*y/(2*kdy*kdy);
877 return ka*TMath::Exp(-ex);
880 //--------------------------------------------------------------------------
884 Int_t AliGenGSIlib::IpPhi(TRandom *)
886 //--------------------------------------------------------------------------
888 // particle composition
890 //--------------------------------------------------------------------------
895 Double_t AliGenGSIlib::PtPhiPHOS( Double_t *px, Double_t *dummy )
897 //--------------------------------------------------------------------------
899 // phi pt-distribution
901 //____________________________________________________________--------------
903 return PtScal(*px,6); // 6==> Phi in the PtScal function
906 Double_t AliGenGSIlib::YPhiPHOS(Double_t *py, Double_t *dummy)
908 //--------------------------------------------------------------------------
910 // phi y-distribution
912 //--------------------------------------------------------------------------
914 const Double_t ka = 1000.;
915 const Double_t kdy = 4.;
918 Double_t y=TMath::Abs(*py);
920 Double_t ex = y*y/(2*kdy*kdy);
922 return ka*TMath::Exp(-ex);
925 Int_t AliGenGSIlib::IpBaryons(TRandom *ran)
927 //--------------------------------------------------------------------------
931 //--------------------------------------------------------------------------
933 // baryons particle composition p, pbar, n, nbar
935 //--------------------------------------------------------------------------
937 Float_t random = ran->Rndm();
938 Float_t random2 = ran->Rndm();
944 return -2212; // pbar
952 return -2112; // n bar
956 Double_t AliGenGSIlib::PtBaryons( Double_t *px, Double_t *dummy )
958 //--------------------------------------------------------------------------
960 // baryons pt-distribution
962 //____________________________________________________________--------------
964 return PtScal(*px,7); // 7==> Baryon in the PtScal function
967 Double_t AliGenGSIlib::YBaryons(Double_t *py, Double_t *dummy)
969 //--------------------------------------------------------------------------
971 // baryons y-distribution
973 //--------------------------------------------------------------------------
975 const Double_t ka = 1000.;
976 const Double_t kdy = 4.;
978 Double_t y=TMath::Abs(*py);
980 Double_t ex = y*y/(2*kdy*kdy);
982 return ka*TMath::Exp(-ex);
985 //=============================================================
987 // Mt-scaling as in AliGenPHOSlib
989 //=============================================================
991 Double_t AliGenGSIlib::PtScal(Double_t pt, Int_t np)
993 // Function for the calculation of the Pt distribution for a
994 // given particle np, from the pion Pt distribution using the
997 // It was taken from AliGenPHOSlib aliroot version 3.04, which
998 // is an update of the one in AliGenMUONlib aliroot version 3.01
999 // with an extension for Baryons but supressing Rhos
1000 // np = 1=>Pions 2=>Kaons 3=>Etas 4=>Omegas 5=>ETA' 6=>PHI
1001 // 7=>BARYONS-BARYONBARS
1003 // The present adds the Rhos
1005 // MASS 1=>PI, 2=>K, 3=>ETA, 4=>OMEGA, 5=>ETA', 6=>PHI
1006 // 7=>BARYON-BARYONBAR, 11==>RHO
1008 const Double_t khm[11] = {0.1396, 0.494, 0.547, 0.782, 0.957, 1.02,
1009 0.938, 0. , 0., 0., 0.769};
1011 // VALUE MESON/PI AT 5 GEV
1013 const Double_t kfmax[11]={1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.};
1016 Double_t f5=TMath::Power(((sqrt(100.018215)+2.)/(sqrt(100.+khm[np]*khm[np])+2.0)),12.3);
1017 Double_t kfmax2=f5/kfmax[np];
1019 Double_t ptpion=100.*PtPion(&pt, (Double_t*) 0);
1020 Double_t fmtscal=TMath::Power(((sqrt(pt*pt+0.018215)+2.)/
1021 (sqrt(pt*pt+khm[np]*khm[np])+2.0)),12.3)/ kfmax2;
1022 return fmtscal*ptpion;
1025 //==========================================================================
1029 //==========================================================================
1031 typedef Double_t (*GenFunc) (Double_t*, Double_t*);
1033 typedef Int_t (*GenFuncIp) (TRandom *);
1035 GenFunc AliGenGSIlib::GetPt(Int_t param, const char * tname) const
1037 // Return pointer to pT parameterisation
1039 TString sname(tname);
1045 func= PtUpsilonFlat;
1049 func= PtUpsilonMUON;
1052 if (sname=="RITMAN"){
1053 func=PtUpsilonRitman;
1056 if (sname=="KAREL"){
1057 func=PtUpsilonKarel;
1061 printf("<AliGenGSIlib::GetPt> unknown parametrisation\n");
1073 // if (sname=="SERGEI"){
1078 printf("<AliGenGSIlib::GetPt> unknown parametrisation\n");
1097 printf("<AliGenGSIlib::GetPt> unknown parametrisation\n");
1114 printf("<AliGenGSIlib::GetPt> unknown parametrisation\n");
1123 func=PtEtaprimePHOS;
1156 printf("<AliGenGSIlib::GetPt> unknown parametrisation\n");
1161 GenFunc AliGenGSIlib::GetY(Int_t param, const char * tname) const
1163 // Return pointer to y- parameterisation
1165 TString sname(tname);
1178 if (sname=="RITMAN"){
1179 func=YUpsilonRitman;
1182 if (sname=="KAREL"){
1187 printf("<AliGenGSIlib::GetY> unknown parametrisation\n");
1199 // if (sname=="SERGEI"){
1205 printf("<AliGenGSIlib::GetY> unknown parametrisation\n");
1254 printf("<AliGenGSIlib::GetY> unknown parametrisation\n");
1259 GenFuncIp AliGenGSIlib::GetIp(Int_t param, const char * tname) const
1261 // Return pointer to particle type parameterisation
1263 TString sname(tname);
1321 printf("<AliGenGSIlib::GetIp> unknown parametrisation\n");