23 const unsigned int mono) {
25 theCombinedPredictedState =
30 if (!theCombinedPredictedState.isValid()) {
34 iidd = theHit->geographicalId().rawId();
36 unsigned int subid =
strip.subdetId();
43 float sigmaYBond = 0.;
52 if ((mono > 0) && isDoubleSided(iidd, tTopo)) {
54 unsigned int matched_iidd = iidd - (iidd & 0x3);
55 DetId matched_id(matched_iidd);
68 theCombinedPredictedState =
propagator.propagate(theCombinedPredictedState, surface);
70 if (!theCombinedPredictedState.isValid()) {
71 edm::LogWarning(
"TrajectoryAtInvalidHit") <<
"found invalid combinedpredictedstate after propagation" << endl;
76 if ((iidd & 0x3) == 0) {
79 hasValidHit = theHit->isValid();
82 if (iidd == mono_id) {
85 hasValidHit = theHit->isValid();
98 monodet = theHit->det();
99 hasValidHit = theHit->isValid();
102 locX = theCombinedPredictedState.localPosition().x();
103 locY = theCombinedPredictedState.localPosition().y();
104 locZ = theCombinedPredictedState.localPosition().z();
105 locXError =
sqrt(theCombinedPredictedState.localError().positionError().xx());
106 locYError =
sqrt(theCombinedPredictedState.localError().positionError().yy());
107 locDxDz = theCombinedPredictedState.localParameters().vector()[1];
108 locDyDz = theCombinedPredictedState.localParameters().vector()[2];
109 globX = theCombinedPredictedState.globalPosition().x();
110 globY = theCombinedPredictedState.globalPosition().y();
111 globZ = theCombinedPredictedState.globalPosition().z();
132 zz = theCombinedPredictedState.localPosition().z();
163 unsigned int subid =
strip.subdetId();
164 unsigned int layer = 0;
static constexpr auto TEC
unsigned int tobLayer(const DetId &id) const
Point3DBase< Scalar, LocalTag > LocalPoint
virtual bool inside(const Local3DPoint &) const =0
Determine if the point is inside the bounds.
TrajectoryStateOnSurface tsos() const
TrajectoryStateOnSurface const & forwardPredictedState() const
Access to forward predicted state (from fitter or builder)
unsigned int monodet_id() const
unsigned int tecRing(const DetId &id) const
ring id
constexpr std::array< uint8_t, layerIndexSize > layer
double localErrorX() const
Abs< T >::type abs(const T &t)
TrajectoryStateOnSurface const & backwardPredictedState() const
Access to backward predicted state (from smoother)
static constexpr auto TOB
DetId geographicalId() const
The label of this GeomDet.
TrajectoryAtInvalidHit(const TrajectoryMeasurement &, const TrackerTopology *tTopo, const TrackerGeometry *tracker, const Propagator &propagator, const unsigned int mono=0)
const GeomDetUnit * monoDet() const
bool isDoubleSided(unsigned int iidd, const TrackerTopology *tTopo) const
static constexpr auto TIB
const Plane & surface() const
The nominal surface of the GeomDet.
constexpr uint32_t rawId() const
get the raw id
double localErrorY() const
const GeomDetUnit * stereoDet() const
unsigned int tidRing(const DetId &id) const
unsigned int tibLayer(const DetId &id) const
Log< level::Warning, false > LogWarning
static constexpr auto TID
TSOS combine(const TSOS &pTsos1, const TSOS &pTsos2) const
ConstRecHitPointer const & recHit() const
bool withinAcceptance() const
const Bounds & bounds() const