#include <GsfBetheHeitlerUpdator.h>
Classes | |
struct | GSContainer |
class | Polynomial |
Public Types | |
enum | CorrectionFlag { NoCorrection =0, MeanCorrection =1, FullCorrection =2 } |
Public Types inherited from GsfMaterialEffectsUpdator | |
typedef materialEffect::Covariance | Covariance |
typedef materialEffect::CovIndex | CovIndex |
typedef materialEffect::Effect | Effect |
Public Member Functions | |
GsfBetheHeitlerUpdator * | clone () const override |
GsfBetheHeitlerUpdator (const std::string fileName, const int correctionFlag) | |
constructor with explicit filename and correction flag More... | |
Public Member Functions inherited from GsfMaterialEffectsUpdator | |
GsfMaterialEffectsUpdator (float mass, uint32_t is) | |
float | mass () const |
size_t | size () const |
virtual TrajectoryStateOnSurface | updateState (const TrajectoryStateOnSurface &TSoS, const PropagationDirection propDir) const |
virtual | ~GsfMaterialEffectsUpdator () |
Private Member Functions | |
void | compute (const TrajectoryStateOnSurface &, const PropagationDirection, Effect[]) const override |
Computation: generates vectors of weights, means and standard deviations. More... | |
float | correctedFirstMean (const float, const GSContainer &) const |
Correction for mean of component 1. More... | |
float | correctedFirstVar (const float, const GSContainer &) const |
Correction for variance of component 1. More... | |
void | correctWeights (GSContainer &) const |
Correction for weight of component 1. More... | |
void | getMixtureParameters (const float, GSContainer &) const |
Filling of mixture (in terms of z=E/E0) More... | |
void | readParameters (const std::string) |
Read parametrization from file. More... | |
Polynomial | readPolynomial (std::ifstream &, const int) |
Read coefficients of one polynomial from file. More... | |
Private Attributes | |
int | theCorrectionFlag |
values to be transformed by logistic / exp. function? More... | |
int | theNrComponents |
Polynomial | thePolyMeans [MaxSize] |
parametrisation of weight for each component More... | |
Polynomial | thePolyVars [MaxSize] |
parametrisation of mean for each componentP More... | |
Polynomial | thePolyWeights [MaxSize] |
correction of 1st or 1st&2nd moments More... | |
int | theTransformationCode |
number of components used for parameterisation More... | |
Static Private Attributes | |
static int | MaxOrder =6 |
static int | MaxSize =6 |
Additional Inherited Members | |
Protected Member Functions inherited from GsfMaterialEffectsUpdator | |
void | resize (size_t is) |
Description of electron energy loss according to Bethe-Heitler as a sum of Gaussian components. The weights and parameters of the Gaussians as a function of x/X0 are parametrized as polynomials. The coefficients of these polynomials are read from a file at construction time.
Definition at line 22 of file GsfBetheHeitlerUpdator.h.
Enumerator | |
---|---|
NoCorrection | |
MeanCorrection | |
FullCorrection |
Definition at line 55 of file GsfBetheHeitlerUpdator.h.
GsfBetheHeitlerUpdator::GsfBetheHeitlerUpdator | ( | const std::string | fileName, |
const int | correctionFlag | ||
) |
constructor with explicit filename and correction flag
Definition at line 56 of file GsfBetheHeitlerUpdator.cc.
References readParameters(), GsfMaterialEffectsUpdator::resize(), theCorrectionFlag, and theNrComponents.
Referenced by clone().
|
inlineoverridevirtual |
Implements GsfMaterialEffectsUpdator.
Definition at line 58 of file GsfBetheHeitlerUpdator.h.
References MillePedeFileConverter_cfg::fileName, GsfBetheHeitlerUpdator(), and AlCaHLTBitMon_QueryRunRegistry::string.
|
overrideprivatevirtual |
Computation: generates vectors of weights, means and standard deviations.
Implements GsfMaterialEffectsUpdator.
Definition at line 107 of file GsfBetheHeitlerUpdator.cc.
References alongMomentum, correctedFirstMean(), correctedFirstVar(), correctWeights(), materialEffect::Effect::deltaCov, materialEffect::Effect::deltaP, materialEffect::elos, f, getMixtureParameters(), mps_fire::i, MediumProperties::isValid(), TrajectoryStateOnSurface::localMomentum(), PV3DBase< T, PVType, FrameType >::mag(), Surface::mediumProperties(), AlCaHLTBitMon_ParallelJobs::p, MediumProperties::radLen(), TrajectoryStateOnSurface::surface(), theCorrectionFlag, theNrComponents, materialEffect::Effect::weight, and PV3DBase< T, PVType, FrameType >::z().
|
private |
Correction for mean of component 1.
Definition at line 223 of file GsfBetheHeitlerUpdator.cc.
References GsfBetheHeitlerUpdator::GSContainer::first, mps_fire::i, SiStripPI::max, SiStripPI::mean, min(), GsfBetheHeitlerUpdator::GSContainer::second, and theNrComponents.
Referenced by compute().
|
private |
Correction for variance of component 1.
Definition at line 241 of file GsfBetheHeitlerUpdator.cc.
References GsfBetheHeitlerUpdator::GSContainer::first, mps_fire::i, SiStripPI::max, GsfBetheHeitlerUpdator::GSContainer::second, theNrComponents, GsfBetheHeitlerUpdator::GSContainer::third, and JetChargeProducer_cfi::var.
Referenced by compute().
|
private |
Correction for weight of component 1.
Definition at line 204 of file GsfBetheHeitlerUpdator.cc.
References GsfBetheHeitlerUpdator::GSContainer::first, mps_fire::i, and theNrComponents.
Referenced by compute().
|
private |
Filling of mixture (in terms of z=E/E0)
Definition at line 176 of file GsfBetheHeitlerUpdator.cc.
References GsfBetheHeitlerUpdator::GSContainer::first, mps_fire::i, GsfBetheHeitlerUpdator::GSContainer::second, theNrComponents, thePolyMeans, thePolyVars, thePolyWeights, theTransformationCode, GsfBetheHeitlerUpdator::GSContainer::third, and z.
Referenced by compute().
|
private |
Read parametrization from file.
Definition at line 73 of file GsfBetheHeitlerUpdator.cc.
References MillePedeFileConverter_cfg::fileName, edm::FileInPath::fullPath(), MaxOrder, dataset::name, readPolynomial(), AlCaHLTBitMon_QueryRunRegistry::string, theNrComponents, thePolyMeans, thePolyVars, thePolyWeights, and theTransformationCode.
Referenced by GsfBetheHeitlerUpdator().
|
private |
Read coefficients of one polynomial from file.
Definition at line 99 of file GsfBetheHeitlerUpdator.cc.
References mps_fire::i.
Referenced by readParameters().
|
staticprivate |
Definition at line 26 of file GsfBetheHeitlerUpdator.h.
Referenced by readParameters().
|
staticprivate |
Definition at line 25 of file GsfBetheHeitlerUpdator.h.
|
private |
values to be transformed by logistic / exp. function?
Definition at line 94 of file GsfBetheHeitlerUpdator.h.
Referenced by compute(), and GsfBetheHeitlerUpdator().
|
private |
Definition at line 92 of file GsfBetheHeitlerUpdator.h.
Referenced by compute(), correctedFirstMean(), correctedFirstVar(), correctWeights(), getMixtureParameters(), GsfBetheHeitlerUpdator(), and readParameters().
|
private |
parametrisation of weight for each component
Definition at line 97 of file GsfBetheHeitlerUpdator.h.
Referenced by getMixtureParameters(), and readParameters().
|
private |
parametrisation of mean for each componentP
Definition at line 98 of file GsfBetheHeitlerUpdator.h.
Referenced by getMixtureParameters(), and readParameters().
|
private |
correction of 1st or 1st&2nd moments
Definition at line 96 of file GsfBetheHeitlerUpdator.h.
Referenced by getMixtureParameters(), and readParameters().
|
private |
number of components used for parameterisation
Definition at line 93 of file GsfBetheHeitlerUpdator.h.
Referenced by getMixtureParameters(), and readParameters().