ROOTPWA
Namespaces | Classes | Functions | Variables
Generators

Namespaces

namespace  rpwa
 Calculates the partial wave weight for a given event.

Classes

class  rpwa::particleInfo
 Small helper class for bookkeeping. More...
class  rpwa::diffractivePhaseSpace
 Phase Space generator for diffractive pion dissociation. More...
class  rpwa::partialWaveWeight
class  rpwa::primaryVertexGen

Functions

 rpwa::particleInfo::particleInfo (int gId, int charge, double mass)
 rpwa::diffractivePhaseSpace::diffractivePhaseSpace ()
 rpwa::diffractivePhaseSpace::~diffractivePhaseSpace ()
const TLorentzVector *const rpwa::diffractivePhaseSpace::GetDecay (unsigned int i)
TLorentzVector * rpwa::diffractivePhaseSpace::GetBeam ()
TVector3 * rpwa::diffractivePhaseSpace::GetVertex ()
double rpwa::diffractivePhaseSpace::Gettprime ()
void rpwa::diffractivePhaseSpace::SetBeam (double Mom=190, double MomSigma=1.2, double DxDz=0, double DxDzSigma=0, double DyDz=0, double DyDzSigma=0)
 Set beam parameters.
void rpwa::diffractivePhaseSpace::SetTarget (double zPos, double length, double r, double mass)
 Set beam parameters The target is assumed to be a single cylinder centered at zPos and r=0;.
void rpwa::diffractivePhaseSpace::SetTPrimeSlope (double slopePar)
 Set the slope b of the t-prime distribution.
void rpwa::diffractivePhaseSpace::SetTPrimeSlope (double *slopePar, double *inv_m=NULL, int nvalues=1)
 Set the slopes b of the t-prime distribution depending on the invariant mass.
void rpwa::diffractivePhaseSpace::SetMassRange (double min, double max)
 Set mass range of produced system X.
void rpwa::diffractivePhaseSpace::SetDecayProducts (const std::vector< particleInfo > &info)
void rpwa::diffractivePhaseSpace::AddDecayProduct (const particleInfo &info)
void rpwa::diffractivePhaseSpace::SetSeed (int seed)
void rpwa::diffractivePhaseSpace::setVerbose (bool flag)
void rpwa::diffractivePhaseSpace::SetImportanceBW (double mass, double width)
void rpwa::diffractivePhaseSpace::SettMin (double tMin)
void rpwa::diffractivePhaseSpace::SettprimeMin (double tprimeMin)
void rpwa::diffractivePhaseSpace::SettprimeMax (double tprimeMax)
void rpwa::diffractivePhaseSpace::SetPrimaryVertexGen (primaryVertexGen *primaryVertexGen)
unsigned int rpwa::diffractivePhaseSpace::event ()
 generates on event
unsigned int rpwa::diffractivePhaseSpace::event (ostream &)
 generates on event
unsigned int rpwa::diffractivePhaseSpace::event (ostream &, ostream &)
 generates on event
double rpwa::diffractivePhaseSpace::impWeight () const
TLorentzVector rpwa::diffractivePhaseSpace::makeBeam ()
bool rpwa::diffractivePhaseSpace::writePwa2000Ascii (std::ostream &out, const int beamGeantId, const int beamCharge)
bool rpwa::diffractivePhaseSpace::writeComGeantAscii (ostream &out, bool formated=true)
void rpwa::diffractivePhaseSpace::BuildDaughterList ()
float rpwa::diffractivePhaseSpace::Calc_t_prime (const TLorentzVector &particle_In, const TLorentzVector &particle_Out)
double rpwa::diffractivePhaseSpace::Get_inv_SlopePar (double invariant_M=-1.)
 rpwa::partialWaveWeight::partialWaveWeight ()
 rpwa::partialWaveWeight::~partialWaveWeight ()
void rpwa::partialWaveWeight::addWave (const std::string &keyfilename, rpwa::productionAmp *amp, const std::complex< double > &branching, unsigned int vectori=0)
 Add a partial wave to model.
