#include <GsfBetheHeitlerUpdator.h>
Classes | |
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 | |
virtual GsfBetheHeitlerUpdator * | clone () const |
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 Types | |
typedef Triplet< float, float, float > | GSContainer |
Private Member Functions | |
virtual void | compute (const TrajectoryStateOnSurface &, const PropagationDirection, Effect[]) const |
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 26 of file GsfBetheHeitlerUpdator.h.
|
private |
Definition at line 72 of file GsfBetheHeitlerUpdator.h.
Enumerator | |
---|---|
NoCorrection | |
MeanCorrection | |
FullCorrection |
Definition at line 59 of file GsfBetheHeitlerUpdator.h.
GsfBetheHeitlerUpdator::GsfBetheHeitlerUpdator | ( | const std::string | fileName, |
const int | correctionFlag | ||
) |
constructor with explicit filename and correction flag
Definition at line 46 of file GsfBetheHeitlerUpdator.cc.
References assert(), readParameters(), GsfMaterialEffectsUpdator::resize(), theCorrectionFlag, and theNrComponents.
Referenced by clone().
|
inlinevirtual |
Implements GsfMaterialEffectsUpdator.
Definition at line 62 of file GsfBetheHeitlerUpdator.h.
References GsfBetheHeitlerUpdator().
|
privatevirtual |
Computation: generates vectors of weights, means and standard deviations.
Implements GsfMaterialEffectsUpdator.
Definition at line 97 of file GsfBetheHeitlerUpdator.cc.
References alongMomentum, correctedFirstMean(), correctedFirstVar(), correctWeights(), materialEffect::Effect::deltaCov, materialEffect::Effect::deltaP, materialEffect::elos, f, Triplet< T1, T2, T3 >::first, getMixtureParameters(), i, MediumProperties::isValid(), TrajectoryStateOnSurface::localMomentum(), PV3DBase< T, PVType, FrameType >::mag(), Surface::mediumProperties(), AlCaHLTBitMon_ParallelJobs::p, MediumProperties::radLen(), Triplet< T1, T2, T3 >::second, TrajectoryStateOnSurface::surface(), theCorrectionFlag, theNrComponents, Triplet< T1, T2, T3 >::third, materialEffect::Effect::weight, and PV3DBase< T, PVType, FrameType >::z().
|
private |
Correction for mean of component 1.
Definition at line 212 of file GsfBetheHeitlerUpdator.cc.
References f, plotBeamSpotDB::first, i, bookConverter::max, timingPdfMaker::mean, min(), edm::second(), and theNrComponents.
Referenced by compute().
|
private |
Correction for variance of component 1.
Definition at line 230 of file GsfBetheHeitlerUpdator.cc.
References f, Triplet< T1, T2, T3 >::first, plotBeamSpotDB::first, i, bookConverter::max, Triplet< T1, T2, T3 >::second, edm::second(), theNrComponents, and MetTreeProducer::var().
Referenced by compute().
|
private |
Correction for weight of component 1.
Definition at line 194 of file GsfBetheHeitlerUpdator.cc.
References plotBeamSpotDB::first, i, and theNrComponents.
Referenced by compute().
|
private |
Filling of mixture (in terms of z=E/E0)
Definition at line 169 of file GsfBetheHeitlerUpdator.cc.
References i, theNrComponents, thePolyMeans, thePolyVars, thePolyWeights, theTransformationCode, histoStyle::weight, and detailsBasic3DVector::z.
Referenced by compute().
|
private |
Read parametrization from file.
Definition at line 63 of file GsfBetheHeitlerUpdator.cc.
References assert(), MillePedeFileConverter_cfg::fileName, edm::FileInPath::fullPath(), MaxOrder, mergeVDriftHistosByStation::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 89 of file GsfBetheHeitlerUpdator.cc.
References i.
Referenced by readParameters().
|
staticprivate |
Definition at line 30 of file GsfBetheHeitlerUpdator.h.
Referenced by readParameters().
|
staticprivate |
Definition at line 29 of file GsfBetheHeitlerUpdator.h.
|
private |
values to be transformed by logistic / exp. function?
Definition at line 98 of file GsfBetheHeitlerUpdator.h.
Referenced by compute(), and GsfBetheHeitlerUpdator().
|
private |
Definition at line 96 of file GsfBetheHeitlerUpdator.h.
Referenced by compute(), correctedFirstMean(), correctedFirstVar(), correctWeights(), getMixtureParameters(), GsfBetheHeitlerUpdator(), and readParameters().
|
private |
parametrisation of weight for each component
Definition at line 101 of file GsfBetheHeitlerUpdator.h.
Referenced by getMixtureParameters(), and readParameters().
|
private |
parametrisation of mean for each componentP
Definition at line 102 of file GsfBetheHeitlerUpdator.h.
Referenced by getMixtureParameters(), and readParameters().
|
private |
correction of 1st or 1st&2nd moments
Definition at line 100 of file GsfBetheHeitlerUpdator.h.
Referenced by getMixtureParameters(), and readParameters().
|
private |
number of components used for parameterisation
Definition at line 97 of file GsfBetheHeitlerUpdator.h.
Referenced by getMixtureParameters(), and readParameters().