11#include <mdst/dataobjects/MCParticleGraph.h>
90 double findMax(
const double* dim,
const int num);
96 void genCosmic(
const int level,
int& charge,
97 double& dr,
double& phi,
double& Pt,
double& dz,
double& tanl);
107 void mkdist_v1(
const int charge,
double*);
112 int mkDr_pos_v1(
const double dr,
const float rndm);
117 int mkDr_neg_v1(
const double dr,
const float rndm);
132 int mkPt_pos_v1(
const double pt,
const float rndm);
137 int mkPt_neg_v1(
const double pt,
const float rndm);
142 int mkDz_pos_v1(
const double dz,
const float rndm);
147 int mkDz_neg_v1(
const double dz,
const float rndm);
162 void mkdist_v2(
const int charge,
double*);
167 int mkDr_pos_v2(
const double dr,
const float rndm);
172 int mkDr_neg_v2(
const double dr,
const float rndm);
187 int mkPt_pos_v2(
const double pt,
const float rndm);
192 int mkPt_neg_v2(
const double pt,
const float rndm);
197 int mkDz_pos_v2(
const double dz,
const float rndm);
202 int mkDz_neg_v2(
const double dz,
const float rndm);
Class to build, validate and sort a particle decay chain.
Class to generate tracks in the cosmics generator and store them in a MCParticle graph.
~SGCosmic()
Default destructor.
SGCosmic()
Default constructor.
int mkPhi_pos_v2(const double phi, const float rndm)
Generates azimuthal angle phi distributions by accept-reject method for positively charged particles.
int mkTanl_neg_v1(const double tanl, const float rndm)
Generates tangent of the polar angle tanl distributions by accept-reject method for negatively charge...
int mkDz_pos_v1(const double dz, const float rndm)
Generates z vertex dz distributions by accept-reject method for positively charged particles.
int mkTanl_pos_v1(const double tanl, const float rndm)
Generates tangent of the polar angle tanl distributions by accept-reject method for positively charge...
int mkPt_neg_v1(const double pt, const float rndm)
Generates transverse momentum pt distributions by accept-reject method for negatively charged particl...
void genCosmic(const int level, int &charge, double &dr, double &phi, double &Pt, double &dz, double &tanl)
Generates cosmic events according to tabulated distributions in 5-dimensional space: dr,...
int mkPhi_neg_v1(const double phi, const float rndm)
Generates azimuthal angle phi distributions by accept-reject method for negatively charged particles.
int mkDr_neg_v1(const double dr, const float rndm)
Generates vertex distributions in the radial direction dr by accept-reject method for negatively.
void mkdist_v2(const int charge, double *)
Generates distributions in 5-parameter space for different particle charges.
int mkPt_pos_v2(const double pt, const float rndm)
Generates transverse momentum pt distributions by accept-reject method for positively charged particl...
Parameters m_params
All relevant parameters.
bool generateEvent(MCParticleGraph &graph)
Generates the next event and store the result in the given MCParticle graph.
int mkDz_neg_v1(const double dz, const float rndm)
Generates z vertex dz distributions by accept-reject method for negatively charged particles.
int mkPt_pos_v1(const double pt, const float rndm)
Generates transverse momentum pt distributions by accept-reject method for positively charged particl...
int mkPhi_neg_v2(const double phi, const float rndm)
Generates azimuthal angle phi distributions by accept-reject method for negatively charged particles.
int mkDr_neg_v2(const double dr, const float rndm)
Generates vertex distributions in the radial direction dr by accept-reject method for negatively char...
int mkDr_pos_v2(const double dr, const float rndm)
Generates vertex distributions in the radial direction dr by accept-reject method for positively char...
int mkTanl_pos_v2(const double tanl, const float rndm)
Generates tangent of the polar angle tanl distributions by accept-reject method for positively charge...
int mkTanl_neg_v2(const double tanl, const float rndm)
Generates tangent of the polar angle tanl distributions by accept-reject method for negatively charge...
int mkDz_neg_v2(const double dz, const float rndm)
Generates z vertex dz distributions by accept-reject method for negatively charged particles.
bool setParameters(const Parameters ¶meters)
Sets the parameters for generating the Particles.
void mkdist_v1(const int charge, double *)
Generates distributions in 5-parameter space for different particle charges.
int muChargeFlag(const double)
Generates the muon charge according to the positively/negatively charged muon ratio.
int mkPt_neg_v2(const double pt, const float rndm)
Generates transverse momentum pt distributions by accept-reject method for negatively charged particl...
int mkDz_pos_v2(const double dz, const float rndm)
Generates z vertex dz distributions by accept-reject method for positively charged particles.
int mkDr_pos_v1(const double dr, const float rndm)
Generates vertex distributions in the radial direction dr by accept-reject method for positively char...
int mkPhi_pos_v1(const double phi, const float rndm)
Generates azimuthal angle phi distributions by accept-reject method for positively charged particles.
double findMax(const double *dim, const int num)
Finds maximum value in an array.
Abstract base class for different kinds of events.
Struct to keep all necessary parameters for the cosmic generator.
int ipRequirement
Restrict the vertex to IP or not (default)
double ipdr
Vertex restriction in the radial direction.
double cylindricalR
Cylindrical radius of generation.
double ptmin
Minimum value of the transverse momentum.
int level
Generator version: level 1 (default) or 2.
double ipdz
Vertex restriction in z direction.