A class to select jets. More...
#include <JetSelector.h>

Public Member Functions | |
| JetSelector () | |
| Default ctor. | |
| JetSelector & | setSystematic (const NtSys::SusyNtSys &) |
| dtor (for now we don't have anything to delete) | |
| virtual bool | isB (const Jet *jet) |
| whether the jet is b-tagged | |
| virtual bool | isCentralLight (const Jet *jet) |
| virtual bool | isCentralB (const Jet *jet) |
| virtual bool | isForward (const Jet *jet) |
| virtual bool | passJvt (const Jet *jet) |
| The jet-vertex-fraction requirement: usually applied to low-pt central jets. | |
| virtual bool | isBaseline (const Jet *jet) |
| often analsysi-dependent | |
| virtual bool | isSignal (const Jet *jet) |
| often analsysi-dependent | |
| bool | verbose () const |
| JetSelector & | setVerbose (bool v) |
| virtual size_t | count_CL_jets (const JetVector &jets) |
| count central light jets | |
| virtual size_t | count_CB_jets (const JetVector &jets) |
| count central b-tagged jets | |
| virtual size_t | count_F_jets (const JetVector &jets) |
| count forward jets | |
Static Public Member Functions | |
| static JetSelector * | build (const AnalysisType &a, bool verbose) |
| provide analysis-specific selector (or vanilla one if analysis is unknown) | |
| static float | mv2c20_70efficiency () |
| threshold for 70% efficiency | |
| static float | mv2c20_77efficiency () |
| threshold for 77% efficiency | |
| static float | mv2c20_80efficiency () |
| threshold for 80% efficiency | |
| static float | overlapRemovalBtagEffWP () |
| b-tag operating point used for the overlap removal. | |
A class to select jets.
The generic JetSelector implements the generic definitions from https://twiki.cern.ch/twiki/bin/viewauth/AtlasProtected/SusyObjectDefinitionsr2013TeV#Jets
Analysis-dependent criteria should be implemented in your analysis-specific class inheriting from JetSelector.
The analysis-specific selector should be instantiated with JetSelector::build().
Please avoid having thresholds as input parameters of the selection functions (including default arguments). Prefer explicit values in the function definition, for example:
{.cpp}
JetSelector_myAnalysis::isSignalJet(const Jet* jet)
{
return (jet->Pt>20.0 && fabs(jet->Eta())<2.4);
}
This design has the following advantages:
1. the default code does not have many 'if else' implementing the analysis-specific selection
2. the common code can still be shared across groups
3. the analysis-specific thresholds are explicitly written in the analysis-specific implementation of the overloaded function. This allows to almost copy-and-paste the recommendation from the analysis wiki.
See test_JetSelector.cxx for an example of how this class can be used
Note to self: design choices tested in https://gist.github.com/gerbaudo/7854402
Note to self: since we usually store Jet* in vectors, all the is___() functions take a Jet* as input.
make the is__() functions const
convert the const Jet* argument to const Jet& (and skip all the if(jet) checks)
davide.gerbaudo@gmail.com, Aug 2014
| JetSelector * Susy::JetSelector::build | ( | const AnalysisType & | a, |
| bool | verbose | ||
| ) | [static] |
provide analysis-specific selector (or vanilla one if analysis is unknown)
The user owns the selector (i.e. should use std::shared_ptr or delete it when done with it).
| size_t Susy::JetSelector::count_CB_jets | ( | const JetVector & | jets | ) | [virtual] |
count central b-tagged jets
| size_t Susy::JetSelector::count_CL_jets | ( | const JetVector & | jets | ) | [virtual] |
count central light jets
| size_t Susy::JetSelector::count_F_jets | ( | const JetVector & | jets | ) | [virtual] |
count forward jets
| static float Susy::JetSelector::mv2c20_70efficiency | ( | ) | [inline, static] |
threshold for 70% efficiency
b-tag operating points for AntiKt4EMTopoJets with MV2c20. See https://twiki.cern.ch/twiki/bin/view/AtlasProtected/BTaggingBenchmarks#MV2c20_tagger_AntiKt4EMTopoJets
| static float Susy::JetSelector::overlapRemovalBtagEffWP | ( | ) | [inline, static] |
b-tag operating point used for the overlap removal.
See https://twiki.cern.ch/twiki/bin/viewauth/AtlasProtected/SusyObjectDefinitionsr2013TeV#b_tagging
| JetSelector & Susy::JetSelector::setSystematic | ( | const NtSys::SusyNtSys & | s | ) |
dtor (for now we don't have anything to delete)
set syst (needed for example for jvt)
1.7.6.1