* provided "as is" without express or implied warranty. *
**************************************************************************/
-/*
-$Log$
-Revision 1.5.10.1 2002/06/10 14:57:41 hristov
-Merged with v3-08-02
-
-Revision 1.6 2002/04/16 15:53:19 morsch
-Coding rule violations corrected.
-
-Revision 1.5 2001/05/15 15:43:23 morsch
-Update of library for low mass resonances (Yiota Foka)
-
-Revision 1.4 2001/03/09 13:01:41 morsch
-- enum constants for paramterisation type (particle family) moved to AliGen*lib.h
-- use AliGenGSIlib::kUpsilon, AliGenPHOSlib::kEtaPrime to access the constants
-
-Revision 1.3 2000/12/21 16:24:06 morsch
-Coding convention clean-up
-
-Revision 1.2 2000/11/30 07:12:50 alibrary
-Introducing new Rndm and QA classes
-
-Revision 1.1 2000/06/15 08:48:43 morsch
-AliGenGSIlib with parametersations for GSI physics simulation added (YF, MI)
-
-Revision 1.7 2000/05/02 08:12:13 morsch
-Coding rule violations corrected.
-
-Revision 1.6 1999/09/29 09:24:14 fca
-Introduction of the Copyright and cvs Log
-
-*/
+/* $Id$ */
/////////////////////////////////////////////////////////////////////////////
// //
return 553;
}
-Double_t AliGenGSIlib::PtUpsilonFlat( Double_t *px, Double_t *dummy )
+Double_t AliGenGSIlib::PtUpsilonFlat( const Double_t *px, const Double_t */*dummy*/ )
{
//--------------------------------------------------------------------------
//
Double_t x=*px;
Double_t weight = 0.;
- if (kptmin < x < kptmax) weight = 1.;
+ if ((x > kptmin) && (x < kptmax)) weight = 1.;
return weight;
}
-Double_t AliGenGSIlib::YUpsilonFlat(Double_t *py, Double_t *dummy)
+Double_t AliGenGSIlib::YUpsilonFlat(const Double_t *py, const Double_t */*dummy*/)
{
//--------------------------------------------------------------------------
//
return yu;
}
-Double_t AliGenGSIlib::PtUpsilonRitman( Double_t *px, Double_t *dummy )
+Double_t AliGenGSIlib::PtUpsilonRitman( const Double_t *px, const Double_t */*dummy*/ )
{
//--------------------------------------------------------------------------
//
return x/TMath::Power(pass1,kxn);
}
-Double_t AliGenGSIlib::YUpsilonRitman(Double_t *py, Double_t *dummy)
+Double_t AliGenGSIlib::YUpsilonRitman(const Double_t *py, const Double_t */*dummy*/)
{
//--------------------------------------------------------------------------
//
return yu;
}
-Double_t AliGenGSIlib::PtUpsilonKarel( Double_t *px, Double_t *dummy )
+Double_t AliGenGSIlib::PtUpsilonKarel( const Double_t */*px*/, const Double_t */*dummy*/ )
{
//--------------------------------------------------------------------------
//
return 0.1;
}
-Double_t AliGenGSIlib::YUpsilonKarel(Double_t *py, Double_t *dummy)
+Double_t AliGenGSIlib::YUpsilonKarel(const Double_t */*py*/, const Double_t */*dummy*/)
{
//--------------------------------------------------------------------------
//
return 0.2;
}
-Double_t AliGenGSIlib::PtUpsilonMUON( Double_t *px, Double_t *dummy )
+Double_t AliGenGSIlib::PtUpsilonMUON( const Double_t *px, const Double_t */*dummy*/ )
{
//--------------------------------------------------------------------------
//
return x/TMath::Power(pass1,kxn);
}
-Double_t AliGenGSIlib::YUpsilonMUON(Double_t *py, Double_t *dummy)
+Double_t AliGenGSIlib::YUpsilonMUON(const Double_t *py, const Double_t */*dummy*/)
{
//--------------------------------------------------------------------------
//
return 443;
}
-Double_t AliGenGSIlib::PtJpsiFlat( Double_t *px, Double_t *dummy )
+Double_t AliGenGSIlib::PtJpsiFlat( const Double_t *px, const Double_t */*dummy*/ )
{
//--------------------------------------------------------------------------
//
Double_t x=*px;
Double_t weight = 0.;
- if (kptmin < x < kptmax) weight = 1.;
+ if ((x > kptmin) && (x < kptmax)) weight = 1.;
return weight;
}
-Double_t AliGenGSIlib::YJpsiFlat(Double_t *py, Double_t *dummy)
+Double_t AliGenGSIlib::YJpsiFlat(const Double_t *py, const Double_t */*dummy*/)
{
//--------------------------------------------------------------------------
//
return yu;
}
-Double_t AliGenGSIlib::PtJpsiMUON( Double_t *px, Double_t *dummy )
+Double_t AliGenGSIlib::PtJpsiMUON( const Double_t *px, const Double_t */*dummy*/ )
{
//--------------------------------------------------------------------------
//
return x/TMath::Power(pass1,kxn);
}
-Double_t AliGenGSIlib::PtJpsiRitman( Double_t *px, Double_t *dummy )
+Double_t AliGenGSIlib::PtJpsiRitman( const Double_t *px, const Double_t */*dummy*/ )
{
//--------------------------------------------------------------------------
//
return x/TMath::Power(pass1,kxn);
}
-Double_t AliGenGSIlib::YJpsiMUON(Double_t *py, Double_t *dummy)
+Double_t AliGenGSIlib::YJpsiMUON(const Double_t *py, const Double_t */*dummy*/)
{
//--------------------------------------------------------------------------
//
// J/Psi pt-distribution by Sergei
//
//--------------------------------------------------------------------------
-//Double_t AliGenGSIlib::PtJpsi( Double_t *px, Double_t *dummy )
+//Double_t AliGenGSIlib::PtJpsi( Double_t *px, Double_t */*dummy*/ )
//{
// return x = gRandom->Rndm()*10.;
return ip;
}
-Double_t AliGenGSIlib::PtCharmFlat( Double_t *px, Double_t *dummy)
+Double_t AliGenGSIlib::PtCharmFlat( const Double_t *px, const Double_t */*dummy*/)
{
//--------------------------------------------------------------------------
//
return x ;
}
-Double_t AliGenGSIlib::PtCharmGSI( Double_t *px, Double_t *dummy)
+Double_t AliGenGSIlib::PtCharmGSI( const Double_t *px, const Double_t */*dummy*/)
{
//--------------------------------------------------------------------------
//
return TMath::Power(x,kp1) * (pass1 + kp3 * pass2);
}
-Double_t AliGenGSIlib::PtCharmMUON( Double_t *px, Double_t *dummy)
+Double_t AliGenGSIlib::PtCharmMUON( const Double_t *px, const Double_t */*dummy*/)
{
//--------------------------------------------------------------------------
//
return x/TMath::Power(pass1,kxn);
}
-Double_t AliGenGSIlib::YCharm( Double_t *px, Double_t *dummy)
+Double_t AliGenGSIlib::YCharm( const Double_t *px, const Double_t */*dummy*/)
{
//--------------------------------------------------------------------------
//
return ip;
}
-Double_t AliGenGSIlib::PtBeautyFlat( Double_t *px, Double_t *dummy)
+Double_t AliGenGSIlib::PtBeautyFlat( const Double_t *px, const Double_t */*dummy*/)
{
//--------------------------------------------------------------------------
//
return x ;
}
-Double_t AliGenGSIlib::PtBeautyGSI( Double_t *px, Double_t *dummy)
+Double_t AliGenGSIlib::PtBeautyGSI( const Double_t *px, const Double_t */*dummy*/)
{
//--------------------------------------------------------------------------
//
return TMath::Power(x,kp1) * (pass1 + kp3 * pass2);
}
-Double_t AliGenGSIlib::PtBeautyMUON( Double_t *px, Double_t *dummy)
+Double_t AliGenGSIlib::PtBeautyMUON( const Double_t *px, const Double_t */*dummy*/)
{
//--------------------------------------------------------------------------
//
return x/TMath::Power(pass1,kxn);
}
-Double_t AliGenGSIlib::YBeauty( Double_t *px, Double_t *dummy)
+Double_t AliGenGSIlib::YBeauty( const Double_t *px, const Double_t */*dummy*/)
{
//--------------------------------------------------------------------------
//
return 221;
}
-Double_t AliGenGSIlib::PtEtaPHOS( Double_t *px, Double_t *dummy )
+Double_t AliGenGSIlib::PtEtaPHOS( const Double_t *px, const Double_t */*dummy*/ )
{
//--------------------------------------------------------------------------
//
//
//____________________________________________________________--------------
- return PtScal(*px,3); // 3==> Eta in the PtScal function
+ return PtScal(*px,2); // 2==> Eta in the PtScal function
}
-Double_t AliGenGSIlib::YEtaPHOS(Double_t *py, Double_t *dummy)
+Double_t AliGenGSIlib::YEtaPHOS(const Double_t *py, const Double_t */*dummy*/)
{
//--------------------------------------------------------------------------
//
return 331;
}
-Double_t AliGenGSIlib::PtEtaprimePHOS( Double_t *px, Double_t *dummy )
+Double_t AliGenGSIlib::PtEtaprimePHOS( const Double_t *px, const Double_t */*dummy*/ )
{
//--------------------------------------------------------------------------
//
//
//____________________________________________________________--------------
- return PtScal(*px,5); // 5==> Etaprime in the PtScal function
+ return PtScal(*px,4); // 4==> Etaprime in the PtScal function
}
-Double_t AliGenGSIlib::YEtaprimePHOS(Double_t *py, Double_t *dummy)
+Double_t AliGenGSIlib::YEtaprimePHOS(const Double_t *py, const Double_t */*dummy*/)
{
//--------------------------------------------------------------------------
//
return 223;
}
-Double_t AliGenGSIlib::PtOmega( Double_t *px, Double_t *dummy )
+Double_t AliGenGSIlib::PtOmega( const Double_t *px, const Double_t */*dummy*/ )
{
//--------------------------------------------------------------------------
//
//
//____________________________________________________________--------------
- return PtScal(*px,4); // 4==> Omega in the PtScal function
+ return PtScal(*px,3); // 3==> Omega in the PtScal function
}
-Double_t AliGenGSIlib::YOmega(Double_t *py, Double_t *dummy)
+Double_t AliGenGSIlib::YOmega(const Double_t *py, const Double_t */*dummy*/)
{
//--------------------------------------------------------------------------
//
return 113;
}
-Double_t AliGenGSIlib::PtRho( Double_t *px, Double_t *dummy )
+Double_t AliGenGSIlib::PtRho( const Double_t *px, const Double_t */*dummy*/ )
{
//--------------------------------------------------------------------------
//
//
//____________________________________________________________--------------
- return PtScal(*px,11); // 11==> Rho in the PtScal function
+ return PtScal(*px,10); // 10==> Rho in the PtScal function
}
-Double_t AliGenGSIlib::YRho(Double_t *py, Double_t *dummy)
+Double_t AliGenGSIlib::YRho(const Double_t *py, const Double_t */*dummy*/)
{
//--------------------------------------------------------------------------
//
}
}
}
-Double_t AliGenGSIlib::PtPion( Double_t *px, Double_t *dummy )
+Double_t AliGenGSIlib::PtPion( const Double_t *px, const Double_t */*dummy*/ )
{
//--------------------------------------------------------------------------
//
return y*x;
}
-Double_t AliGenGSIlib::YPion(Double_t *py, Double_t *dummy)
+Double_t AliGenGSIlib::YPion(const Double_t *py, const Double_t */*dummy*/)
{
//--------------------------------------------------------------------------
//
}
}
}
-Double_t AliGenGSIlib::PtKaonPHOS( Double_t *px, Double_t *dummy )
+Double_t AliGenGSIlib::PtKaonPHOS( const Double_t *px, const Double_t */*dummy*/ )
{
//--------------------------------------------------------------------------
//
//
//____________________________________________________________--------------
- return PtScal(*px,2); // 2==> Kaon in the PtScal function
+ return PtScal(*px,1); // 1==> Kaon in the PtScal function
}
-Double_t AliGenGSIlib::YKaonPHOS(Double_t *py, Double_t *dummy)
+Double_t AliGenGSIlib::YKaonPHOS(const Double_t *py, const Double_t */*dummy*/)
{
//--------------------------------------------------------------------------
//
return 333;
}
-Double_t AliGenGSIlib::PtPhiPHOS( Double_t *px, Double_t *dummy )
+Double_t AliGenGSIlib::PtPhiPHOS( const Double_t *px, const Double_t */*dummy*/ )
{
//--------------------------------------------------------------------------
//
//
//____________________________________________________________--------------
- return PtScal(*px,6); // 6==> Phi in the PtScal function
+ return PtScal(*px,5); // 5==> Phi in the PtScal function
}
-Double_t AliGenGSIlib::YPhiPHOS(Double_t *py, Double_t *dummy)
+Double_t AliGenGSIlib::YPhiPHOS(const Double_t *py, const Double_t */*dummy*/)
{
//--------------------------------------------------------------------------
//
}
}
}
-Double_t AliGenGSIlib::PtBaryons( Double_t *px, Double_t *dummy )
+Double_t AliGenGSIlib::PtBaryons( const Double_t *px, const Double_t */*dummy*/ )
{
//--------------------------------------------------------------------------
//
//
//____________________________________________________________--------------
- return PtScal(*px,7); // 7==> Baryon in the PtScal function
+ return PtScal(*px,6); // 6==> Baryon in the PtScal function
}
-Double_t AliGenGSIlib::YBaryons(Double_t *py, Double_t *dummy)
+Double_t AliGenGSIlib::YBaryons(const Double_t *py, const Double_t */*dummy*/)
{
//--------------------------------------------------------------------------
//
// The present adds the Rhos
-// MASS 1=>PI, 2=>K, 3=>ETA, 4=>OMEGA, 5=>ETA', 6=>PHI
-// 7=>BARYON-BARYONBAR, 11==>RHO
+// MASS 0=>PI, 1=>K, 2=>ETA, 3=>OMEGA, 4=>ETA', 5=>PHI
+// 6=>BARYON-BARYONBAR, 10==>RHO
const Double_t khm[11] = {0.1396, 0.494, 0.547, 0.782, 0.957, 1.02,
0.938, 0. , 0., 0., 0.769};
const Double_t kfmax[11]={1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.};
- np--;
Double_t f5=TMath::Power(((sqrt(100.018215)+2.)/(sqrt(100.+khm[np]*khm[np])+2.0)),12.3);
Double_t kfmax2=f5/kfmax[np];
// PIONS
//
//==========================================================================
-typedef Double_t (*GenFunc) (Double_t*, Double_t*);
+typedef Double_t (*GenFunc) (const Double_t*, const Double_t*);
typedef Int_t (*GenFuncIp) (TRandom *);
{
case kUpsilon:
if (sname=="FLAT"){
- func= PtUpsilonFlat;
- break;
+ func= PtUpsilonFlat;
+ break;
}
if (sname=="MUON"){
- func= PtUpsilonMUON;
- break;
+ func= PtUpsilonMUON;
+ break;
}
if (sname=="RITMAN"){
- func=PtUpsilonRitman;
- break;
+ func=PtUpsilonRitman;
+ break;
}
if (sname=="KAREL"){
- func=PtUpsilonKarel;
- break;
+ func=PtUpsilonKarel;
+ break;
}
+ func=0;
+ printf("<AliGenGSIlib::GetPt> unknown parametrisation\n");
break;
- func=0;
- printf("<AliGenGSIlib::GetPt> unknown parametrisation\n");
case kJPsi:
if (sname=="FLAT"){
- func= PtJpsiFlat;
- break;
+ func= PtJpsiFlat;
+ break;
}
if (sname=="MUON"){
- func= PtJpsiMUON;
- break;
+ func= PtJpsiMUON;
+ break;
}
// if (sname=="SERGEI"){
// func= PtJpsi;
// break;
// }
+ func=0;
+ printf("<AliGenGSIlib::GetPt> unknown parametrisation\n");
break;
- func=0;
- printf("<AliGenGSIlib::GetPt> unknown parametrisation\n");
case kCharm:
if (sname=="FLAT"){
- func= PtCharmFlat;
- break;
+ func= PtCharmFlat;
+ break;
}
if (sname=="MUON"){
- func= PtCharmMUON;
- break;
+ func= PtCharmMUON;
+ break;
}
if (sname=="GSI"){
- func= PtCharmGSI;
- break;
+ func= PtCharmGSI;
+ break;
}
+ func=0;
+ printf("<AliGenGSIlib::GetPt> unknown parametrisation\n");
break;
- func=0;
- printf("<AliGenGSIlib::GetPt> unknown parametrisation\n");
case kBeauty:
if (sname=="FLAT"){
- func= PtBeautyFlat;
- break;
+ func= PtBeautyFlat;
+ break;
}
if (sname=="MUON"){
- func= PtBeautyMUON;
- break;
+ func= PtBeautyMUON;
+ break;
}
if (sname=="GSI"){
- func= PtBeautyGSI;
- break;
+ func= PtBeautyGSI;
+ break;
}
+ func=0;
+ printf("<AliGenGSIlib::GetPt> unknown parametrisation\n");
break;
- func=0;
- printf("<AliGenGSIlib::GetPt> unknown parametrisation\n");
case kEta:
- func=PtEtaPHOS;
- break;
+ func=PtEtaPHOS;
+ break;
case kEtaprime:
- func=PtEtaprimePHOS;
- break;
+ func=PtEtaprimePHOS;
+ break;
case kOmega:
- func=PtOmega;
- break;
+ func=PtOmega;
+ break;
case kRho:
- func=PtRho;
- break;
+ func=PtRho;
+ break;
case kKaon:
- func=PtKaonPHOS;
- break;
+ func=PtKaonPHOS;
+ break;
case kPion:
- func=PtPion;
- break;
+ func=PtPion;
+ break;
case kPhi:
- func=PtPhiPHOS;
- break;
+ func=PtPhiPHOS;
+ break;
// case kLambda:
// func=PtLambda;
// break;
case kBaryons:
- func=PtBaryons;
- break;
+ func=PtBaryons;
+ break;
default:
- func=0;
- printf("<AliGenGSIlib::GetPt> unknown parametrisation\n");
+ func=0;
+ printf("<AliGenGSIlib::GetPt> unknown parametrisation\n");
}
- return func;
+ return func;
}
GenFunc AliGenGSIlib::GetY(Int_t param, const char * tname) const