Skip to content
This repository has been archived by the owner on Sep 5, 2020. It is now read-only.

Commit

Permalink
Update b-tagging scale factors to recommendations for EPS'13
Browse files Browse the repository at this point in the history
Apart from new numbers, scale factors for the JP algorithm are removed
completely. Add scale factors for two new algorithms: CSVV1 (the scale
factors are official) and CSVSLV1 (experimental). However, the two
algorithms cannot be exploited in the current version of PECFwk.
  • Loading branch information
andrey-popov committed Feb 17, 2014
1 parent 884efe2 commit 6a840ec
Show file tree
Hide file tree
Showing 4 changed files with 332 additions and 129 deletions.
54 changes: 33 additions & 21 deletions core/include/BTagDatabase.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@
* \brief Provides an interface to access b-tagging efficiencies and scale factors
*
* The class provides an access to b-tagging MC efficiencies and data/MC scale factors. The scale
* factors are provided in [1] and are implemented via automatically generated code. The code was
* factors are taken from [1] and are implemented via automatically generated code. The code was
* created with the help of script [2].
* [1] https://twiki.cern.ch/twiki/bin/viewauth/CMS/BtagPOG#2012_Data_and_MC_Moriond13_presc
* [2] /afs/cern.ch/user/a/aapopov/workspace/tHq/2012Alpha/2013.04.15_BTagSF/generateSFCode.py
* [1] https://twiki.cern.ch/twiki/bin/viewauth/CMS/BtagPOG#2012_Data_and_MC_EPS13_prescript?rev=181
* [2] /afs/cern.ch/user/a/aapopov/workspace/tHq/2012Bravo/2014.02.17_BTagSF/generateSFCode.py
*
* The class is copyable.
*/
Expand Down Expand Up @@ -88,14 +88,20 @@ class BTagDatabase
void SetEfficiencies();

// The code below was generated automatically
double GetSFTagTCHPT(double pt) const;
double GetSFTagCSVL(double pt) const;
double GetSFTagCSVM(double pt) const;
double GetSFTagCSVT(double pt) const;
double GetSFTagTCHPT(double pt) const;
double GetSFTagJPL(double pt) const;
double GetSFTagJPM(double pt) const;
double GetSFTagJPT(double pt) const;

double GetSFTagCSVV1L(double pt) const;
double GetSFTagCSVV1M(double pt) const;
double GetSFTagCSVV1T(double pt) const;
double GetSFTagCSVSLV1L(double pt) const;
double GetSFTagCSVSLV1M(double pt) const;
double GetSFTagCSVSLV1T(double pt) const;

double GetSFMistagTCHPTMean(double pt, double absEta) const;
double GetSFMistagTCHPTMin(double pt, double absEta) const;
double GetSFMistagTCHPTMax(double pt, double absEta) const;
double GetSFMistagCSVLMean(double pt, double absEta) const;
double GetSFMistagCSVLMin(double pt, double absEta) const;
double GetSFMistagCSVLMax(double pt, double absEta) const;
Expand All @@ -105,20 +111,26 @@ class BTagDatabase
double GetSFMistagCSVTMean(double pt, double absEta) const;
double GetSFMistagCSVTMin(double pt, double absEta) const;
double GetSFMistagCSVTMax(double pt, double absEta) const;
double GetSFMistagTCHPTMean(double pt, double absEta) const;
double GetSFMistagTCHPTMin(double pt, double absEta) const;
double GetSFMistagTCHPTMax(double pt, double absEta) const;
double GetSFMistagJPLMean(double pt, double absEta) const;
double GetSFMistagJPLMin(double pt, double absEta) const;
double GetSFMistagJPLMax(double pt, double absEta) const;
double GetSFMistagJPMMean(double pt, double absEta) const;
double GetSFMistagJPMMin(double pt, double absEta) const;
double GetSFMistagJPMMax(double pt, double absEta) const;
double GetSFMistagJPTMean(double pt, double absEta) const;
double GetSFMistagJPTMin(double pt, double absEta) const;
double GetSFMistagJPTMax(double pt, double absEta) const;
double GetSFMistagCSVV1LMean(double pt, double absEta) const;
double GetSFMistagCSVV1LMin(double pt, double absEta) const;
double GetSFMistagCSVV1LMax(double pt, double absEta) const;
double GetSFMistagCSVV1MMean(double pt, double absEta) const;
double GetSFMistagCSVV1MMin(double pt, double absEta) const;
double GetSFMistagCSVV1MMax(double pt, double absEta) const;
double GetSFMistagCSVV1TMean(double pt, double absEta) const;
double GetSFMistagCSVV1TMin(double pt, double absEta) const;
double GetSFMistagCSVV1TMax(double pt, double absEta) const;
double GetSFMistagCSVSLV1LMean(double pt, double absEta) const;
double GetSFMistagCSVSLV1LMin(double pt, double absEta) const;
double GetSFMistagCSVSLV1LMax(double pt, double absEta) const;
double GetSFMistagCSVSLV1MMean(double pt, double absEta) const;
double GetSFMistagCSVSLV1MMin(double pt, double absEta) const;
double GetSFMistagCSVSLV1MMax(double pt, double absEta) const;
double GetSFMistagCSVSLV1TMean(double pt, double absEta) const;
double GetSFMistagCSVSLV1TMin(double pt, double absEta) const;
double GetSFMistagCSVSLV1TMax(double pt, double absEta) const;
// End of automatically generated code

private:
BTagger::Algorithm const algo; ///< Chosen b-tagging algorithm
BTagger::WorkingPoint const workingPoint; ///< Chosen b-tagging working point
Expand Down
8 changes: 5 additions & 3 deletions core/include/BTagger.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,11 @@ class BTagger
/// Supported b-tagging algorithms
enum class Algorithm
{
CSV, ///< Combined secondary vertex
JP, ///< Jet probability
TCHP ///< Track counting high purity
CSV, ///< Combined secondary vertex
JP, ///< Jet probability
TCHP, ///< Track counting high purity
CSVV1, ///< Retrained CSV
CSVSLV1 ///< A version of CSV with additional information on soft leptons exploited
};

/// Supported working points for the b-tagging algorithms
Expand Down
Loading

0 comments on commit 6a840ec

Please sign in to comment.