00001 import ROOT
00002
00003 import re
00004
00005 algorithms = {
00006 'hps' : {
00007
00008 'producer' : 'hpsPFTauProducer',
00009 'rawSource' : 'combinatoricRecoTaus',
00010 'nicename' : 'HPS',
00011 'discriminators' : [
00012 "hpsPFTauDiscriminationByDecayModeFinding",
00013 "hpsPFTauDiscriminationByLooseIsolation",
00014 "hpsPFTauDiscriminationByMediumIsolation",
00015 "hpsPFTauDiscriminationByTightIsolation",
00016 "hpsPFTauDiscriminationAgainstElectron",
00017 "hpsPFTauDiscriminationAgainstMuon",
00018 ],
00019
00020 'color' : ROOT.EColor.kGreen + 1,
00021 },
00022 'shrinking' : {
00023 'producer' : 'shrinkingConePFTauProducer',
00024 'rawSource' : 'shrinkingConePFTauProducer',
00025 'nicename' : "Shrinking Cone",
00026 'discriminators' : [
00027 "shrinkingConePFTauDiscriminationByLeadingTrackFinding",
00028 "shrinkingConePFTauDiscriminationByLeadingTrackPtCut",
00029 "shrinkingConePFTauDiscriminationByLeadingPionPtCut",
00030 "shrinkingConePFTauDiscriminationByIsolation",
00031 "shrinkingConePFTauDiscriminationByTrackIsolation",
00032 "shrinkingConePFTauDiscriminationByECALIsolation",
00033 "shrinkingConePFTauDiscriminationAgainstElectron",
00034 "shrinkingConePFTauDiscriminationAgainstMuon",
00035 ],
00036
00037 'color' : ROOT.EColor.kRed,
00038 },
00039 'shrinkingTanc' : {
00040 'producer' : 'shrinkingConePFTauProducer',
00041 'rawSource' : 'shrinkingConePFTauProducer',
00042 'nicename' : 'TaNC',
00043 'discriminators' : [
00044 "shrinkingConePFTauDiscriminationByLeadingTrackFinding",
00045 "shrinkingConePFTauDiscriminationByLeadingPionPtCut",
00046 "shrinkingConePFTauDiscriminationByTaNCfrOnePercent",
00047 "shrinkingConePFTauDiscriminationByTaNCfrHalfPercent",
00048 "shrinkingConePFTauDiscriminationByTaNCfrQuarterPercent",
00049 "shrinkingConePFTauDiscriminationByTaNCfrTenthPercent",
00050 "shrinkingConePFTauDiscriminationAgainstElectron",
00051 "shrinkingConePFTauDiscriminationAgainstMuon",
00052 ],
00053
00054 'color' : ROOT.EColor.kRed,
00055 },
00056 'hpsTanc' : {
00057 'producer' : 'hpsTancTaus',
00058
00059 'rawSource' : 'combinatoricRecoTaus',
00060 'nicename' : 'Hybrid',
00061 'discriminators' : [
00062 "hpsTancTausDiscriminationByLeadingTrackPtCut",
00063
00064 "hpsTancTausDiscriminationByTancLoose",
00065 "hpsTancTausDiscriminationByTancMedium",
00066 "hpsTancTausDiscriminationByTancTight",
00067 'hpsTancTausDiscriminationAgainstElectron',
00068 'hpsTancTausDiscriminationAgainstMuon',
00069 ],
00070
00071 'color' : ROOT.EColor.kBlue
00072 },
00073 'hpsTancCuts' : {
00074 'producer' : 'hpsTancTaus',
00075
00076 'rawSource' : 'combinatoricRecoTaus',
00077 'nicename' : 'Hybrid - cuts',
00078 'discriminators' : [
00079 'hpsTancTausDiscriminationByDecayModeSelection',
00080 'hpsTancTausDiscriminationByLooseIsolation',
00081 'hpsTancTausDiscriminationByMediumIsolation',
00082 'hpsTancTausDiscriminationByTightIsolation',
00083 'hpsTancTausDiscriminationAgainstElectron',
00084 'hpsTancTausDiscriminationAgainstMuon',
00085 ],
00086
00087 'color' : ROOT.EColor.kBlue
00088 },
00089 }
00090
00091 _matcher = re.compile(
00092 r"\w+Discrimination(Against)*(By)*(?P<nicename>\w+)")
00093 def discriminator_nice_name(discriminator):
00094 match = _matcher.match(discriminator)
00095 if not match:
00096 print "Can't make nice name out of discriminator", discriminator
00097 return ""
00098 return match.group('nicename')
00099
00100 comparisons = {
00101 'hybrid_medium' : {
00102 'title' : "blah",
00103 'plots' : [
00104 ('shrinkingTancGenMatched',
00105 "shrinkingConePFTauDiscriminationByTaNCfrHalfPercent"),
00106 ('hpsTancGenMatched', "hpsTancTausDiscriminationByTancMedium"),
00107 ('hpsGenMatched', "hpsPFTauDiscriminationByMediumIsolation"),
00108 ]
00109 },
00110 'hybrid_loose' : {
00111 'title' : "blah",
00112 'plots' : [
00113 ('shrinkingTancGenMatched',
00114 "shrinkingConePFTauDiscriminationByTaNCfrHalfPercent"),
00115 ('hpsTancGenMatched', "hpsTancTausDiscriminationByTancLoose"),
00116 ('hpsGenMatched', "hpsPFTauDiscriminationByLooseIsolation"),
00117 ]
00118 },
00119 'new_old_hps_iso_loose' : {
00120 'title' : "blah",
00121 'plots' : [
00122 ('hpsTancCutsGenMatched', "hpsTancTausDiscriminationByLooseIsolation"),
00123 ('hpsGenMatched', "hpsPFTauDiscriminationByLooseIsolation"),
00124 ]
00125 },
00126 'new_old_hps_iso_medium' : {
00127 'title' : "blah",
00128 'plots' : [
00129 ('hpsTancCutsGenMatched', "hpsTancTausDiscriminationByMediumIsolation"),
00130 ('hpsGenMatched', "hpsPFTauDiscriminationByMediumIsolation"),
00131 ]
00132 },
00133 }