CMS 3D CMS Logo

StrangeDensity.cc
Go to the documentation of this file.
1 
3 
5  fTemperature = 0. * GeV;
6  fBaryonPotential = 0. * GeV;
7  fStrangePotential = 0. * GeV;
8  fNMax = 5;
9 }
10 // compute hadron system strangeness density
12  double meanStrangenessDensity = 0.;
13  for (int particleIndex = 0; particleIndex < database->GetNParticles(); particleIndex++) {
14  ParticlePDG* particle = database->GetPDGParticleByIndex(particleIndex);
15  double particleDensity = ParticleNumberDensity(particle);
16  meanStrangenessDensity += particleDensity * particle->GetStrangeness();
17  }
18  return meanStrangenessDensity;
19 }
20 
21 // compute hadron number density
23  double particleMass = pDef->GetMass();
24  int particleStrangeness = int(pDef->GetStrangeness());
25  double particleBaryon = pDef->GetBaryonNumber();
26  //compute chemical potential
27  double particleChemPotential = fBaryonPotential * particleBaryon + fStrangePotential * particleStrangeness;
28  //compute degeneracy factor
29  double particleDegFactor = 2 * pDef->GetSpin() + 1.; // IA: In ParticlePDG() GetSpin() returns spin not 2*spin !!
30  double d = 1.; //for fermions
31  if (int(2 * pDef->GetSpin()) % 2 == 0) //it gives 0 for Spin = 0,2,4,.. and it gives 1 for Spin = 1,3,7,
32  d = -1; //for bosons
33 
34  double prefactor;
35  double postfactor;
36  prefactor =
37  (particleDegFactor * particleMass * particleMass * fTemperature / hbarc / hbarc / hbarc) / (2. * N_PI * N_PI);
38  postfactor = 0.;
39 
40  for (int n = 1; n <= fNMax; n++) {
41  postfactor += pow(-d, n + 1) / (n)*exp(n * particleChemPotential / fTemperature) *
42  HankelKn(2, n * particleMass / fTemperature);
43  }
44  return prefactor * postfactor;
45 }
NAStrangeDensity::fBaryonPotential
double fBaryonPotential
Definition: StrangeDensity.h:27
dqmiodumpmetadata.n
n
Definition: dqmiodumpmetadata.py:28
NAStrangeDensity::fTemperature
double fTemperature
Definition: StrangeDensity.h:26
DatabasePDG::GetNParticles
int GetNParticles(bool all=kFALSE)
Definition: DatabasePDG.cc:582
DatabasePDG::GetPDGParticleByIndex
ParticlePDG * GetPDGParticleByIndex(int index)
Definition: DatabasePDG.cc:198
ParticlePDG::GetStrangeness
double GetStrangeness()
Definition: ParticlePDG.h:87
NAStrangeDensity::fNMax
int fNMax
Definition: StrangeDensity.h:29
ParticlePDG
Definition: ParticlePDG.h:24
HankelKn
double HankelKn(int n, double x)
Definition: HankelFunction.cc:202
N_PI
const double N_PI
Definition: MathUtil.h:19
NAStrangeDensity::fStrangePotential
double fStrangePotential
Definition: StrangeDensity.h:28
GeV
const double GeV
Definition: MathUtil.h:16
createfilelist.int
int
Definition: createfilelist.py:10
hbarc
const double hbarc
Definition: MathUtil.h:18
ParticlePDG::GetSpin
double GetSpin()
Definition: ParticlePDG.h:73
StrangeDensity.h
ParticlePDG::GetMass
double GetMass()
Definition: ParticlePDG.h:70
NAStrangeDensity::NAStrangeDensity
NAStrangeDensity()
Definition: StrangeDensity.cc:4
DatabasePDG
Definition: DatabasePDG.h:34
NAStrangeDensity::StrangenessDensity
double StrangenessDensity(DatabasePDG *database)
Definition: StrangeDensity.cc:11
ParticlePDG::GetBaryonNumber
double GetBaryonNumber()
Definition: ParticlePDG.h:82
funct::pow
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:30
ztail.d
d
Definition: ztail.py:151
JetChargeProducer_cfi.exp
exp
Definition: JetChargeProducer_cfi.py:6
NAStrangeDensity::ParticleNumberDensity
double ParticleNumberDensity(ParticlePDG *particle)
Definition: StrangeDensity.cc:22