void rpwa::partialWaveWeight::loadIntegrals (const std::string &filename, double mass)
 Load normalization integrals for a mass bin.
double rpwa::partialWaveWeight::weight (event &e)
 Calculate weight for an event.
std::complex< double > rpwa::partialWaveWeight::prodAmp (unsigned int iv, unsigned int iw, event &e)
 get production amplitude
 rpwa::primaryVertexGen::primaryVertexGen (std::string histfilename="properties_2008/primary_vertex_properties.root", double beam_part_mass=0.13957018, double mean_beam_energy=191.29, double mean_beam_energy_spread=1.94476)
 rpwa::primaryVertexGen::~primaryVertexGen ()
bool rpwa::primaryVertexGen::check ()
bool rpwa::primaryVertexGen::loadHistograms (std::string filename="properties_2008/primary_vertex_properties.root", bool plot=true)
TVector3 & rpwa::primaryVertexGen::getVertex (const float cutR=1.47, const float cutZ_low=-70., const float cutZ_high=-30.)
TVector3 & rpwa::primaryVertexGen::getBeamDir (const TVector3 vertex)
TLorentzVector & rpwa::primaryVertexGen::getBeamPart (const TVector3 beam_dir)
void rpwa::primaryVertexGen::gesPalette (int i=0)

Variables

int rpwa::particleInfo::_gId
int rpwa::particleInfo::_charge
double rpwa::particleInfo::_mass
rpwa::nBodyPhaseSpaceGen rpwa::diffractivePhaseSpace::_phaseSpace
primaryVertexGen * rpwa::diffractivePhaseSpace::_primaryVertexGen
double rpwa::diffractivePhaseSpace::_targetZPos
double rpwa::diffractivePhaseSpace::_targetZLength
double rpwa::diffractivePhaseSpace::_targetR
double rpwa::diffractivePhaseSpace::_targetMass
double rpwa::diffractivePhaseSpace::_recoilMass
double rpwa::diffractivePhaseSpace::_beamMomSigma
double rpwa::diffractivePhaseSpace::_beamMom
double rpwa::diffractivePhaseSpace::_beamDxDz
double rpwa::diffractivePhaseSpace::_beamDxDzSigma
double rpwa::diffractivePhaseSpace::_beamDyDz
double rpwa::diffractivePhaseSpace::_beamDyDzSigma
TLorentzVector rpwa::diffractivePhaseSpace::_beamLab
TLorentzVector rpwa::diffractivePhaseSpace::_recoilprotonLab
TVector3 rpwa::diffractivePhaseSpace::_vertex
double rpwa::diffractivePhaseSpace::_tprime
double * rpwa::diffractivePhaseSpace::_invSlopePar
double * rpwa::diffractivePhaseSpace::_invM
int rpwa::diffractivePhaseSpace::_ninvSlopePar
double rpwa::diffractivePhaseSpace::_tMin
double rpwa::diffractivePhaseSpace::_tprimeMin
double rpwa::diffractivePhaseSpace::_tprimeMax
double rpwa::diffractivePhaseSpace::_xMassMin
double rpwa::diffractivePhaseSpace::_xMassMax
std::vector< particleInfo > rpwa::diffractivePhaseSpace::_decayProducts
double rpwa::diffractivePhaseSpace::_protonMass
double rpwa::diffractivePhaseSpace::_pionMass
double rpwa::diffractivePhaseSpace::_pionMass2
std::vector< std::vector
< std::string > > 
rpwa::partialWaveWeight::m_waves
std::vector< std::vector
< std::complex< double > > > 
rpwa::partialWaveWeight::m_branchings
std::vector< std::vector
< rpwa::productionAmp * > > 
rpwa::partialWaveWeight::m_amps
std::vector< Tgamprpwa::partialWaveWeight::m_gamp
std::map< std::string, double > rpwa::partialWaveWeight::m_relphase
std::map< double, integralrpwa::partialWaveWeight::m_normInt
bool rpwa::partialWaveWeight::m_hasInt
TFile * rpwa::primaryVertexGen::_histogramfile
TH2 * rpwa::primaryVertexGen::_hist_angles_vert_mean
TH2 * rpwa::primaryVertexGen::_hist_angles_horiz_mean
TH2 * rpwa::primaryVertexGen::_hist_angles_vert_sigma
TH2 * rpwa::primaryVertexGen::_hist_angles_horiz_sigma
TH2 * rpwa::primaryVertexGen::_hist_vertex_distr_xy
TH1 * rpwa::primaryVertexGen::_hist_vertex_distr_z
double rpwa::primaryVertexGen::_beam_part_mass
double rpwa::primaryVertexGen::_beam_energy_mean
double rpwa::primaryVertexGen::_beam_energy_sigma
bool rpwa::primaryVertexGen::_histograms_loaded

