Back to home page

Project CMSSW displayed by LXR

 
 

    


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 &params);
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 }  // namespace reco
0040 
0041 #endif  // RecoBTag_SecondaryVertex_V0Filter_h