File indexing completed on 2023-10-25 09:59:25
0001 #include "PhysicsTools/SelectorUtils/interface/CutApplicatorBase.h"
0002 #include "DataFormats/EgammaCandidates/interface/GsfElectron.h"
0003
0004 class GsfEleSCMaxAbsEtaCut : public CutApplicatorBase {
0005 public:
0006 GsfEleSCMaxAbsEtaCut(const edm::ParameterSet& c) : CutApplicatorBase(c), _maxEta(c.getParameter<bool>("maxEta")) {}
0007
0008 result_type operator()(const reco::GsfElectronPtr& cand) const final {
0009 const reco::SuperClusterRef& scref = cand->superCluster();
0010 return std::abs(scref->eta()) < _maxEta;
0011 }
0012
0013 double value(const reco::CandidatePtr& cand) const final {
0014 reco::GsfElectronPtr ele(cand);
0015 const reco::SuperClusterRef& scref = ele->superCluster();
0016 return std::abs(scref->eta());
0017 }
0018
0019 CandidateType candidateType() const final { return ELECTRON; }
0020
0021 private:
0022 const double _maxEta;
0023 };
0024
0025 DEFINE_EDM_PLUGIN(CutApplicatorFactory, GsfEleSCMaxAbsEtaCut, "GsfEleSCMaxAbsEtaCut");