17 template <
class T>
T sqr(
T t) {
return t*
t;}
19 using namespace GeomDetEnumerators;
22 std::ostringstream str;
39 const DetLayer* outerlayer,
float lr,
float gz,
float dr,
float dz)
const
47 lr =
sqrt(
sqr(ohit.
x()-origin().x())+
sqr(ohit.
y()-origin().y()) );
49 dr = outerHit->errorGlobalR();
50 dz = outerHit->errorGlobalZ();
64 if unlikely((!thePrecise) &&(isPixel )) {
67 return new HitEtaCheck(isBarrel, outerred, VcotMax, VcotMin);
106 float innerScatt = 3.f * ( outerlayer ?
107 iSigma(
ptMin(), vtxMean, outerred, outerlayer->
seqNum())
121 float corrZ = innerScatt/sinTheta + dz;
125 float corrR = innerScatt/cosTheta + dr;
bool isBarrel(GeomDetEnumerators::SubDetector m)
virtual SubDetector subDetector() const =0
The type of detector (PixelBarrel, PixelEndcap, TIB, TOB, TID, TEC, CSC, DT, RPCBarrel, RPCEndcap)
TrackingRegion::Hits hits(const edm::Event &ev, const edm::EventSetup &es, const SeedingLayerSetsHits::SeedingLayer &layer) const override
get hits from layer compatible with region constraints
virtual HitRZCompatibility * checkRZ(const DetLayer *layer, const Hit &outerHit, const edm::EventSetup &iSetup, const DetLayer *outerlayer=0, float lr=0, float gz=0, float dr=0, float dz=0) const
virtual std::string print() const
static GlobalPoint vtxMean(const GlobalPoint &p1, const GlobalError &e1, const GlobalPoint &p2, const GlobalError &e2)
SeedingLayerSetsHits::Hits Hits
virtual std::string print() const
Square< F >::type sqr(const F &f)
bool isPixel(HitType hitType)