22 const unsigned int mono) {
24 theCombinedPredictedState =
29 if (!theCombinedPredictedState.isValid()) {
33 iidd = theHit->geographicalId().rawId();
35 unsigned int subid =
strip.subdetId();
42 float sigmaYBond = 0.;
51 if ((mono > 0) && isDoubleSided(iidd, tTopo)) {
53 unsigned int matched_iidd = iidd - (iidd & 0x3);
54 DetId matched_id(matched_iidd);
67 theCombinedPredictedState =
propagator.propagate(theCombinedPredictedState, surface);
69 if (!theCombinedPredictedState.isValid()) {
70 cout <<
"found invalid combinedpredictedstate after propagation" << endl;
75 if ((iidd & 0x3) == 0) {
78 hasValidHit = theHit->isValid();
81 if (iidd == mono_id) {
84 hasValidHit = theHit->isValid();
97 monodet = theHit->det();
98 hasValidHit = theHit->isValid();
101 locX = theCombinedPredictedState.localPosition().x();
102 locY = theCombinedPredictedState.localPosition().y();
103 locZ = theCombinedPredictedState.localPosition().z();
104 locXError =
sqrt(theCombinedPredictedState.localError().positionError().xx());
105 locYError =
sqrt(theCombinedPredictedState.localError().positionError().yy());
106 locDxDz = theCombinedPredictedState.localParameters().vector()[1];
107 locDyDz = theCombinedPredictedState.localParameters().vector()[2];
108 globX = theCombinedPredictedState.globalPosition().x();
109 globY = theCombinedPredictedState.globalPosition().y();
110 globZ = theCombinedPredictedState.globalPosition().z();
131 zz = theCombinedPredictedState.localPosition().z();
162 unsigned int subid =
strip.subdetId();
163 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
static constexpr auto TID
TSOS combine(const TSOS &pTsos1, const TSOS &pTsos2) const
ConstRecHitPointer const & recHit() const
bool withinAcceptance() const
const Bounds & bounds() const