SusyNtuple
 All Classes Functions Variables Typedefs Enumerations Enumerator
Public Member Functions | Static Public Member Functions
Susy::JetSelector Class Reference

A class to select jets. More...

#include <JetSelector.h>

Inheritance diagram for Susy::JetSelector:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 JetSelector ()
 Default ctor.
JetSelectorsetSystematic (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
JetSelectorsetVerbose (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 JetSelectorbuild (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.

Detailed Description

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.

Todo:

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


Member Function Documentation

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

Todo:
const
size_t Susy::JetSelector::count_CL_jets ( const JetVector &  jets) [virtual]

count central light jets

Todo:
const (depends on jvf tool interface)
size_t Susy::JetSelector::count_F_jets ( const JetVector &  jets) [virtual]

count forward jets

Todo:
const
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]
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)


The documentation for this class was generated from the following files:
 All Classes Functions Variables Typedefs Enumerations Enumerator