Detailed Description

Function Documentation

void diffractivePhaseSpace::AddDecayProduct ( const particleInfo info)
void partialWaveWeight::addWave ( const std::string &  keyfilename,
rpwa::productionAmp amp,
const std::complex< double > &  branching,
unsigned int  vectori = 0 
)

Add a partial wave to model.

keyfilename = name of gamp keyfile describing this wave amp = production amplitude for this wave vectori = index of production vector (different indices are added incoherently)

Definition at line 17 of file partialWaveWeight.cc.

Referenced by main().

void diffractivePhaseSpace::BuildDaughterList ( )
private
float diffractivePhaseSpace::Calc_t_prime ( const TLorentzVector &  particle_In,
const TLorentzVector &  particle_Out 
)
private

Definition at line 581 of file diffractivePhaseSpace.cc.

References M2.

Referenced by rpwa::diffractivePhaseSpace::event().

bool primaryVertexGen::check ( )

Definition at line 141 of file primaryVertexGen.cc.

References rpwa::primaryVertexGen::_histograms_loaded.

Referenced by Beam_simulation(), and main().

diffractivePhaseSpace::diffractivePhaseSpace ( )
unsigned int diffractivePhaseSpace::event ( )
unsigned int rpwa::diffractivePhaseSpace::event ( ostream &  )

generates on event

returns number of attempts to generate this event; writes event to stream

unsigned int rpwa::diffractivePhaseSpace::event ( ostream &  ,
ostream &   
)

generates on event

returns number of attempts to generate this event; writes event to VES formatted stream and for ComGeant fort.26 input files

void primaryVertexGen::gesPalette ( int  i = 0)
private

Definition at line 207 of file primaryVertexGen.cc.

References Double_t, and Int_t.

Referenced by rpwa::primaryVertexGen::loadHistograms().

double diffractivePhaseSpace::Get_inv_SlopePar ( double  invariant_M = -1.)
private
TLorentzVector* rpwa::diffractivePhaseSpace::GetBeam ( )
inline

Definition at line 78 of file diffractivePhaseSpace.h.

References rpwa::diffractivePhaseSpace::_beamLab.

Referenced by main().

TVector3 & primaryVertexGen::getBeamDir ( const TVector3  vertex)
TLorentzVector & primaryVertexGen::getBeamPart ( const TVector3  beam_dir)
const TLorentzVector* const rpwa::diffractivePhaseSpace::GetDecay ( unsigned int  i)
inline
double rpwa::diffractivePhaseSpace::Gettprime ( )
inline

Definition at line 80 of file diffractivePhaseSpace.h.

References rpwa::diffractivePhaseSpace::_tprime.

Referenced by main().

TVector3* rpwa::diffractivePhaseSpace::GetVertex ( )
inline

Definition at line 79 of file diffractivePhaseSpace.h.

References rpwa::diffractivePhaseSpace::_vertex.

Referenced by main().

