File indexing completed on 2024-04-06 12:24:32
0001 #ifndef RecoBTag_SecondaryVertex_V0Filter_h
0002 #define RecoBTag_SecondaryVertex_V0Filter_h
0003
0004 #include <vector>
0005
0006 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0007
0008 #include "DataFormats/TrackReco/interface/TrackFwd.h"
0009 #include "DataFormats/TrackReco/interface/Track.h"
0010 #include "DataFormats/Candidate/interface/Candidate.h"
0011
0012 namespace reco {
0013
0014 class V0Filter {
0015 public:
0016 V0Filter(const edm::ParameterSet ¶ms);
0017 ~V0Filter() {}
0018
0019 bool operator()(const reco::TrackRef *tracks, unsigned int n) const;
0020 bool operator()(const reco::Track *tracks, unsigned int n) const;
0021 bool operator()(const std::vector<reco::CandidatePtr> &tracks) const;
0022 bool operator()(const std::vector<const Track *> &tracks) const;
0023
0024 inline bool operator()(const std::vector<reco::TrackRef> &tracks) const {
0025 return (*this)(&tracks[0], tracks.size());
0026 }
0027
0028 inline bool operator()(const std::vector<reco::Track> &tracks) const { return (*this)(&tracks[0], tracks.size()); }
0029
0030 bool operator()(const reco::Track *const *tracks, unsigned int n) const;
0031
0032 private:
0033 double k0sMassWindow;
0034 };
0035
0036 }
0037
0038 #endif