48 throw cms::Exception(
"DTHitPairForFit") <<
" localPosition called with undef LR code" << endl;
55 LocalPoint segPosAtZLeft = posIni + dirIni * (theLeftPos.z() - posIni.
z()) / dirIni.
z();
56 LocalPoint segPosAtZRight = posIni + dirIni * (theRightPos.z() - posIni.
z()) / dirIni.
z();
57 float dxLeft = fabs(theLeftPos.x() - segPosAtZLeft.
x());
58 float dxRight = fabs(theRightPos.x() - segPosAtZRight.
x());
59 float exx =
sqrt(theError.xx());
63 if (
std::max(dxLeft, dxRight) < 3 * exx) {
64 ret = make_pair(
true,
true);
65 }
else if (
std::min(dxLeft, dxRight) >= 10 * exx) {
66 ret = make_pair(
false,
false);
68 float sigmasL = floorf(dxLeft / exx), sigmasR = floorf(dxRight / exx);
69 ret.first = (sigmasL < sigmasR);
70 ret.second = (sigmasR < sigmasL);
79 return (
id() <
hit.
id());
83 return (
id() ==
hit.
id() && fabs(digiTime() -
hit.digiTime()) < 0.1);
87 out <<
hit.leftPos() <<
" " <<
hit.rightPos();
std::pair< bool, bool > isCompatible(const LocalPoint &posIni, const LocalVector &dirIni) const
Point3DBase< Scalar, LocalTag > LocalPoint
LocalPoint toLocal(const GlobalPoint &gp) const
Conversion to the R.F. of the GeomDet.
ret
prodAgent to be discontinued
LocalPoint localPosition(DTEnums::DTCellSide s) const
Returns the local position in the layer.
DTCellSide
Which side of the DT cell.
constexpr std::array< uint8_t, layerIndexSize > layer
~DTHitPairForFit()
Destructor.
bool operator==(const DTHitPairForFit &hit) const
DTHitPairForFit(const DTRecHit1DPair &pair, const DTSuperLayer &sl, const edm::ESHandle< DTGeometry > &dtGeom)
Constructor.
std::ostream & operator<<(std::ostream &out, const std::tuple< Types... > &value)
bool operator<(const DTHitPairForFit &hit) const
define the order by increasing z
LocalError localPositionError() const override
Return the 3-dimensional error on the local position.
float digiTime() const
Return the digi time (ns) used to build the rechits.
LocalPoint localPosition() const override
Return the 3-dimensional local position.
const DTRecHit1D * componentRecHit(DTEnums::DTCellSide lrSide) const
Return the left/right DTRecHit1D.
const DTLayer * layer(const DTLayerId &id) const
Return a layer given its id.