TVector3 & primaryVertexGen::getVertex ( const float  cutR = 1.47,
const float  cutZ_low = -70.,
const float  cutZ_high = -30. 
)
double rpwa::diffractivePhaseSpace::impWeight ( ) const
inline
bool primaryVertexGen::loadHistograms ( std::string  filename = "properties_2008/primary_vertex_properties.root",
bool  plot = true 
)
private
void partialWaveWeight::loadIntegrals ( const std::string &  filename,
double  mass 
)

Load normalization integrals for a mass bin.

several integrals can be loaded to cover a larger range in mass

Definition at line 80 of file partialWaveWeight.cc.

References mass.

Referenced by main().

TLorentzVector diffractivePhaseSpace::makeBeam ( )
private
rpwa::partialWaveWeight::partialWaveWeight ( )
inline

Definition at line 30 of file partialWaveWeight.h.

rpwa::particleInfo::particleInfo ( int  gId,
int  charge,
double  mass 
)
inline

Definition at line 50 of file diffractivePhaseSpace.h.

primaryVertexGen::primaryVertexGen ( std::string  histfilename = "properties_2008/primary_vertex_properties.root",
double  beam_part_mass = 0.13957018,
double  mean_beam_energy = 191.29,
double  mean_beam_energy_spread = 1.94476 
)
std::complex< double > partialWaveWeight::prodAmp ( unsigned int  iv,
unsigned int  iw,
event e 
)

get production amplitude

iv: production vector iw: wave

Definition at line 121 of file partialWaveWeight.cc.

References event::f_particles(), fourVec::len(), and p.

void diffractivePhaseSpace::SetBeam ( double  Mom = 190,
double  MomSigma = 1.2,
double  DxDz = 0,
double  DxDzSigma = 0,
double  DyDz = 0,
double  DyDzSigma = 0 
)

Set beam parameters.

2004 COMPASS beam: _beamDxDz = 0.00026; // tilt from Quirin was in mrad _beamDxDzSigma = 0.00010; _beamDyDz = 0.00001; // tilt from Quirin was in mrad _beamDyDzSigma = 0.00018; _beamMom = 189 [GeV/c] _beamMomSigma = 1.2

Definition at line 568 of file diffractivePhaseSpace.cc.

References rpwa::diffractivePhaseSpace::_beamDxDz, rpwa::diffractivePhaseSpace::_beamDxDzSigma, rpwa::diffractivePhaseSpace::_beamDyDz, rpwa::diffractivePhaseSpace::_beamDyDzSigma, rpwa::diffractivePhaseSpace::_beamMom, and rpwa::diffractivePhaseSpace::_beamMomSigma.

Referenced by main().

void diffractivePhaseSpace::SetDecayProducts ( const std::vector< particleInfo > &  info)
void rpwa::diffractivePhaseSpace::SetImportanceBW ( double  mass,
double  width 
)
inline
void rpwa::diffractivePhaseSpace::SetMassRange ( double  min,
double  max 
)
inline

Set mass range of produced system X.

Events will be generated uniformly in mass

Definition at line 161 of file diffractivePhaseSpace.h.

References rpwa::diffractivePhaseSpace::_xMassMax, and rpwa::diffractivePhaseSpace::_xMassMin.

Referenced by main().

void rpwa::diffractivePhaseSpace::SetPrimaryVertexGen ( primaryVertexGen primaryVertexGen)
inline

Definition at line 197 of file diffractivePhaseSpace.h.

References rpwa::diffractivePhaseSpace::_primaryVertexGen.

Referenced by main().

void diffractivePhaseSpace::SetSeed ( int  seed)
void rpwa::diffractivePhaseSpace::SetTarget ( double  zPos,
double  length,
double  r,
double  mass 
)
inline

Set beam parameters The target is assumed to be a single cylinder centered at zPos and r=0;.

Example: SetTarget(-20,40,2) Defines a target cell with 4cm diameter extending from z=-40cm to z=0cm

Definition at line 105 of file diffractivePhaseSpace.h.

