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