Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2025-02-05 23:51:42

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   static void fillPSetDescription(edm::ParameterSetDescription& desc);
0025 
0026 private:
0027   bool wantBinning_;
0028   bool newCategories_;
0029   std::string type_;
0030   std::string quality_;
0031   std::string version_;
0032   edm::EDGetTokenT<std::vector<reco::Vertex> > verticesCollection_;
0033   edm::ParameterSet cuts_;
0034 };
0035 
0036 #endif  // CutBasedElectronID_H