00001
00002 #pragma once
00003 #include "PATInterfaces/SystematicVariation.h"
00004 #include <unordered_map>
00005
00006 namespace InDet {
00007
00008 enum TrackSystematic {
00009
00010 TRK_RES_D0_MEAS,
00011 TRK_RES_Z0_MEAS,
00012 TRK_RES_D0_MEAS_UP,
00013 TRK_RES_Z0_MEAS_UP,
00014 TRK_RES_D0_MEAS_DOWN,
00015 TRK_RES_Z0_MEAS_DOWN,
00016 TRK_RES_D0_DEAD,
00017 TRK_RES_Z0_DEAD,
00018
00019 TRK_BIAS_D0_WM,
00020 TRK_BIAS_Z0_WM,
00021 TRK_BIAS_QOVERP_SAGITTA_WM,
00022
00023 TRK_FAKE_RATE_LOOSE,
00024 TRK_FAKE_RATE_TIGHT,
00025
00026
00027 TRK_EFF_LOOSE_GLOBAL,
00028 TRK_EFF_LOOSE_IBL,
00029 TRK_EFF_LOOSE_PP0,
00030 TRK_EFF_LOOSE_PHYSMODEL,
00031 TRK_EFF_TIGHT_GLOBAL,
00032 TRK_EFF_TIGHT_IBL,
00033 TRK_EFF_TIGHT_PP0,
00034 TRK_EFF_TIGHT_PHYSMODEL,
00035
00036 TRK_EFF_LOOSE_TIDE
00037 };
00038
00039
00040 static std::unordered_map< InDet::TrackSystematic, CP::SystematicVariation, std::hash<int> > TrackSystematicMap = {
00041 {TRK_RES_D0_MEAS, CP::SystematicVariation("TRK_RES_D0_MEAS")},
00042 {TRK_RES_Z0_MEAS, CP::SystematicVariation("TRK_RES_Z0_MEAS")},
00043 {TRK_RES_D0_MEAS_UP, CP::SystematicVariation("TRK_RES_D0_MEAS", 1)},
00044 {TRK_RES_Z0_MEAS_UP, CP::SystematicVariation("TRK_RES_Z0_MEAS", 1)},
00045 {TRK_RES_D0_MEAS_DOWN, CP::SystematicVariation("TRK_RES_D0_MEAS", -1)},
00046 {TRK_RES_Z0_MEAS_DOWN, CP::SystematicVariation("TRK_RES_Z0_MEAS", -1)},
00047 {TRK_RES_D0_DEAD, CP::SystematicVariation("TRK_RES_D0_DEAD")},
00048 {TRK_RES_Z0_DEAD, CP::SystematicVariation("TRK_RES_Z0_DEAD")},
00049 {TRK_BIAS_D0_WM, CP::SystematicVariation("TRK_BIAS_D0_WM")},
00050 {TRK_BIAS_Z0_WM, CP::SystematicVariation("TRK_BIAS_Z0_WM")},
00051 {TRK_BIAS_QOVERP_SAGITTA_WM, CP::SystematicVariation("TRK_BIAS_QOVERP_SAGITTA_WM")},
00052 {TRK_FAKE_RATE_LOOSE, CP::SystematicVariation("TRK_FAKE_RATE_LOOSE")},
00053 {TRK_FAKE_RATE_TIGHT, CP::SystematicVariation("TRK_FAKE_RATE_TIGHT")},
00054 {TRK_EFF_LOOSE_GLOBAL, CP::SystematicVariation("TRK_EFF_LOOSE_GLOBAL")},
00055 {TRK_EFF_LOOSE_IBL, CP::SystematicVariation("TRK_EFF_LOOSE_IBL")},
00056 {TRK_EFF_LOOSE_PP0, CP::SystematicVariation("TRK_EFF_LOOSE_PP0")},
00057 {TRK_EFF_LOOSE_PHYSMODEL, CP::SystematicVariation("TRK_EFF_LOOSE_PHYSMODEL")},
00058 {TRK_EFF_TIGHT_GLOBAL, CP::SystematicVariation("TRK_EFF_TIGHT_GLOBAL")},
00059 {TRK_EFF_TIGHT_IBL, CP::SystematicVariation("TRK_EFF_TIGHT_IBL")},
00060 {TRK_EFF_TIGHT_PP0, CP::SystematicVariation("TRK_EFF_TIGHT_PP0")},
00061 {TRK_EFF_TIGHT_PHYSMODEL, CP::SystematicVariation("TRK_EFF_TIGHT_PHYSMODEL")},
00062 {TRK_EFF_LOOSE_TIDE, CP::SystematicVariation("TRK_EFF_LOOSE_TIDE")}
00063 };
00064
00065
00066 }
00067