|
|
Go to the documentation of this file. 1 #ifndef HIProtoTrackSelection_h
2 #define HIProtoTrackSelection_h
43 ptMin_(iConfig.getParameter<double>(
"ptMin")),
44 nSigmaZ_(iConfig.getParameter<double>(
"nSigmaZ")),
45 minZCut_(iConfig.getParameter<double>(
"minZCut")),
63 vtxPoint =
vertices->begin()->position();
65 edm::LogInfo(
"HeavyIonVertexing") <<
"Select prototracks compatible with median vertex"
66 <<
"\n vz = " << vtxPoint.Z() <<
"\n " <<
nSigmaZ_
67 <<
" vz sigmas = " << vzErr *
nSigmaZ_
87 edm::LogInfo(
"HeavyIonVertexing") <<
"Select prototracks compatible with beamspot"
88 <<
"\n (x,y,z) = (" << bsPoint.X() <<
"," << bsPoint.Y() <<
"," << bsPoint.Z()
90 <<
"\n width = " << bsWidth
100 double d0sigma = 0.0;
101 for (reco::TrackCollection::const_iterator trk =
c.begin(); trk !=
c.end(); ++trk) {
102 d0 = -1. * trk->dxy(bsPoint);
103 d0sigma =
sqrt(trk->d0Error() * trk->d0Error() + bsWidth * bsWidth);
114 edm::LogInfo(
"HeavyIonVertexing") <<
"selected " << nSelected <<
" prototracks out of " << nRejected + nSelected
T const * product() const
const_iterator end() const
container::const_iterator const_iterator
std::vector< Vertex > VertexCollection
collection of Vertex objects
Log< level::Info, false > LogInfo
const_iterator begin() const
void select(edm::Handle< reco::TrackCollection > &TCH, const edm::Event &iEvent, const edm::EventSetup &iSetup)
edm::EDGetTokenT< reco::VertexCollection > vertexCollectionToken_
edm::InputTag vertexCollection_
std::vector< const reco::Track * > container
XYZPointD XYZPoint
point in space with cartesian internal representation
Log< level::Error, false > LogError
HIProtoTrackSelector(const edm::ParameterSet &iConfig, edm::ConsumesCollector &&iC)
reco::TrackCollection collection
edm::EDGetTokenT< reco::BeamSpot > beamSpotToken_
static constexpr float d0
std::vector< Track > TrackCollection
collection of Tracks
double maxD0Significance_