9 #undef RecoTracker_TransientTrackingRecHit_TSiStripMatchedRecHit_RefitProj
10 #undef RecoTracker_TransientTrackingRecHit_TSiStripMatchedRecHit_RefitLGL
11 #ifdef RecoTracker_TransientTrackingRecHit_TSiStripMatchedRecHit_RefitLGL
19 #elif defined(RecoTracker_TransientTrackingRecHit_TSiStripMatchedRecHit_RefitProj)
35 TSiStripMatchedRecHit::RecHitPointer
38 if (theMatcher != 0) {
39 const SiStripMatchedRecHit2D *orig =
static_cast<const SiStripMatchedRecHit2D *
> (this->
hit());
40 const GeomDet *det = this->det();
56 theCPE->localParameters( monoclust, *gdet->
monoDet(), ts);
60 SiStripRecHit2D monoHit = SiStripRecHit2D( lvMono.first, lvMono.second,
62 orig->monoClusterRef());
64 SiStripRecHit2D stereoHit = SiStripRecHit2D( lvStereo.first, lvStereo.second,
66 orig->stereoClusterRef());
67 const SiStripMatchedRecHit2D* better = theMatcher->match(&monoHit,&stereoHit,gdet,tkDir);
74 return RecHitPointer(
new TSiStripMatchedRecHit( gdet, better, theMatcher,theCPE,
false, DontCloneRecHit()));
98 TSiStripMatchedRecHit::transientHits ()
const {
102 const SiStripMatchedRecHit2D *orig =
static_cast<const SiStripMatchedRecHit2D *
> (this->
hit());
104 if (theCPE!=
nullptr) {
110 theCPE->localParameters( monoclust, *gdet->
monoDet());
112 theCPE->localParameters( stereoclust, *gdet->
stereoDet());
115 orig->monoClusterRef(), theCPE));
117 orig->stereoClusterRef(), theCPE));
120 auto m = orig->monoHit();
auto s = orig->stereoHit();
127 void TSiStripMatchedRecHit::ComputeCoarseLocalPosition(){
128 if (!theCPE || !theMatcher)
return;
129 const SiStripMatchedRecHit2D *orig =
static_cast<const SiStripMatchedRecHit2D *
> (trackingRecHit_);
130 if ( (!orig) || orig->hasPositionAndError())
return;
132 LogDebug(
"TSiStripMatchedRecHit")<<
"calculating coarse position/error.";
133 const GeomDet *det = this->det();
141 theCPE->localParameters( monoclust, *gdet->
monoDet());
143 theCPE->localParameters( stereoclust, *gdet->
stereoDet());
145 SiStripRecHit2D monoHit = SiStripRecHit2D( lvMono.first, lvMono.second,
147 orig->monoClusterRef());
149 SiStripRecHit2D stereoHit = SiStripRecHit2D( lvStereo.first, lvStereo.second,
151 orig->stereoClusterRef());
152 SiStripMatchedRecHit2D* better = theMatcher->match(&monoHit,&stereoHit,gdet,tkDir);
155 edm::LogWarning(
"TSiStripMatchedRecHit")<<
"could not get a matching rechit.";
157 delete trackingRecHit_;
158 trackingRecHit_ = better;
TrackCharge charge() const
const GeomDetUnit * monoDet() const
const LocalTrajectoryParameters & localParameters() const
LocalVector localDirection() const
Global3DPoint GlobalPoint
GlobalPoint globalPosition() const
const LocalTrajectoryParameters & gluedToStereo(const TrajectoryStateOnSurface &tsos, const GluedGeomDet *gdet)
std::pair< LocalPoint, LocalError > LocalValues
const Plane & surface() const
The nominal surface of the GeomDet.
const Surface::PositionType & position() const
The position (origin of the R.F.)
LocalPoint toLocal(const GlobalPoint &gp) const
GlobalVector momentum() const
DetId geographicalId() const
The label of this GeomDet.
std::vector< ConstRecHitPointer > ConstRecHitContainer
const GlobalTrajectoryParameters & globalParameters() const
TransientTrackingRecHit::ConstRecHitContainer ConstRecHitContainer
const GeomDetUnit * stereoDet() const