00001 #ifndef CommonTools_RecoAlgos_TrackWithVertexSelector_H 00002 #define CommonTools_RecoAlgos_TrackWithVertexSelector_H 00003 00004 // Original Author: Giovanni Petrucciani 00005 // Created: Fri May 25 10:06:02 CEST 2007 00006 // $Id: TrackWithVertexSelector.h,v 1.5 2010/05/06 12:06:19 lowette Exp $ 00007 00008 00009 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00010 #include "FWCore/Utilities/interface/InputTag.h" 00011 #include "FWCore/Framework/interface/Event.h" 00012 #include "DataFormats/TrackReco/interface/Track.h" 00013 #include "DataFormats/VertexReco/interface/Vertex.h" 00014 #include "DataFormats/VertexReco/interface/VertexFwd.h" 00015 00016 class TrackWithVertexSelector { 00017 public: 00018 explicit TrackWithVertexSelector(const edm::ParameterSet&); 00019 ~TrackWithVertexSelector(); 00020 bool operator()(const reco::Track &t, const edm::Event &iEvent) const ; 00021 bool operator()(const reco::Track &t, const reco::VertexCollection &vtxs) const; 00022 bool testTrack(const reco::Track &t) const ; 00023 bool testVertices(const reco::Track &t, const reco::VertexCollection &vtxs) const ; 00024 private: 00025 uint32_t numberOfValidHits_; 00026 uint32_t numberOfValidPixelHits_; 00027 uint32_t numberOfLostHits_; 00028 double normalizedChi2_; 00029 double ptMin_, ptMax_, etaMin_, etaMax_; 00030 double dzMax_, d0Max_; 00031 double ptErrorCut_; 00032 std::string quality_; 00033 00034 uint32_t nVertices_; 00035 edm::InputTag vertexTag_; 00036 bool vtxFallback_; 00037 double zetaVtx_, rhoVtx_; 00038 00039 typedef math::XYZPoint Point; 00040 }; 00041 00042 #endif