Selector to select prototracks that pass certain kinematic cuts based on fast vertex
Definition at line 26 of file HIProtoTrackSelector.h.
Definition at line 52 of file HIProtoTrackSelector.h.
References ecalDrivenElectronSeedsParameters_cff::beamSpot, beamSpot_, beamSpotToken_, reco::BeamSpot::BeamWidthX(), reco::BeamSpot::BeamWidthY(), EnergyCorrector::c, allConversions_cfi::d0, edm::Event::getByToken(), edm::HandleBase::isValid(), SiStripPI::max, maxD0Significance_, minZCut_, nSigmaZ_, reco::BeamSpot::position(), edm::Handle< T >::product(), ptMin_, selected_, mathSSE::sqrt(), vertexCollectionToken_, and electrons_cff::vertices.
66 if(!vertices->empty()) {
67 vtxPoint=vertices->begin()->position();
68 vzErr=vertices->begin()->zError();
69 edm::LogInfo(
"HeavyIonVertexing") <<
"Select prototracks compatible with median vertex" 70 <<
"\n vz = " << vtxPoint.Z()
87 if ( beamSpotHandle.
isValid() ) {
88 beamSpot = *beamSpotHandle;
91 edm::LogInfo(
"HeavyIonVertexing") <<
"Select prototracks compatible with beamspot" 92 <<
"\n (x,y,z) = (" << bsPoint.X() <<
"," << bsPoint.Y() <<
"," << bsPoint.Z() <<
")" 93 <<
"\n width = " << bsWidth
105 for (reco::TrackCollection::const_iterator trk = c.begin(); trk != c.end(); ++ trk)
108 d0 = -1.*trk->dxy(bsPoint);
109 d0sigma =
sqrt(trk->d0Error()*trk->d0Error() + bsWidth*bsWidth);
122 edm::LogInfo(
"HeavyIonVertexing") <<
"selected " << nSelected <<
" prototracks out of " << nRejected+nSelected <<
"\n";
bool getByToken(EDGetToken token, Handle< PROD > &result) const
std::vector< Vertex > VertexCollection
collection of Vertex objects
edm::EDGetTokenT< reco::VertexCollection > vertexCollectionToken_
double BeamWidthX() const
beam width X
edm::EDGetTokenT< reco::BeamSpot > beamSpotToken_
T const * product() const
XYZPointD XYZPoint
point in space with cartesian internal representation
reco::TrackCollection collection
double BeamWidthY() const
beam width Y
const Point & position() const
position
double maxD0Significance_