References rpwa::diffractivePhaseSpace::_recoilMass, rpwa::diffractivePhaseSpace::_targetMass, rpwa::diffractivePhaseSpace::_targetR, rpwa::diffractivePhaseSpace::_targetZLength, rpwa::diffractivePhaseSpace::_targetZPos, and mass.

Referenced by main().

void rpwa::diffractivePhaseSpace::SettMin ( double  tMin)
inline

Definition at line 177 of file diffractivePhaseSpace.h.

References rpwa::diffractivePhaseSpace::_tMin, and tMin.

void rpwa::diffractivePhaseSpace::SettprimeMax ( double  tprimeMax)
inline

Definition at line 187 of file diffractivePhaseSpace.h.

References rpwa::diffractivePhaseSpace::_tprimeMax.

Referenced by main().

void rpwa::diffractivePhaseSpace::SettprimeMin ( double  tprimeMin)
inline

Definition at line 182 of file diffractivePhaseSpace.h.

References rpwa::diffractivePhaseSpace::_tprimeMin.

Referenced by main().

void rpwa::diffractivePhaseSpace::SetTPrimeSlope ( double  slopePar)
inline

Set the slope b of the t-prime distribution.

\[ \frac{d\sigma}{dt'} \propto e^{-bt'} \]

Definition at line 124 of file diffractivePhaseSpace.h.

References rpwa::diffractivePhaseSpace::_invSlopePar.

Referenced by main().

void rpwa::diffractivePhaseSpace::SetTPrimeSlope ( double *  slopePar,
double *  inv_m = NULL,
int  nvalues = 1 
)
inline

Set the slopes b of the t-prime distribution depending on the invariant mass.

\[ \frac{d\sigma}{dt'} \propto e^{-bt'} \]

in case of more than one value assuming sorted ascending input for interpolation

Definition at line 135 of file diffractivePhaseSpace.h.

References rpwa::diffractivePhaseSpace::_invM, rpwa::diffractivePhaseSpace::_invSlopePar, rpwa::diffractivePhaseSpace::_ninvSlopePar, and i.

void rpwa::diffractivePhaseSpace::setVerbose ( bool  flag)
inline
double partialWaveWeight::weight ( event e)

Calculate weight for an event.

Definition at line 141 of file partialWaveWeight.cc.

References event::f_mass(), mass, and integral::val().

Referenced by main().

bool diffractivePhaseSpace::writeComGeantAscii ( ostream &  out,
bool  formated = true 
)
private
bool diffractivePhaseSpace::writePwa2000Ascii ( std::ostream &  out,
const int  beamGeantId,
const int  beamCharge 
)
private
diffractivePhaseSpace::~diffractivePhaseSpace ( )
rpwa::partialWaveWeight::~partialWaveWeight ( )
inline

Definition at line 31 of file partialWaveWeight.h.

primaryVertexGen::~primaryVertexGen ( )

Variable Documentation

double rpwa::primaryVertexGen::_beam_energy_mean
private

Definition at line 53 of file primaryVertexGen.h.

Referenced by rpwa::primaryVertexGen::getBeamPart().

double rpwa::primaryVertexGen::_beam_energy_sigma
private

Definition at line 54 of file primaryVertexGen.h.

Referenced by rpwa::primaryVertexGen::getBeamPart().

double rpwa::primaryVertexGen::_beam_part_mass
private

Definition at line 52 of file primaryVertexGen.h.

Referenced by rpwa::primaryVertexGen::getBeamPart().

double rpwa::diffractivePhaseSpace::_beamDxDz
private
double rpwa::diffractivePhaseSpace::_beamDxDzSigma
private
double rpwa::diffractivePhaseSpace::_beamDyDz
private
double rpwa::diffractivePhaseSpace::_beamDyDzSigma
private
TLorentzVector rpwa::diffractivePhaseSpace::_beamLab
private
double rpwa::diffractivePhaseSpace::_beamMom
private
double rpwa::diffractivePhaseSpace::_beamMomSigma
private
int rpwa::particleInfo::_charge

Definition at line 58 of file diffractivePhaseSpace.h.

