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.5 2001/05/15 15:43:23 morsch
19 Update of library for low mass resonances (Yiota Foka)
21 Revision 1.4 2001/03/09 13:01:41 morsch
22 - enum constants for paramterisation type (particle family) moved to AliGen*lib.h
23 - use AliGenGSIlib::kUpsilon, AliGenPHOSlib::kEtaPrime to access the constants
25 Revision 1.3 2000/12/21 16:24:06 morsch
26 Coding convention clean-up
28 Revision 1.2 2000/11/30 07:12:50 alibrary
29 Introducing new Rndm and QA classes
31 Revision 1.1 2000/06/15 08:48:43 morsch
32 AliGenGSIlib with parametersations for GSI physics simulation added (YF, MI)
34 Revision 1.7 2000/05/02 08:12:13 morsch
35 Coding rule violations corrected.
37 Revision 1.6 1999/09/29 09:24:14 fca
38 Introduction of the Copyright and cvs Log
42 /////////////////////////////////////////////////////////////////////////////
44 // Implementation of AliGenlib to collect parametrisations used for //
45 // GSI simulations. //
46 // It is an extension of AliMUONLib providing in addition the option //
47 // for different parametrisations of pt, y and ip for every particle type //
49 // Responsible: Andres.Sandoval@cern.ch //
51 /////////////////////////////////////////////////////////////////////////////
56 #include "AliGenGSIlib.h"
59 ClassImp(AliGenGSIlib)
61 //==========================================================================
63 // Definition of Particle Distributions
65 //==========================================================================
69 //--------------------------------------------------------------------------
71 // upsilon particle composition
73 //--------------------------------------------------------------------------
74 Int_t AliGenGSIlib::IpUpsilon(TRandom *)
76 // Return upsilon pdg code
81 Double_t AliGenGSIlib::PtUpsilonFlat( Double_t *px, Double_t *dummy )
83 //--------------------------------------------------------------------------
85 // upsilon pt-distribution FLAT
87 //____________________________________________________________--------------
89 const Double_t kptmin = 0.0;
90 const Double_t kptmax = 15.0;
94 if (kptmin < x < kptmax) weight = 1.;
99 Double_t AliGenGSIlib::YUpsilonFlat(Double_t *py, Double_t *dummy)
101 //--------------------------------------------------------------------------
103 // upsilon y-distribution FLAT
105 //--------------------------------------------------------------------------
107 const Double_t ky0 = 1.5;
108 const Double_t kb=1.;
110 Double_t y=TMath::Abs(*py);
120 Double_t AliGenGSIlib::PtUpsilonRitman( Double_t *px, Double_t *dummy )
122 //--------------------------------------------------------------------------
124 // upsilon pt-distribution RITMAN
126 //--------------------------------------------------------------------------
128 const Double_t kpt0 = 4.7;
129 const Double_t kxn = 3.5;
132 Double_t pass1 = 1.+((x*x)/(kpt0*kpt0));
134 return x/TMath::Power(pass1,kxn);
137 Double_t AliGenGSIlib::YUpsilonRitman(Double_t *py, Double_t *dummy)
139 //--------------------------------------------------------------------------
141 // upsilon y-distribution RITMAN
143 //--------------------------------------------------------------------------
145 const Double_t ky0 = 3.;
146 const Double_t kb=1.;
148 Double_t y=TMath::Abs(*py);
153 yu=kb*TMath::Exp(-(y-ky0)*(y-ky0)/2);
158 Double_t AliGenGSIlib::PtUpsilonKarel( Double_t *px, Double_t *dummy )
160 //--------------------------------------------------------------------------
162 // upsilon pt-distribution kAREL
164 //--------------------------------------------------------------------------
170 Double_t AliGenGSIlib::YUpsilonKarel(Double_t *py, Double_t *dummy)
172 //--------------------------------------------------------------------------
174 // upsilon y-distribution KAREL
176 //--------------------------------------------------------------------------
183 Double_t AliGenGSIlib::PtUpsilonMUON( Double_t *px, Double_t *dummy )
185 //--------------------------------------------------------------------------
187 // upsilon pt-distribution MUONlib
189 //--------------------------------------------------------------------------
191 const Double_t kpt0 = 5.3;
192 const Double_t kxn = 2.5;
195 Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
197 return x/TMath::Power(pass1,kxn);
200 Double_t AliGenGSIlib::YUpsilonMUON(Double_t *py, Double_t *dummy)
202 //--------------------------------------------------------------------------
204 // upsilon y-distribution MUONlib
206 //--------------------------------------------------------------------------
208 const Double_t ky0 = 3.;
209 const Double_t kb=1.;
211 Double_t y=TMath::Abs(*py);
216 yu=kb*TMath::Exp(-(y-ky0)*(y-ky0)/2);
221 //--------------------------------------------------------------------------
225 Int_t AliGenGSIlib::IpJpsi(TRandom *)
227 //--------------------------------------------------------------------------
229 // J/Psi particle composition
231 //--------------------------------------------------------------------------
236 Double_t AliGenGSIlib::PtJpsiFlat( Double_t *px, Double_t *dummy )
238 //--------------------------------------------------------------------------
240 // J/Psi pt-distribution FLAT
242 //--------------------------------------------------------------------------
244 const Double_t kptmin = 0.0;
245 const Double_t kptmax = 15.0;
247 Double_t weight = 0.;
249 if (kptmin < x < kptmax) weight = 1.;
254 Double_t AliGenGSIlib::YJpsiFlat(Double_t *py, Double_t *dummy)
256 //--------------------------------------------------------------------------
258 // J/Psi y-distribution FLAT
260 //--------------------------------------------------------------------------
262 const Double_t ky0 = 1.5;
263 const Double_t kb=1.;
265 Double_t y=TMath::Abs(*py);
275 Double_t AliGenGSIlib::PtJpsiMUON( Double_t *px, Double_t *dummy )
277 //--------------------------------------------------------------------------
279 // J/Psi pt-distribution MUONlib
281 //--------------------------------------------------------------------------
283 const Double_t kpt0 = 4.;
284 const Double_t kxn = 3.6;
287 Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
288 return x/TMath::Power(pass1,kxn);
291 Double_t AliGenGSIlib::PtJpsiRitman( Double_t *px, Double_t *dummy )
293 //--------------------------------------------------------------------------
295 // J/Psi pt-distribution Ritman
297 //--------------------------------------------------------------------------
299 const Double_t kpt0 = 2.3;
300 const Double_t kxn = 3.5;
303 Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
305 return x/TMath::Power(pass1,kxn);
308 Double_t AliGenGSIlib::YJpsiMUON(Double_t *py, Double_t *dummy)
310 //--------------------------------------------------------------------------
312 // J/Psi y-distribution MUONlib
314 //--------------------------------------------------------------------------
316 const Double_t ky0 = 4.;
317 const Double_t kb=1.;
319 Double_t y=TMath::Abs(*py);
324 yj=kb*TMath::Exp(-(y-ky0)*(y-ky0)/2);
328 //--------------------------------------------------------------------------
330 // J/Psi pt-distribution by Sergei
332 //--------------------------------------------------------------------------
333 //Double_t AliGenGSIlib::PtJpsi( Double_t *px, Double_t *dummy )
336 // return x = gRandom->Rndm()*10.;
339 //--------------------------------------------------------------------------
341 // J/Psi y-distribution by Sergei
343 //--------------------------------------------------------------------------
344 /*Double_t AliGenGSIlib::YJpsi(Double_t *py, Double_t *dummy)
347 const Double_t ky0 = 4.;
348 const Double_t kb=1.;
350 Double_t y=TMath::Abs(*py);
355 yj=kb*TMath::Exp(-(y-ky0)*(y-ky0)/2);
360 //--------------------------------------------------------------------------
364 //--------------------------------------------------------------------------
365 Int_t AliGenGSIlib::IpCharm(TRandom *ran)
368 // charm particle composition
370 //--------------------------------------------------------------------------
375 random = ran->Rndm();
378 } else if (random < 0.75) {
380 } else if (random < 0.90) {
385 if (ran->Rndm() < 0.5) {ip=-ip;}
390 Double_t AliGenGSIlib::PtCharmFlat( Double_t *px, Double_t *dummy)
392 //--------------------------------------------------------------------------
394 // charm pt-distribution, FLAT
396 //--------------------------------------------------------------------------
405 Double_t AliGenGSIlib::PtCharmGSI( Double_t *px, Double_t *dummy)
407 //--------------------------------------------------------------------------
409 // charm pt-distribution, from Dariuzs Miskowiec
411 //--------------------------------------------------------------------------
413 //Taken from PYTHIA with MRS D-' (3031 from PDFLIB), K=3.0
414 const Double_t kp1 = 1.3;
415 const Double_t kp2 = 0.39;
416 const Double_t kp3 = 0.018;
417 const Double_t kp4 = 0.91;
420 Double_t pass1 =TMath::Exp(-x/kp2) ;
421 Double_t pass2 =TMath::Exp(-x/kp4) ;
422 return TMath::Power(x,kp1) * (pass1 + kp3 * pass2);
425 Double_t AliGenGSIlib::PtCharmMUON( Double_t *px, Double_t *dummy)
427 //--------------------------------------------------------------------------
429 // charm pt-distribution, from MUONlib
431 //--------------------------------------------------------------------------
433 const Double_t kpt0 = 4.08;
434 const Double_t kxn = 9.40;
437 Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
439 return x/TMath::Power(pass1,kxn);
442 Double_t AliGenGSIlib::YCharm( Double_t *px, Double_t *dummy)
444 //--------------------------------------------------------------------------
446 // charm y-distribution
448 //--------------------------------------------------------------------------
452 return YJpsiMUON(px,dum);
455 //--------------------------------------------------------------------------
459 //--------------------------------------------------------------------------
460 Int_t AliGenGSIlib::IpBeauty(TRandom *ran)
463 // beauty particle composition
465 //--------------------------------------------------------------------------
469 random = ran->Rndm();
472 } else if (random < 0.75) {
474 } else if (random < 0.90) {
479 if (ran->Rndm() < 0.5) {ip=-ip;}
483 Double_t AliGenGSIlib::PtBeautyFlat( Double_t *px, Double_t *dummy)
485 //--------------------------------------------------------------------------
487 // beauty pt-distribution, FLAT
489 //--------------------------------------------------------------------------
498 Double_t AliGenGSIlib::PtBeautyGSI( Double_t *px, Double_t *dummy)
500 //--------------------------------------------------------------------------
503 // beauty pt-distribution, from D. Miskowiec
505 //--------------------------------------------------------------------------
507 //Taken from PYTHIA with MRS D-' (3031 from PDFLIB), K=3.0
508 const Double_t kp1 = 1.3;
509 const Double_t kp2 = 1.78;
510 const Double_t kp3 = 0.0096;
511 const Double_t kp4 = 4.16;
514 Double_t pass1 =TMath::Exp(-x/kp2) ;
515 Double_t pass2 =TMath::Exp(-x/kp4) ;
517 return TMath::Power(x,kp1) * (pass1 + kp3 * pass2);
520 Double_t AliGenGSIlib::PtBeautyMUON( Double_t *px, Double_t *dummy)
522 //--------------------------------------------------------------------------
524 // beauty pt-distribution, from MUONlib
526 //--------------------------------------------------------------------------
528 const Double_t kpt0 = 4.;
529 const Double_t kxn = 3.6;
532 Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
534 return x/TMath::Power(pass1,kxn);
537 Double_t AliGenGSIlib::YBeauty( Double_t *px, Double_t *dummy)
539 //--------------------------------------------------------------------------
541 // beauty y-distribution
543 //--------------------------------------------------------------------------
547 return YJpsiMUON(px,dum);
550 //--------------------------------------------------------------------------
554 //--------------------------------------------------------------------------
555 Int_t AliGenGSIlib::IpEta(TRandom *)
558 // eta particle composition
560 //--------------------------------------------------------------------------
565 Double_t AliGenGSIlib::PtEtaPHOS( Double_t *px, Double_t *dummy )
567 //--------------------------------------------------------------------------
569 // eta pt-distribution
571 //____________________________________________________________--------------
573 return PtScal(*px,3); // 3==> Eta in the PtScal function
576 Double_t AliGenGSIlib::YEtaPHOS(Double_t *py, Double_t *dummy)
578 //--------------------------------------------------------------------------
580 // eta y-distribution
582 //--------------------------------------------------------------------------
584 const Double_t ka = 1000.;
585 const Double_t kdy = 4.;
587 Double_t y=TMath::Abs(*py);
589 Double_t ex = y*y/(2*kdy*kdy);
591 return ka*TMath::Exp(-ex);
594 //--------------------------------------------------------------------------
598 //--------------------------------------------------------------------------
599 Int_t AliGenGSIlib::IpEtaprime(TRandom *)
602 // etaprime particle composition
604 //--------------------------------------------------------------------------
609 Double_t AliGenGSIlib::PtEtaprimePHOS( Double_t *px, Double_t *dummy )
611 //--------------------------------------------------------------------------
613 // etaprime pt-distribution
615 //____________________________________________________________--------------
617 return PtScal(*px,5); // 5==> Etaprime in the PtScal function
620 Double_t AliGenGSIlib::YEtaprimePHOS(Double_t *py, Double_t *dummy)
622 //--------------------------------------------------------------------------
624 // etaprime y-distribution
626 //--------------------------------------------------------------------------
628 const Double_t ka = 1000.;
629 const Double_t kdy = 4.;
631 Double_t y=TMath::Abs(*py);
633 Double_t ex = y*y/(2*kdy*kdy);
635 return ka*TMath::Exp(-ex);
638 //--------------------------------------------------------------------------
642 //--------------------------------------------------------------------------
643 Int_t AliGenGSIlib::IpOmega(TRandom *)
646 // omega particle composition
648 //--------------------------------------------------------------------------
653 Double_t AliGenGSIlib::PtOmega( Double_t *px, Double_t *dummy )
655 //--------------------------------------------------------------------------
657 // omega pt-distribution
659 //____________________________________________________________--------------
661 return PtScal(*px,4); // 4==> Omega in the PtScal function
664 Double_t AliGenGSIlib::YOmega(Double_t *py, Double_t *dummy)
666 //--------------------------------------------------------------------------
668 // omega y-distribution
670 //--------------------------------------------------------------------------
672 const Double_t ka = 1000.;
673 const Double_t kdy = 4.;
676 Double_t y=TMath::Abs(*py);
678 Double_t ex = y*y/(2*kdy*kdy);
680 return ka*TMath::Exp(-ex);
683 //--------------------------------------------------------------------------
687 //--------------------------------------------------------------------------
689 Int_t AliGenGSIlib::IpRho(TRandom *)
692 // rho particle composition
694 //--------------------------------------------------------------------------
699 Double_t AliGenGSIlib::PtRho( Double_t *px, Double_t *dummy )
701 //--------------------------------------------------------------------------
703 // rho pt-distribution
705 //____________________________________________________________--------------
707 return PtScal(*px,11); // 11==> Rho in the PtScal function
710 Double_t AliGenGSIlib::YRho(Double_t *py, Double_t *dummy)
712 //--------------------------------------------------------------------------
714 // rho y-distribution
716 //--------------------------------------------------------------------------
718 const Double_t ka = 1000.;
719 const Double_t kdy = 4.;
722 Double_t y=TMath::Abs(*py);
724 Double_t ex = y*y/(2*kdy*kdy);
726 return ka*TMath::Exp(-ex);
729 //--------------------------------------------------------------------------
733 //--------------------------------------------------------------------------
734 Int_t AliGenGSIlib::IpPionPHOS(TRandom *ran)
737 // particle composition pi+, pi0, pi-
739 //--------------------------------------------------------------------------
741 Float_t random = ran->Rndm();
743 if ( (3.*random) < 1. )
749 if ( (3.*random) >= 2.)
759 Double_t AliGenGSIlib::PtPion( Double_t *px, Double_t *dummy )
761 //--------------------------------------------------------------------------
763 // pion pt-distribution
765 // Pion transverse momentum distribtuion as in AliGenMUONlib class,
766 // version 3.01 of aliroot:
767 // PT-PARAMETERIZATION CDF, PRL 61(88) 1819
768 // POWER LAW FOR PT > 500 MEV
769 // MT SCALING BELOW (T=160 MEV)
771 //____________________________________________________________--------------
773 const Double_t kp0 = 1.3;
774 const Double_t kxn = 8.28;
775 const Double_t kxlim=0.5;
776 const Double_t kt=0.160;
777 const Double_t kxmpi=0.139;
778 const Double_t kb=1.;
779 Double_t y, y1, kxmpi2, ynorm, a;
782 y1=TMath::Power(kp0/(kp0+kxlim),kxn);
784 ynorm=kb*(TMath::Exp(-sqrt(kxlim*kxlim+kxmpi2)/kt));
787 y=a*TMath::Power(kp0/(kp0+x),kxn);
789 y=kb*TMath::Exp(-sqrt(x*x+kxmpi2)/kt);
793 Double_t AliGenGSIlib::YPion(Double_t *py, Double_t *dummy)
795 //--------------------------------------------------------------------------
797 // pion y-distribution
799 //--------------------------------------------------------------------------
801 const Double_t ka = 7000.;
802 const Double_t kdy = 4.;
804 Double_t y=TMath::Abs(*py);
806 Double_t ex = y*y/(2*kdy*kdy);
808 return ka*TMath::Exp(-ex);
811 Int_t AliGenGSIlib::IpKaonPHOS(TRandom *ran)
813 //--------------------------------------------------------------------------
817 //--------------------------------------------------------------------------
819 // kaon particle composition K+, K-, Ko_short, Ko_long
821 //--------------------------------------------------------------------------
823 Float_t random = ran->Rndm();
824 Float_t random2 = ran->Rndm();
836 return 130; // K^0 short
838 return 310; // K^0 long
842 Double_t AliGenGSIlib::PtKaonPHOS( Double_t *px, Double_t *dummy )
844 //--------------------------------------------------------------------------
846 // kaon pt-distribution
848 //____________________________________________________________--------------
850 return PtScal(*px,2); // 2==> Kaon in the PtScal function
853 Double_t AliGenGSIlib::YKaonPHOS(Double_t *py, Double_t *dummy)
855 //--------------------------------------------------------------------------
857 // kaon y-distribution
859 //--------------------------------------------------------------------------
861 const Double_t ka = 1000.;
862 const Double_t kdy = 4.;
864 Double_t y=TMath::Abs(*py);
866 Double_t ex = y*y/(2*kdy*kdy);
868 return ka*TMath::Exp(-ex);
871 //--------------------------------------------------------------------------
875 Int_t AliGenGSIlib::IpPhi(TRandom *)
877 //--------------------------------------------------------------------------
879 // particle composition
881 //--------------------------------------------------------------------------
886 Double_t AliGenGSIlib::PtPhiPHOS( Double_t *px, Double_t *dummy )
888 //--------------------------------------------------------------------------
890 // phi pt-distribution
892 //____________________________________________________________--------------
894 return PtScal(*px,6); // 6==> Phi in the PtScal function
897 Double_t AliGenGSIlib::YPhiPHOS(Double_t *py, Double_t *dummy)
899 //--------------------------------------------------------------------------
901 // phi y-distribution
903 //--------------------------------------------------------------------------
905 const Double_t ka = 1000.;
906 const Double_t kdy = 4.;
909 Double_t y=TMath::Abs(*py);
911 Double_t ex = y*y/(2*kdy*kdy);
913 return ka*TMath::Exp(-ex);
916 Int_t AliGenGSIlib::IpBaryons(TRandom *ran)
918 //--------------------------------------------------------------------------
922 //--------------------------------------------------------------------------
924 // baryons particle composition p, pbar, n, nbar
926 //--------------------------------------------------------------------------
928 Float_t random = ran->Rndm();
929 Float_t random2 = ran->Rndm();
935 return -2212; // pbar
943 return -2112; // n bar
947 Double_t AliGenGSIlib::PtBaryons( Double_t *px, Double_t *dummy )
949 //--------------------------------------------------------------------------
951 // baryons pt-distribution
953 //____________________________________________________________--------------
955 return PtScal(*px,7); // 7==> Baryon in the PtScal function
958 Double_t AliGenGSIlib::YBaryons(Double_t *py, Double_t *dummy)
960 //--------------------------------------------------------------------------
962 // baryons y-distribution
964 //--------------------------------------------------------------------------
966 const Double_t ka = 1000.;
967 const Double_t kdy = 4.;
969 Double_t y=TMath::Abs(*py);
971 Double_t ex = y*y/(2*kdy*kdy);
973 return ka*TMath::Exp(-ex);
976 //=============================================================
978 // Mt-scaling as in AliGenPHOSlib
980 //=============================================================
982 Double_t AliGenGSIlib::PtScal(Double_t pt, Int_t np)
984 // Function for the calculation of the Pt distribution for a
985 // given particle np, from the pion Pt distribution using the
988 // It was taken from AliGenPHOSlib aliroot version 3.04, which
989 // is an update of the one in AliGenMUONlib aliroot version 3.01
990 // with an extension for Baryons but supressing Rhos
991 // np = 1=>Pions 2=>Kaons 3=>Etas 4=>Omegas 5=>ETA' 6=>PHI
992 // 7=>BARYONS-BARYONBARS
994 // The present adds the Rhos
996 // MASS 1=>PI, 2=>K, 3=>ETA, 4=>OMEGA, 5=>ETA', 6=>PHI
997 // 7=>BARYON-BARYONBAR, 11==>RHO
999 const Double_t khm[11] = {0.1396, 0.494, 0.547, 0.782, 0.957, 1.02,
1000 0.938, 0. , 0., 0., 0.769};
1002 // VALUE MESON/PI AT 5 GEV
1004 const Double_t kfmax[11]={1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.};
1007 Double_t f5=TMath::Power(((sqrt(100.018215)+2.)/(sqrt(100.+khm[np]*khm[np])+2.0)),12.3);
1008 Double_t kfmax2=f5/kfmax[np];
1010 Double_t ptpion=100.*PtPion(&pt, (Double_t*) 0);
1011 Double_t fmtscal=TMath::Power(((sqrt(pt*pt+0.018215)+2.)/
1012 (sqrt(pt*pt+khm[np]*khm[np])+2.0)),12.3)/ kfmax2;
1013 return fmtscal*ptpion;
1016 //==========================================================================
1020 //==========================================================================
1022 typedef Double_t (*GenFunc) (Double_t*, Double_t*);
1024 typedef Int_t (*GenFuncIp) (TRandom *);
1026 GenFunc AliGenGSIlib::GetPt(Int_t param, const char * tname) const
1028 // Return pointer to pT parameterisation
1030 TString sname(tname);
1036 func= PtUpsilonFlat;
1040 func= PtUpsilonMUON;
1043 if (sname=="RITMAN"){
1044 func=PtUpsilonRitman;
1047 if (sname=="KAREL"){
1048 func=PtUpsilonKarel;
1053 printf("<AliGenGSIlib::GetPt> unknown parametrisation\n");
1064 // if (sname=="SERGEI"){
1070 printf("<AliGenGSIlib::GetPt> unknown parametrisation\n");
1089 printf("<AliGenGSIlib::GetPt> unknown parametrisation\n");
1106 printf("<AliGenGSIlib::GetPt> unknown parametrisation\n");
1114 func=PtEtaprimePHOS;
1147 printf("<AliGenGSIlib::GetPt> unknown parametrisation\n");
1152 GenFunc AliGenGSIlib::GetY(Int_t param, const char * tname) const
1154 // Return pointer to y- parameterisation
1156 TString sname(tname);
1169 if (sname=="RITMAN"){
1170 func=YUpsilonRitman;
1173 if (sname=="KAREL"){
1178 printf("<AliGenGSIlib::GetY> unknown parametrisation\n");
1190 // if (sname=="SERGEI"){
1196 printf("<AliGenGSIlib::GetY> unknown parametrisation\n");
1245 printf("<AliGenGSIlib::GetY> unknown parametrisation\n");
1250 GenFuncIp AliGenGSIlib::GetIp(Int_t param, const char * tname) const
1252 // Return pointer to particle type parameterisation
1254 TString sname(tname);
1312 printf("<AliGenGSIlib::GetIp> unknown parametrisation\n");