File indexing completed on 2023-03-17 11:17:10
0001 #ifndef RecoBTag_SecondaryVertex_TrackSelector_h
0002 #define RecoBTag_SecondaryVertex_TrackSelector_h
0003
0004 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0005
0006 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
0007 #include "DataFormats/JetReco/interface/Jet.h"
0008 #include "DataFormats/TrackReco/interface/Track.h"
0009 #include "DataFormats/Candidate/interface/CandidateFwd.h"
0010 #include "DataFormats/BTauReco/interface/IPTagInfo.h"
0011
0012 namespace reco {
0013
0014 class TrackSelector {
0015 public:
0016 TrackSelector(const edm::ParameterSet ¶ms);
0017 ~TrackSelector() {}
0018
0019 bool operator()(const reco::Track &track,
0020 const reco::btag::TrackIPData &ipData,
0021 const reco::Jet &jet,
0022 const GlobalPoint &pv) const;
0023
0024 bool operator()(const reco::CandidatePtr &track,
0025 const reco::btag::TrackIPData &ipData,
0026 const reco::Jet &jet,
0027 const GlobalPoint &pv) const;
0028
0029 inline bool operator()(const reco::TrackRef &track,
0030 const reco::btag::TrackIPData &ipData,
0031 const reco::Jet &jet,
0032 const GlobalPoint &pv) const {
0033 return (*this)(*track, ipData, jet, pv);
0034 }
0035
0036 private:
0037 bool trackSelection(const reco::Track &track,
0038 const reco::btag::TrackIPData &ipData,
0039 const reco::Jet &jet,
0040 const GlobalPoint &pv) const;
0041
0042 bool selectQuality;
0043 reco::TrackBase::TrackQuality quality;
0044 unsigned int minPixelHits;
0045 unsigned int minTotalHits;
0046 double minPt;
0047 double maxNormChi2;
0048 double maxJetDeltaR;
0049 double maxDistToAxis;
0050 double maxDecayLen;
0051 double sip2dValMin;
0052 double sip2dValMax;
0053 double sip2dSigMin;
0054 double sip2dSigMax;
0055 double sip3dValMin;
0056 double sip3dValMax;
0057 double sip3dSigMin;
0058 double sip3dSigMax;
0059 bool useVariableJTA_;
0060 reco::btag::variableJTAParameters varJTApars;
0061 };
0062
0063 }
0064
0065 #endif