test
CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HLTTauPostProcessor_cfi.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
4 
5 def makeInclusiveAnalyzer(monitorModule):
6  m1 = cms.EDAnalyzer("DQMGenericClient",
7  subDirs = cms.untracked.vstring(monitorModule.DQMBaseFolder.value()+"/"+monitorModule.PathSummaryPlotter.DQMFolder.value()),
8  verbose = cms.untracked.uint32(0), # Set to 2 for all messages
9  outputFileName = cms.untracked.string(''),
10  resolution = cms.vstring(),
11  efficiency = cms.vstring(),
12  efficiencyProfile = cms.untracked.vstring(
13  "PathEfficiency 'Accepted Events per Path;;' helpers/PathTriggerBits helpers/RefEvents"
14  ),
15  )
16 
17  m2 = cms.EDAnalyzer("HLTTauPostProcessor",
18  DQMBaseFolder = cms.untracked.string(monitorModule.DQMBaseFolder.value())
19  )
20 
21  return (m1, m2)
22 
23 def makePFTauAnalyzer(monitorModule):
24  (m1, m2) = makeInclusiveAnalyzer(monitorModule)
25  m1.subDirs.extend([monitorModule.DQMBaseFolder.value()+"/HLT_.*",
26  monitorModule.DQMBaseFolder.value()+"/"+monitorModule.L1Plotter.DQMFolder.value()])
27 
28  def _addEfficiencies(level, quantities, nameFormat, titleObject="#tau", postfix=""):
29  if postfix != "":
30  postfix = " "+postfix
31  for quantity, titleLabel in quantities:
32  name = nameFormat % (level, quantity)
33  title = "%s %s %s efficiency%s" % (level, titleObject, titleLabel, postfix)
34  m1.efficiencyProfile.append("%s '%s' helpers/%sNum helpers/%sDenom" % (name, title, name, name))
35 
36  _addEfficiencies("L1", [("Et", "E_{T}"),
37  ("Eta", "#eta"),
38  ("Phi", "#phi")], "%sTau%sEff")
39  _addEfficiencies("L1", [("HighEt", "E_{T}")], "%sTau%sEff", postfix="(high E_{T})")
40 
41  _addEfficiencies("L1", [("Et", "E_{T}")], "%sETM%sEff", "ETM")
42 
43  _addEfficiencies("L2", [("Et", "E_{T}"),
44  ("Phi", "#phi")], "%sTrigMET%sEff", "MET")
45 
46  for level in ["L2", "L3"]:
47  _addEfficiencies(level, [("Et", "p_{T}"),
48  ("Eta", "#eta"),
49  ("Phi", "#phi")], "%sTrigTau%sEff")
50  _addEfficiencies(level, [("HighEt", "p_{T}")], "%sTrigTau%sEff", postfix="(high p_{T})")
51  _addEfficiencies(level, [("Et", "p_{T}"),
52  ("Eta", "#eta"),
53  ("Phi", "#phi")], "%sTrigElectron%sEff", "electron")
54  _addEfficiencies(level, [("Et", "p_{T}"),
55  ("Eta", "#eta"),
56  ("Phi", "#phi")], "%sTrigMuon%sEff", "muon")
57  return (m1, m2)
58 
59 
60 (HLTTauPostAnalysis_Inclusive, HLTTauPostAnalysis_Inclusive2) = makeInclusiveAnalyzer(hltTauOfflineMonitor_Inclusive)
61 (HLTTauPostAnalysis_PFTaus, HLTTauPostAnalysis_PFTaus2) = makePFTauAnalyzer(hltTauOfflineMonitor_PFTaus)
62 HLTTauPostSeq = cms.Sequence(
63  HLTTauPostAnalysis_Inclusive+HLTTauPostAnalysis_Inclusive2+
64  HLTTauPostAnalysis_PFTaus+HLTTauPostAnalysis_PFTaus2
65 )