File indexing completed on 2023-03-17 11:17:14
0001 #ifndef RecoBTag_SoftLepton_LeptonSelector_h
0002 #define RecoBTag_SoftLepton_LeptonSelector_h
0003
0004 #include <string>
0005
0006 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0007
0008 #include "DataFormats/BTauReco/interface/SoftLeptonTagInfo.h"
0009
0010 namespace btag {
0011
0012 class LeptonSelector {
0013 public:
0014 LeptonSelector(const edm::ParameterSet ¶ms);
0015 ~LeptonSelector();
0016
0017 bool operator()(const reco::SoftLeptonProperties &properties, bool use3d = true) const;
0018
0019 inline bool isAny() const { return m_sign == any; }
0020 inline bool isPositive() const { return m_sign == positive; }
0021 inline bool isNegative() const { return m_sign == negative; }
0022
0023 private:
0024
0025
0026 enum sign { negative = -1, any = 0, positive = 1 };
0027
0028 static sign option(const std::string &election);
0029
0030 sign m_sign;
0031 reco::SoftLeptonProperties::Quality::Generic m_leptonId;
0032 float m_qualityCut;
0033 };
0034
0035 }
0036
0037 #endif