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 
54  _name(c.getParameter<std::string>("cutName")) {
55  }
56 #if !defined(__CINT__) && !defined(__MAKECINT__) && !defined(__REFLEX__)
57  CutApplicatorBase(const CutApplicatorBase&) = delete;
59 #endif
60 
61 
62  virtual result_type operator()(const argument_type&) const
63 #if !defined(__CINT__) && !defined(__MAKECINT__) && !defined(__REFLEX__)
64  final
65 #endif
66  ;
67 
68  // electrons
69  virtual result_type operator()(const reco::GsfElectronPtr&) const {return false;}
70  virtual result_type operator()(const pat::ElectronPtr&) const {return false;}
71 
72  // photons
73  virtual result_type operator()(const reco::PhotonPtr&) const {return false;}
74  virtual result_type operator()(const pat::PhotonPtr&) const {return false;}
75 
76  // muons
77  virtual result_type operator()(const reco::MuonPtr&) const {return false;}
78  virtual result_type operator()(const pat::MuonPtr&) const {return false;}
79 
80  // taus
81  virtual result_type operator()(const reco::PFTauPtr&) const {return false;}
82  virtual result_type operator()(const pat::TauPtr&) const {return false;}
83 
84  // candidate operation
85  virtual result_type asCandidate(const argument_type&) const {return false;}
86 
87  virtual CandidateType candidateType() const { return NONE; }
88 
89  virtual const std::string& name() const { return _name; }
90 
92  virtual ~CutApplicatorBase(){};
93 
94  private:
95  const std::string _name;
96 
97 };
98 
99 #if !defined(__CINT__) && !defined(__MAKECINT__) && !defined(__REFLEX__)
102 #endif
103 
104 #endif
edm::Ptr< reco::PFTau > PFTauPtr
virtual const std::string & name() const
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
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