00001 #ifndef TMB_TREE_TMBEVENTFLAGS_HPP_
00002 #define TMB_TREE_TMBEVENTFLAGS_HPP_
00003
00004 #include "TBits.h"
00005
00023 class TMBEventFlags : public TBits {
00024 public:
00025
00026 enum Flag {
00028
00029 SELREPRO_1EM = 0,
00030 SELREPRO_2EM = 1,
00031 SELREPRO_1MU = 2,
00032 SELREPRO_2MU = 3,
00033 SELREPRO_EMMU = 4,
00034 SELREPRO_QCDJET = 5,
00035 SELREPRO_MULTIJET = 6,
00036 SELREPRO_MHT30_3CJT5 = 7,
00037 SELREPRO_JES = 8,
00039
00041
00042 SKIM_1EM2JET = 9,
00043 SKIM_1EM = 10,
00044 SKIM_1EMloose = 11,
00045 SKIM_1MU2JET = 12,
00046 SKIM_1MU = 13,
00047 SKIM_1MUloose = 14,
00048 SKIM_2EM = 15,
00049 SKIM_2EMhighpt = 16,
00050 SKIM_2MU = 17,
00051 SKIM_2MUhighpt = 18,
00052 SKIM_3JET = 19,
00053 SKIM_EM1TRK = 20,
00054 SKIM_EM2TRK = 21,
00055 SKIM_EM_MU = 22,
00056 SKIM_Higgs = 23,
00057 SKIM_JES_B = 24,
00058 SKIM_JES = 25,
00059 SKIM_JPSI = 26,
00060 SKIM_MB = 27,
00061 SKIM_METTRK = 28,
00062 SKIM_MU2TRK = 29,
00063 SKIM_NP = 30,
00064 SKIM_QCD = 32,
00065 SKIM_TAU2TRK = 33,
00066 SKIM_ZB = 34,
00067 SKIM_bMU = 35,
00068 SKIM_TOP_EMU = 37,
00069 SKIM_TOP_ETRACK = 38,
00070 SKIM_TOP_MUTRACK = 39,
00071 SKIM_TOP_ALLJETS = 40,
00072 SKIM_TOP_3JET = 41,
00073 SKIM_TOP_EMTRIG = 42,
00074 SKIM_TOP_JETTRIG1 = 43,
00075 SKIM_TOP_JET_TRIG = 44,
00076 SKIM_TOP_MUTRIG = 45,
00077 SKIM_TOP_MUJETBID = 46,
00078 SKIM_AA_JPSI = 48,
00079 SKIM_AA_B_D0MU = 49,
00080 SKIM_AA_B_DSMU = 50,
00081 SKIM_AA_B_DSTMU_LOOSE = 51,
00082 SKIM_AA_B_DSTH = 52,
00083 SKIM_BID = 53,
00084 SKIM_DIFF = 54,
00085 SKIM_NP_MHT20 = 92,
00086 SKIM_3LEP = 93,
00087 SKIM_TAUTRIG = 94,
00088 SKIM_2MU1TRK = 101,
00089 SKIM_MU2TRKhighpt = 102,
00091
00092 Stream_Prescale = 36,
00093
00095
00096 HAS_JCCB = 55,
00097 HAS_2JCCB = 56,
00098 HAS_3JCCB = 57,
00099 HAS_MET_10 = 58,
00100 HAS_MET_20 = 59,
00101 HAS_MU_1_5 = 60,
00102 HAS_MU_5 = 61,
00103 HAS_MU_10 = 62,
00104 HAS_2MU_1_5 = 63,
00105 HAS_2MU_5 = 64,
00106 HAS_2MU_10 = 65,
00107 HAS_ISOMU_5 = 66,
00108 HAS_ISOMU_10 = 67,
00109 HAS_2ISOMU_5 = 68,
00110 HAS_2ISOMU_10 = 69,
00111 HAS_EM_5 = 70,
00112 HAS_EM_10 = 71,
00113 HAS_EM_15 = 72,
00114 HAS_2EM_5 = 73,
00115 HAS_2EM_10 = 74,
00116 HAS_2EM_15 = 75,
00117 HAS_ELE_5 = 76,
00118 HAS_ELE_10 = 77,
00119 HAS_2ELE_5 = 78,
00120 HAS_2ELE_10 = 79,
00121 HAS_TRK_5 = 80,
00122 HAS_TRK_10 = 81,
00123 HAS_TRK_15 = 82,
00124 HAS_2TRK_5 = 83,
00125 HAS_2TRK_10 = 84,
00126 HAS_2TRK_15 = 85,
00127 HAS_ISOTRK_5 = 86,
00128 HAS_ISOTRK_10 = 87,
00129 HAS_2ISOTRK_5 = 88,
00130 HAS_2ISOTRK_10 = 89,
00131 HAS_TAU = 90,
00132 HAS_2TAU = 91,
00133 HAS_CELLNN_5 = 95,
00134 HAS_CELLNN_10 = 96,
00135 HAS_CELLNN_15 = 97,
00136 HAS_2CELLNN_3 = 98,
00137 HAS_2CELLNN_5 = 99,
00138 HAS_2CELLNN_10 = 100,
00139
00141 FASTTRACK = 31,
00142 };
00143
00144 TMBEventFlags();
00145 virtual ~TMBEventFlags();
00146
00148 Bool_t HasFlag(const char *name) const;
00149
00151 Bool_t HasFlag(Flag flag) const;
00152
00154 void AddFlag(const char *name);
00155
00157 void AddFlag(Flag flag);
00158
00161 const char *GetFlagName(Flag flag) const;
00162
00164 Flag GetFlagValue(const char *name) const;
00165
00166 private:
00167 struct Mapping {
00168 Flag flag;
00169 const char *name;
00170 };
00171
00172 static Mapping s_mapping[];
00173
00174 ClassDef(TMBEventFlags, 1);
00175 };
00176
00177 #endif // TMB_TREE_TMBEVENTFLAGS_HPP_
00178