#include <TrackingTools/TransientTrackingRecHit/interface/TransientTrackingRecHit.h>
Public Types | |
typedef std::vector < ConstRecHitPointer > | ConstRecHitContainer |
typedef ConstReferenceCountingPointer < TransientTrackingRecHit > | ConstRecHitPointer |
typedef std::vector < ConstRecHitPointer > | RecHitContainer |
typedef ReferenceCountingPointer < TransientTrackingRecHit > | RecHitPointer |
Public Member Functions | |
virtual bool | canImproveWithTrack () const |
Returns true if the clone( const TrajectoryStateOnSurface&) method returns an improved hit, false if it returns an identical copy. | |
virtual RecHitPointer | clone (const TrajectoryStateOnSurface &ts) const |
Returns a copy of the hit with parameters and errors computed with respect to the TrajectoryStateOnSurface given as argument. | |
const GeomDet * | det () const |
The GomeDet* can be zero for InvalidTransientRecHits and for TConstraintRecHit2Ds. | |
virtual const GeomDetUnit * | detUnit () const |
CAUTION: the GeomDetUnit* is zero for composite hits (matched hits in the tracker, segments in the muon). | |
float | errorGlobalR () const |
float | errorGlobalRPhi () const |
float | errorGlobalZ () const |
float | getAnnealingFactor () const |
virtual GlobalPoint | globalPosition () const |
virtual GlobalError | globalPositionError () const |
virtual const TrackingRecHit * | hit () const =0 |
void | setAnnealingFactor (float annealing) |
interface needed to set and read back an annealing value that has been applied to the current hit error matrix when using it as a component for a composite rec hit (useful for the DAF) | |
void | setWeight (float weight) |
interface needed to set the transient hit weight and to read it back | |
virtual const Surface * | surface () const |
virtual ConstRecHitContainer | transientHits () const |
Composite interface: returns the component hits, if any. | |
TransientTrackingRecHit (const GeomDet *geom, TrackingRecHit const &rh, float weight=1., float annealing=1.) | |
TransientTrackingRecHit (const GeomDet *geom, TrackingRecHit::id_type id, Type type=valid, float weight=1., float annealing=1.) | |
TransientTrackingRecHit (const GeomDet *geom, DetId id, Type type=valid, float weight=1., float annealing=1.) | |
TransientTrackingRecHit (const GeomDet *geom=0, float weight=1., float annealing=1.) | |
float | weight () const |
Private Member Functions | |
virtual TransientTrackingRecHit * | clone () const =0 |
void | setPositionErrors () const |
Private Attributes | |
float | annealing_ |
float | errorR_ |
float | errorRPhi_ |
float | errorZ_ |
const GeomDet * | geom_ |
GlobalError | globalError_ |
GlobalPoint | globalPosition_ |
bool | hasGlobalError_ |
bool | hasGlobalPosition_ |
float | weight_ |
Definition at line 13 of file TransientTrackingRecHit.h.
typedef std::vector<ConstRecHitPointer> TransientTrackingRecHit::ConstRecHitContainer |
Definition at line 22 of file TransientTrackingRecHit.h.
typedef ConstReferenceCountingPointer< TransientTrackingRecHit> TransientTrackingRecHit::ConstRecHitPointer |
Definition at line 20 of file TransientTrackingRecHit.h.
typedef std::vector<ConstRecHitPointer> TransientTrackingRecHit::RecHitContainer |
Definition at line 21 of file TransientTrackingRecHit.h.
Definition at line 19 of file TransientTrackingRecHit.h.
TransientTrackingRecHit::TransientTrackingRecHit | ( | const GeomDet * | geom = 0 , |
|
float | weight = 1. , |
|||
float | annealing = 1. | |||
) | [inline, explicit] |
Definition at line 24 of file TransientTrackingRecHit.h.
00024 : 00025 TrackingRecHit(geom ? geom->geographicalId().rawId() : 0), 00026 geom_(geom), weight_(weight), annealing_(annealing), 00027 globalPosition_(0,0,0),hasGlobalPosition_(false), 00028 globalError_(GlobalError::NullMatrix()),errorR_(0),errorZ_(0),errorRPhi_(0),hasGlobalError_(false){}
TransientTrackingRecHit::TransientTrackingRecHit | ( | const GeomDet * | geom, | |
DetId | id, | |||
Type | type = valid , |
|||
float | weight = 1. , |
|||
float | annealing = 1. | |||
) | [inline, explicit] |
Definition at line 30 of file TransientTrackingRecHit.h.
00030 : 00031 TrackingRecHit(id, type), 00032 geom_(geom), weight_(weight), annealing_(annealing), 00033 globalPosition_(0,0,0),hasGlobalPosition_(false), 00034 globalError_(GlobalError::NullMatrix()),errorR_(0),errorZ_(0),errorRPhi_(0),hasGlobalError_(false){}
TransientTrackingRecHit::TransientTrackingRecHit | ( | const GeomDet * | geom, | |
TrackingRecHit::id_type | id, | |||
Type | type = valid , |
|||
float | weight = 1. , |
|||
float | annealing = 1. | |||
) | [inline, explicit] |
Definition at line 36 of file TransientTrackingRecHit.h.
00036 : 00037 TrackingRecHit(id, type), 00038 geom_(geom), weight_(weight), annealing_(annealing), 00039 globalPosition_(0,0,0),hasGlobalPosition_(false), 00040 globalError_(GlobalError::NullMatrix()),errorR_(0),errorZ_(0),errorRPhi_(0),hasGlobalError_(false){}
TransientTrackingRecHit::TransientTrackingRecHit | ( | const GeomDet * | geom, | |
TrackingRecHit const & | rh, | |||
float | weight = 1. , |
|||
float | annealing = 1. | |||
) | [inline, explicit] |
Definition at line 42 of file TransientTrackingRecHit.h.
00042 : 00043 TrackingRecHit(rh.geographicalId(), rh.type()), 00044 geom_(geom), weight_(weight), annealing_(annealing), 00045 globalPosition_(0,0,0),hasGlobalPosition_(false), 00046 globalError_(GlobalError::NullMatrix()),errorR_(0),errorZ_(0),errorRPhi_(0),hasGlobalError_(false){}
virtual bool TransientTrackingRecHit::canImproveWithTrack | ( | ) | const [inline, virtual] |
Returns true if the clone( const TrajectoryStateOnSurface&) method returns an improved hit, false if it returns an identical copy.
In order to avoid redundent copies one should call canImproveWithTrack() before calling clone( const TrajectoryStateOnSurface&).
Reimplemented in GenericProjectedRecHit2D, TRecHit1DMomConstraint, TRecHit2DPosConstraint, TSiPixelRecHit, TSiStripMatchedRecHit, TSiStripRecHit2DLocalPos, TSiTrackerMultiRecHit, GenericTransientTrackingRecHit, TransientTrackingRecHitByValue< RecHit >, and TransientTrackingRecHitByValue< InvalidTrackingRecHit >.
Definition at line 78 of file TransientTrackingRecHit.h.
virtual TransientTrackingRecHit* TransientTrackingRecHit::clone | ( | ) | const [private, pure virtual] |
Implements TrackingRecHit.
Implemented in MuonTransientTrackingRecHit, GenericProjectedRecHit2D, ProjectedRecHit2D, TRecHit1DMomConstraint, TRecHit2DPosConstraint, TSiPixelRecHit, TSiStripMatchedRecHit, TSiStripRecHit2DLocalPos, TSiTrackerMultiRecHit, GenericTransientTrackingRecHit, InvalidTransientRecHit, TransientTrackingRecHitByValue< RecHit >, and TransientTrackingRecHitByValue< InvalidTrackingRecHit >.
TransientTrackingRecHit::RecHitPointer TransientTrackingRecHit::clone | ( | const TrajectoryStateOnSurface & | ts | ) | const [virtual] |
Returns a copy of the hit with parameters and errors computed with respect to the TrajectoryStateOnSurface given as argument.
For concrete hits not capable to improve their parameters and errors this method returns an exact copy, and is equivalent to clone() without arguments.
Reimplemented in GenericProjectedRecHit2D, ProjectedRecHit2D, TRecHit1DMomConstraint, TRecHit2DPosConstraint, TSiPixelRecHit, TSiStripMatchedRecHit, TSiStripRecHit2DLocalPos, and TSiTrackerMultiRecHit.
Definition at line 78 of file TransientTrackingRecHit.cc.
Referenced by KFTrajectoryFitter::fit().
00078 { 00079 return RecHitPointer(const_cast<TransientTrackingRecHit*>(this)); 00080 }
const GeomDet* TransientTrackingRecHit::det | ( | ) | const [inline] |
The GomeDet* can be zero for InvalidTransientRecHits and for TConstraintRecHit2Ds.
Reimplemented in TRecHit1DMomConstraint, and TRecHit2DPosConstraint.
Definition at line 53 of file TransientTrackingRecHit.h.
References geom_.
Referenced by TSiStripMatchedRecHit::clone(), GenericProjectedRecHit2D::clone(), TSiPixelRecHit::clone(), TSiStripRecHit2DLocalPos::clone(), ProjectedRecHit2D::clone(), TSiPixelRecHit::detUnit(), TSiTrackerMultiRecHit::detUnit(), detUnit(), TSiStripRecHit2DLocalPos::detUnit(), ForwardMeasurementEstimator::estimate(), InsideBoundsMeasurementEstimator::estimate(), BarrelMeasurementEstimator::estimate(), GenericProjectedRecHit2D::geographicalId(), TSiStripMatchedRecHit::getKfComponents(), TSiPixelRecHit::getKfComponents(), ProjectedRecHit2D::getKfComponents(), TSiTrackerMultiRecHit::getKfComponents(), TSiStripRecHit2DLocalPos::getKfComponents(), MuonTransientTrackingRecHit::globalDirection(), MuonTransientTrackingRecHit::globalDirectionError(), CurrentAlignmentKFUpdator::includeCurrentAlignmentEstimate(), TSiStripMatchedRecHit::parametersError(), TSiStripRecHit2DLocalPos::parametersError(), MuonTransientTrackingRecHit::parametersError(), TSiTrackerMultiRecHit::parametersError(), TSiPixelRecHit::parametersError(), GenericProjectedRecHit2D::parametersError(), ProjectedRecHit2D::parametersError(), TrackingRecHitProjector< ResultingHit >::project(), RecHitPropagator::propagate(), InvalidTransientRecHit::surface(), ClusterShapeTrajectoryFilter::toBeContinued(), MuonTransientTrackingRecHit::transientHits(), and TSiStripMatchedRecHit::transientHits().
00053 {return geom_;}
const GeomDetUnit * TransientTrackingRecHit::detUnit | ( | ) | const [virtual] |
CAUTION: the GeomDetUnit* is zero for composite hits (matched hits in the tracker, segments in the muon).
Always check this pointer before using it!
Reimplemented in ProjectedRecHit2D, TRecHit1DMomConstraint, TRecHit2DPosConstraint, TSiPixelRecHit, TSiStripMatchedRecHit, TSiStripRecHit2DLocalPos, and TSiTrackerMultiRecHit.
Definition at line 6 of file TransientTrackingRecHit.cc.
References det().
Referenced by Chi2Strip1DEstimator::estimate(), Chi2StripEstimator::estimate(), Chi2Switching1DEstimator::estimate(), Chi2SwitchingEstimator::estimate(), StripMeasurementTransformator::init(), Strip1DMeasurementTransformator::init(), KFSwitching1DUpdator::update(), and KFSwitchingUpdator::update().
00007 { 00008 return dynamic_cast<const GeomDetUnit*>(det()); 00009 }
float TransientTrackingRecHit::errorGlobalR | ( | ) | const |
Definition at line 33 of file TransientTrackingRecHit.cc.
References errorR_, hasGlobalError_, and setPositionErrors().
00033 { 00034 if(!hasGlobalError_){ 00035 setPositionErrors(); 00036 return errorR_; 00037 }else{ 00038 return errorR_; 00039 } 00040 }
float TransientTrackingRecHit::errorGlobalRPhi | ( | ) | const |
Definition at line 53 of file TransientTrackingRecHit.cc.
References errorRPhi_, hasGlobalError_, and setPositionErrors().
00053 { 00054 if(!hasGlobalError_){ 00055 setPositionErrors(); 00056 return errorRPhi_; 00057 }else{ 00058 return errorRPhi_; 00059 } 00060 }
float TransientTrackingRecHit::errorGlobalZ | ( | ) | const |
Definition at line 43 of file TransientTrackingRecHit.cc.
References errorZ_, hasGlobalError_, and setPositionErrors().
00043 { 00044 if(!hasGlobalError_){ 00045 setPositionErrors(); 00046 return errorZ_; 00047 }else{ 00048 return errorZ_; 00049 } 00050 }
float TransientTrackingRecHit::getAnnealingFactor | ( | ) | const [inline] |
Definition at line 95 of file TransientTrackingRecHit.h.
References annealing_.
Referenced by TSiStripMatchedRecHit::clone(), TSiPixelRecHit::clone(), TSiStripRecHit2DLocalPos::clone(), ProjectedRecHit2D::clone(), and MRHChi2MeasurementEstimator::estimate().
00095 {return annealing_;}
GlobalPoint TransientTrackingRecHit::globalPosition | ( | ) | const [virtual] |
Definition at line 12 of file TransientTrackingRecHit.cc.
References globalPosition_, hasGlobalPosition_, TrackingRecHit::localPosition(), surface(), and Surface::toGlobal().
Referenced by ConversionBarrelEstimator::estimate(), cms::HICSeedMeasurementEstimator::estimate(), ConversionForwardEstimator::estimate(), KFTrajectoryFitter::fit(), OuterHitCompatibility::operator()(), TrackingRecHitProjector< ResultingHit >::project(), and setPositionErrors().
00012 { 00013 if(! hasGlobalPosition_){ 00014 globalPosition_ = surface()->toGlobal(localPosition()); 00015 hasGlobalPosition_ = true; 00016 return globalPosition_; 00017 }else{ 00018 return globalPosition_; 00019 } 00020 }
GlobalError TransientTrackingRecHit::globalPositionError | ( | ) | const [virtual] |
Definition at line 22 of file TransientTrackingRecHit.cc.
References globalError_, hasGlobalError_, and setPositionErrors().
00022 { 00023 if(! hasGlobalError_){ 00024 setPositionErrors(); 00025 return globalError_; 00026 }else{ 00027 return globalError_; 00028 } 00029 00030 }
virtual const TrackingRecHit* TransientTrackingRecHit::hit | ( | ) | const [pure virtual] |
Implemented in GenericProjectedRecHit2D, TRecHit1DMomConstraint, TRecHit2DPosConstraint, TSiPixelRecHit, TSiStripRecHit2DLocalPos, TSiTrackerMultiRecHit, GenericTransientTrackingRecHit, TransientTrackingRecHitByValue< RecHit >, and TransientTrackingRecHitByValue< InvalidTrackingRecHit >.
Referenced by HitComparator::operator()(), ClusterShapeTrajectoryFilter::toBeContinued(), and KFUpdator::update().
void TransientTrackingRecHit::setAnnealingFactor | ( | float | annealing | ) | [inline] |
interface needed to set and read back an annealing value that has been applied to the current hit error matrix when using it as a component for a composite rec hit (useful for the DAF)
Definition at line 93 of file TransientTrackingRecHit.h.
References annealing_.
00093 {annealing_ = annealing;}
void TransientTrackingRecHit::setPositionErrors | ( | ) | const [private] |
Definition at line 63 of file TransientTrackingRecHit.cc.
References GlobalErrorBase< T, ErrorWeightType >::czz(), errorR_, errorRPhi_, errorZ_, globalError_, globalPosition(), hasGlobalError_, TrackingRecHit::localPositionError(), PV3DBase< T, PVType, FrameType >::perp(), GlobalErrorBase< T, ErrorWeightType >::phierr(), GlobalErrorBase< T, ErrorWeightType >::rerr(), funct::sqrt(), and surface().
Referenced by errorGlobalR(), errorGlobalRPhi(), errorGlobalZ(), and globalPositionError().
00063 { 00064 globalError_ = ErrorFrameTransformer().transform( localPositionError(), *surface() ); 00065 errorRPhi_ = globalPosition().perp()*sqrt(globalError_.phierr(globalPosition())); 00066 errorR_ = sqrt(globalError_.rerr(globalPosition())); 00067 errorZ_ = sqrt(globalError_.czz()); 00068 hasGlobalError_ = true; 00069 }
void TransientTrackingRecHit::setWeight | ( | float | weight | ) | [inline] |
interface needed to set the transient hit weight and to read it back
Definition at line 86 of file TransientTrackingRecHit.h.
References weight_.
virtual const Surface* TransientTrackingRecHit::surface | ( | ) | const [inline, virtual] |
Reimplemented in TRecHit1DMomConstraint, TRecHit2DPosConstraint, and InvalidTransientRecHit.
Definition at line 54 of file TransientTrackingRecHit.h.
References geom_, and GeomDet::surface().
Referenced by AlignmentMonitorMuonResiduals::event(), KFTrajectoryFitter::fit(), MuonTransientTrackingRecHit::globalDirection(), MuonTransientTrackingRecHit::globalDirectionError(), globalPosition(), MuonTransientTrackingRecHit::parametersError(), and setPositionErrors().
TransientTrackingRecHit::ConstRecHitContainer TransientTrackingRecHit::transientHits | ( | ) | const [virtual] |
Composite interface: returns the component hits, if any.
Reimplemented in MuonTransientTrackingRecHit, ProjectedRecHit2D, TSiStripMatchedRecHit, and TSiTrackerMultiRecHit.
Definition at line 71 of file TransientTrackingRecHit.cc.
Referenced by MRHChi2MeasurementEstimator::estimate().
00072 { 00073 // no components by default 00074 return ConstRecHitContainer(); 00075 }
float TransientTrackingRecHit::weight | ( | ) | const [inline, virtual] |
Reimplemented from TrackingRecHit.
Definition at line 88 of file TransientTrackingRecHit.h.
References weight_.
Referenced by TSiStripRecHit2DLocalPos::build(), ProjectedRecHit2D::build(), TSiPixelRecHit::build(), TSiStripMatchedRecHit::build(), TSiStripMatchedRecHit::clone(), TSiPixelRecHit::clone(), TSiStripRecHit2DLocalPos::clone(), and ProjectedRecHit2D::clone().
00088 {return weight_;}
float TransientTrackingRecHit::annealing_ [private] |
Definition at line 103 of file TransientTrackingRecHit.h.
Referenced by getAnnealingFactor(), and setAnnealingFactor().
float TransientTrackingRecHit::errorR_ [mutable, private] |
Definition at line 109 of file TransientTrackingRecHit.h.
Referenced by errorGlobalR(), and setPositionErrors().
float TransientTrackingRecHit::errorRPhi_ [mutable, private] |
Definition at line 109 of file TransientTrackingRecHit.h.
Referenced by errorGlobalRPhi(), and setPositionErrors().
float TransientTrackingRecHit::errorZ_ [mutable, private] |
Definition at line 109 of file TransientTrackingRecHit.h.
Referenced by errorGlobalZ(), and setPositionErrors().
const GeomDet* TransientTrackingRecHit::geom_ [private] |
GlobalError TransientTrackingRecHit::globalError_ [mutable, private] |
Definition at line 108 of file TransientTrackingRecHit.h.
Referenced by globalPositionError(), and setPositionErrors().
GlobalPoint TransientTrackingRecHit::globalPosition_ [mutable, private] |
bool TransientTrackingRecHit::hasGlobalError_ [mutable, private] |
Definition at line 110 of file TransientTrackingRecHit.h.
Referenced by errorGlobalR(), errorGlobalRPhi(), errorGlobalZ(), globalPositionError(), and setPositionErrors().
bool TransientTrackingRecHit::hasGlobalPosition_ [mutable, private] |
float TransientTrackingRecHit::weight_ [private] |