1 #ifndef HIProtoTrackSelection_h
2 #define HIProtoTrackSelection_h
38 beamSpotLabel_(iConfig.getParameter<edm::InputTag>(
"beamSpotLabel")),
39 ptMin_(iConfig.getParameter<double>(
"ptMin")),
40 nSigmaZ_(iConfig.getParameter<double>(
"nSigmaZ")),
41 minZCut_(iConfig.getParameter<double>(
"minZCut")),
60 if(vertices->size()>0) {
61 vtxPoint=vertices->begin()->position();
62 vzErr=vertices->begin()->zError();
63 edm::LogInfo(
"HeavyIonVertexing") <<
"Select prototracks compatible with median vertex"
64 <<
"\n vz = " << vtxPoint.Z()
81 if ( beamSpotHandle.
isValid() ) {
82 beamSpot = *beamSpotHandle;
85 edm::LogInfo(
"HeavyIonVertexing") <<
"Select prototracks compatible with beamspot"
86 <<
"\n (x,y,z) = (" << bsPoint.X() <<
"," << bsPoint.Y() <<
"," << bsPoint.Z() <<
")"
87 <<
"\n width = " << bsWidth
99 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);
116 edm::LogInfo(
"HeavyIonVertexing") <<
"selected " << nSelected <<
" prototracks out of " << nRejected+nSelected <<
"\n";
HIProtoTrackSelector(const edm::ParameterSet &iConfig)
std::vector< Track > TrackCollection
collection of Tracks
const_iterator begin() const
std::vector< Vertex > VertexCollection
collection of Vertex objects
edm::InputTag vertexCollection_
const T & max(const T &a, const T &b)
edm::InputTag beamSpotLabel_
double BeamWidthX() const
beam width X
void select(edm::Handle< reco::TrackCollection > &TCH, const edm::Event &iEvent, const edm::EventSetup &iSetup)
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
std::vector< const reco::Track * > container
XYZPointD XYZPoint
point in space with cartesian internal representation
reco::TrackCollection collection
const_iterator end() const
double BeamWidthY() const
beam width Y
T const * product() const
const Point & position() const
position
container::const_iterator const_iterator
double maxD0Significance_