SusyNtuple
SusyNtuple/JetSelector.h
00001 //  -*- c++ -*-
00002 #ifndef SUSY_JETSELECTOR_H
00003 #define SUSY_JETSELECTOR_H
00004 
00005 #include "SusyNtuple/SusyNtSys.h"
00006 #include "SusyNtuple/AnalysisType.h"
00007 #include "SusyNtuple/SusyDefs.h" // JetVector
00008 
00009 namespace Susy {
00010 
00011 class Jet;
00012 
00014 
00058 class JetSelector
00059 {
00060 public:
00062 
00066     static JetSelector* build(const AnalysisType &a, bool verbose);
00067 
00068     JetSelector(); 
00069     virtual ~JetSelector() {}; 
00070     JetSelector& setSystematic(const NtSys::SusyNtSys&); 
00071 
00072     virtual bool isB(const Jet* jet);
00073     virtual bool isCentralLight(const Jet* jet);
00074     virtual bool isCentralB(const Jet* jet);
00075     virtual bool isForward(const Jet* jet);
00077     virtual bool passJvt(const Jet* jet);
00078 
00079     virtual bool isBaseline(const Jet* jet); 
00080     virtual bool isSignal(const Jet* jet); 
00081 
00082     bool verbose() const { return m_verbose; }
00083     JetSelector& setVerbose(bool v) { m_verbose = v; return *this; }
00085     virtual size_t count_CL_jets(const JetVector &jets) /*const*/;
00087     virtual size_t count_CB_jets(const JetVector &jets) /*const*/;
00089     virtual size_t count_F_jets(const JetVector &jets) /*const*/;
00090 
00092 
00097     static float mv2c20_70efficiency() { return -0.0436; } 
00098     static float mv2c20_77efficiency() { return -0.4434; } 
00099     static float mv2c20_80efficiency() { return -0.5911; } 
00100 
00102 
00106     static float overlapRemovalBtagEffWP() { return mv2c20_80efficiency(); }
00108 private:
00109     NtSys::SusyNtSys m_systematic; 
00110     bool m_verbose; 
00111     }; // class JetSelector
00112 
00113 
00114 //----------------------------------------------------------
00115 //
00116 // End generic selector, begin analysis-specific ones
00117 //
00118 //----------------------------------------------------------
00119 
00121 class JetSelector_2Lep : public JetSelector
00122 {
00123 };
00125 class JetSelector_3Lep : public JetSelector
00126 {
00127 };
00128 
00130 class JetSelector_2LepWH : public JetSelector
00131 {
00132 };
00133 
00135 class JetSelector_SS3L : public JetSelector
00136 {
00137     virtual bool isBaseline(const Jet* jet);
00138     virtual bool isSignal(const Jet* jet);
00139     virtual bool isB(const Jet* jet);
00140 };
00141 
00143 class JetSelector_Stop2L : public JetSelector
00144 {
00145     virtual bool isBaseline(const Jet* jet);
00146     virtual bool isSignal(const Jet* jet);
00147 };
00148 
00149 } // Susy
00150 
00151 #endif
 All Classes Functions Variables Typedefs Enumerations Enumerator