CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
RecoTrackSelector.h
Go to the documentation of this file.
1 #ifndef RecoSelectors_RecoTrackSelector_h
2 #define RecoSelectors_RecoTrackSelector_h
3 /* \class RecoTrackSelector
4  *
5  * \author Giuseppe Cerati, INFN
6  *
7  */
9 
11 public:
14  typedef std::vector<const reco::Track*> container;
15  typedef container::const_iterator const_iterator;
16 
20 
21  const_iterator begin() const { return selected_.begin(); }
22  const_iterator end() const { return selected_.end(); }
23 
24  void select(const edm::Handle<collection>& c, const edm::Event& event, const edm::EventSetup& es) {
25  init(event, es);
26  selected_.clear();
27  for (reco::TrackCollection::const_iterator trk = c->begin(); trk != c->end(); ++trk) {
28  reference_type tkref(c, std::distance(c->begin(), trk));
29  if (operator()(*tkref)) {
30  selected_.push_back(&*trk);
31  }
32  }
33  }
34 
35  size_t size() const { return selected_.size(); }
36 
37 private:
39 };
40 
41 #endif
void init(const edm::Event &event, const edm::EventSetup &es)
const edm::EventSetup & c
tuple cfg
Definition: looper.py:296
container::const_iterator const_iterator
reco::TrackRef reference_type
const_iterator end() const
std::vector< Track > TrackCollection
collection of Tracks
Definition: TrackFwd.h:14
RecoTrackSelector()
Constructors.
std::vector< const reco::Track * > container
const_iterator begin() const
RecoTrackSelector(const edm::ParameterSet &cfg, edm::ConsumesCollector &&iC)
void select(const edm::Handle< collection > &c, const edm::Event &event, const edm::EventSetup &es)
size_t size() const
reco::TrackCollection collection