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 }
37 
38 namespace pat {
43 }
44 
46  public:
49  PATELECTRON,PATMUON,PATPHOTON,PATTAU};
50 
51  CutApplicatorBase(): CandidateCut() {}
52 
54  _name(c.getParameter<std::string>("cutName")) {
55  }
56 #if !defined(__CINT__) && !defined(__MAKECINT__) && !defined(__REFLEX__)
57  CutApplicatorBase(const CutApplicatorBase&) = delete;
58  CutApplicatorBase& operator=(const CutApplicatorBase&) = delete;
59 #endif
60 
61 
62  result_type operator()(const argument_type&) const override
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  const std::string& name() const override { return _name; }
90 
92  ~CutApplicatorBase() override{};
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
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
Definition: HeavyIon.h:7
~CutApplicatorBase() override
Destructor.
virtual result_type operator()(const reco::PFTauPtr &) const
virtual result_type operator()(const reco::GsfElectronPtr &) const
edm::Ptr< reco::Photon > PhotonPtr
edm::Ptr< pat::Electron > ElectronPtr
virtual result_type operator()(const reco::PhotonPtr &) const
virtual CandidateType candidateType() const
const std::string & name() const override
CutApplicatorBase(const edm::ParameterSet &c)
fixed size matrix
virtual result_type operator()(const reco::MuonPtr &) const
edmplugin::PluginFactory< CutApplicatorBase *(const edm::ParameterSet &) > CutApplicatorFactory
virtual result_type operator()(const pat::PhotonPtr &) const