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.4 2001/03/09 13:01:41 morsch
19 - enum constants for paramterisation type (particle family) moved to AliGen*lib.h
20 - use AliGenGSIlib::kUpsilon, AliGenPHOSlib::kEtaPrime to access the constants
22 Revision 1.3 2000/12/21 16:24:06 morsch
23 Coding convention clean-up
25 Revision 1.2 2000/11/30 07:12:50 alibrary
26 Introducing new Rndm and QA classes
28 Revision 1.1 2000/06/15 08:48:43 morsch
29 AliGenGSIlib with parametersations for GSI physics simulation added (YF, MI)
31 Revision 1.7 2000/05/02 08:12:13 morsch
32 Coding rule violations corrected.
34 Revision 1.6 1999/09/29 09:24:14 fca
35 Introduction of the Copyright and cvs Log
39 /////////////////////////////////////////////////////////////////////////////
41 // Implementation of AliGenlib to collect parametrisations used for //
42 // GSI simulations. //
43 // It is an extension of AliMUONLib providing in addition the option //
44 // for different parametrisations of pt, y and ip for every particle type //
46 // Responsible: Andres.Sandoval@cern.ch //
48 /////////////////////////////////////////////////////////////////////////////
53 #include "AliGenGSIlib.h"
57 ClassImp(AliGenGSIlib)
59 //==========================================================================
61 // Definition of Particle Distributions
63 //==========================================================================
67 //--------------------------------------------------------------------------
69 // upsilon particle composition
71 //--------------------------------------------------------------------------
72 Int_t AliGenGSIlib::IpUpsilon(TRandom *)
78 //--------------------------------------------------------------------------
80 // upsilon pt-distribution FLAT
82 //____________________________________________________________--------------
83 Double_t AliGenGSIlib::PtUpsilonFlat( Double_t *px, Double_t *dummy )
86 const Double_t kptmin = 0.0;
87 const Double_t kptmax = 15.0;
91 if (kptmin < x < kptmax) weight = 1.;
96 //--------------------------------------------------------------------------
98 // upsilon y-distribution FLAT
100 //--------------------------------------------------------------------------
101 Double_t AliGenGSIlib::YUpsilonFlat(Double_t *py, Double_t *dummy)
104 const Double_t ky0 = 1.5;
105 const Double_t kb=1.;
107 Double_t y=TMath::Abs(*py);
117 //--------------------------------------------------------------------------
119 // upsilon pt-distribution RITMAN
121 //--------------------------------------------------------------------------
122 Double_t AliGenGSIlib::PtUpsilonRitman( Double_t *px, Double_t *dummy )
125 const Double_t kpt0 = 4.7;
126 const Double_t kxn = 3.5;
129 Double_t pass1 = 1.+((x*x)/(kpt0*kpt0));
131 return x/TMath::Power(pass1,kxn);
134 //--------------------------------------------------------------------------
136 // upsilon y-distribution RITMAN
138 //--------------------------------------------------------------------------
139 Double_t AliGenGSIlib::YUpsilonRitman(Double_t *py, Double_t *dummy)
142 const Double_t ky0 = 3.;
143 const Double_t kb=1.;
145 Double_t y=TMath::Abs(*py);
150 yu=kb*TMath::Exp(-(y-ky0)*(y-ky0)/2);
155 //--------------------------------------------------------------------------
157 // upsilon pt-distribution kAREL
159 //--------------------------------------------------------------------------
160 Double_t AliGenGSIlib::PtUpsilonKarel( Double_t *px, Double_t *dummy )
168 //--------------------------------------------------------------------------
170 // upsilon y-distribution KAREL
172 //--------------------------------------------------------------------------
173 Double_t AliGenGSIlib::YUpsilonKarel(Double_t *py, Double_t *dummy)
181 //--------------------------------------------------------------------------
183 // upsilon pt-distribution MUONlib
185 //--------------------------------------------------------------------------
186 Double_t AliGenGSIlib::PtUpsilonMUON( Double_t *px, Double_t *dummy )
189 const Double_t kpt0 = 5.3;
190 const Double_t kxn = 2.5;
193 Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
195 return x/TMath::Power(pass1,kxn);
198 //--------------------------------------------------------------------------
200 // upsilon y-distribution MUONlib
202 //--------------------------------------------------------------------------
203 Double_t AliGenGSIlib::YUpsilonMUON(Double_t *py, Double_t *dummy)
206 const Double_t ky0 = 3.;
207 const Double_t kb=1.;
209 Double_t y=TMath::Abs(*py);
214 yu=kb*TMath::Exp(-(y-ky0)*(y-ky0)/2);
219 //--------------------------------------------------------------------------
223 //--------------------------------------------------------------------------
225 // J/Psi particle composition
227 //--------------------------------------------------------------------------
228 Int_t AliGenGSIlib::IpJpsi(TRandom *)
234 //--------------------------------------------------------------------------
236 // J/Psi pt-distribution FLAT
238 //--------------------------------------------------------------------------
239 Double_t AliGenGSIlib::PtJpsiFlat( Double_t *px, Double_t *dummy )
242 const Double_t kptmin = 0.0;
243 const Double_t kptmax = 15.0;
245 Double_t weight = 0.;
247 if (kptmin < x < kptmax) weight = 1.;
252 //--------------------------------------------------------------------------
254 // J/Psi y-distribution FLAT
256 //--------------------------------------------------------------------------
257 Double_t AliGenGSIlib::YJpsiFlat(Double_t *py, Double_t *dummy)
260 const Double_t ky0 = 1.5;
261 const Double_t kb=1.;
263 Double_t y=TMath::Abs(*py);
273 //--------------------------------------------------------------------------
275 // J/Psi pt-distribution MUONlib
277 //--------------------------------------------------------------------------
278 Double_t AliGenGSIlib::PtJpsiMUON( Double_t *px, Double_t *dummy )
281 const Double_t kpt0 = 4.;
282 const Double_t kxn = 3.6;
285 Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
286 return x/TMath::Power(pass1,kxn);
289 //--------------------------------------------------------------------------
291 // J/Psi pt-distribution Ritman
293 //--------------------------------------------------------------------------
294 Double_t AliGenGSIlib::PtJpsiRitman( Double_t *px, Double_t *dummy )
297 const Double_t kpt0 = 2.3;
298 const Double_t kxn = 3.5;
301 Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
303 return x/TMath::Power(pass1,kxn);
306 //--------------------------------------------------------------------------
308 // J/Psi y-distribution MUONlib
310 //--------------------------------------------------------------------------
311 Double_t AliGenGSIlib::YJpsiMUON(Double_t *py, Double_t *dummy)
314 const Double_t ky0 = 4.;
315 const Double_t kb=1.;
317 Double_t y=TMath::Abs(*py);
322 yj=kb*TMath::Exp(-(y-ky0)*(y-ky0)/2);
326 //--------------------------------------------------------------------------
328 // J/Psi pt-distribution by Sergei
330 //--------------------------------------------------------------------------
331 //Double_t AliGenGSIlib::PtJpsi( Double_t *px, Double_t *dummy )
334 // return x = gRandom->Rndm()*10.;
337 //--------------------------------------------------------------------------
339 // J/Psi y-distribution by Sergei
341 //--------------------------------------------------------------------------
342 /*Double_t AliGenGSIlib::YJpsi(Double_t *py, Double_t *dummy)
345 const Double_t ky0 = 4.;
346 const Double_t kb=1.;
348 Double_t y=TMath::Abs(*py);
353 yj=kb*TMath::Exp(-(y-ky0)*(y-ky0)/2);
358 //--------------------------------------------------------------------------
362 //--------------------------------------------------------------------------
364 // charm particle composition
366 //--------------------------------------------------------------------------
367 Int_t AliGenGSIlib::IpCharm(TRandom *ran)
373 random = ran->Rndm();
376 } else if (random < 0.75) {
378 } else if (random < 0.90) {
383 if (ran->Rndm() < 0.5) {ip=-ip;}
388 //--------------------------------------------------------------------------
390 // charm pt-distribution, FLAT
392 //--------------------------------------------------------------------------
393 Double_t AliGenGSIlib::PtCharmFlat( Double_t *px, Double_t *dummy)
403 //--------------------------------------------------------------------------
405 // charm pt-distribution, from Dariuzs Miskowiec
407 //--------------------------------------------------------------------------
408 Double_t AliGenGSIlib::PtCharmGSI( Double_t *px, Double_t *dummy)
410 //Taken from PYTHIA with MRS D-' (3031 from PDFLIB), K=3.0
411 const Double_t kp1 = 1.3;
412 const Double_t kp2 = 0.39;
413 const Double_t kp3 = 0.018;
414 const Double_t kp4 = 0.91;
417 Double_t pass1 =TMath::Exp(-x/kp2) ;
418 Double_t pass2 =TMath::Exp(-x/kp4) ;
419 return TMath::Power(x,kp1) * (pass1 + kp3 * pass2);
422 //--------------------------------------------------------------------------
424 // charm pt-distribution, from MUONlib
426 //--------------------------------------------------------------------------
427 Double_t AliGenGSIlib::PtCharmMUON( Double_t *px, Double_t *dummy)
430 const Double_t kpt0 = 4.08;
431 const Double_t kxn = 9.40;
434 Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
436 return x/TMath::Power(pass1,kxn);
439 //--------------------------------------------------------------------------
441 // charm y-distribution
443 //--------------------------------------------------------------------------
444 Double_t AliGenGSIlib::YCharm( Double_t *px, Double_t *dummy)
449 return YJpsiMUON(px,dum);
452 //--------------------------------------------------------------------------
456 //--------------------------------------------------------------------------
458 // beauty particle composition
460 //--------------------------------------------------------------------------
461 Int_t AliGenGSIlib::IpBeauty(TRandom *ran)
466 random = ran->Rndm();
469 } else if (random < 0.75) {
471 } else if (random < 0.90) {
476 if (ran->Rndm() < 0.5) {ip=-ip;}
480 //--------------------------------------------------------------------------
482 // beauty pt-distribution, FLAT
484 //--------------------------------------------------------------------------
485 Double_t AliGenGSIlib::PtBeautyFlat( Double_t *px, Double_t *dummy)
495 //--------------------------------------------------------------------------
498 // beauty pt-distribution, from D. Miskowiec
500 //--------------------------------------------------------------------------
501 Double_t AliGenGSIlib::PtBeautyGSI( Double_t *px, Double_t *dummy)
503 //Taken from PYTHIA with MRS D-' (3031 from PDFLIB), K=3.0
504 const Double_t kp1 = 1.3;
505 const Double_t kp2 = 1.78;
506 const Double_t kp3 = 0.0096;
507 const Double_t kp4 = 4.16;
510 Double_t pass1 =TMath::Exp(-x/kp2) ;
511 Double_t pass2 =TMath::Exp(-x/kp4) ;
513 return TMath::Power(x,kp1) * (pass1 + kp3 * pass2);
516 //--------------------------------------------------------------------------
518 // beauty pt-distribution, from MUONlib
520 //--------------------------------------------------------------------------
521 Double_t AliGenGSIlib::PtBeautyMUON( Double_t *px, Double_t *dummy)
524 const Double_t kpt0 = 4.;
525 const Double_t kxn = 3.6;
528 Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
530 return x/TMath::Power(pass1,kxn);
533 //--------------------------------------------------------------------------
535 // beauty y-distribution
537 //--------------------------------------------------------------------------
538 Double_t AliGenGSIlib::YBeauty( Double_t *px, Double_t *dummy)
543 return YJpsiMUON(px,dum);
546 //--------------------------------------------------------------------------
550 //--------------------------------------------------------------------------
552 // eta particle composition
554 //--------------------------------------------------------------------------
555 Int_t AliGenGSIlib::IpEta(TRandom *)
561 //--------------------------------------------------------------------------
563 // eta pt-distribution
565 //____________________________________________________________--------------
566 Double_t AliGenGSIlib::PtEtaPHOS( Double_t *px, Double_t *dummy )
569 return PtScal(*px,3); // 3==> Eta in the PtScal function
572 //--------------------------------------------------------------------------
574 // eta y-distribution
576 //--------------------------------------------------------------------------
577 Double_t AliGenGSIlib::YEtaPHOS(Double_t *py, Double_t *dummy)
580 const Double_t ka = 1000.;
581 const Double_t kdy = 4.;
583 Double_t y=TMath::Abs(*py);
585 Double_t ex = y*y/(2*kdy*kdy);
587 return ka*TMath::Exp(-ex);
590 //--------------------------------------------------------------------------
594 //--------------------------------------------------------------------------
596 // etaprime particle composition
598 //--------------------------------------------------------------------------
599 Int_t AliGenGSIlib::IpEtaprime(TRandom *)
605 //--------------------------------------------------------------------------
607 // etaprime pt-distribution
609 //____________________________________________________________--------------
610 Double_t AliGenGSIlib::PtEtaprimePHOS( Double_t *px, Double_t *dummy )
613 return PtScal(*px,5); // 5==> Etaprime in the PtScal function
616 //--------------------------------------------------------------------------
618 // etaprime y-distribution
620 //--------------------------------------------------------------------------
621 Double_t AliGenGSIlib::YEtaprimePHOS(Double_t *py, Double_t *dummy)
624 const Double_t ka = 1000.;
625 const Double_t kdy = 4.;
627 Double_t y=TMath::Abs(*py);
629 Double_t ex = y*y/(2*kdy*kdy);
631 return ka*TMath::Exp(-ex);
634 //--------------------------------------------------------------------------
638 //--------------------------------------------------------------------------
640 // omega particle composition
642 //--------------------------------------------------------------------------
643 Int_t AliGenGSIlib::IpOmega(TRandom *)
649 //--------------------------------------------------------------------------
651 // omega pt-distribution
653 //____________________________________________________________--------------
654 Double_t AliGenGSIlib::PtOmega( Double_t *px, Double_t *dummy )
657 return PtScal(*px,4); // 4==> Omega in the PtScal function
660 //--------------------------------------------------------------------------
662 // omega y-distribution
664 //--------------------------------------------------------------------------
665 Double_t AliGenGSIlib::YOmega(Double_t *py, Double_t *dummy)
668 const Double_t ka = 1000.;
669 const Double_t kdy = 4.;
672 Double_t y=TMath::Abs(*py);
674 Double_t ex = y*y/(2*kdy*kdy);
676 return ka*TMath::Exp(-ex);
679 //--------------------------------------------------------------------------
683 //--------------------------------------------------------------------------
685 // rho particle composition
687 //--------------------------------------------------------------------------
688 Int_t AliGenGSIlib::IpRho(TRandom *)
694 //--------------------------------------------------------------------------
696 // rho pt-distribution
698 //____________________________________________________________--------------
699 Double_t AliGenGSIlib::PtRho( Double_t *px, Double_t *dummy )
702 return PtScal(*px,11); // 11==> Rho in the PtScal function
705 //--------------------------------------------------------------------------
707 // rho y-distribution
709 //--------------------------------------------------------------------------
710 Double_t AliGenGSIlib::YRho(Double_t *py, Double_t *dummy)
712 const Double_t ka = 1000.;
713 const Double_t kdy = 4.;
716 Double_t y=TMath::Abs(*py);
718 Double_t ex = y*y/(2*kdy*kdy);
720 return ka*TMath::Exp(-ex);
723 //--------------------------------------------------------------------------
727 //--------------------------------------------------------------------------
729 // particle composition pi+, pi0, pi-
731 //--------------------------------------------------------------------------
732 Int_t AliGenGSIlib::IpPionPHOS(TRandom *ran)
735 Float_t random = ran->Rndm();
737 if ( (3.*random) < 1. )
743 if ( (3.*random) >= 2.)
753 //--------------------------------------------------------------------------
755 // pion pt-distribution
757 // Pion transverse momentum distribtuion as in AliGenMUONlib class,
758 // version 3.01 of aliroot:
759 // PT-PARAMETERIZATION CDF, PRL 61(88) 1819
760 // POWER LAW FOR PT > 500 MEV
761 // MT SCALING BELOW (T=160 MEV)
763 //____________________________________________________________--------------
764 Double_t AliGenGSIlib::PtPion( Double_t *px, Double_t *dummy )
767 const Double_t kp0 = 1.3;
768 const Double_t kxn = 8.28;
769 const Double_t kxlim=0.5;
770 const Double_t kt=0.160;
771 const Double_t kxmpi=0.139;
772 const Double_t kb=1.;
773 Double_t y, y1, kxmpi2, ynorm, a;
776 y1=TMath::Power(kp0/(kp0+kxlim),kxn);
778 ynorm=kb*(TMath::Exp(-sqrt(kxlim*kxlim+kxmpi2)/kt));
781 y=a*TMath::Power(kp0/(kp0+x),kxn);
783 y=kb*TMath::Exp(-sqrt(x*x+kxmpi2)/kt);
787 //--------------------------------------------------------------------------
789 // pion y-distribution
791 //--------------------------------------------------------------------------
792 Double_t AliGenGSIlib::YPion(Double_t *py, Double_t *dummy)
795 const Double_t ka = 7000.;
796 const Double_t kdy = 4.;
798 Double_t y=TMath::Abs(*py);
800 Double_t ex = y*y/(2*kdy*kdy);
802 return ka*TMath::Exp(-ex);
805 //--------------------------------------------------------------------------
809 //--------------------------------------------------------------------------
811 // kaon particle composition K+, K-, Ko_short, Ko_long
813 //--------------------------------------------------------------------------
814 Int_t AliGenGSIlib::IpKaonPHOS(TRandom *ran)
817 Float_t random = ran->Rndm();
818 Float_t random2 = ran->Rndm();
830 return 130; // K^0 short
832 return 310; // K^0 long
836 //--------------------------------------------------------------------------
838 // kaon pt-distribution
840 //____________________________________________________________--------------
841 Double_t AliGenGSIlib::PtKaonPHOS( Double_t *px, Double_t *dummy )
844 return PtScal(*px,2); // 2==> Kaon in the PtScal function
847 //--------------------------------------------------------------------------
849 // kaon y-distribution
851 //--------------------------------------------------------------------------
852 Double_t AliGenGSIlib::YKaonPHOS(Double_t *py, Double_t *dummy)
855 const Double_t ka = 1000.;
856 const Double_t kdy = 4.;
858 Double_t y=TMath::Abs(*py);
860 Double_t ex = y*y/(2*kdy*kdy);
862 return ka*TMath::Exp(-ex);
865 //--------------------------------------------------------------------------
869 //--------------------------------------------------------------------------
871 // particle composition
873 //--------------------------------------------------------------------------
874 Int_t AliGenGSIlib::IpPhi(TRandom *)
880 //--------------------------------------------------------------------------
882 // phi pt-distribution
884 //____________________________________________________________--------------
885 Double_t AliGenGSIlib::PtPhiPHOS( Double_t *px, Double_t *dummy )
888 return PtScal(*px,6); // 6==> Phi in the PtScal function
891 //--------------------------------------------------------------------------
893 // phi y-distribution
895 //--------------------------------------------------------------------------
896 Double_t AliGenGSIlib::YPhiPHOS(Double_t *py, Double_t *dummy)
899 const Double_t ka = 1000.;
900 const Double_t kdy = 4.;
903 Double_t y=TMath::Abs(*py);
905 Double_t ex = y*y/(2*kdy*kdy);
907 return ka*TMath::Exp(-ex);
910 //--------------------------------------------------------------------------
914 //--------------------------------------------------------------------------
916 // baryons particle composition p, pbar, n, nbar
918 //--------------------------------------------------------------------------
919 Int_t AliGenGSIlib::IpBaryons(TRandom *ran)
922 Float_t random = ran->Rndm();
923 Float_t random2 = ran->Rndm();
929 return -2212; // pbar
937 return -2112; // n bar
941 //--------------------------------------------------------------------------
943 // baryons pt-distribution
945 //____________________________________________________________--------------
946 Double_t AliGenGSIlib::PtBaryons( Double_t *px, Double_t *dummy )
949 return PtScal(*px,7); // 7==> Baryon in the PtScal function
952 //--------------------------------------------------------------------------
954 // baryons y-distribution
956 //--------------------------------------------------------------------------
957 Double_t AliGenGSIlib::YBaryons(Double_t *py, Double_t *dummy)
960 const Double_t ka = 1000.;
961 const Double_t kdy = 4.;
963 Double_t y=TMath::Abs(*py);
965 Double_t ex = y*y/(2*kdy*kdy);
967 return ka*TMath::Exp(-ex);
970 //=============================================================
972 // Mt-scaling as in AliGenPHOSlib
974 //=============================================================
976 Double_t AliGenGSIlib::PtScal(Double_t pt, Int_t np)
978 // Function for the calculation of the Pt distribution for a
979 // given particle np, from the pion Pt distribution using the
982 // It was taken from AliGenPHOSlib aliroot version 3.04, which
983 // is an update of the one in AliGenMUONlib aliroot version 3.01
984 // with an extension for Baryons but supressing Rhos
985 // np = 1=>Pions 2=>Kaons 3=>Etas 4=>Omegas 5=>ETA' 6=>PHI
986 // 7=>BARYONS-BARYONBARS
988 // The present adds the Rhos
990 // MASS 1=>PI, 2=>K, 3=>ETA, 4=>OMEGA, 5=>ETA', 6=>PHI
991 // 7=>BARYON-BARYONBAR, 11==>RHO
993 const Double_t khm[11] = {0.1396, 0.494, 0.547, 0.782, 0.957, 1.02,
994 0.938, 0. , 0., 0., 0.769};
996 // VALUE MESON/PI AT 5 GEV
998 const Double_t kfmax[11]={1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.};
1001 Double_t f5=TMath::Power(((sqrt(100.018215)+2.)/(sqrt(100.+khm[np]*khm[np])+2.0)),12.3);
1002 Double_t kfmax2=f5/kfmax[np];
1004 Double_t ptpion=100.*PtPion(&pt, (Double_t*) 0);
1005 Double_t fmtscal=TMath::Power(((sqrt(pt*pt+0.018215)+2.)/
1006 (sqrt(pt*pt+khm[np]*khm[np])+2.0)),12.3)/ kfmax2;
1007 return fmtscal*ptpion;
1010 //==========================================================================
1014 //==========================================================================
1016 typedef Double_t (*GenFunc) (Double_t*, Double_t*);
1018 typedef Int_t (*GenFuncIp) (TRandom *);
1020 GenFunc AliGenGSIlib::GetPt(Int_t param, const char * tname)
1022 // Return pointer to pT parameterisation
1024 TString sname(tname);
1030 func= PtUpsilonFlat;
1034 func= PtUpsilonMUON;
1037 if (sname=="RITMAN"){
1038 func=PtUpsilonRitman;
1041 if (sname=="KAREL"){
1042 func=PtUpsilonKarel;
1047 printf("<AliGenGSIlib::GetPt> unknown parametrisation\n");
1058 // if (sname=="SERGEI"){
1064 printf("<AliGenGSIlib::GetPt> unknown parametrisation\n");
1083 printf("<AliGenGSIlib::GetPt> unknown parametrisation\n");
1100 printf("<AliGenGSIlib::GetPt> unknown parametrisation\n");
1108 func=PtEtaprimePHOS;
1141 printf("<AliGenGSIlib::GetPt> unknown parametrisation\n");
1146 GenFunc AliGenGSIlib::GetY(Int_t param, const char * tname)
1148 // Return pointer to y- parameterisation
1150 TString sname(tname);
1163 if (sname=="RITMAN"){
1164 func=YUpsilonRitman;
1167 if (sname=="KAREL"){
1172 printf("<AliGenGSIlib::GetY> unknown parametrisation\n");
1184 // if (sname=="SERGEI"){
1190 printf("<AliGenGSIlib::GetY> unknown parametrisation\n");
1239 printf("<AliGenGSIlib::GetY> unknown parametrisation\n");
1244 GenFuncIp AliGenGSIlib::GetIp(Int_t param, const char * tname)
1246 // Return pointer to particle type parameterisation
1248 TString sname(tname);
1306 printf("<AliGenGSIlib::GetIp> unknown parametrisation\n");