Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2025-01-31 02:19:53

0001 #ifndef RecoBTag_SoftLepton_ElectronTagger_h
0002 #define RecoBTag_SoftLepton_ElectronTagger_h
0003 
0004 #include "CommonTools/MVAUtils/interface/TMVAEvaluator.h"
0005 #include "CondFormats/DataRecord/interface/GBRWrapperRcd.h"
0006 #include "FWCore/Framework/interface/ESConsumesCollector.h"
0007 #include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h"
0008 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0009 #include "FWCore/ParameterSet/interface/ParameterSetDescription.h"
0010 #include "RecoBTag/SoftLepton/interface/LeptonSelector.h"
0011 #include "RecoBTau/JetTagComputer/interface/JetTagComputer.h"
0012 
0013 /** \class ElectronTagger
0014  *
0015  *
0016  *  \author P. Demin - UCL, Louvain-la-Neuve - Belgium
0017  *
0018  */
0019 
0020 class ElectronTagger : public JetTagComputer {
0021 public:
0022   struct Tokens {
0023     Tokens(const edm::ParameterSet &cfg, edm::ESConsumesCollector &&cc);
0024     edm::ESGetToken<GBRForest, GBRWrapperRcd> gbrForest_;
0025   };
0026 
0027   /// explicit ctor
0028   ElectronTagger(const edm::ParameterSet &, Tokens);
0029   void initialize(const JetTagComputerRecord &) override;
0030   float discriminator(const TagInfoHelper &tagInfo) const override;
0031 
0032   static void fillPSetDescription(edm::ParameterSetDescription &desc);
0033 
0034 private:
0035   const btag::LeptonSelector m_selector;
0036   const edm::FileInPath m_weightFile;
0037   const bool m_useGBRForest;
0038   const bool m_useAdaBoost;
0039   const Tokens m_tokens;
0040 
0041   std::unique_ptr<TMVAEvaluator> mvaID;
0042 };
0043 
0044 #endif