-
/**************************************************************************
* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
* *
// Additional particle species simulation options has been added:
// Charged Pion, Charged Kaons, KLong Proton, Anti-Proton, Neutron,
// Anti-Neutron --> Changes made by Gustavo Conesa in November 2004
+// Add flat Omega(782) distribution in Nov. 2010 by Renzhuo WAN
//======================================================================
#include "TMath.h"
// Rapidity distribution YPion
// Particle distribution IdPion 111, 211 and -211 (pi0, pi+ and pi-)
//
- Double_t AliGenPHOSlib::PtPion(Double_t *px, Double_t *)
+ Double_t AliGenPHOSlib::PtPion(const Double_t *px, const Double_t *)
{
// Pion transverse momentum distribtuion taken
// from AliGenMUONlib class, version 3.01 of aliroot
y=kb*TMath::Exp(-sqrt(x*x+kxmpi2)/kt);
return y*x;
}
- Double_t AliGenPHOSlib::YPion( Double_t *py, Double_t *)
+ Double_t AliGenPHOSlib::YPion( const Double_t *py, const Double_t *)
{
//
// pion y-distribution
return ka*TMath::Exp(-ex);
}
- Int_t AliGenPHOSlib::IpPion(TRandom *ran)
+Int_t AliGenPHOSlib::IpPion(TRandom */*ran*/)
{
// particle composition pi+, pi0, pi-
//
- Float_t random = ran->Rndm();
-
- if ( (3.*random) < 1. )
- {
- return 211 ;
- }
- else
- {
- if ( (3.*random) >= 2.)
- {
- return -211 ;
- }
- else
- {
return 111 ;
- }
- }
}
Int_t AliGenPHOSlib::IpChargedPion(TRandom *ran)
{
// Particle distribution IdPi0Flat 111 (pi0)
//
-Double_t AliGenPHOSlib::PtPi0Flat(Double_t */*px*/, Double_t *)
+Double_t AliGenPHOSlib::PtPi0Flat(const Double_t */*px*/, const Double_t *)
{
// Pion transverse momentum flat distribution
}
-Double_t AliGenPHOSlib::YPi0Flat( Double_t */*py*/, Double_t *)
+Double_t AliGenPHOSlib::YPi0Flat( const Double_t */*py*/, const Double_t *)
{
// pion y-distribution
// End Scaling
//============================================================================
// K A O N S
- Double_t AliGenPHOSlib::PtKaon( Double_t *px, Double_t *)
+ Double_t AliGenPHOSlib::PtKaon( const Double_t *px, const Double_t *)
{
// kaon
// pt-distribution
return PtScal(*px,2); // 2==> Kaon in the PtScal function
}
- Double_t AliGenPHOSlib::YKaon( Double_t *py, Double_t *)
+ Double_t AliGenPHOSlib::YKaon( const Double_t *py, const Double_t *)
{
// y-distribution
//____________________________________________________________
//============================================================================
//============================================================================
// E T A S
- Double_t AliGenPHOSlib::PtEta( Double_t *px, Double_t *)
+ Double_t AliGenPHOSlib::PtEta( const Double_t *px, const Double_t *)
{
// etas
// pt-distribution
return PtScal(*px,3); // 3==> Eta in the PtScal function
}
- Double_t AliGenPHOSlib::YEta( Double_t *py, Double_t *)
+ Double_t AliGenPHOSlib::YEta( const Double_t *py, const Double_t *)
{
// y-distribution
//____________________________________________________________
// Particle distribution IdEtaFlat 111 (pi0)
//
-Double_t AliGenPHOSlib::PtEtaFlat(Double_t */*px*/, Double_t *)
+Double_t AliGenPHOSlib::PtEtaFlat(const Double_t */*px*/, const Double_t *)
{
// Eta transverse momentum flat distribution
}
-Double_t AliGenPHOSlib::YEtaFlat( Double_t */*py*/, Double_t *)
+Double_t AliGenPHOSlib::YEtaFlat( const Double_t */*py*/, const Double_t *)
{
//
// pion y-distribution
//============================================================================
//============================================================================
// O M E G A S
- Double_t AliGenPHOSlib::PtOmega( Double_t *px, Double_t *)
+ Double_t AliGenPHOSlib::PtOmega( const Double_t *px, const Double_t *)
{
// omegas
// pt-distribution
return PtScal(*px,4); // 4==> Omega in the PtScal function
}
- Double_t AliGenPHOSlib::YOmega( Double_t *py, Double_t *)
+ Double_t AliGenPHOSlib::YOmega( const Double_t *py, const Double_t *)
{
// y-distribution
//____________________________________________________________
}
// End Omega
//============================================================================
+//======================================================================
+// Omega(782) Flat Distribution
+// Transverse momentum distribution PtOmegaFlat
+// Rapidity distribution YOmegaFlat
+// Particle distribution IdOmegaFlat 223(0mega)
+//
+
+Double_t AliGenPHOSlib::PtOmegaFlat(const Double_t */*px*/, const Double_t *)
+{
+// omega transverse momentum flat distribution
+
+return 1;
+
+}
+
+Double_t AliGenPHOSlib::YOmegaFlat( const Double_t */*py*/, const Double_t *)
+{
+
+// omega y-distribution
+//
+ return 1.;
+}
+
+ Int_t AliGenPHOSlib::IpOmegaFlat(TRandom *)
+{
+
+// particle composition omega
+//
+ return 223 ;
+}
+// End OmegaFlat
+
+
//============================================================================
// E T A P R I M E
- Double_t AliGenPHOSlib::PtEtaprime( Double_t *px, Double_t *)
+ Double_t AliGenPHOSlib::PtEtaprime( const Double_t *px, const Double_t *)
{
// etaprime
// pt-distribution
return PtScal(*px,5); // 5==> Etaprime in the PtScal function
}
- Double_t AliGenPHOSlib::YEtaprime( Double_t *py, Double_t *)
+ Double_t AliGenPHOSlib::YEtaprime( const Double_t *py, const Double_t *)
{
// y-distribution
//____________________________________________________________
//===================================================================
//============================================================================
// P H I S
- Double_t AliGenPHOSlib::PtPhi( Double_t *px, Double_t *)
+ Double_t AliGenPHOSlib::PtPhi( const Double_t *px, const Double_t *)
{
// phi
// pt-distribution
return PtScal(*px,6); // 6==> Phi in the PtScal function
}
- Double_t AliGenPHOSlib::YPhi( Double_t *py, Double_t *)
+ Double_t AliGenPHOSlib::YPhi( const Double_t *py, const Double_t *)
{
// y-distribution
//____________________________________________________________
//===================================================================
//============================================================================
// B A R Y O N S == protons, protonsbar, neutrons, and neutronsbars
- Double_t AliGenPHOSlib::PtBaryon( Double_t *px, Double_t *)
+ Double_t AliGenPHOSlib::PtBaryon( const Double_t *px, const Double_t *)
{
// baryons
// pt-distribution
return PtScal(*px,7); // 7==> Baryon in the PtScal function
}
- Double_t AliGenPHOSlib::YBaryon( Double_t *py, Double_t *)
+ Double_t AliGenPHOSlib::YBaryon( const Double_t *py, const Double_t *)
{
// y-distribution
//____________________________________________________________
// End Baryons
//===================================================================
-
-
-typedef Double_t (*GenFunc) (Double_t*, Double_t*);
+typedef Double_t (*GenFunc) (const Double_t*, const Double_t*);
GenFunc AliGenPHOSlib::GetPt(Int_t param, const char* /*tname*/) const
{
// Return pinter to pT parameterisation
case kOmega:
func=PtOmega;
break;
+ case kOmegaFlat:
+ func=PtOmegaFlat;
+ break;
case kEtaPrime:
func=PtEtaprime;
break;
case kOmega:
func=YOmega;
break;
+ case kOmegaFlat:
+ func=YOmegaFlat;
+ break;
case kEtaPrime:
func=YEtaprime;
break;
case kOmega:
func=IpOmega;
break;
+ case kOmegaFlat:
+ func=IpOmegaFlat;
+ break;
case kEtaPrime:
func=IpEtaprime;
break;