Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:24:03

0001 #ifndef PatUtils_bJetSelector_H_
0002 #define PatUtils_bJetSelector_H_
0003 
0004 /** 
0005   \class    pat::bJetSelector bJetSelector.h
0006 
0007    The bJetSelector is used to clean and sort a collection of jets.
0008    It allows a selection based on the discriminant of a given tagger using a 
0009    look up table of operanting points.
0010 
0011   Implementacion of b Jet Selector for PAT 
0012    By J.E. Ramirez Jun 18,2008
0013 
0014 */
0015 
0016 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0017 #include "DataFormats/PatCandidates/interface/Jet.h"
0018 
0019 class bJetSelector {
0020 public:
0021   bJetSelector(const edm::ParameterSet& cfg);
0022   bool IsbTag(const pat::Jet& JetCand, const std::string& operpoint, const std::string& tagger) const;
0023   bool IsbTag(const pat::Jet& JetCand, const std::string& operpoint) const;
0024   bool IsbTag(const pat::Jet& JetCand) const;
0025   //
0026 private:
0027   std::map<std::string, std::map<std::string, double> > discCut;  //map to associate cuts and taggers
0028   std::vector<double> discriminantCutsLoose_;                     //list of discriminant cut per tagger
0029   std::vector<double> discriminantCutsMedium_;                    //list of discriminant cut per tagger
0030   std::vector<double> discriminantCutsTight_;                     //list of discriminant cut per tagger
0031   std::vector<std::string> BTagdiscriminator_;                    //list of taggers
0032   std::string DefaultOp_;                                         //default operating point
0033   std::string DefaultTg_;                                         //default taggers
0034 };
0035 
0036 #endif