Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef RecoBTag_SoftLepton_LeptonTaggerDistance_h
0002 #define RecoBTag_SoftLepton_LeptonTaggerDistance_h
0003 
0004 #include "RecoBTau/JetTagComputer/interface/JetTagComputer.h"
0005 #include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h"
0006 #include "FWCore/ParameterSet/interface/ParameterSetDescription.h"
0007 
0008 /**  \class LeptonTaggerDistance
0009  *
0010  *   Implementation of muon b-tagging returning 1 if a lepton is present in the jet, 0 otherwise
0011  *
0012  *
0013  *   \author Andrea 'fwyzard' Bocci, Scuola Normale Superiore, Pisa
0014  */
0015 
0016 class LeptonTaggerDistance : public JetTagComputer {
0017 public:
0018   using Tokens = void;
0019 
0020   /// default ctor
0021   LeptonTaggerDistance(void) : m_maxDistance(0.5) { uses("slTagInfos"); }
0022 
0023   /// explicit ctor
0024   explicit LeptonTaggerDistance(const edm::ParameterSet& configuration) {
0025     m_maxDistance = configuration.getParameter<double>("distance");
0026     uses("slTagInfos");
0027   }
0028 
0029   /// dtor
0030   ~LeptonTaggerDistance() override {}
0031 
0032   /// b-tag a jet based on track-to-jet pseudo-angular distance
0033   float discriminator(const TagInfoHelper& tagInfo) const override;
0034 
0035   static void fillPSetDescription(edm::ParameterSetDescription& desc) { desc.add<double>("distance", 0.5); }
0036 
0037 private:
0038   float m_maxDistance;
0039 };
0040 
0041 #endif  // RecoBTag_SoftLepton_LeptonTaggerDistance_h