std::vector<particleInfo> rpwa::diffractivePhaseSpace::_decayProducts
private
int rpwa::particleInfo::_gId

Definition at line 57 of file diffractivePhaseSpace.h.

TH2* rpwa::primaryVertexGen::_hist_angles_horiz_mean
private
TH2* rpwa::primaryVertexGen::_hist_angles_horiz_sigma
private
TH2* rpwa::primaryVertexGen::_hist_angles_vert_mean
private
TH2* rpwa::primaryVertexGen::_hist_angles_vert_sigma
private
TH2* rpwa::primaryVertexGen::_hist_vertex_distr_xy
private
TH1* rpwa::primaryVertexGen::_hist_vertex_distr_z
private
TFile* rpwa::primaryVertexGen::_histogramfile
private

Definition at line 39 of file primaryVertexGen.h.

Referenced by rpwa::primaryVertexGen::~primaryVertexGen().

bool rpwa::primaryVertexGen::_histograms_loaded
private
double* rpwa::diffractivePhaseSpace::_invM
private
double* rpwa::diffractivePhaseSpace::_invSlopePar
private
double rpwa::particleInfo::_mass

Definition at line 59 of file diffractivePhaseSpace.h.

int rpwa::diffractivePhaseSpace::_ninvSlopePar
private
rpwa::nBodyPhaseSpaceGen rpwa::diffractivePhaseSpace::_phaseSpace
private
double rpwa::diffractivePhaseSpace::_pionMass
private

Definition at line 288 of file diffractivePhaseSpace.h.

double rpwa::diffractivePhaseSpace::_pionMass2
private

Definition at line 289 of file diffractivePhaseSpace.h.

Referenced by rpwa::diffractivePhaseSpace::makeBeam().

primaryVertexGen* rpwa::diffractivePhaseSpace::_primaryVertexGen
private
double rpwa::diffractivePhaseSpace::_protonMass
private

Definition at line 287 of file diffractivePhaseSpace.h.

double rpwa::diffractivePhaseSpace::_recoilMass
private
TLorentzVector rpwa::diffractivePhaseSpace::_recoilprotonLab
private
double rpwa::diffractivePhaseSpace::_targetMass
private
double rpwa::diffractivePhaseSpace::_targetR
private

Definition at line 236 of file diffractivePhaseSpace.h.

Referenced by rpwa::diffractivePhaseSpace::SetTarget().

double rpwa::diffractivePhaseSpace::_targetZLength
private
double rpwa::diffractivePhaseSpace::_targetZPos
private
double rpwa::diffractivePhaseSpace::_tMin
private
double rpwa::diffractivePhaseSpace::_tprime
private
double rpwa::diffractivePhaseSpace::_tprimeMax
private
double rpwa::diffractivePhaseSpace::_tprimeMin
private
TVector3 rpwa::diffractivePhaseSpace::_vertex
private
double rpwa::diffractivePhaseSpace::_xMassMax
private
double rpwa::diffractivePhaseSpace::_xMassMin
private
std::vector<std::vector<rpwa::productionAmp*> > rpwa::partialWaveWeight::m_amps
private

Definition at line 73 of file partialWaveWeight.h.

std::vector<std::vector<std::complex<double> > > rpwa::partialWaveWeight::m_branchings
private

Definition at line 72 of file partialWaveWeight.h.

std::vector<Tgamp> rpwa::partialWaveWeight::m_gamp
private

Definition at line 75 of file partialWaveWeight.h.

bool rpwa::partialWaveWeight::m_hasInt
private

Definition at line 79 of file partialWaveWeight.h.

std::map<double,integral> rpwa::partialWaveWeight::m_normInt
private

Definition at line 77 of file partialWaveWeight.h.

std::map<std::string,double> rpwa::partialWaveWeight::m_relphase
private

Definition at line 76 of file partialWaveWeight.h.

std::vector<std::vector<std::string> > rpwa::partialWaveWeight::m_waves
private

Definition at line 69 of file partialWaveWeight.h.