#include <StripCPEfromTrackAngle.h>
Public Member Functions | |
StripClusterParameterEstimator::LocalValues | localParameters (const SiStripCluster &, const LocalTrajectoryParameters &) const |
StripClusterParameterEstimator::LocalValues | localParameters (const SiStripCluster &, const GeomDetUnit &, const LocalTrajectoryParameters &) const |
StripCPEfromTrackAngle (edm::ParameterSet &conf, const MagneticField &mag, const TrackerGeometry &geom, const SiStripLorentzAngle &lorentz, const SiStripConfObject &confObj, const SiStripLatency &latency) | |
Private Member Functions | |
float | stripErrorSquared (const unsigned, const float) const |
Definition at line 6 of file StripCPEfromTrackAngle.h.
StripCPEfromTrackAngle::StripCPEfromTrackAngle | ( | edm::ParameterSet & | conf, |
const MagneticField & | mag, | ||
const TrackerGeometry & | geom, | ||
const SiStripLorentzAngle & | lorentz, | ||
const SiStripConfObject & | confObj, | ||
const SiStripLatency & | latency | ||
) | [inline] |
Definition at line 17 of file StripCPEfromTrackAngle.h.
: StripCPE(conf, mag, geom, lorentz, confObj, latency ) {}
StripClusterParameterEstimator::LocalValues StripCPEfromTrackAngle::localParameters | ( | const SiStripCluster & | cluster, |
const LocalTrajectoryParameters & | ltp | ||
) | const |
Definition at line 11 of file StripCPEfromTrackAngle.cc.
References SiStripCluster::amplitudes(), SiStripCluster::barycenter(), StripCPE::Param::coveredStrips(), StripCPE::Param::drift, SiStripCluster::geographicalId(), StripTopology::localError(), StripTopology::localPosition(), StripCPE::Param::maxLength, StripCPE::Param::moduleGeom, LocalTrajectoryParameters::momentum(), MultiGaussianStateTransform::N, L1TEmulatorMonitor_cff::p, StripCPE::param(), LocalTrajectoryParameters::position(), StripCPE::shift, strip(), stripErrorSquared(), StripCPE::Param::thickness, StripCPE::Param::topology, ExpressReco_HICollisions_FallBack::track, and LocalTrajectoryParameters::vector().
Referenced by localParameters().
{ StripCPE::Param const & p = param(cluster.geographicalId()); LocalVector track = ltp.momentum(); track *= (track.z()<0) ? fabs(p.thickness/track.z()) : (track.z()>0) ? -fabs(p.thickness/track.z()) : p.maxLength/track.mag() ; const unsigned N = cluster.amplitudes().size(); const float fullProjection = p.coveredStrips( track+p.drift, ltp.position()); const float uerr2 = stripErrorSquared( N, fabs(fullProjection) ); const float strip = cluster.barycenter() - 0.5*(1-shift[p.moduleGeom]) * fullProjection + 0.5*p.coveredStrips(track, ltp.position()); return std::make_pair( p.topology->localPosition(strip, ltp.vector()), p.topology->localError(strip, uerr2, ltp.vector()) ); }
StripClusterParameterEstimator::LocalValues StripCPEfromTrackAngle::localParameters | ( | const SiStripCluster & | cluster, |
const GeomDetUnit & | det, | ||
const LocalTrajectoryParameters & | ltp | ||
) | const [virtual] |
Reimplemented from ClusterParameterEstimator< SiStripCluster >.
Definition at line 6 of file StripCPEfromTrackAngle.cc.
References localParameters().
{ return localParameters(cluster,ltp); }
float StripCPEfromTrackAngle::stripErrorSquared | ( | const unsigned | N, |
const float | uProj | ||
) | const [inline, private] |
Definition at line 32 of file StripCPEfromTrackAngle.cc.
References funct::exp().
Referenced by localParameters().