File indexing completed on 2023-03-17 11:17:58
0001 #ifndef CutBasedElectronID_H
0002 #define CutBasedElectronID_H
0003
0004 #include "ElectronIDAlgo.h"
0005
0006 #include "FWCore/Framework/interface/ConsumesCollector.h"
0007 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0008 #include "DataFormats/VertexReco/interface/Vertex.h"
0009 #include "DataFormats/VertexReco/interface/VertexFwd.h"
0010
0011 class CutBasedElectronID : public ElectronIDAlgo {
0012 public:
0013 CutBasedElectronID(const edm::ParameterSet& conf, edm::ConsumesCollector& iC);
0014
0015 ~CutBasedElectronID() override{};
0016
0017 void setup(const edm::ParameterSet& conf) override;
0018 double result(const reco::GsfElectron*, const edm::Event&, const edm::EventSetup&) override;
0019 double cicSelection(const reco::GsfElectron*, const edm::Event&, const edm::EventSetup&);
0020 double robustSelection(const reco::GsfElectron*, const edm::Event&, const edm::EventSetup&);
0021 int classify(const reco::GsfElectron*);
0022 bool compute_cut(double x, double et, double cut_min, double cut_max, bool gtn = false);
0023
0024 private:
0025 bool wantBinning_;
0026 bool newCategories_;
0027 std::string type_;
0028 std::string quality_;
0029 std::string version_;
0030 edm::EDGetTokenT<std::vector<reco::Vertex> > verticesCollection_;
0031 edm::ParameterSet cuts_;
0032 };
0033
0034 #endif