CMS 3D CMS Logo

CutApplicatorBase.h
Go to the documentation of this file.
1 #ifndef PhysicsTools_SelectorUtils_CutApplicatorBase_h
2 #define PhysicsTools_SelectorUtils_CutApplicatorBase_h
3 
4 //
5 //
6 //
7 
9 
11 
14 
16 
18 
19 namespace candf = candidate_functions;
20 
25 
30 
31 namespace reco {
36 } // namespace reco
37 
38 namespace pat {
43 } // namespace pat
44 
46 public:
48 
50 
51  CutApplicatorBase(const edm::ParameterSet& c) : _name(c.getParameter<std::string>("cutName")) {}
52 #if !defined(__CINT__) && !defined(__MAKECINT__) && !defined(__REFLEX__)
53  CutApplicatorBase(const CutApplicatorBase&) = delete;
55 #endif
56 
57  result_type operator()(const argument_type&) const final;
58 
59  // electrons
60  virtual result_type operator()(const reco::GsfElectronPtr&) const { return false; }
61  virtual result_type operator()(const pat::ElectronPtr&) const { return false; }
62 
63  // photons
64  virtual result_type operator()(const reco::PhotonPtr&) const { return false; }
65  virtual result_type operator()(const pat::PhotonPtr&) const { return false; }
66 
67  // muons
68  virtual result_type operator()(const reco::MuonPtr&) const { return false; }
69  virtual result_type operator()(const pat::MuonPtr&) const { return false; }
70 
71  // taus
72  virtual result_type operator()(const reco::PFTauPtr&) const { return false; }
73  virtual result_type operator()(const pat::TauPtr&) const { return false; }
74 
75  // candidate operation
76  virtual result_type asCandidate(const argument_type&) const { return false; }
77 
78  virtual CandidateType candidateType() const { return NONE; }
79 
80  const std::string& name() const override { return _name; }
81 
83  ~CutApplicatorBase() override{};
84 
85 private:
86  const std::string _name;
87 };
88 
89 #if !defined(__CINT__) && !defined(__MAKECINT__) && !defined(__REFLEX__)
92 #endif
93 
94 #endif
edm::Ptr< reco::PFTau > PFTauPtr
edm::Ptr< pat::Tau > TauPtr
virtual result_type operator()(const pat::ElectronPtr &) const
edm::Ptr< reco::Muon > MuonPtr
virtual result_type operator()(const reco::MuonPtr &) const
virtual result_type operator()(const reco::PFTauPtr &) const
virtual result_type operator()(const pat::TauPtr &) const
virtual CandidateType candidateType() const
edm::Ptr< reco::GsfElectron > GsfElectronPtr
virtual result_type operator()(const reco::GsfElectronPtr &) const
virtual result_type asCandidate(const argument_type &) const
Definition: HeavyIon.h:7
result_type operator()(const argument_type &) const final
edm::Ptr< pat::Muon > MuonPtr
~CutApplicatorBase() override
Destructor.
const std::string _name
virtual result_type operator()(const reco::PhotonPtr &) const
edm::Ptr< reco::Photon > PhotonPtr
edm::Ptr< pat::Electron > ElectronPtr
virtual result_type operator()(const pat::MuonPtr &) const
CutApplicatorBase & operator=(const CutApplicatorBase &)=delete
reco::CandidatePtr argument_type
Definition: CandidateCut.h:10
edmplugin::PluginFactory< CutApplicatorBase *(const edm::ParameterSet &)> CutApplicatorFactory
CutApplicatorBase(const edm::ParameterSet &c)
fixed size matrix
virtual result_type operator()(const pat::PhotonPtr &) const
const std::string & name() const override
edm::Ptr< pat::Photon > PhotonPtr