CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 }
37 
38 namespace pat {
43 }
44 
46  public:
50 
52  _name(c.getParameter<std::string>("cutName")) {
53  }
54 #if !defined(__CINT__) && !defined(__MAKECINT__) && !defined(__REFLEX__)
55  CutApplicatorBase(const CutApplicatorBase&) = delete;
57 #endif
58 
59 
60  virtual result_type operator()(const argument_type&) const
61 #if !defined(__CINT__) && !defined(__MAKECINT__) && !defined(__REFLEX__)
62  final
63 #endif
64  ;
65 
66  // electrons
67  virtual result_type operator()(const reco::GsfElectronPtr&) const {return false;}
68  virtual result_type operator()(const pat::ElectronPtr&) const {return false;}
69 
70  // photons
71  virtual result_type operator()(const reco::PhotonPtr&) const {return false;}
72  virtual result_type operator()(const pat::PhotonPtr&) const {return false;}
73 
74  // muons
75  virtual result_type operator()(const reco::MuonPtr&) const {return false;}
76  virtual result_type operator()(const pat::MuonPtr&) const {return false;}
77 
78  // taus
79  virtual result_type operator()(const reco::PFTauPtr&) const {return false;}
80  virtual result_type operator()(const pat::TauPtr&) const {return false;}
81 
82  // candidate operation
83  virtual result_type asCandidate(const argument_type&) const {return false;}
84 
85  virtual CandidateType candidateType() const { return NONE; }
86 
87  const std::string& name() const { return _name; }
88 
90  virtual ~CutApplicatorBase(){};
91 
92  private:
93  const std::string _name;
94 
95 };
96 
97 #if !defined(__CINT__) && !defined(__MAKECINT__) && !defined(__REFLEX__)
100 #endif
101 
102 #endif
edm::Ptr< reco::PFTau > PFTauPtr
edm::Ptr< pat::Tau > TauPtr
virtual result_type operator()(const pat::ElectronPtr &) const
virtual result_type operator()(const pat::MuonPtr &) const
virtual result_type operator()(const pat::TauPtr &) const
edm::Ptr< reco::Muon > MuonPtr
virtual result_type asCandidate(const argument_type &) const
edm::Ptr< reco::GsfElectron > GsfElectronPtr
const std::string & name() const
virtual result_type operator()(const argument_type &) const final
edm::Ptr< pat::Muon > MuonPtr
virtual result_type operator()(const reco::PFTauPtr &) const
virtual result_type operator()(const reco::GsfElectronPtr &) const
const std::string _name
edm::Ptr< reco::Photon > PhotonPtr
edm::Ptr< pat::Electron > ElectronPtr
CutApplicatorBase & operator=(const CutApplicatorBase &)=delete
virtual result_type operator()(const reco::PhotonPtr &) const
virtual CandidateType candidateType() const
string const
Definition: compareJSON.py:14
CutApplicatorBase(const edm::ParameterSet &c)
virtual result_type operator()(const reco::MuonPtr &) const
virtual ~CutApplicatorBase()
Destructor.
edmplugin::PluginFactory< CutApplicatorBase *(const edm::ParameterSet &) > CutApplicatorFactory
edm::Ptr< pat::Photon > PhotonPtr
virtual result_type operator()(const pat::PhotonPtr &) const