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.10.1 2002/06/10 14:57:41 hristov
21 Revision 1.6 2002/04/16 15:53:19 morsch
22 Coding rule violations corrected.
24 Revision 1.5 2001/05/15 15:43:23 morsch
25 Update of library for low mass resonances (Yiota Foka)
27 Revision 1.4 2001/03/09 13:01:41 morsch
28 - enum constants for paramterisation type (particle family) moved to AliGen*lib.h
29 - use AliGenGSIlib::kUpsilon, AliGenPHOSlib::kEtaPrime to access the constants
31 Revision 1.3 2000/12/21 16:24:06 morsch
32 Coding convention clean-up
34 Revision 1.2 2000/11/30 07:12:50 alibrary
35 Introducing new Rndm and QA classes
37 Revision 1.1 2000/06/15 08:48:43 morsch
38 AliGenGSIlib with parametersations for GSI physics simulation added (YF, MI)
40 Revision 1.7 2000/05/02 08:12:13 morsch
41 Coding rule violations corrected.
43 Revision 1.6 1999/09/29 09:24:14 fca
44 Introduction of the Copyright and cvs Log
48 /////////////////////////////////////////////////////////////////////////////
50 // Implementation of AliGenlib to collect parametrisations used for //
51 // GSI simulations. //
52 // It is an extension of AliMUONLib providing in addition the option //
53 // for different parametrisations of pt, y and ip for every particle type //
55 // Responsible: Andres.Sandoval@cern.ch //
57 /////////////////////////////////////////////////////////////////////////////
62 #include "AliGenGSIlib.h"
65 ClassImp(AliGenGSIlib)
67 //==========================================================================
69 // Definition of Particle Distributions
71 //==========================================================================
75 //--------------------------------------------------------------------------
77 // upsilon particle composition
79 //--------------------------------------------------------------------------
80 Int_t AliGenGSIlib::IpUpsilon(TRandom *)
82 // Return upsilon pdg code
87 Double_t AliGenGSIlib::PtUpsilonFlat( Double_t *px, Double_t *dummy )
89 //--------------------------------------------------------------------------
91 // upsilon pt-distribution FLAT
93 //____________________________________________________________--------------
95 const Double_t kptmin = 0.0;
96 const Double_t kptmax = 15.0;
100 if (kptmin < x < kptmax) weight = 1.;
105 Double_t AliGenGSIlib::YUpsilonFlat(Double_t *py, Double_t *dummy)
107 //--------------------------------------------------------------------------
109 // upsilon y-distribution FLAT
111 //--------------------------------------------------------------------------
113 const Double_t ky0 = 1.5;
114 const Double_t kb=1.;
116 Double_t y=TMath::Abs(*py);
126 Double_t AliGenGSIlib::PtUpsilonRitman( Double_t *px, Double_t *dummy )
128 //--------------------------------------------------------------------------
130 // upsilon pt-distribution RITMAN
132 //--------------------------------------------------------------------------
134 const Double_t kpt0 = 4.7;
135 const Double_t kxn = 3.5;
138 Double_t pass1 = 1.+((x*x)/(kpt0*kpt0));
140 return x/TMath::Power(pass1,kxn);
143 Double_t AliGenGSIlib::YUpsilonRitman(Double_t *py, Double_t *dummy)
145 //--------------------------------------------------------------------------
147 // upsilon y-distribution RITMAN
149 //--------------------------------------------------------------------------
151 const Double_t ky0 = 3.;
152 const Double_t kb=1.;
154 Double_t y=TMath::Abs(*py);
159 yu=kb*TMath::Exp(-(y-ky0)*(y-ky0)/2);
164 Double_t AliGenGSIlib::PtUpsilonKarel( Double_t *px, Double_t *dummy )
166 //--------------------------------------------------------------------------
168 // upsilon pt-distribution kAREL
170 //--------------------------------------------------------------------------
176 Double_t AliGenGSIlib::YUpsilonKarel(Double_t *py, Double_t *dummy)
178 //--------------------------------------------------------------------------
180 // upsilon y-distribution KAREL
182 //--------------------------------------------------------------------------
189 Double_t AliGenGSIlib::PtUpsilonMUON( Double_t *px, Double_t *dummy )
191 //--------------------------------------------------------------------------
193 // upsilon pt-distribution MUONlib
195 //--------------------------------------------------------------------------
197 const Double_t kpt0 = 5.3;
198 const Double_t kxn = 2.5;
201 Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
203 return x/TMath::Power(pass1,kxn);
206 Double_t AliGenGSIlib::YUpsilonMUON(Double_t *py, Double_t *dummy)
208 //--------------------------------------------------------------------------
210 // upsilon y-distribution MUONlib
212 //--------------------------------------------------------------------------
214 const Double_t ky0 = 3.;
215 const Double_t kb=1.;
217 Double_t y=TMath::Abs(*py);
222 yu=kb*TMath::Exp(-(y-ky0)*(y-ky0)/2);
227 //--------------------------------------------------------------------------
231 Int_t AliGenGSIlib::IpJpsi(TRandom *)
233 //--------------------------------------------------------------------------
235 // J/Psi particle composition
237 //--------------------------------------------------------------------------
242 Double_t AliGenGSIlib::PtJpsiFlat( Double_t *px, Double_t *dummy )
244 //--------------------------------------------------------------------------
246 // J/Psi pt-distribution FLAT
248 //--------------------------------------------------------------------------
250 const Double_t kptmin = 0.0;
251 const Double_t kptmax = 15.0;
253 Double_t weight = 0.;
255 if (kptmin < x < kptmax) weight = 1.;
260 Double_t AliGenGSIlib::YJpsiFlat(Double_t *py, Double_t *dummy)
262 //--------------------------------------------------------------------------
264 // J/Psi y-distribution FLAT
266 //--------------------------------------------------------------------------
268 const Double_t ky0 = 1.5;
269 const Double_t kb=1.;
271 Double_t y=TMath::Abs(*py);
281 Double_t AliGenGSIlib::PtJpsiMUON( Double_t *px, Double_t *dummy )
283 //--------------------------------------------------------------------------
285 // J/Psi pt-distribution MUONlib
287 //--------------------------------------------------------------------------
289 const Double_t kpt0 = 4.;
290 const Double_t kxn = 3.6;
293 Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
294 return x/TMath::Power(pass1,kxn);
297 Double_t AliGenGSIlib::PtJpsiRitman( Double_t *px, Double_t *dummy )
299 //--------------------------------------------------------------------------
301 // J/Psi pt-distribution Ritman
303 //--------------------------------------------------------------------------
305 const Double_t kpt0 = 2.3;
306 const Double_t kxn = 3.5;
309 Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
311 return x/TMath::Power(pass1,kxn);
314 Double_t AliGenGSIlib::YJpsiMUON(Double_t *py, Double_t *dummy)
316 //--------------------------------------------------------------------------
318 // J/Psi y-distribution MUONlib
320 //--------------------------------------------------------------------------
322 const Double_t ky0 = 4.;
323 const Double_t kb=1.;
325 Double_t y=TMath::Abs(*py);
330 yj=kb*TMath::Exp(-(y-ky0)*(y-ky0)/2);
334 //--------------------------------------------------------------------------
336 // J/Psi pt-distribution by Sergei
338 //--------------------------------------------------------------------------
339 //Double_t AliGenGSIlib::PtJpsi( Double_t *px, Double_t *dummy )
342 // return x = gRandom->Rndm()*10.;
345 //--------------------------------------------------------------------------
347 // J/Psi y-distribution by Sergei
349 //--------------------------------------------------------------------------
350 /*Double_t AliGenGSIlib::YJpsi(Double_t *py, Double_t *dummy)
353 const Double_t ky0 = 4.;
354 const Double_t kb=1.;
356 Double_t y=TMath::Abs(*py);
361 yj=kb*TMath::Exp(-(y-ky0)*(y-ky0)/2);
366 //--------------------------------------------------------------------------
370 //--------------------------------------------------------------------------
371 Int_t AliGenGSIlib::IpCharm(TRandom *ran)
374 // charm particle composition
376 //--------------------------------------------------------------------------
381 random = ran->Rndm();
384 } else if (random < 0.75) {
386 } else if (random < 0.90) {
391 if (ran->Rndm() < 0.5) {ip=-ip;}
396 Double_t AliGenGSIlib::PtCharmFlat( Double_t *px, Double_t *dummy)
398 //--------------------------------------------------------------------------
400 // charm pt-distribution, FLAT
402 //--------------------------------------------------------------------------
411 Double_t AliGenGSIlib::PtCharmGSI( Double_t *px, Double_t *dummy)
413 //--------------------------------------------------------------------------
415 // charm pt-distribution, from Dariuzs Miskowiec
417 //--------------------------------------------------------------------------
419 //Taken from PYTHIA with MRS D-' (3031 from PDFLIB), K=3.0
420 const Double_t kp1 = 1.3;
421 const Double_t kp2 = 0.39;
422 const Double_t kp3 = 0.018;
423 const Double_t kp4 = 0.91;
426 Double_t pass1 =TMath::Exp(-x/kp2) ;
427 Double_t pass2 =TMath::Exp(-x/kp4) ;
428 return TMath::Power(x,kp1) * (pass1 + kp3 * pass2);
431 Double_t AliGenGSIlib::PtCharmMUON( Double_t *px, Double_t *dummy)
433 //--------------------------------------------------------------------------
435 // charm pt-distribution, from MUONlib
437 //--------------------------------------------------------------------------
439 const Double_t kpt0 = 4.08;
440 const Double_t kxn = 9.40;
443 Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
445 return x/TMath::Power(pass1,kxn);
448 Double_t AliGenGSIlib::YCharm( Double_t *px, Double_t *dummy)
450 //--------------------------------------------------------------------------
452 // charm y-distribution
454 //--------------------------------------------------------------------------
458 return YJpsiMUON(px,dum);
461 //--------------------------------------------------------------------------
465 //--------------------------------------------------------------------------
466 Int_t AliGenGSIlib::IpBeauty(TRandom *ran)
469 // beauty particle composition
471 //--------------------------------------------------------------------------
475 random = ran->Rndm();
478 } else if (random < 0.75) {
480 } else if (random < 0.90) {
485 if (ran->Rndm() < 0.5) {ip=-ip;}
489 Double_t AliGenGSIlib::PtBeautyFlat( Double_t *px, Double_t *dummy)
491 //--------------------------------------------------------------------------
493 // beauty pt-distribution, FLAT
495 //--------------------------------------------------------------------------
504 Double_t AliGenGSIlib::PtBeautyGSI( Double_t *px, Double_t *dummy)
506 //--------------------------------------------------------------------------
509 // beauty pt-distribution, from D. Miskowiec
511 //--------------------------------------------------------------------------
513 //Taken from PYTHIA with MRS D-' (3031 from PDFLIB), K=3.0
514 const Double_t kp1 = 1.3;
515 const Double_t kp2 = 1.78;
516 const Double_t kp3 = 0.0096;
517 const Double_t kp4 = 4.16;
520 Double_t pass1 =TMath::Exp(-x/kp2) ;
521 Double_t pass2 =TMath::Exp(-x/kp4) ;
523 return TMath::Power(x,kp1) * (pass1 + kp3 * pass2);
526 Double_t AliGenGSIlib::PtBeautyMUON( Double_t *px, Double_t *dummy)
528 //--------------------------------------------------------------------------
530 // beauty pt-distribution, from MUONlib
532 //--------------------------------------------------------------------------
534 const Double_t kpt0 = 4.;
535 const Double_t kxn = 3.6;
538 Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
540 return x/TMath::Power(pass1,kxn);
543 Double_t AliGenGSIlib::YBeauty( Double_t *px, Double_t *dummy)
545 //--------------------------------------------------------------------------
547 // beauty y-distribution
549 //--------------------------------------------------------------------------
553 return YJpsiMUON(px,dum);
556 //--------------------------------------------------------------------------
560 //--------------------------------------------------------------------------
561 Int_t AliGenGSIlib::IpEta(TRandom *)
564 // eta particle composition
566 //--------------------------------------------------------------------------
571 Double_t AliGenGSIlib::PtEtaPHOS( Double_t *px, Double_t *dummy )
573 //--------------------------------------------------------------------------
575 // eta pt-distribution
577 //____________________________________________________________--------------
579 return PtScal(*px,3); // 3==> Eta in the PtScal function
582 Double_t AliGenGSIlib::YEtaPHOS(Double_t *py, Double_t *dummy)
584 //--------------------------------------------------------------------------
586 // eta y-distribution
588 //--------------------------------------------------------------------------
590 const Double_t ka = 1000.;
591 const Double_t kdy = 4.;
593 Double_t y=TMath::Abs(*py);
595 Double_t ex = y*y/(2*kdy*kdy);
597 return ka*TMath::Exp(-ex);
600 //--------------------------------------------------------------------------
604 //--------------------------------------------------------------------------
605 Int_t AliGenGSIlib::IpEtaprime(TRandom *)
608 // etaprime particle composition
610 //--------------------------------------------------------------------------
615 Double_t AliGenGSIlib::PtEtaprimePHOS( Double_t *px, Double_t *dummy )
617 //--------------------------------------------------------------------------
619 // etaprime pt-distribution
621 //____________________________________________________________--------------
623 return PtScal(*px,5); // 5==> Etaprime in the PtScal function
626 Double_t AliGenGSIlib::YEtaprimePHOS(Double_t *py, Double_t *dummy)
628 //--------------------------------------------------------------------------
630 // etaprime y-distribution
632 //--------------------------------------------------------------------------
634 const Double_t ka = 1000.;
635 const Double_t kdy = 4.;
637 Double_t y=TMath::Abs(*py);
639 Double_t ex = y*y/(2*kdy*kdy);
641 return ka*TMath::Exp(-ex);
644 //--------------------------------------------------------------------------
648 //--------------------------------------------------------------------------
649 Int_t AliGenGSIlib::IpOmega(TRandom *)
652 // omega particle composition
654 //--------------------------------------------------------------------------
659 Double_t AliGenGSIlib::PtOmega( Double_t *px, Double_t *dummy )
661 //--------------------------------------------------------------------------
663 // omega pt-distribution
665 //____________________________________________________________--------------
667 return PtScal(*px,4); // 4==> Omega in the PtScal function
670 Double_t AliGenGSIlib::YOmega(Double_t *py, Double_t *dummy)
672 //--------------------------------------------------------------------------
674 // omega y-distribution
676 //--------------------------------------------------------------------------
678 const Double_t ka = 1000.;
679 const Double_t kdy = 4.;
682 Double_t y=TMath::Abs(*py);
684 Double_t ex = y*y/(2*kdy*kdy);
686 return ka*TMath::Exp(-ex);
689 //--------------------------------------------------------------------------
693 //--------------------------------------------------------------------------
695 Int_t AliGenGSIlib::IpRho(TRandom *)
698 // rho particle composition
700 //--------------------------------------------------------------------------
705 Double_t AliGenGSIlib::PtRho( Double_t *px, Double_t *dummy )
707 //--------------------------------------------------------------------------
709 // rho pt-distribution
711 //____________________________________________________________--------------
713 return PtScal(*px,11); // 11==> Rho in the PtScal function
716 Double_t AliGenGSIlib::YRho(Double_t *py, Double_t *dummy)
718 //--------------------------------------------------------------------------
720 // rho y-distribution
722 //--------------------------------------------------------------------------
724 const Double_t ka = 1000.;
725 const Double_t kdy = 4.;
728 Double_t y=TMath::Abs(*py);
730 Double_t ex = y*y/(2*kdy*kdy);
732 return ka*TMath::Exp(-ex);
735 //--------------------------------------------------------------------------
739 //--------------------------------------------------------------------------
740 Int_t AliGenGSIlib::IpPionPHOS(TRandom *ran)
743 // particle composition pi+, pi0, pi-
745 //--------------------------------------------------------------------------
747 Float_t random = ran->Rndm();
749 if ( (3.*random) < 1. )
755 if ( (3.*random) >= 2.)
765 Double_t AliGenGSIlib::PtPion( Double_t *px, Double_t *dummy )
767 //--------------------------------------------------------------------------
769 // pion pt-distribution
771 // Pion transverse momentum distribtuion as in AliGenMUONlib class,
772 // version 3.01 of aliroot:
773 // PT-PARAMETERIZATION CDF, PRL 61(88) 1819
774 // POWER LAW FOR PT > 500 MEV
775 // MT SCALING BELOW (T=160 MEV)
777 //____________________________________________________________--------------
779 const Double_t kp0 = 1.3;
780 const Double_t kxn = 8.28;
781 const Double_t kxlim=0.5;
782 const Double_t kt=0.160;
783 const Double_t kxmpi=0.139;
784 const Double_t kb=1.;
785 Double_t y, y1, kxmpi2, ynorm, a;
788 y1=TMath::Power(kp0/(kp0+kxlim),kxn);
790 ynorm=kb*(TMath::Exp(-sqrt(kxlim*kxlim+kxmpi2)/kt));
793 y=a*TMath::Power(kp0/(kp0+x),kxn);
795 y=kb*TMath::Exp(-sqrt(x*x+kxmpi2)/kt);
799 Double_t AliGenGSIlib::YPion(Double_t *py, Double_t *dummy)
801 //--------------------------------------------------------------------------
803 // pion y-distribution
805 //--------------------------------------------------------------------------
807 const Double_t ka = 7000.;
808 const Double_t kdy = 4.;
810 Double_t y=TMath::Abs(*py);
812 Double_t ex = y*y/(2*kdy*kdy);
814 return ka*TMath::Exp(-ex);
817 Int_t AliGenGSIlib::IpKaonPHOS(TRandom *ran)
819 //--------------------------------------------------------------------------
823 //--------------------------------------------------------------------------
825 // kaon particle composition K+, K-, Ko_short, Ko_long
827 //--------------------------------------------------------------------------
829 Float_t random = ran->Rndm();
830 Float_t random2 = ran->Rndm();
842 return 130; // K^0 short
844 return 310; // K^0 long
848 Double_t AliGenGSIlib::PtKaonPHOS( Double_t *px, Double_t *dummy )
850 //--------------------------------------------------------------------------
852 // kaon pt-distribution
854 //____________________________________________________________--------------
856 return PtScal(*px,2); // 2==> Kaon in the PtScal function
859 Double_t AliGenGSIlib::YKaonPHOS(Double_t *py, Double_t *dummy)
861 //--------------------------------------------------------------------------
863 // kaon y-distribution
865 //--------------------------------------------------------------------------
867 const Double_t ka = 1000.;
868 const Double_t kdy = 4.;
870 Double_t y=TMath::Abs(*py);
872 Double_t ex = y*y/(2*kdy*kdy);
874 return ka*TMath::Exp(-ex);
877 //--------------------------------------------------------------------------
881 Int_t AliGenGSIlib::IpPhi(TRandom *)
883 //--------------------------------------------------------------------------
885 // particle composition
887 //--------------------------------------------------------------------------
892 Double_t AliGenGSIlib::PtPhiPHOS( Double_t *px, Double_t *dummy )
894 //--------------------------------------------------------------------------
896 // phi pt-distribution
898 //____________________________________________________________--------------
900 return PtScal(*px,6); // 6==> Phi in the PtScal function
903 Double_t AliGenGSIlib::YPhiPHOS(Double_t *py, Double_t *dummy)
905 //--------------------------------------------------------------------------
907 // phi y-distribution
909 //--------------------------------------------------------------------------
911 const Double_t ka = 1000.;
912 const Double_t kdy = 4.;
915 Double_t y=TMath::Abs(*py);
917 Double_t ex = y*y/(2*kdy*kdy);
919 return ka*TMath::Exp(-ex);
922 Int_t AliGenGSIlib::IpBaryons(TRandom *ran)
924 //--------------------------------------------------------------------------
928 //--------------------------------------------------------------------------
930 // baryons particle composition p, pbar, n, nbar
932 //--------------------------------------------------------------------------
934 Float_t random = ran->Rndm();
935 Float_t random2 = ran->Rndm();
941 return -2212; // pbar
949 return -2112; // n bar
953 Double_t AliGenGSIlib::PtBaryons( Double_t *px, Double_t *dummy )
955 //--------------------------------------------------------------------------
957 // baryons pt-distribution
959 //____________________________________________________________--------------
961 return PtScal(*px,7); // 7==> Baryon in the PtScal function
964 Double_t AliGenGSIlib::YBaryons(Double_t *py, Double_t *dummy)
966 //--------------------------------------------------------------------------
968 // baryons y-distribution
970 //--------------------------------------------------------------------------
972 const Double_t ka = 1000.;
973 const Double_t kdy = 4.;
975 Double_t y=TMath::Abs(*py);
977 Double_t ex = y*y/(2*kdy*kdy);
979 return ka*TMath::Exp(-ex);
982 //=============================================================
984 // Mt-scaling as in AliGenPHOSlib
986 //=============================================================
988 Double_t AliGenGSIlib::PtScal(Double_t pt, Int_t np)
990 // Function for the calculation of the Pt distribution for a
991 // given particle np, from the pion Pt distribution using the
994 // It was taken from AliGenPHOSlib aliroot version 3.04, which
995 // is an update of the one in AliGenMUONlib aliroot version 3.01
996 // with an extension for Baryons but supressing Rhos
997 // np = 1=>Pions 2=>Kaons 3=>Etas 4=>Omegas 5=>ETA' 6=>PHI
998 // 7=>BARYONS-BARYONBARS
1000 // The present adds the Rhos
1002 // MASS 1=>PI, 2=>K, 3=>ETA, 4=>OMEGA, 5=>ETA', 6=>PHI
1003 // 7=>BARYON-BARYONBAR, 11==>RHO
1005 const Double_t khm[11] = {0.1396, 0.494, 0.547, 0.782, 0.957, 1.02,
1006 0.938, 0. , 0., 0., 0.769};
1008 // VALUE MESON/PI AT 5 GEV
1010 const Double_t kfmax[11]={1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.};
1013 Double_t f5=TMath::Power(((sqrt(100.018215)+2.)/(sqrt(100.+khm[np]*khm[np])+2.0)),12.3);
1014 Double_t kfmax2=f5/kfmax[np];
1016 Double_t ptpion=100.*PtPion(&pt, (Double_t*) 0);
1017 Double_t fmtscal=TMath::Power(((sqrt(pt*pt+0.018215)+2.)/
1018 (sqrt(pt*pt+khm[np]*khm[np])+2.0)),12.3)/ kfmax2;
1019 return fmtscal*ptpion;
1022 //==========================================================================
1026 //==========================================================================
1028 typedef Double_t (*GenFunc) (Double_t*, Double_t*);
1030 typedef Int_t (*GenFuncIp) (TRandom *);
1032 GenFunc AliGenGSIlib::GetPt(Int_t param, const char * tname) const
1034 // Return pointer to pT parameterisation
1036 TString sname(tname);
1042 func= PtUpsilonFlat;
1046 func= PtUpsilonMUON;
1049 if (sname=="RITMAN"){
1050 func=PtUpsilonRitman;
1053 if (sname=="KAREL"){
1054 func=PtUpsilonKarel;
1059 printf("<AliGenGSIlib::GetPt> unknown parametrisation\n");
1070 // if (sname=="SERGEI"){
1076 printf("<AliGenGSIlib::GetPt> unknown parametrisation\n");
1095 printf("<AliGenGSIlib::GetPt> unknown parametrisation\n");
1112 printf("<AliGenGSIlib::GetPt> unknown parametrisation\n");
1120 func=PtEtaprimePHOS;
1153 printf("<AliGenGSIlib::GetPt> unknown parametrisation\n");
1158 GenFunc AliGenGSIlib::GetY(Int_t param, const char * tname) const
1160 // Return pointer to y- parameterisation
1162 TString sname(tname);
1175 if (sname=="RITMAN"){
1176 func=YUpsilonRitman;
1179 if (sname=="KAREL"){
1184 printf("<AliGenGSIlib::GetY> unknown parametrisation\n");
1196 // if (sname=="SERGEI"){
1202 printf("<AliGenGSIlib::GetY> unknown parametrisation\n");
1251 printf("<AliGenGSIlib::GetY> unknown parametrisation\n");
1256 GenFuncIp AliGenGSIlib::GetIp(Int_t param, const char * tname) const
1258 // Return pointer to particle type parameterisation
1260 TString sname(tname);
1318 printf("<AliGenGSIlib::GetIp> unknown parametrisation\n");