ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/DGele/PhysicsTools/PatUtils/src/bJetSelector.cc
Revision: 1.1.1.1 (vendor branch)
Committed: Tue Oct 20 17:15:14 2009 UTC (15 years, 6 months ago) by dgele
Content type: text/plain
Branch: ANA
CVS Tags: start
Changes since 1.1: +0 -0 lines
Log Message:
version CMSSW_2_2_10

File Contents

# User Rev Content
1 dgele 1.1 //
2     // Implementacion of b Jet Selector for PAT
3     // By J.E. Ramirez Jun 18,2008
4     //
5     #include "PhysicsTools/PatUtils/interface/bJetSelector.h"
6     #include "FWCore/ParameterSet/interface/ParameterSet.h"
7    
8     bJetSelector::bJetSelector(const edm::ParameterSet& cfg) :
9     discriminantCutsLoose_(cfg.getParameter<std::vector<double> >("discCutLoose")),
10     discriminantCutsMedium_(cfg.getParameter<std::vector<double> >("discCutMedium")),
11     discriminantCutsTight_(cfg.getParameter<std::vector<double> >("discCutTight")),
12     BTagdiscriminator_(cfg.getParameter<std::vector<std::string> >("bdiscriminators")),
13     DefaultOp_(cfg.getParameter<std::string>("DefaultOp")),
14     DefaultTg_(cfg.getParameter<std::string>("DefaultBdisc"))
15    
16     {
17    
18     for (unsigned int i=0; i<BTagdiscriminator_.size(); i++){
19     discCut["Loose"][BTagdiscriminator_[i]] = discriminantCutsLoose_[i];
20     discCut["Medium"][BTagdiscriminator_[i]] = discriminantCutsMedium_[i];
21     discCut["Tight"][BTagdiscriminator_[i]] = discriminantCutsTight_[i];
22     }
23     }
24    
25     bool
26     bJetSelector::IsbTag(const pat::Jet& JetCand,
27     const std::string& operpoint,
28     const std::string& tagger) const {
29    
30     std::map<std::string,std::map<std::string,double> >::const_iterator ioperpoint = discCut.find(operpoint);
31     if ( ioperpoint == discCut.end() ) throw cms::Exception("UnknownOperatingPoint") << "Unknown or undefined operative point" << std::endl;
32     std::map<std::string,double>::const_iterator itagger = ioperpoint->second.find(tagger);
33     if ( itagger == ioperpoint->second.end() ) throw cms::Exception("UnknownTagger") << "Unknown or undefined tagger" << std::endl;
34    
35     return JetCand.bDiscriminator(tagger) > itagger->second;
36     }
37     bool
38     bJetSelector::IsbTag(const pat::Jet& JetCand,
39     const std::string& operpoint) const {
40    
41    
42     return IsbTag(JetCand,operpoint,DefaultTg_);
43     }
44     bool
45     bJetSelector::IsbTag(const pat::Jet& JetCand) const{
46     return IsbTag(JetCand,DefaultOp_,DefaultTg_);
47     }
48    
49