7 template <
class T>
T sqr(
T t) {
return t*
t;}
12 : thePtMin( cfg.getParameter<double>(
"ptMin") ),
13 theNSigmaInvPtTolerance( cfg.getParameter<double>(
"nSigmaInvPtTolerance")),
14 theTIPMax( cfg.getParameter<double>(
"tipMax") ),
15 theNSigmaTipMaxTolerance( cfg.getParameter<double>(
"nSigmaTipMaxTolerance")),
16 theChi2Max( cfg.getParameter<double>(
"chi2") )
20 : thePtMin( cfg.getParameter<double>(
"ptMin") ),
21 theNSigmaInvPtTolerance( cfg.getParameter<double>(
"nSigmaInvPtTolerance")),
22 theTIPMax( cfg.getParameter<double>(
"tipMax") ),
23 theNSigmaTipMaxTolerance( cfg.getParameter<double>(
"nSigmaTipMaxTolerance")),
24 theChi2Max( cfg.getParameter<double>(
"chi2") )
28 : thePtMin(ptmin), theNSigmaInvPtTolerance(0.),
29 theTIPMax(tipmax), theNSigmaTipMaxTolerance(0.),
39 {
return (*
this)(track); }
43 if (!track)
return false;
48 float cosTheta =
cos(theta);
49 float sinTheta =
sin(theta);
52 float pt_v = track->
pt();
55 float errInvPt2 = ( errInvP2
56 +
sqr(cosTheta/pt_v)*errLambda2
57 + 2*(cosTheta/pt_v)*covIPtTheta
virtual bool operator()(const reco::Track *) const
std::vector< const TrackingRecHit * > Hits
double d0Error() const
error on d0
double d0() const
dxy parameter in perigee convention (d0 = -dxy)
double theta() const
polar angle
Sin< T >::type sin(const T &t)
Geom::Theta< T > theta() const
double chi2() const
chi-squared of the fit
CovarianceMatrix covariance() const
return track covariance matrix
double pt() const
track transverse momentum
Cos< T >::type cos(const T &t)
double theNSigmaInvPtTolerance
void update(const edm::Event &, const edm::EventSetup &) override
double qoverpError() const
error on signed transverse curvature
virtual ~PixelTrackFilterByKinematics()
PixelTrackFilterByKinematics(const edm::ParameterSet &cfg)
double lambdaError() const
error on lambda
Square< F >::type sqr(const F &f)
double theNSigmaTipMaxTolerance