File indexing completed on 2024-04-09 22:33:51
0001 import FWCore.ParameterSet.Config as cms
0002 from DQMServices.Core.DQMEDHarvester import DQMEDHarvester
0003
0004 from DQMOffline.Trigger.HLTTauDQMOffline_cfi import *
0005
0006 def makeInclusiveAnalyzer(monitorModule):
0007 m1 = DQMEDHarvester("DQMGenericClient",
0008 subDirs = cms.untracked.vstring(monitorModule.DQMBaseFolder.value()+"/"+monitorModule.PathSummaryPlotter.DQMFolder.value()),
0009 verbose = cms.untracked.uint32(0),
0010 outputFileName = cms.untracked.string(''),
0011 resolution = cms.vstring(),
0012 efficiency = cms.vstring(),
0013 efficiencyProfile = cms.untracked.vstring(
0014 "PathEfficiency 'Accepted Events per Path;;' helpers/PathTriggerBits helpers/RefEvents"
0015 ),
0016 )
0017
0018 m2 = DQMEDHarvester("HLTTauPostProcessor",
0019 DQMBaseFolder = cms.untracked.string(monitorModule.DQMBaseFolder.value())
0020 )
0021
0022 return (m1, m2)
0023
0024 def makePFTauAnalyzer(monitorModule):
0025 (m1, m2) = makeInclusiveAnalyzer(monitorModule)
0026 m1.subDirs.extend([monitorModule.DQMBaseFolder.value()+"/HLT_.*",
0027 monitorModule.DQMBaseFolder.value()+"/"+monitorModule.L1Plotter.DQMFolder.value(),
0028 monitorModule.DQMBaseFolder.value()+"/.*"])
0029
0030 def _addEfficiencies(level, quantities, nameFormat, titleObject="#tau", postfix=""):
0031 if postfix != "":
0032 postfix = " "+postfix
0033 for quantity, titleLabel in quantities:
0034 name = nameFormat % (level, quantity)
0035 title = "%s %s %s efficiency%s" % (level, titleObject, titleLabel, postfix)
0036 m1.efficiencyProfile.append("%s '%s' helpers/%sNum helpers/%sDenom" % (name, title, name, name))
0037
0038 _addEfficiencies("L1", [("Et", "E_{T}"),
0039 ("Eta", "#eta"),
0040 ("Phi", "#phi")], "%sTau%sEff")
0041 _addEfficiencies("L1", [("Et", "E_{T}"),
0042 ("Eta", "#eta"),
0043 ("Phi", "#phi")], "%sIsoTau%sEff")
0044 _addEfficiencies("L1", [("HighEt", "E_{T}")], "%sTau%sEff", postfix="(high E_{T})")
0045
0046 _addEfficiencies("L1", [("Et", "E_{T}")], "%sETM%sEff", "ETM")
0047
0048 _addEfficiencies("L2", [("Et", "E_{T}"),
0049 ("Phi", "#phi")], "%sTrigMET%sEff", "MET")
0050 _addEfficiencies("tau", [("Et", "E_{T}"),("Eta", "#eta"),("Phi", "#phi")], "%s%sEff", titleObject="")
0051 _addEfficiencies("muon", [("Et", "E_{T}"),("Eta", "#eta"),("Phi", "#phi")], "%s%sEff", titleObject="")
0052 _addEfficiencies("electron", [("Et", "E_{T}"),("Eta", "#eta"),("Phi", "#phi")], "%s%sEff", titleObject="")
0053 _addEfficiencies("met", [("Et", "E_{T}"),("Phi", "#phi")], "%s%sEff", titleObject="")
0054
0055 for level in ["L2", "L3"]:
0056 _addEfficiencies(level, [("Et", "p_{T}"),
0057 ("Eta", "#eta"),
0058 ("Phi", "#phi")], "%sTrigTau%sEff")
0059 _addEfficiencies(level, [("HighEt", "p_{T}")], "%sTrigTau%sEff", postfix="(high p_{T})")
0060 _addEfficiencies(level, [("Et", "p_{T}"),
0061 ("Eta", "#eta"),
0062 ("Phi", "#phi")], "%sTrigElectron%sEff", "electron")
0063 _addEfficiencies(level, [("Et", "p_{T}"),
0064 ("Eta", "#eta"),
0065 ("Phi", "#phi")], "%sTrigMuon%sEff", "muon")
0066
0067 m1.efficiency.append("L3EtaPhiEfficiency 'eta phi eff; #eta; #phi' helpers/L3TrigTauEtaPhiEffNum helpers/L3TrigTauEtaPhiEffDenom")
0068 m1.efficiency.append("tauEtaPhiEfficiency 'eta phi eff; #eta; #phi' helpers/tauEtaPhiEffNum helpers/tauEtaPhiEffDenom")
0069 m1.efficiency.append("muonEtaPhiEfficiency 'eta phi eff; #eta; #phi' helpers/muonEtaPhiEffNum helpers/muonEtaPhiEffDenom")
0070 m1.efficiency.append("electronEtaPhiEfficiency 'eta phi eff; #eta; #phi' helpers/electronEtaPhiEffNum helpers/electronEtaPhiEffDenom")
0071
0072 return (m1, m2)
0073
0074
0075 (HLTTauPostAnalysisInclusive, HLTTauPostAnalysisInclusive2) = makeInclusiveAnalyzer(hltTauOfflineMonitor_Inclusive)
0076 (HLTTauPostAnalysisPFTaus, HLTTauPostAnalysisPFTaus2) = makePFTauAnalyzer(hltTauOfflineMonitor_PFTaus)
0077 (HLTTauPostAnalysisPNetTaus, HLTTauPostAnalysisPNetTaus2) = makePFTauAnalyzer(hltTauOfflineMonitor_PNetTaus)
0078 (HLTTauPostAnalysisTP, HLTTauPostAnalysisTP2) = makePFTauAnalyzer(hltTauOfflineMonitor_TagAndProbe)
0079
0080 HLTTauPostSeq = cms.Sequence(
0081 HLTTauPostAnalysisInclusive+HLTTauPostAnalysisInclusive2+
0082 HLTTauPostAnalysisPFTaus+HLTTauPostAnalysisPFTaus2+
0083 HLTTauPostAnalysisPNetTaus+HLTTauPostAnalysisPNetTaus2+
0084 HLTTauPostAnalysisTP+HLTTauPostAnalysisTP2
0085 )