1 #ifndef CommonTools_RecoAlgos_RecoTrackSelectorBase_h 2 #define CommonTools_RecoAlgos_RecoTrackSelectorBase_h 20 ptMin_(cfg.getParameter<double>(
"ptMin")),
23 meanPhi_((cfg.getParameter<double>(
"minPhi")+cfg.getParameter<double>(
"maxPhi"))/2.),
24 rangePhi_((cfg.getParameter<double>(
"maxPhi")-cfg.getParameter<double>(
"minPhi"))/2.),
25 tip_(cfg.getParameter<double>(
"tip")),
26 lip_(cfg.getParameter<double>(
"lip")),
27 maxChi2_(cfg.getParameter<double>(
"maxChi2")),
37 throw cms::Exception(
"Configuration") <<
"RecoTrackSelectorPhase: minPhi (" <<
minPhi <<
") must be smaller than maxPhi (" << maxPhi <<
"). The range is constructed from minPhi to maxPhi around their average.";
40 throw cms::Exception(
"Configuration") <<
"RecoTrackSelectorPhase: minPhi (" <<
minPhi <<
") must be smaller than PI. The range is constructed from minPhi to maxPhi around their average.";
43 throw cms::Exception(
"Configuration") <<
"RecoTrackSelectorPhase: maxPhi (" << maxPhi <<
") must be larger than -PI. The range is constructed from minPhi to maxPhi around their average.";
65 if (hVtx->empty())
return;
66 vertex_ = (*hVtx)[0].position();
70 return (*
this)(*tref);
74 bool quality_ok =
true;
102 (algo_ok & quality_ok) &&
136 std::vector<reco::TrackBase::TrackQuality>
quality_;
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
T getParameter(std::string const &) const
void init(const edm::Event &event, const edm::EventSetup &es)
double normalizedChi2() const
chi-squared divided by n.d.o.f. (or chi-squared * 1e6 if n.d.o.f. is zero)
int numberOfValidHits() const
double phi() const
azimuthal angle of momentum vector
std::vector< Vertex > VertexCollection
collection of Vertex objects
int pixelLayersWithMeasurement() const
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
double dsz() const
dsz parameter (THIS IS NOT the SZ impact parameter to (0,0,0) if refPoint is far from (0...
int trackerLayersWithMeasurement() const
TrackAlgorithm
track algorithm
reco::Track::Point vertex_
TrackAlgorithm algo() const
double eta() const
pseudorapidity of momentum vector
int numberOfValidStripLayersWithMonoAndStereo(uint16_t stripdet, uint16_t layer) const
double pt() const
track transverse momentum
std::vector< reco::TrackBase::TrackAlgorithm > algorithmMask_
math::XYZPoint Point
point in the space
std::vector< reco::TrackBase::TrackQuality > quality_
RecoTrackSelectorBase(const edm::ParameterSet &cfg, edm::ConsumesCollector &iC)
TrackAlgorithm originalAlgo() const
static TrackQuality qualityByName(const std::string &name)
AlgoMask algoMask() const
const HitPattern & hitPattern() const
Access the hit pattern, indicating in which Tracker layers the track has hits.
bool operator()(const reco::Track &t) const
edm::EDGetTokenT< reco::VertexCollection > vertexToken_
bool quality(const TrackQuality) const
Track quality.
std::vector< reco::TrackBase::TrackAlgorithm > algorithm_
edm::EDGetTokenT< reco::BeamSpot > bsSrcToken_
static TrackAlgorithm algoByName(const std::string &name)
int numberOfValidPixelHits() const
bool operator()(const reco::TrackRef &tref) const
const Point & position() const
position
double dxy() const
dxy parameter. (This is the transverse impact parameter w.r.t. to (0,0,0) ONLY if refPoint is close t...
std::vector< reco::TrackBase::TrackAlgorithm > originalAlgorithm_