CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Classes | Functions | Variables
trackingPlots Namespace Reference

Classes

class  Iteration
 
class  TimePerEventPlot
 
class  TimePerTrackPlot
 
class  TrackingIterationOrder
 
class  TrackingPlotFolder
 
class  TrackingSeedingLayerTable
 
class  TrackingSummaryTable
 
class  TrackingTimingTable
 

Functions

def _appendPixelTrackingPlots
 
def _appendTrackingPlots
 
def _collhelper
 
def _constructSummary
 
def _iterModuleMap
 
def _makeDistPlots
 
def _makeDistSimPlots
 
def _makeEffFakeDupPlots
 
def _makeFakeDist
 
def _makeFakeDupPileupPlots
 
def _makeMVAPlots
 
def _mapCollectionToAlgoQuality
 
def _minMaxResidual
 
def _stepModuleMap
 
def _summaryBinRename
 
def _trackingFolders
 
def _trackingRefFileFallbackSLHC_Phase1PU140
 
def _trackingSubFoldersFallbackConversion
 
def _trackingSubFoldersFallbackFromPV
 
def _trackingSubFoldersFallbackPreSplitting
 
def _trackingSubFoldersFallbackSLHC_Phase1PU140
 

Variables

list _additionalTrackQualities
 
tuple _algos_common = dict(removeEmptyBins=True, xbinlabelsize=10, xbinlabeloption="d")
 
list _buildingExtendedPlots
 
tuple _chargemisid
 
tuple _collLabelMap = collections.OrderedDict(map(_collhelper, ["generalTracks"]+_possibleTrackingColls))
 
tuple _collLabelMapHp = collections.OrderedDict(map(_collhelper, ["generalTracks"]+[n for n in _possibleTrackingColls if "Step" in n]))
 
dictionary _common = {"ymin": 0, "ymax": _maxEff}
 PackedCandidate plots. More...
 
dictionary _common2 = {}
 
dictionary _commonLabelSize = {}
 
dictionary _commonStatus = {}
 
tuple _dedx
 
tuple _dupandfakeChi2Seeding
 
tuple _dupandfakeDeltaRPU
 
tuple _dupandfakeDxyDzBS
 
tuple _dupandfakeDxyDzPV
 
tuple _dupandfakeHitsLayers
 
tuple _dupandfakePos
 
tuple _dupandfakePtEtaPhi
 
tuple _dupandfakeSeedingPlots = _makeFakeDupPileupPlots("seedingLayerSet", "seeding layers", xtitle="", common=_seedingLayerSet_common)
 
tuple _dupandfakeSeedingTable
 
tuple _duplicateAlgo = PlotOnSideGroup("duplicateAlgo", Plot("duplicates_oriAlgo_vs_oriAlgo", drawStyle="COLZ", adjustMarginLeft=0.1, adjustMarginRight=0.1, **_algos_common))
 
tuple _effandfakeDeltaRPU
 
tuple _effandfakeDxyDzBS
 
tuple _effandfakeDxyDzPV
 
tuple _effandfakeHitsLayers
 
tuple _effandfakePos
 
tuple _effandfakePtEtaPhi
 
tuple _extDistChi2Seeding
 
tuple _extDistDeltaR
 
tuple _extDistDxyDzBS
 
tuple _extDistDxyDzPV
 
tuple _extDistHitsLayers
 
tuple _extDistPos
 
tuple _extDistPtEtaPhi
 Extended set of plots. More...
 
tuple _extDistSeedingPlots = _makeDistPlots("seedingLayerSet", "seeding layers", common=dict(xtitle="", **_seedingLayerSet_common))
 
tuple _extDistSeedingTable
 
tuple _extDistSimDeltaR
 
tuple _extDistSimDxyDzBS
 
tuple _extDistSimDxyDzPV
 
tuple _extDistSimHitsLayers
 
tuple _extDistSimPos
 
tuple _extDistSimPtEtaPhi
 Extended set of plots also for simulation. More...
 
list _extendedPlots
 
tuple _extHitsLayers
 
tuple _extNrecVsNsim
 
tuple _extResidualEta
 
tuple _extResidualPt
 
tuple _hitsAndPt
 
list _hltFolder
 
tuple _iteration_reorder = TrackingIterationOrder()
 
list _iterations
 
float _legendDy_1row = 0.46
 
float _legendDy_2rows = -0.025
 
float _legendDy_2rows_3cols = -0.17
 
float _legendDy_4rows = 0.09
 
list _max3DLayers = [5, 10, 20]
 
float _maxDRJ = 0.1
 
list _maxEff = [0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 0.8, 1.025, 1.2, 1.5, 2]
 Per track collection plots. More...
 
list _maxFake = [0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 0.8, 1.025]
 
list _maxHits = [5, 10, 20, 40, 60, 80]
 
list _maxLayers = [5, 10, 25]
 
int _maxPixelLayers = 8
 
list _maxPU = [20, 50, 65, 80, 100, 150, 200, 250]
 
list _maxZ = [5, 10, 20, 40, 60]
 
list _min3DLayers = [0, 5, 10]
 
list _minHits = [0, 5, 10]
 
list _minLayers = [0, 5, 10]
 
list _minMaxMVA = [-1.025, -0.5, 0, 0.5, 1.025]
 
list _minMaxN = [5e-1, 5, 5e1, 5e2, 5e3, 5e4, 5e5, 5e6, 5e7, 5e8, 5e9]
 
list _minMaxResol = [1e-5, 4e-5, 1e-4, 4e-4, 1e-3, 4e-3, 1e-2, 4e-2, 0.1, 0.4, 1]
 
list _minMaxTracks = [0, 200, 500, 1000, 1500, 2000]
 
list _minPU = [0, 10, 20, 50, 100, 150]
 
list _minZ = [-60, -40, -20, -10, -5]
 
tuple _packedCandidateCovarianceMatrix1
 
tuple _packedCandidateCovarianceMatrix2
 
tuple _packedCandidateFlow
 
tuple _packedCandidateHits
 
tuple _packedCandidateHitsHitPattern
 
tuple _packedCandidateImpactParameter1
 
tuple _packedCandidateImpactParameter2
 
tuple _packedCandidateKinematics
 
tuple _packedCandidateLayers
 
list _packedCandidatePlots
 
tuple _packedCandidateVertex
 
list _possibleTrackingColls
 
dictionary _possibleTrackingCollsOld
 
list _possibleTrackingNonIterationColls
 Summary plots. More...
 
tuple _pulls
 
tuple _pvassociation1
 
tuple _pvassociation2
 
list _recoBasedPlots
 
tuple _resolutionsEta
 
tuple _resolutionsPhi
 
tuple _resolutionsPt
 
list _seedingBuildingPlots
 
tuple _seedingLayerSet_common = dict(removeEmptyBins=True, xbinlabelsize=8, xbinlabeloption="d", adjustMarginRight=0.1)
 
list _simBasedPlots
 
list _summaryPlots
 
list _summaryPlotsHp
 
list _summaryPlotsSeeds
 
tuple _time_per_event_cpu = TimePerEventPlot("timePerEvent", "module_time_thread_total")
 
tuple _time_per_event_real = TimePerEventPlot("timePerEvent", "module_time_real_total")
 
tuple _time_per_iter_cpu = AggregateBins("iteration", _time_per_event_cpu, _iterModuleMap(), ignoreMissingBins=True, reorder=_iteration_reorder)
 
tuple _time_per_iter_real = AggregateBins("iteration", _time_per_event_real, _iterModuleMap(), ignoreMissingBins=True, reorder=_iteration_reorder)
 
list _timeFolders
 
tuple _timing_iterationsCPU
 
tuple _timing_iterationsReal
 
tuple _timing_summaryCPU
 
tuple _timing_summaryReal
 
tuple _tplifetime
 
string _trackingIterationOrderHistogram = "DQMData/Run 1/Tracking/Run summary/TrackBuilding/num_reco_coll"
 
tuple _tuning
 
string loopSubFolders = "timing"
 
tuple plotter = Plotter()
 
tuple plotterExt = Plotter()
 
tuple plotterHLT = Plotter()
 
tuple plotterHLTExt = Plotter()
 
tuple timePlotter = Plotter()
 
tuple tpPlotter = Plotter()
 

Function Documentation

def trackingPlots._appendPixelTrackingPlots (   lastDirName,
  name 
)
private

Definition at line 1363 of file trackingPlots.py.

References _trackingFolders().

1364 def _appendPixelTrackingPlots(lastDirName, name):
1365  _common = dict(purpose=PlotPurpose.Pixel, page="pixel")
1366  _folders = _trackingFolders(lastDirName)
1367 
1368  plotter.append(name, _folders, TrackingPlotFolder(*(_simBasedPlots+_recoBasedPlots), **_common))
1369  plotterExt.append(name, _folders, TrackingPlotFolder(*_extendedPlots, **_common))
1370 
1371  plotter.append(name+"_summary", _folders, PlotFolder(_summaryRaw, _summaryRawN, loopSubFolders=False, purpose=PlotPurpose.TrackingSummary, page="summary", section=name))
1372  plotter.append(name+"_summary", _folders, PlotFolder(_summaryRaw, _summaryRawN, loopSubFolders=False, purpose=PlotPurpose.TrackingSummary, page="summary", section=name+"Pt09"))
1373  plotter.appendTable(name+"_summary", _folders, TrackingSummaryTable(section=name, collection=TrackingSummaryTable.Pixel))
1374  plotter.appendTable(name+"_summary", _folders, TrackingSummaryTable(section=name+"Pt09", collection=TrackingSummaryTable.PixelPt09))
1375 _appendPixelTrackingPlots("PixelTrack", "pixel")
1376 _appendPixelTrackingPlots("PixelTrackFromPV", "pixelFromPV")
1377 _appendPixelTrackingPlots("PixelTrackFromPVAllTP", "pixelFromPVAllTP")
1378 _appendPixelTrackingPlots("PixelTrackBHadron", "pixelbhadron")
1379 
1380 
1381 # MiniAOD
1382 plotter.append("packedCandidate", _trackingFolders("PackedCandidate"),
1383  PlotFolder(*_packedCandidatePlots, loopSubFolders=False,
1384  purpose=PlotPurpose.MiniAOD, page="miniaod", section="PackedCandidate"))
1385 plotter.append("packedCandidateLostTracks", _trackingFolders("PackedCandidate/lostTracks"),
1386  PlotFolder(*_packedCandidatePlots, loopSubFolders=False,
1387  purpose=PlotPurpose.MiniAOD, page="miniaod", section="PackedCandidate (lostTracks)"))
1388 
# HLT
def _appendPixelTrackingPlots
def trackingPlots._appendTrackingPlots (   lastDirName,
  name,
  algoPlots,
  onlyForPileup = False,
  onlyForElectron = False,
  onlyForConversion = False,
  onlyForBHadron = False,
  seeding = False,
  building = False,
  rawSummary = False,
  highPuritySummary = True 
)
private

Definition at line 1300 of file trackingPlots.py.

References _trackingFolders().

1301 def _appendTrackingPlots(lastDirName, name, algoPlots, onlyForPileup=False, onlyForElectron=False, onlyForConversion=False, onlyForBHadron=False, seeding=False, building=False, rawSummary=False, highPuritySummary=True):
1302  folders = _trackingFolders(lastDirName)
1303  # to keep backward compatibility, this set of plots has empty name
1304  limiters = dict(onlyForPileup=onlyForPileup, onlyForElectron=onlyForElectron, onlyForConversion=onlyForConversion, onlyForBHadron=onlyForBHadron)
1305  commonForTPF = dict(purpose=PlotPurpose.TrackingIteration, fallbackRefFiles=[
1306  _trackingRefFileFallbackSLHC_Phase1PU140
1307  ], **limiters)
1308  common = dict(fallbackDqmSubFolders=[
1309  _trackingSubFoldersFallbackSLHC_Phase1PU140,
1310  _trackingSubFoldersFallbackFromPV, _trackingSubFoldersFallbackConversion,
1311  _trackingSubFoldersFallbackPreSplitting])
1312  plotter.append(name, folders, TrackingPlotFolder(*algoPlots, **commonForTPF), **common)
1313  extendedPlots = []
1314  if building:
1315  extendedPlots.extend(_buildingExtendedPlots)
1316  extendedPlots.extend(_extendedPlots)
1317  plotterExt.append(name, folders, TrackingPlotFolder(*extendedPlots, **commonForTPF), **common)
1318 
1319  summaryName = ""
1320  if name != "":
1321  summaryName += name+"_"
1322  summaryName += "summary"
1323  summaryPlots = []
1324  if rawSummary:
1325  summaryPlots.extend([_summaryRaw, _summaryRawN])
1326  summaryPlots.extend(_summaryPlots)
1327 
1328  common = dict(loopSubFolders=False, purpose=PlotPurpose.TrackingSummary, page="summary",
1329  #numberOfEventsHistogram=_trackingNumberOfEventsHistogram, # FIXME
1330  **limiters)
1331  plotter.append(summaryName, folders,
1332  PlotFolder(*summaryPlots, section=name, **common))
1333  if highPuritySummary:
1334  plotter.append(summaryName+"_highPurity", folders,
1335  PlotFolder(*_summaryPlotsHp, section=name+"_highPurity" if name != "" else "highPurity", **common),
1336  fallbackNames=[summaryName]) # backward compatibility for release validation, the HP plots used to be in the same directory with all-track plots
1337  if seeding:
1338  plotter.append(summaryName+"_seeds", folders,
1339  PlotFolder(*_summaryPlotsSeeds, section=name+"_seeds", **common))
1340 
1341  plotter.appendTable(summaryName, folders, TrackingSummaryTable(section=name))
1342  plotter.appendTable(summaryName, folders, TrackingSummaryTable(section=name+"Pt09", collection=TrackingSummaryTable.GeneralTracksPt09))
1343  if highPuritySummary:
1344  sectionName = name+"_highPurity" if name != "" else "highPurity"
1345  plotter.appendTable(summaryName+"_highPurity", folders, TrackingSummaryTable(section=sectionName, collection=TrackingSummaryTable.HighPurity))
1346  plotter.appendTable(summaryName+"_highPurity", folders, TrackingSummaryTable(section=sectionName+"Pt09", collection=TrackingSummaryTable.HighPurityPt09))
1347  if name == "":
1348  plotter.appendTable(summaryName, folders, TrackingSummaryTable(section="btvLike", collection=TrackingSummaryTable.BTVLike))
1349  plotter.appendTable(summaryName, folders, TrackingSummaryTable(section="ak4PFJets", collection=TrackingSummaryTable.AK4PFJets))
1350 _appendTrackingPlots("Track", "", _simBasedPlots+_recoBasedPlots)
1351 _appendTrackingPlots("TrackTPPtLess09", "tpPtLess09", _simBasedPlots)
1352 _appendTrackingPlots("TrackTPEtaGreater2p7", "tpEtaGreater2p7", _simBasedPlots+_recoBasedPlots)
1353 _appendTrackingPlots("TrackAllTPEffic", "allTPEffic", _simBasedPlots, onlyForPileup=True)
1354 _appendTrackingPlots("TrackFromPV", "fromPV", _simBasedPlots+_recoBasedPlots, onlyForPileup=True)
1355 _appendTrackingPlots("TrackFromPVAllTP", "fromPVAllTP", _simBasedPlots+_recoBasedPlots, onlyForPileup=True)
1356 _appendTrackingPlots("TrackFromPVAllTP2", "fromPVAllTP2", _simBasedPlots+_recoBasedPlots, onlyForPileup=True)
1357 _appendTrackingPlots("TrackSeeding", "seeding", _seedingBuildingPlots, seeding=True)
1358 _appendTrackingPlots("TrackBuilding", "building", _seedingBuildingPlots, building=True)
1359 _appendTrackingPlots("TrackConversion", "conversion", _simBasedPlots+_recoBasedPlots, onlyForConversion=True, rawSummary=True, highPuritySummary=False)
1360 _appendTrackingPlots("TrackGsf", "gsf", _simBasedPlots+_recoBasedPlots, onlyForElectron=True, rawSummary=True, highPuritySummary=False)
1361 _appendTrackingPlots("TrackBHadron", "bhadron", _simBasedPlots+_recoBasedPlots, onlyForBHadron=True)
1362 _appendTrackingPlots("TrackDisplaced", "displaced", _simBasedPlots+_recoBasedPlots)
# Pixel tracks
def trackingPlots._collhelper (   name)
private

Definition at line 651 of file trackingPlots.py.

652 def _collhelper(name):
return (name, [name])
def trackingPlots._constructSummary (   mapping = None,
  highPurity = False,
  byOriginalAlgo = False,
  byAlgoMask = False,
  ptCut = False,
  seeds = False,
  midfix = "" 
)
private

Definition at line 690 of file trackingPlots.py.

References _summaryBinRename().

691 def _constructSummary(mapping=None, highPurity=False, byOriginalAlgo=False, byAlgoMask=False, ptCut=False, seeds=False, midfix=""):
692  _common = {"drawStyle": "EP", "xbinlabelsize": 10, "xbinlabeloption": "d"}
693  _commonN = dict(ylog=True, ymin=_minMaxN, ymax=_minMaxN,
694  normalizeToNumberOfEvents=True,
695  )
696  _commonN.update(_common)
697  _commonAB = dict(mapping=mapping,
698  renameBin=lambda bl: _summaryBinRename(bl, highPurity, byOriginalAlgo, byAlgoMask, ptCut, seeds),
699  ignoreMissingBins=True,
700  originalOrder=True,
701  )
702  if byOriginalAlgo or byAlgoMask:
703  _commonAB["minExistingBins"] = 2
704  prefix = "summary"+midfix
705 
706  h_eff = "effic_vs_coll"
707  h_fakerate = "fakerate_vs_coll"
708  h_duplicaterate = "duplicatesRate_coll"
709  h_pileuprate = "pileuprate_coll"
710 
711  h_reco = "num_reco_coll"
712  h_true = "num_assoc(recoToSim)_coll"
713  h_fake = Subtract("num_fake_coll_orig", "num_reco_coll", "num_assoc(recoToSim)_coll")
714  h_duplicate = "num_duplicate_coll"
715  h_pileup = "num_pileup_coll"
716  if mapping is not None:
717  h_eff = AggregateBins("efficiency", h_eff, **_commonAB)
718  h_fakerate = AggregateBins("fakerate", h_fakerate, **_commonAB)
719  h_duplicaterate = AggregateBins("duplicatesRate", h_duplicaterate, **_commonAB)
720  h_pileuprate = AggregateBins("pileuprate", h_pileuprate, **_commonAB)
721 
722  h_reco = AggregateBins("num_reco_coll", h_reco, **_commonAB)
723  h_true = AggregateBins("num_true_coll", h_true, **_commonAB)
724  h_fake = AggregateBins("num_fake_coll", h_fake, **_commonAB)
725  h_duplicate = AggregateBins("num_duplicate_coll", h_duplicate, **_commonAB)
726  h_pileup = AggregateBins("num_pileup_coll", h_pileup, **_commonAB)
727 
728  summary = PlotGroup(prefix, [
729  Plot(h_eff, title="Efficiency vs collection", ytitle="Efficiency", ymin=1e-3, ymax=1, ylog=True, **_common),
730  Plot(h_fakerate, title="Fakerate vs collection", ytitle="Fake rate", ymax=_maxFake, **_common),
731  #
732  Plot(h_duplicaterate, title="Duplicates rate vs collection", ytitle="Duplicates rate", ymax=_maxFake, **_common),
733  Plot(h_pileuprate, title="Pileup rate vs collection", ytitle="Pileup rate", ymax=_maxFake, **_common),
734  ],
735  legendDy=_legendDy_2rows
736  )
737  summaryN = PlotGroup(prefix+"_ntracks", [
738  # FIXME
739  #Plot(h_reco, ytitle="Tracks/event", title="Number of tracks/event vs collection", **_commonN),
740  #Plot(h_true, ytitle="True tracks/event", title="Number of true tracks/event vs collection", **_commonN),
741  #Plot(h_fake, ytitle="Fake tracks/event", title="Number of fake tracks/event vs collection", **_commonN),
742  #Plot(h_duplicate, ytitle="Duplicate tracks/event", title="Number of duplicate tracks/event vs collection", **_commonN),
743  #Plot(h_pileup, ytitle="Pileup tracks/event", title="Number of pileup tracks/event vs collection", **_commonN),
744  Plot(h_reco, ytitle="Tracks", title="Number of tracks vs collection", **_commonN),
745  Plot(h_true, ytitle="True tracks", title="Number of true tracks vs collection", **_commonN),
746  Plot(h_fake, ytitle="Fake tracks", title="Number of fake tracks vs collection", **_commonN),
747  Plot(h_duplicate, ytitle="Duplicate tracks", title="Number of duplicate tracks vs collection", **_commonN),
748  Plot(h_pileup, ytitle="Pileup tracks", title="Number of pileup tracks vs collection", **_commonN),
749  ])
750 
751  return (summary, summaryN)
752 
753 (_summaryRaw, _summaryRawN) = _constructSummary(midfix="Raw")
754 (_summary, _summaryN) = _constructSummary(_collLabelMap)
755 (_summaryHp, _summaryNHp) = _constructSummary(_collLabelMapHp, highPurity=True)
756 (_summaryByOriginalAlgo, _summaryByOriginalAlgoN) = _constructSummary(_collLabelMapHp, byOriginalAlgo=True, midfix="ByOriginalAlgo")
757 (_summaryByOriginalAlgoHp, _summaryByOriginalAlgoNHp) = _constructSummary(_collLabelMapHp, byOriginalAlgo=True, midfix="ByOriginalAlgo", highPurity=True)
758 (_summaryByAlgoMask, _summaryByAlgoMaskN) = _constructSummary(_collLabelMapHp, byAlgoMask=True, midfix="ByAlgoMask")
759 (_summaryByAlgoMaskHp, _summaryByAlgoMaskNHp) = _constructSummary(_collLabelMapHp, byAlgoMask=True, midfix="ByAlgoMask", highPurity=True)
760 (_summaryPt09, _summaryPt09N) = _constructSummary(_collLabelMap, ptCut=True, midfix="Pt09")
761 (_summaryPt09Hp, _summaryPt09NHp) = _constructSummary(_collLabelMap, ptCut=True, midfix="Pt09", highPurity=True)
762 (_summarySeeds, _summarySeedsN) = _constructSummary(_collLabelMapHp, seeds=True)
def trackingPlots._iterModuleMap (   includeConvStep = True,
  onlyConvStep = False 
)
private

Definition at line 1618 of file trackingPlots.py.

Referenced by trackingPlots.TrackingTimingTable._getValues().

1619 def _iterModuleMap(includeConvStep=True, onlyConvStep=False):
1620  iterations = _iterations
1621  if not includeConvStep:
1622  iterations = [i for i in iterations if i.name() != "ConvStep"]
1623  if onlyConvStep:
1624  iterations = [i for i in iterations if i.name() == "ConvStep"]
return collections.OrderedDict([(i.name(), i.all()) for i in iterations])
def trackingPlots._makeDistPlots (   postfix,
  quantity,
  common = {} 
)
private

Definition at line 107 of file trackingPlots.py.

References _makeFakeDist().

108 def _makeDistPlots(postfix, quantity, common={}):
109  p = postfix
110  q = quantity
111 
112  args = dict(xtitle="track "+q, ylog=True, ymin=_minMaxN, ymax=_minMaxN)
113  args.update(common)
114 
115  return [
116  Plot("num_reco_"+p , ytitle="tracks", **args),
117  Plot("num_assoc(recoToSim)_"+p, ytitle="true tracks", **args),
118  Plot(_makeFakeDist(p), ytitle="fake tracks", **args),
119  Plot("num_duplicate_"+p , ytitle="duplicate tracks", **args),
120  ]
def trackingPlots._makeDistSimPlots (   postfix,
  quantity,
  common = {} 
)
private

Definition at line 121 of file trackingPlots.py.

122 def _makeDistSimPlots(postfix, quantity, common={}):
123  p = postfix
124  q = quantity
125 
126  args = dict(xtitle="TP "+q, ylog=True, ymin=_minMaxN, ymax=_minMaxN)
127  args.update(common)
128 
129  return [
130  Plot("num_simul_"+p , ytitle="TrackingParticles", **args),
131  Plot("num_assoc(simToReco)_"+p, ytitle="Reconstructed TPs", **args),
132  ]
def trackingPlots._makeEffFakeDupPlots (   postfix,
  quantity,
  unit = "",
  common = {},
  effopts = {},
  fakeopts = {} 
)
private

Definition at line 67 of file trackingPlots.py.

67 
68 def _makeEffFakeDupPlots(postfix, quantity, unit="", common={}, effopts={}, fakeopts={}):
69  p = postfix
70  q = quantity
71  xq = q
72  if unit != "":
73  xq += " (" + unit + ")"
74 
75  effargs = dict(xtitle="TP "+xq , ytitle="efficiency vs "+q , ymax=_maxEff)
76  fakeargs = dict(xtitle="track "+xq, ytitle="fake+duplicates rate vs "+q, ymax=_maxFake)
77  effargs.update(common)
78  fakeargs.update(common)
79  effargs.update(effopts)
80  fakeargs.update(fakeopts)
81 
82  return [
83  Plot("effic_vs_"+p, **effargs),
84  Plot(FakeDuplicate("fakeduprate_vs_"+p, assoc="num_assoc(recoToSim)_"+p, dup="num_duplicate_"+p, reco="num_reco_"+p, title="fake+duplicates vs "+q), **fakeargs)
85  ]
def _makeEffFakeDupPlots
def trackingPlots._makeFakeDist (   postfix)
private

Definition at line 104 of file trackingPlots.py.

Referenced by _makeDistPlots().

105 def _makeFakeDist(postfix):
106  return Subtract("num_fake_"+postfix, "num_reco_"+postfix, "num_assoc(recoToSim)_"+postfix)
def trackingPlots._makeFakeDupPileupPlots (   postfix,
  quantity,
  unit = "",
  xquantity = "",
  xtitle = None,
  common = {} 
)
private

Definition at line 86 of file trackingPlots.py.

86 
87 def _makeFakeDupPileupPlots(postfix, quantity, unit="", xquantity="", xtitle=None, common={}):
88  p = postfix
89  q = quantity
90  if xtitle is None:
91  if xquantity != "":
92  xq = xquantity
93  else:
94  xq = q
95  if unit != "":
96  xq += " (" + unit + ")"
97  xtitle="track "+xq
98 
99  return [
100  Plot("fakerate_vs_"+p , xtitle=xtitle, ytitle="fakerate vs "+q , ymax=_maxFake, **common),
101  Plot("duplicatesRate_"+p, xtitle=xtitle, ytitle="duplicates rate vs "+q, ymax=_maxFake, **common),
102  Plot("pileuprate_"+p , xtitle=xtitle, ytitle="pileup rate vs "+q , ymax=_maxFake, **common),
103  ]
def _makeFakeDupPileupPlots
def trackingPlots._makeMVAPlots (   num,
  hp = False 
)
private

Definition at line 133 of file trackingPlots.py.

134 def _makeMVAPlots(num, hp=False):
135  pfix = "_hp" if hp else ""
136  pfix2 = "Hp" if hp else ""
137 
138  xtitle = "MVA%d output"%num
139  xtitlecut = "Cut on MVA%d output"%num
140  args = dict(xtitle=xtitle, ylog=True, ymin=_minMaxN, ymax=_minMaxN)
141 
142  argsroc = dict(
143  xtitle="Efficiency (excl. trk eff)", ytitle="Fake rate",
144  xmax=_maxEff, ymax=_maxFake,
145  drawStyle="EP",
146  )
147  argsroc2 = dict(
148  ztitle="Cut on MVA%d"%num,
149  xtitleoffset=5, ytitleoffset=6.5, ztitleoffset=4,
150  adjustMarginRight=0.12
151  )
152  argsroc2.update(argsroc)
153  argsroc2["drawStyle"] = "pcolz"
154 
155  argsprofile = dict(ymin=_minMaxMVA, ymax=_minMaxMVA)
156 
157  true_cuteff = CutEfficiency("trueeff_vs_mva%dcut%s"%(num,pfix), "num_assoc(recoToSim)_mva%dcut%s"%(num,pfix))
158  fake_cuteff = CutEfficiency("fakeeff_vs_mva%dcut%s"%(num,pfix), Subtract("num_fake_mva%dcut%s"%(num,pfix), "num_reco_mva%dcut%s"%(num,pfix), "num_assoc(recoToSim)_mva%dcut%s"%(num,pfix)))
159 
160  return [
161  PlotGroup("mva%d%s"%(num,pfix2), [
162  Plot("num_assoc(recoToSim)_mva%d%s"%(num,pfix), ytitle="true tracks", **args),
163  Plot(Subtract("num_fake_mva%d%s"%(num,pfix), "num_reco_mva%d%s"%(num,pfix), "num_assoc(recoToSim)_mva%d%s"%(num,pfix)), ytitle="fake tracks", **args),
164  Plot("effic_vs_mva%dcut%s"%(num,pfix), xtitle=xtitlecut, ytitle="Efficiency (excl. trk eff)", ymax=_maxEff),
165  #
166  Plot("fakerate_vs_mva%dcut%s"%(num,pfix), xtitle=xtitlecut, ytitle="Fake rate", ymax=_maxFake),
167  Plot(ROC("effic_vs_fake_mva%d%s"%(num,pfix), "effic_vs_mva%dcut%s"%(num,pfix), "fakerate_vs_mva%dcut%s"%(num,pfix)), **argsroc),
168  Plot(ROC("effic_vs_fake_mva%d%s"%(num,pfix), "effic_vs_mva%dcut%s"%(num,pfix), "fakerate_vs_mva%dcut%s"%(num,pfix), zaxis=True), **argsroc2),
169  # Same signal efficiency, background efficiency, and ROC definitions as in TMVA
170  Plot(true_cuteff, xtitle=xtitlecut, ytitle="True track selection efficiency", ymax=_maxEff),
171  Plot(fake_cuteff, xtitle=xtitlecut, ytitle="Fake track selection efficiency", ymax=_maxEff),
172  Plot(ROC("true_eff_vs_fake_rej_mva%d%s"%(num,pfix), true_cuteff, Transform("fake_rej_mva%d%s"%(num,pfix), fake_cuteff, lambda x: 1-x)), xtitle="True track selection efficiency", ytitle="Fake track rejection", xmax=_maxEff, ymax=_maxEff),
173  ], ncols=3, legendDy=_legendDy_1row),
174  PlotGroup("mva%d%sPtEta"%(num,pfix2), [
175  Plot("mva_assoc(recoToSim)_mva%d%s_pT"%(num,pfix), xtitle="Track p_{T} (GeV)", ytitle=xtitle+" for true tracks", xlog=True, **argsprofile),
176  Plot("mva_fake_mva%d%s_pT"%(num,pfix), xtitle="Track p_{T} (GeV)", ytitle=xtitle+" for fake tracks", xlog=True, **argsprofile),
177  Plot("mva_assoc(recoToSim)_mva%d%s_eta"%(num,pfix), xtitle="Track #eta", ytitle=xtitle+" for true tracks", **argsprofile),
178  Plot("mva_fake_mva%d%s_eta"%(num,pfix), xtitle="Track #eta", ytitle=xtitle+" for fake tracks", **argsprofile),
179  ], legendDy=_legendDy_2rows)
180  ]
def trackingPlots._mapCollectionToAlgoQuality (   collName)
private

Definition at line 587 of file trackingPlots.py.

References python.rootplot.root2matplotlib.replace().

Referenced by _summaryBinRename(), trackingPlots.TrackingSummaryTable.create(), and trackingPlots.TrackingPlotFolder.translateSubFolder().

588 def _mapCollectionToAlgoQuality(collName):
589  if "Hp" in collName:
590  quality = "highPurity"
591  else:
592  quality = ""
593  collNameNoQuality = collName.replace("Hp", "")
594  for qual in _additionalTrackQualities:
595  if qual in collName:
596  quality += qual
597  collNameNoQuality = collNameNoQuality.replace(qual, "")
598 
599  collNameNoQuality = collNameNoQuality.replace("Tracks", "", 1) # make summary naming consistent with iteration folders
600  collNameLow = collNameNoQuality.lower().replace("frompv2", "").replace("frompv", "").replace("frompvalltp", "").replace("alltp", "")
601 
602  if collNameLow.find("seed") == 0:
603  collNameLow = collNameLow[4:]
604  if collNameLow == "initialstepseedspresplitting":
605  collNameLow = "initialsteppresplittingseeds"
606  elif collNameLow == "muonseededseedsinout":
607  collNameLow = "muonseededstepinoutseeds"
608  elif collNameLow == "muonseededseedsoutin":
609  collNameLow = "muonseededstepoutinseeds"
610 
611  i_seeds = collNameLow.index("seeds")
612  quality = collNameLow[i_seeds:]+quality
613 
614  collNameLow = collNameLow[:i_seeds]
615 
616  algo = None
617  prefixes = ["cutsreco", "cutsrecofrompv", "cutsrecofrompv2", "cutsrecofrompvalltp", "cutsrecoetagreater2p7"]
618  if collNameLow in ["general", "generalfrompv", "generaletagreater2p7"]+prefixes:
619  algo = "ootb"
620  elif collNameLow in ["pixel", "pixelfrompv", "pixelfrompvalltp"]:
621  algo = "pixel"
622  else:
623  def testColl(coll):
624  for pfx in prefixes:
625  if coll == collNameLow.replace(pfx, ""):
626  return True
627  return False
628 
629  for coll in _possibleTrackingColls:
630  if testColl(coll.lower()):
631  algo = coll
632  break
633  # next try "old style"
634  if algo is None:
635  for coll, name in _possibleTrackingCollsOld.items():
636  if testColl(coll.lower()):
637  algo = name
638  break
639 
640  # fallback
641  if algo is None:
642  algo = collNameNoQuality
643 
644  # fix for track collection naming convention
645  if algo == "muonSeededInOut":
646  algo = "muonSeededStepInOut"
647  if algo == "muonSeededOutIn":
648  algo = "muonSeededStepOutIn"
649 
650  return (algo, quality)
def _mapCollectionToAlgoQuality
def trackingPlots._minMaxResidual (   ma)
private

Definition at line 45 of file trackingPlots.py.

45 
46 def _minMaxResidual(ma):
47  return ([-x for x in ma], ma)
48 
49 (_minResidualPhi, _maxResidualPhi) = _minMaxResidual([1e-4, 2e-4]) # rad
50 (_minResidualCotTheta, _maxResidualCotTheta) = _minMaxResidual([1e-4, 2e-4])
51 (_minResidualDxy, _maxResidualDxy) = _minMaxResidual([10, 20, 50, 100]) # um
52 (_minResidualDz, _maxResidualDz) = (_minResidualDxy, _maxResidualDxy)
53 (_minResidualPt, _maxResidualPt) = _minMaxResidual([1, 1.5, 2, 5]) # %
54 
def trackingPlots._stepModuleMap ( )
private

Definition at line 1625 of file trackingPlots.py.

1626 def _stepModuleMap():
1627  def getProp(prop):
1628  ret = []
1629  for i in _iterations:
1630  if i.name() == "ConvStep":
1631  continue
1632  ret.extend(getattr(i, prop)())
1633  return ret
1634 
1635  return collections.OrderedDict([
1636  ("ClusterMask", getProp("clusterMasking")),
1637  ("Seeding", getProp("seeding")),
1638  ("Building", getProp("building")),
1639  ("Fitting", getProp("fit")),
1640  ("Selection", getProp("selection")),
1641  ("Other", getProp("other"))
1642  ])
def trackingPlots._summaryBinRename (   binLabel,
  highPurity,
  byOriginalAlgo,
  byAlgoMask,
  ptCut,
  seeds 
)
private

Definition at line 655 of file trackingPlots.py.

References _mapCollectionToAlgoQuality().

Referenced by _constructSummary(), and trackingPlots.TimePerTrackPlot.create().

656 def _summaryBinRename(binLabel, highPurity, byOriginalAlgo, byAlgoMask, ptCut, seeds):
657  (algo, quality) = _mapCollectionToAlgoQuality(binLabel)
658  if algo == "ootb":
659  algo = "generalTracks"
660  ret = None
661 
662  if byOriginalAlgo:
663  if algo != "generalTracks" and "ByOriginalAlgo" not in quality: # keep generalTracks bin as well
664  return None
665  quality = quality.replace("ByOriginalAlgo", "")
666  if byAlgoMask:
667  if algo != "generalTracks" and "ByAlgoMask" not in quality: # keep generalTracks bin as well
668  return None
669  quality = quality.replace("ByAlgoMask", "")
670  if ptCut:
671  if "Pt09" not in quality:
672  return None
673  quality = quality.replace("Pt09", "")
674 
675  if highPurity:
676  if quality == "highPurity":
677  ret = algo
678  elif seeds:
679  i_seeds = quality.find("seeds")
680  if i_seeds == 0:
681  ret = algo
682  seedSubColl = quality[i_seeds+5:]
683  if seedSubColl != "":
684  ret += seedSubColl[0].upper() + seedSubColl[1:]
685  else:
686  if quality == "":
687  ret = algo
688 
689  return ret
def _mapCollectionToAlgoQuality
def trackingPlots._trackingFolders (   lastDirName = "Track")
private

Definition at line 1182 of file trackingPlots.py.

Referenced by _appendPixelTrackingPlots(), _appendTrackingPlots(), and trackingPlots.TimePerTrackPlot._getDirectory().

1183 def _trackingFolders(lastDirName="Track"):
1184  return [
1185  "DQMData/Run 1/Tracking/Run summary/"+lastDirName,
1186  "DQMData/Tracking/"+lastDirName,
1187  "DQMData/Run 1/RecoTrackV/Run summary/"+lastDirName,
1188  "DQMData/RecoTrackV/"+lastDirName,
1189  ]
def trackingPlots._trackingRefFileFallbackSLHC_Phase1PU140 (   path)
private

Definition at line 561 of file trackingPlots.py.

563  for (old, new) in [("initialStep", "iter0"),
564  ("highPtTripletStep", "iter1"),
565  ("lowPtQuadStep", "iter2"),
566  ("lowPtTripletStep", "iter3"),
567  ("detachedQuadStep", "iter4"),
568  ("pixelPairStep", "iter5"),
569  ("muonSeededStepInOut", "iter9"),
570  ("muonSeededStepOutIn", "iter10")]:
571  path = path.replace(old, new)
572  return path
def _trackingRefFileFallbackSLHC_Phase1PU140
def trackingPlots._trackingSubFoldersFallbackConversion (   subfolder)
private

Definition at line 575 of file trackingPlots.py.

return subfolder.replace("quickAssociatorByHits", "quickAssociatorByHitsConversion")
def _trackingSubFoldersFallbackConversion
def trackingPlots._trackingSubFoldersFallbackFromPV (   subfolder)
private

Definition at line 573 of file trackingPlots.py.

574 def _trackingSubFoldersFallbackFromPV(subfolder):
return subfolder.replace("trackingParticleRecoAsssociation", "trackingParticleRecoAsssociationSignal")
def _trackingSubFoldersFallbackFromPV
def trackingPlots._trackingSubFoldersFallbackPreSplitting (   subfolder)
private

Definition at line 577 of file trackingPlots.py.

579  return subfolder.replace("quickAssociatorByHits", "quickAssociatorByHitsPreSplitting")
580 
581 # Additional "quality" flags than highPurity. In a separate list to
# allow customization.
def _trackingSubFoldersFallbackPreSplitting
def trackingPlots._trackingSubFoldersFallbackSLHC_Phase1PU140 (   subfolder)
private

Definition at line 547 of file trackingPlots.py.

549  ret = subfolder.replace("trackingParticleRecoAsssociation", "AssociatorByHitsRecoDenom")
550  for (old, new) in [("InitialStep", "Zero"),
551  ("HighPtTripletStep", "First"),
552  ("LowPtQuadStep", "Second"),
553  ("LowPtTripletStep", "Third"),
554  ("DetachedQuadStep", "Fourth"),
555  ("PixelPairStep", "Fifth"),
556  ("MuonSeededStepInOut", "Ninth"),
557  ("MuonSeededStepOutIn", "Tenth")]:
558  ret = ret.replace(old, new)
559  if ret == subfolder:
560  return None
return ret
def _trackingSubFoldersFallbackSLHC_Phase1PU140

Variable Documentation

list trackingPlots._additionalTrackQualities
Initial value:
1 = [
2  "Pt09",
3  "ByOriginalAlgo",
4  "ByAlgoMask"
5 ]

Definition at line 582 of file trackingPlots.py.

tuple trackingPlots._algos_common = dict(removeEmptyBins=True, xbinlabelsize=10, xbinlabeloption="d")

Definition at line 225 of file trackingPlots.py.

list trackingPlots._buildingExtendedPlots
Initial value:
1 = [
2  _pulls,
3  _resolutionsEta,
4  _resolutionsPhi,
5  _resolutionsPt,
6  _tuning,
7 ]

Definition at line 1235 of file trackingPlots.py.

tuple trackingPlots._chargemisid
Initial value:
1 = PlotGroup("chargemisid", [
2  Plot("chargeMisIdRate", xtitle="#eta", ytitle="charge mis-id rate vs #eta", ymax=0.05),
3  Plot("chargeMisIdRate_Pt", xtitle="p_{T}", ytitle="charge mis-id rate vs p_{T}", xmax=300, ymax=0.1, xlog=True),
4  Plot("chargeMisIdRate_hit", xtitle="hits", ytitle="charge mis-id rate vs hits", title=""),
5  Plot("chargeMisIdRate_phi", xtitle="#phi", ytitle="charge mis-id rate vs #phi", title="", ymax=0.01),
6  Plot("chargeMisIdRate_dxy", xtitle="dxy", ytitle="charge mis-id rate vs dxy", ymax=0.1),
7  Plot("chargeMisIdRate_dz", xtitle="dz", ytitle="charge mis-id rate vs dz", ymax=0.1)
8 ])

Definition at line 328 of file trackingPlots.py.

tuple trackingPlots._collLabelMap = collections.OrderedDict(map(_collhelper, ["generalTracks"]+_possibleTrackingColls))

Definition at line 653 of file trackingPlots.py.

tuple trackingPlots._collLabelMapHp = collections.OrderedDict(map(_collhelper, ["generalTracks"]+[n for n in _possibleTrackingColls if "Step" in n]))

Definition at line 654 of file trackingPlots.py.

dictionary trackingPlots._common = {"ymin": 0, "ymax": _maxEff}

PackedCandidate plots.

Definition at line 211 of file trackingPlots.py.

dictionary trackingPlots._common2 = {}

Definition at line 282 of file trackingPlots.py.

dictionary trackingPlots._commonLabelSize = {}

Definition at line 773 of file trackingPlots.py.

dictionary trackingPlots._commonStatus = {}

Definition at line 770 of file trackingPlots.py.

tuple trackingPlots._dedx
Initial value:
1 = PlotGroup("dedx", [
2  Plot("h_dedx_estim1", xtitle="dE/dx, harm2", **_common),
3  Plot("h_dedx_estim2", xtitle="dE/dx, trunc40", **_common),
4  Plot("h_dedx_nom1", xtitle="dE/dx number of measurements", title="", **_common),
5  Plot("h_dedx_sat1", xtitle="dE/dx number of measurements with saturation", title="", **_common),
6  ],
7  legendDy=_legendDy_2rows
8 )

Definition at line 319 of file trackingPlots.py.

tuple trackingPlots._dupandfakeChi2Seeding
Initial value:
1 = PlotGroup("dupandfakeChi2Seeding",
2  _makeFakeDupPileupPlots("chi2", "#chi^{2}") +
3  _dupandfakeSeedingPlots,
4  ncols=3, legendDy=_legendDy_2rows_3cols
5 )
def _makeFakeDupPileupPlots

Definition at line 271 of file trackingPlots.py.

tuple trackingPlots._dupandfakeDeltaRPU
Initial value:
1 = PlotGroup("dupandfakeDeltaRPU",
2  _makeFakeDupPileupPlots("dr" , "#DeltaR", xquantity="min #DeltaR", common=dict(xlog=True)) +
3  _makeFakeDupPileupPlots("drj" , "#DeltaR(track, jet)", xtitle="#DeltaR(track, jet)", common=dict(xlog=True, xmax=_maxDRJ)) +
4  _makeFakeDupPileupPlots("pu" , "PU" , xtitle="Pileup", common=dict(xmin=_minPU, xmax=_maxPU)),
5  ncols=3
6 )
def _makeFakeDupPileupPlots

Definition at line 263 of file trackingPlots.py.

tuple trackingPlots._dupandfakeDxyDzBS
Initial value:
1 = PlotGroup("dupandfakeDxyDzBS",
2  _makeFakeDupPileupPlots("dxy" , "dxy" , "cm") +
3  _makeFakeDupPileupPlots("dz" , "dz" , "cm"),
4  ncols=3, legendDy=_legendDy_2rows_3cols
5 )
def _makeFakeDupPileupPlots

Definition at line 238 of file trackingPlots.py.

tuple trackingPlots._dupandfakeDxyDzPV
Initial value:
1 = PlotGroup("dupandfakeDxyDzPV",
2  _makeFakeDupPileupPlots("dxypv" , "dxy(PV)", "cm") +
3  _makeFakeDupPileupPlots("dxypv_zoomed", "dxy(PV)", "cm") +
4  _makeFakeDupPileupPlots("dzpv" , "dz(PV)" , "cm") +
5  _makeFakeDupPileupPlots("dzpv_zoomed" , "dz(PV)" , "cm"),
6  ncols=3, legendDy=_legendDy_4rows
7 )
def _makeFakeDupPileupPlots

Definition at line 243 of file trackingPlots.py.

tuple trackingPlots._dupandfakeHitsLayers
Initial value:
1 = PlotGroup("dupandfakeHitsLayers",
2  _makeFakeDupPileupPlots("hit" , "hits" , common=dict(xmin=_minHits , xmax=_maxHits)) +
3  _makeFakeDupPileupPlots("layer" , "layers" , common=dict(xmin=_minLayers , xmax=_maxLayers)) +
4  _makeFakeDupPileupPlots("pixellayer", "pixel layers", common=dict( xmax=_maxPixelLayers)) +
5  _makeFakeDupPileupPlots("3Dlayer" , "3D layers" , common=dict(xmin=_min3DLayers, xmax=_max3DLayers)),
6  ncols=3, legendDy=_legendDy_4rows
7 )
def _makeFakeDupPileupPlots

Definition at line 250 of file trackingPlots.py.

tuple trackingPlots._dupandfakePos
Initial value:
1 = PlotGroup("dupandfakePos",
2  _makeFakeDupPileupPlots("vertpos", "r", "cm", xquantity="ref. point r (cm)", common=dict(xlog=True)) +
3  _makeFakeDupPileupPlots("zpos" , "z", "cm", xquantity="ref. point z (cm)") +
4  _makeFakeDupPileupPlots("simpvz" , "Sim. PV z", xtitle="Sim. PV z (cm)", common=dict(xmin=_minZ, xmax=_maxZ)),
5  ncols=3,
6 )
def _makeFakeDupPileupPlots

Definition at line 257 of file trackingPlots.py.

tuple trackingPlots._dupandfakePtEtaPhi
Initial value:
1 = PlotGroup("dupandfakePtEtaPhi", [
2  Plot("fakeratePt", xtitle="track p_{T} (GeV)", ytitle="fakerate vs p_{T}", xlog=True, ymax=_maxFake),
3  Plot("duplicatesRate_Pt", xtitle="track p_{T} (GeV)", ytitle="duplicates rate vs p_{T}", ymax=_maxFake, xlog=True),
4  Plot("pileuprate_Pt", xtitle="track p_{T} (GeV)", ytitle="pileup rate vs p_{T}", ymax=_maxFake, xlog=True),
5  Plot("fakerate", xtitle="track #eta", ytitle="fakerate vs #eta", title="", ymax=_maxFake),
6  Plot("duplicatesRate", xtitle="track #eta", ytitle="duplicates rate vs #eta", title="", ymax=_maxFake),
7  Plot("pileuprate", xtitle="track #eta", ytitle="pileup rate vs #eta", title="", ymax=_maxFake),
8 ] + _makeFakeDupPileupPlots("phi", "#phi"),
9  ncols=3
10 )
def _makeFakeDupPileupPlots

Definition at line 228 of file trackingPlots.py.

tuple trackingPlots._dupandfakeSeedingPlots = _makeFakeDupPileupPlots("seedingLayerSet", "seeding layers", xtitle="", common=_seedingLayerSet_common)

Definition at line 270 of file trackingPlots.py.

tuple trackingPlots._dupandfakeSeedingTable
Initial value:
1 = TrackingSeedingLayerTable("dupandfakeSeeding", [p.clone() for p in _dupandfakeSeedingPlots],
2  ["Fake rate", "Duplicate rate", "Pileup rate"], isRate=True)

Definition at line 1177 of file trackingPlots.py.

tuple trackingPlots._duplicateAlgo = PlotOnSideGroup("duplicateAlgo", Plot("duplicates_oriAlgo_vs_oriAlgo", drawStyle="COLZ", adjustMarginLeft=0.1, adjustMarginRight=0.1, **_algos_common))

Definition at line 226 of file trackingPlots.py.

tuple trackingPlots._effandfakeDeltaRPU
Initial value:
1 = PlotGroup("effandfakeDeltaRPU",
2  _makeEffFakeDupPlots("dr" , "#DeltaR", effopts=dict(xtitle="TP min #DeltaR"), fakeopts=dict(xtitle="track min #DeltaR"), common=dict(xlog=True)) +
3  _makeEffFakeDupPlots("drj" , "#DeltaR(track, jet)", effopts=dict(xtitle="#DeltaR(TP, jet)", ytitle="efficiency vs #DeltaR(TP, jet"), fakeopts=dict(xtitle="#DeltaR(track, jet)"), common=dict(xlog=True, xmax=_maxDRJ))+
4  _makeEffFakeDupPlots("pu" , "PU" , common=dict(xtitle="Pileup", xmin=_minPU, xmax=_maxPU)),
5  legendDy=_legendDy_4rows
6 )
def _makeEffFakeDupPlots

Definition at line 217 of file trackingPlots.py.

tuple trackingPlots._effandfakeDxyDzBS
Initial value:
1 = PlotGroup("effandfakeDxyDzBS",
2  _makeEffFakeDupPlots("dxy" , "dxy" , "cm") +
3  _makeEffFakeDupPlots("dz" , "dz" , "cm"),
4  legendDy=_legendDy_2rows
5 )
def _makeEffFakeDupPlots

Definition at line 192 of file trackingPlots.py.

tuple trackingPlots._effandfakeDxyDzPV
Initial value:
1 = PlotGroup("effandfakeDxyDzPV",
2  _makeEffFakeDupPlots("dxypv" , "dxy(PV)", "cm") +
3  _makeEffFakeDupPlots("dxypv_zoomed", "dxy(PV)", "cm") +
4  _makeEffFakeDupPlots("dzpv" , "dz(PV)" , "cm") +
5  _makeEffFakeDupPlots("dzpv_zoomed" , "dz(PV)" , "cm"),
6  legendDy=_legendDy_4rows
7 )
def _makeEffFakeDupPlots

Definition at line 197 of file trackingPlots.py.

tuple trackingPlots._effandfakeHitsLayers
Initial value:
1 = PlotGroup("effandfakeHitsLayers",
2  _makeEffFakeDupPlots("hit" , "hits" , common=dict(xmin=_minHits , xmax=_maxHits)) +
3  _makeEffFakeDupPlots("layer" , "layers" , common=dict(xmin=_minLayers , xmax=_maxLayers)) +
4  _makeEffFakeDupPlots("pixellayer", "pixel layers", common=dict( xmax=_maxPixelLayers)) +
5  _makeEffFakeDupPlots("3Dlayer" , "3D layers" , common=dict(xmin=_min3DLayers, xmax=_max3DLayers)),
6  legendDy=_legendDy_4rows
7 )
def _makeEffFakeDupPlots

Definition at line 204 of file trackingPlots.py.

tuple trackingPlots._effandfakePos
Initial value:
1 = PlotGroup("effandfakePos",
2  _makeEffFakeDupPlots("vertpos", "vert r", "cm", fakeopts=dict(xtitle="track ref. point r (cm)", ytitle="fake+duplicates vs. r"), common=dict(xlog=True)) +
3  _makeEffFakeDupPlots("zpos" , "vert z", "cm", fakeopts=dict(xtitle="track ref. point z (cm)", ytitle="fake+duplicates vs. z")) +
4  _makeEffFakeDupPlots("simpvz" , "Sim. PV z", "cm", common=dict(xtitle="Sim. PV z (cm)", xmin=_minZ, xmax=_maxZ))
5 )
def _makeEffFakeDupPlots

Definition at line 212 of file trackingPlots.py.

tuple trackingPlots._effandfakePtEtaPhi
Initial value:
1 = PlotGroup("effandfakePtEtaPhi", [
2  Plot("efficPt", title="Efficiency vs p_{T}", xtitle="TP p_{T} (GeV)", ytitle="efficiency vs p_{T}", xlog=True, ymax=_maxEff),
3  Plot(FakeDuplicate("fakeduprate_vs_pT", assoc="num_assoc(recoToSim)_pT", dup="num_duplicate_pT", reco="num_reco_pT", title="fake+duplicates vs p_{T}"),
4  xtitle="track p_{T} (GeV)", ytitle="fake+duplicates rate vs p_{T}", ymax=_maxFake, xlog=True),
5  Plot("effic", xtitle="TP #eta", ytitle="efficiency vs #eta", title="", ymax=_maxEff),
6  Plot(FakeDuplicate("fakeduprate_vs_eta", assoc="num_assoc(recoToSim)_eta", dup="num_duplicate_eta", reco="num_reco_eta", title=""),
7  xtitle="track #eta", ytitle="fake+duplicates rate vs #eta", ymax=_maxFake),
8 ] +
9  _makeEffFakeDupPlots("phi", "#phi")
10 )
def _makeEffFakeDupPlots

Definition at line 181 of file trackingPlots.py.

tuple trackingPlots._extDistChi2Seeding
Initial value:
1 = PlotGroup("distChi2Seeding",
2  _makeDistPlots("chi2", "#chi^{2}") +
3  _extDistSeedingPlots,
4  ncols=4, legendDy=_legendDy_2rows_3cols
5 )

Definition at line 428 of file trackingPlots.py.

tuple trackingPlots._extDistDeltaR
Initial value:
1 = PlotGroup("distDeltaR",
2  _makeDistPlots("dr" , "min #DeltaR", common=dict(xlog=True)) +
3  _makeDistPlots("drj" , "#DeltaR(track, jet)", common=dict(xlog=True, xmax=_maxDRJ)),
4  ncols=2, legendDy=_legendDy_2rows,
5 )

Definition at line 422 of file trackingPlots.py.

tuple trackingPlots._extDistDxyDzBS
Initial value:
1 = PlotGroup("distDxyDzBS",
2  _makeDistPlots("dxy" , "dxy (cm)") +
3  _makeDistPlots("dz" , "dz (cm)"),
4  ncols=4, legendDy=_legendDy_2rows)

Definition at line 399 of file trackingPlots.py.

tuple trackingPlots._extDistDxyDzPV
Initial value:
1 = PlotGroup("distDxyDzPV",
2  _makeDistPlots("dxypv" , "dxy(PV) (cm)") +
3  _makeDistPlots("dxypv_zoomed", "dxy(PV) (cm)") +
4  _makeDistPlots("dzpv" , "dz(PV) (cm)") +
5  _makeDistPlots("dzpv_zoomed" , "dz(PV) (cm)"),
6  ncols=4, legendDy=_legendDy_4rows)

Definition at line 403 of file trackingPlots.py.

tuple trackingPlots._extDistHitsLayers
Initial value:
1 = PlotGroup("distHitsLayers",
2  _makeDistPlots("hit" , "hits" , common=dict(xmin=_minHits , xmax=_maxHits)) +
3  _makeDistPlots("layer" , "layers" , common=dict(xmin=_minLayers , xmax=_maxLayers)) +
4  _makeDistPlots("pixellayer", "pixel layers", common=dict( xmax=_maxPixelLayers)) +
5  _makeDistPlots("3Dlayer" , "3D layers" , common=dict(xmin=_min3DLayers, xmax=_max3DLayers)),
6  ncols=4, legendDy=_legendDy_4rows,
7 )

Definition at line 409 of file trackingPlots.py.

tuple trackingPlots._extDistPos
Initial value:
1 = PlotGroup("distPos",
2  _makeDistPlots("vertpos", "ref. point r (cm)", common=dict(xlog=True)) +
3  _makeDistPlots("zpos" , "ref. point z (cm)") +
4  _makeDistPlots("simpvz" , "Sim. PV z (cm)", common=dict(xmin=_minZ, xmax=_maxZ)),
5  ncols=3,
6 )

Definition at line 416 of file trackingPlots.py.

tuple trackingPlots._extDistPtEtaPhi
Initial value:
1 = PlotGroup("distPtEtaPhi",
2  _makeDistPlots("pT", "p_{T} (GeV)", common=dict(xlog=True)) +
3  _makeDistPlots("eta", "#eta") +
4  _makeDistPlots("phi", "#phi"),
5  ncols=4)

Extended set of plots.

Definition at line 394 of file trackingPlots.py.

tuple trackingPlots._extDistSeedingPlots = _makeDistPlots("seedingLayerSet", "seeding layers", common=dict(xtitle="", **_seedingLayerSet_common))

Definition at line 427 of file trackingPlots.py.

tuple trackingPlots._extDistSeedingTable
Initial value:
1 = TrackingSeedingLayerTable("distSeeding", [p.clone() for p in _extDistSeedingPlots],
2  ["All tracks", "True tracks", "Fake tracks", "Duplicate tracks"], isRate=False)

Definition at line 1179 of file trackingPlots.py.

tuple trackingPlots._extDistSimDeltaR
Initial value:
1 = PlotGroup("distsimDeltaR",
2  _makeDistSimPlots("dr" , "min #DeltaR", common=dict(xlog=True)) +
3  _makeDistSimPlots("drj" , "#DeltaR(TP, jet)", common=dict(xlog=True, xmax=_maxDRJ)),
4  ncols=2, legendDy=_legendDy_2rows,
5 )

Definition at line 493 of file trackingPlots.py.

tuple trackingPlots._extDistSimDxyDzBS
Initial value:
1 = PlotGroup("distsimDxyDzBS",
2  _makeDistSimPlots("dxy" , "dxy (cm)") +
3  _makeDistSimPlots("dz" , "dz (cm)"),
4  ncols=2, legendDy=_legendDy_2rows)

Definition at line 470 of file trackingPlots.py.

tuple trackingPlots._extDistSimDxyDzPV
Initial value:
1 = PlotGroup("distsimDxyDzPV",
2  _makeDistSimPlots("dxypv" , "dxy(PV) (cm)") +
3  _makeDistSimPlots("dxypv_zoomed", "dxy(PV) (cm)") +
4  _makeDistSimPlots("dzpv" , "dz(PV) (cm)") +
5  _makeDistSimPlots("dzpv_zoomed" , "dz(PV) (cm)"),
6  ncols=2, legendDy=_legendDy_4rows)

Definition at line 474 of file trackingPlots.py.

tuple trackingPlots._extDistSimHitsLayers
Initial value:
1 = PlotGroup("distsimHitsLayers",
2  _makeDistSimPlots("hit" , "hits" , common=dict(xmin=_minHits , xmax=_maxHits)) +
3  _makeDistSimPlots("layer" , "layers" , common=dict(xmin=_minLayers , xmax=_maxLayers)) +
4  _makeDistSimPlots("pixellayer", "pixel layers", common=dict( xmax=_maxPixelLayers)) +
5  _makeDistSimPlots("3Dlayer" , "3D layers" , common=dict(xmin=_min3DLayers, xmax=_max3DLayers)),
6  ncols=2, legendDy=_legendDy_4rows,
7 )

Definition at line 480 of file trackingPlots.py.

tuple trackingPlots._extDistSimPos
Initial value:
1 = PlotGroup("distsimPos",
2  _makeDistSimPlots("vertpos", "vert r (cm)", common=dict(xlog=True)) +
3  _makeDistSimPlots("zpos" , "vert z (cm)") +
4  _makeDistSimPlots("simpvz" , "Sim. PV z (cm)", common=dict(xmin=_minZ, xmax=_maxZ)),
5  ncols=3,
6 )

Definition at line 487 of file trackingPlots.py.

tuple trackingPlots._extDistSimPtEtaPhi
Initial value:
1 = PlotGroup("distsimPtEtaPhi",
2  _makeDistSimPlots("pT", "p_{T} (GeV)", common=dict(xlog=True)) +
3  _makeDistSimPlots("eta", "#eta") +
4  _makeDistSimPlots("phi", "#phi"),
5  ncols=2)

Extended set of plots also for simulation.

Definition at line 465 of file trackingPlots.py.

list trackingPlots._extendedPlots
Initial value:
1 = [
2  _extDistPtEtaPhi,
3  _extDistDxyDzBS,
4  _extDistDxyDzPV,
5  _extDistHitsLayers,
6  _extDistPos,
7  _extDistDeltaR,
8  _extDistChi2Seeding,
9  _extDistSeedingTable,
10  _extResidualEta,
11  _extResidualPt,
12  _extNrecVsNsim,
13  _extHitsLayers,
14  _extDistSimPtEtaPhi,
15  _extDistSimDxyDzBS,
16  _extDistSimDxyDzPV,
17  _extDistSimHitsLayers,
18  _extDistSimPos,
19  _extDistSimDeltaR,
20 ]

Definition at line 1242 of file trackingPlots.py.

tuple trackingPlots._extHitsLayers
Initial value:
1 = PlotGroup("hitsLayers", [
2  Plot("PXLhits_vs_eta", xtitle="#eta", ytitle="<pixel hits>"),
3  Plot("PXLlayersWithMeas_vs_eta", xtitle="#eta", ytitle="<pixel layers>"),
4  Plot("STRIPhits_vs_eta", xtitle="#eta", ytitle="<strip hits>"),
5  Plot("STRIPlayersWithMeas_vs_eta", xtitle="#eta", ytitle="<strip layers>"),
6 ], legendDy=_legendDy_2rows)

Definition at line 456 of file trackingPlots.py.

tuple trackingPlots._extNrecVsNsim
Initial value:
1 = PlotGroup("nrecVsNsim", [
2  Plot("nrec_vs_nsim", title="", xtitle="TrackingParticles", ytitle="Tracks", profileX=True, xmin=_minMaxTracks, xmax=_minMaxTracks, ymin=_minMaxTracks, ymax=_minMaxTracks),
3  Plot("nrecPerNsim_vs_pu", xtitle="Pileup", xmin=_minPU, xmax=_maxPU, **_common),
4  Plot("nrecPerNsimPt", xtitle="p_{T} (GeV)", xlog=True, **_common),
5  Plot("nrecPerNsim", xtitle="#eta", **_common)
6 ], legendDy=_legendDy_2rows)

Definition at line 450 of file trackingPlots.py.

tuple trackingPlots._extResidualEta
Initial value:
1 = PlotGroup("residualEta", [
2  Plot("phires_vs_eta_Mean", ytitle="< #delta #phi > (rad)", ymin=_minResidualPhi, ymax=_maxResidualPhi, **_common),
3  Plot("cotThetares_vs_eta_Mean", ytitle="< #delta cot(#theta) >", ymin=_minResidualCotTheta, ymax=_maxResidualCotTheta, **_common),
4  Plot("dxyres_vs_eta_Mean", ytitle="< #delta d_{xy} > (#mum)", scale=10000, ymin=_minResidualDxy, ymax=_maxResidualDxy, **_common),
5  Plot("dzres_vs_eta_Mean", ytitle="< #delta d_{z} > (#mum)", scale=10000, ymin=_minResidualDz, ymax=_maxResidualDz, **_common),
6  Plot("ptres_vs_eta_Mean", ytitle="< #delta p_{T}/p_{T} > (%)", scale=100, ymin=_minResidualPt, ymax=_maxResidualPt, **_common), # same as in tuning, but to be complete
7 ])

Definition at line 434 of file trackingPlots.py.

tuple trackingPlots._extResidualPt
Initial value:
1 = PlotGroup("residualPt", [
2  Plot("phires_vs_pt_Mean", ytitle="< #delta #phi > (rad)", ymin=_minResidualPhi, ymax=_maxResidualPhi, **_common),
3  Plot("cotThetares_vs_pt_Mean", ytitle="< #delta cot(#theta > )", ymin=_minResidualCotTheta, ymax=_maxResidualCotTheta, **_common),
4  Plot("dxyres_vs_pt_Mean", ytitle="< #delta d_{xy} > (#mum)", scale=10000, ymin=_minResidualDxy, ymax=_maxResidualDxy, **_common),
5  Plot("dzres_vs_pt_Mean", ytitle="< #delta d_{z} > (#mum)", scale=10000, ymin=_minResidualDz, ymax=_maxResidualDz, **_common),
6  Plot("ptres_vs_pt_Mean", ytitle="< #delta p_{T}/p_{T} > (%)", scale=100, ymin=_minResidualPt, ymax=_maxResidualPt, **_common), # same as in tuning, but to be complete
7 ])

Definition at line 442 of file trackingPlots.py.

tuple trackingPlots._hitsAndPt
Initial value:
1 = PlotGroup("hitsAndPt", [
2  Plot("missing_inner_layers", xmin=_minLayers, xmax=_maxLayers, ymax=1, **_common),
3  Plot("missing_outer_layers", xmin=_minLayers, xmax=_maxLayers, ymax=1, **_common),
4  Plot("hits_eta", xtitle="track #eta", ytitle="<hits> vs #eta", ymin=_minHits, ymax=_maxHits, statyadjust=[0,0,-0.15],
5  fallback={"name": "nhits_vs_eta", "profileX": True}),
6  Plot("hits", stat=True, xtitle="track hits", xmin=_minHits, xmax=_maxHits, ylog=True, ymin=[5e-1, 5, 5e1, 5e2, 5e3], drawStyle="hist"),
7  Plot("num_simul_pT", xtitle="TP p_{T}", xlog=True, ymax=[1e-1, 2e-1, 5e-1, 1], **_common),
8  Plot("num_reco_pT", xtitle="track p_{T}", xlog=True, ymax=[1e-1, 2e-1, 5e-1, 1], **_common)
9 ])

Definition at line 337 of file trackingPlots.py.

list trackingPlots._hltFolder
Initial value:
1 = [
2  "DQMData/Run 1/HLT/Run summary/Tracking/ValidationWRTtp",
3 ]

Definition at line 1389 of file trackingPlots.py.

tuple trackingPlots._iteration_reorder = TrackingIterationOrder()

Definition at line 1858 of file trackingPlots.py.

list trackingPlots._iterations

Definition at line 1452 of file trackingPlots.py.

float trackingPlots._legendDy_1row = 0.46

Definition at line 55 of file trackingPlots.py.

float trackingPlots._legendDy_2rows = -0.025

Definition at line 56 of file trackingPlots.py.

float trackingPlots._legendDy_2rows_3cols = -0.17

Definition at line 57 of file trackingPlots.py.

float trackingPlots._legendDy_4rows = 0.09

Definition at line 58 of file trackingPlots.py.

list trackingPlots._max3DLayers = [5, 10, 20]

Definition at line 36 of file trackingPlots.py.

float trackingPlots._maxDRJ = 0.1

Definition at line 43 of file trackingPlots.py.

list trackingPlots._maxEff = [0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 0.8, 1.025, 1.2, 1.5, 2]

Per track collection plots.

Definition at line 23 of file trackingPlots.py.

list trackingPlots._maxFake = [0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 0.8, 1.025]

Definition at line 24 of file trackingPlots.py.

list trackingPlots._maxHits = [5, 10, 20, 40, 60, 80]

Definition at line 31 of file trackingPlots.py.

list trackingPlots._maxLayers = [5, 10, 25]

Definition at line 33 of file trackingPlots.py.

int trackingPlots._maxPixelLayers = 8

Definition at line 34 of file trackingPlots.py.

list trackingPlots._maxPU = [20, 50, 65, 80, 100, 150, 200, 250]

Definition at line 40 of file trackingPlots.py.

list trackingPlots._maxZ = [5, 10, 20, 40, 60]

Definition at line 38 of file trackingPlots.py.

list trackingPlots._min3DLayers = [0, 5, 10]

Definition at line 35 of file trackingPlots.py.

list trackingPlots._minHits = [0, 5, 10]

Definition at line 30 of file trackingPlots.py.

list trackingPlots._minLayers = [0, 5, 10]

Definition at line 32 of file trackingPlots.py.

list trackingPlots._minMaxMVA = [-1.025, -0.5, 0, 0.5, 1.025]

Definition at line 42 of file trackingPlots.py.

list trackingPlots._minMaxN = [5e-1, 5, 5e1, 5e2, 5e3, 5e4, 5e5, 5e6, 5e7, 5e8, 5e9]

Definition at line 28 of file trackingPlots.py.

list trackingPlots._minMaxResol = [1e-5, 4e-5, 1e-4, 4e-4, 1e-3, 4e-3, 1e-2, 4e-2, 0.1, 0.4, 1]

Definition at line 27 of file trackingPlots.py.

list trackingPlots._minMaxTracks = [0, 200, 500, 1000, 1500, 2000]

Definition at line 41 of file trackingPlots.py.

list trackingPlots._minPU = [0, 10, 20, 50, 100, 150]

Definition at line 39 of file trackingPlots.py.

list trackingPlots._minZ = [-60, -40, -20, -10, -5]

Definition at line 37 of file trackingPlots.py.

tuple trackingPlots._packedCandidateCovarianceMatrix1
Initial value:
1 = PlotGroup("covarianceMatrix1", [
2  Plot("diffCovQoverpQoverp", xtitle="cov(qoverp, qoverp)", **_commonLabelSize),
3  Plot("diffCovQoverpQoverpStatus", **_commonStatus),
4  Plot("diffCovQoverpQoverpUnderOverFlowSign", xtitle="cov(qoverp, qoverp)", **_common),
5  Plot("diffCovLambdaLambda", xtitle="cov(lambda, lambda)", **_commonLabelSize),
6  Plot("diffCovLambdaLambdaStatus", **_commonStatus),
7  Plot("diffCovLambdaLambdaUnderOverFlowSign", xtitle="cov(lambda, lambda)", **_common),
8  Plot("diffCovLambdaDsz", xtitle="cov(lambda, dsz)", **_commonLabelSize),
9  Plot("diffCovLambdaDszStatus", **_commonStatus),
10  Plot("diffCovLambdaDszUnderOverFlowSign", xtitle="cov(lambda, dsz)", **_common),
11  Plot("diffCovPhiPhi", xtitle="cov(phi, phi)", **_commonLabelSize),
12  Plot("diffCovPhiPhiStatus", **_commonStatus),
13  Plot("diffCovPhiPhiUnderOverFlowSign", xtitle="cov(phi, phi)", **_common),
14 ],
15  ncols=3, legendDy=_legendDy_4rows
16 )

Definition at line 845 of file trackingPlots.py.

tuple trackingPlots._packedCandidateCovarianceMatrix2
Initial value:
1 = PlotGroup("covarianceMatrix2", [
2  Plot("diffCovPhiDxy", xtitle="cov(phi, dxy)", **_commonLabelSize),
3  Plot("diffCovPhiDxyStatus", **_commonStatus),
4  Plot("diffCovPhiDxyUnderOverFlowSign", xtitle="cov(phi, dxy)", **_common),
5  Plot("diffCovDxyDxy", xtitle="cov(dxy, dxy)", adjustMarginRight=0.02, **_commonLabelSize),
6  Plot("diffCovDxyDxyStatus", **_commonStatus),
7  Plot("diffCovDxyDxyUnderOverFlowSign", xtitle="cov(dxy, dxy)", **_common),
8  Plot("diffCovDxyDsz", xtitle="cov(dxy, dsz)", adjustMarginRight=0.02, **_commonLabelSize),
9  Plot("diffCovDxyDszStatus", **_commonStatus),
10  Plot("diffCovDxyDszUnderOverFlowSign", xtitle="cov(dxy, dsz)", **_common),
11  Plot("diffCovDszDsz", xtitle="cov(dsz, dsz)", adjustMarginRight=0.02, **_commonLabelSize),
12  Plot("diffCovDszDszStatus", **_commonStatus),
13  Plot("diffCovDszDszUnderOverFlowSign", xtitle="cov(dsz, dsz)", **_common),
14 ],
15  ncols=3, legendDy=_legendDy_4rows
16 )

Definition at line 861 of file trackingPlots.py.

tuple trackingPlots._packedCandidateFlow
Initial value:
1 = PlotGroup("flow", [
2  Plot("selectionFlow", xbinlabelsize=10, xbinlabeloption="d", adjustMarginRight=0.1, drawStyle="hist", ylog=True, ymin=[0.9, 9, 9e1, 9e2, 9e3, 9e4, 9e5, 9e6, 9e7]),
3  Plot("diffCharge", xtitle="Charge", **_common),
4  Plot("diffIsHighPurity", xtitle="High purity status", **_common),
5  Plot("diffNdof", xtitle="ndof", **_common),
6  Plot("diffNormalizedChi2", xtitle="#chi^{2}/ndof", **_common),
7 ])

Definition at line 777 of file trackingPlots.py.

tuple trackingPlots._packedCandidateHits
Initial value:
1 = PlotGroup("hits", [
2  Plot("diffNumberOfHits", xtitle="Hits", **_common),
3  Plot("diffNumberOfPixelHits", xtitle="Pixel hits", **_common),
4  Plot("diffLostInnerHits", xtitle="Lost inner hits", **_common),
5  Plot("numberHitsOverMax", xtitle="Number of overflown hits", **_common),
6  Plot("numberPixelHitsOverMax", xtitle="Number of overflown pixel hits", **_common),
7  Plot("numberStripHitsOverMax", xtitle="Number of overflown strip hits", **_common),
8 ],
9  ncols=3, legendDy=_legendDy_2rows_3cols
10 )

Definition at line 793 of file trackingPlots.py.

tuple trackingPlots._packedCandidateHitsHitPattern
Initial value:
1 = PlotGroup("hitsHitPattern", [
2  Plot("diffHitPatternNumberOfValidHits", xtitle="Valid hits (via HitPattern)", **_common),
3  Plot("diffHitPatternNumberOfValidPixelHits", xtitle="Valid pixel hits (via HitPattern)", **_common),
4  Plot("diffHitPatternHasValidHitInFirstPixelBarrel", xtitle="Has valid hit in BPix1 layer (via HitPattern)", **_common),
5  Plot("diffHitPatternNumberOfLostPixelHits", xtitle="Lost pixel hits (via HitPattern)", **_common),
6 ],
7  legendDy=_legendDy_2rows
8 )

Definition at line 785 of file trackingPlots.py.

tuple trackingPlots._packedCandidateImpactParameter1
Initial value:
1 = PlotGroup("impactParameter1", [
2  Plot("diffDxyAssocPV", xtitle="dxy(assocPV)", adjustMarginRight=0.02, **_commonLabelSize),
3  Plot("diffDxyAssocPVStatus", **_commonStatus),
4  Plot("diffDxyAssocPVUnderOverFlowSign", xtitle="dxy(assocPV)", **_common),
5  Plot("diffDzAssocPV", xtitle="dz(assocPV)", adjustMarginRight=0.02, **_commonLabelSize),
6  Plot("diffDzAssocPVStatus", **_commonStatus),
7  Plot("diffDzAssocPVUnderOverFlowSign", xtitle="dz(assocPV)", **_common),
8  Plot("diffDxyError", xtitle="dxyError()", adjustMarginRight=0.02, **_commonLabelSize),
9  Plot("diffDszError", xtitle="dszError()", adjustMarginRight=0.02, **_commonLabelSize),
10  Plot("diffDzError", xtitle="dzError()", adjustMarginRight=0.02, **_commonLabelSize),
11 
12 ],
13  ncols=3
14 )

Definition at line 821 of file trackingPlots.py.

tuple trackingPlots._packedCandidateImpactParameter2
Initial value:
1 = PlotGroup("impactParameter2", [
2  Plot("diffDxyPV", xtitle="dxy(PV) via PC", **_commonLabelSize),
3  Plot("diffDzPV", xtitle="dz(PV) via PC", **_commonLabelSize),
4  Plot("diffTrackDxyAssocPV", xtitle="dxy(PV) via PC::bestTrack()", **_commonLabelSize),
5  Plot("diffTrackDzAssocPV", xtitle="dz(PV) via PC::bestTrack()", **_commonLabelSize),
6  Plot("diffTrackDxyError", xtitle="dxyError() via PC::bestTrack()", adjustMarginRight=0.02, **_commonLabelSize),
7  Plot("diffTrackDzError", xtitle="dzError() via PC::bestTrack()", **_commonLabelSize),
8 ])

Definition at line 836 of file trackingPlots.py.

tuple trackingPlots._packedCandidateKinematics
Initial value:
1 = PlotGroup("kinematics", [
2  Plot("diffPt", xtitle="p_{T}", **_common),
3  Plot("diffPtError", xtitle="p_{T} error", **_common),
4  Plot("diffEta", xtitle="#eta", **_common),
5  Plot("diffEtaError", xtitle="#eta error", **_common),
6  Plot("diffPhi", xtitle="#phi", **_common),
7 ])

Definition at line 888 of file trackingPlots.py.

tuple trackingPlots._packedCandidateLayers
Initial value:
1 = PlotGroup("layers", [
2  PlotEmpty(),
3  Plot("diffNumberOfPixelLayers", xtitle="Pixel layers", **_common),
4  Plot("diffNumberOfStripLayers", xtitle="Strip layers", **_common),
5  #
6  Plot("diffHitPatternTrackerLayersWithMeasurement", xtitle="Layers (via HitPattern)", **_common),
7  Plot("diffHitPatternPixelLayersWithMeasurement", xtitle="Pixel layers (via HitPattern)", **_common),
8  Plot("diffHitPatternStripLayersWithMeasurement", xtitle="Strip layers (via HitPattern)", **_common),
9  #
10  Plot("numberLayersOverMax", xtitle="Number of overflown layers", **_common),
11  Plot("numberPixelLayersOverMax", xtitle="Number of overflown pixel layers", **_common),
12  Plot("numberStripLayersOverMax", xtitle="Number of overflown strip layers", **_common),
13 ],
14  ncols=3
15 )

Definition at line 804 of file trackingPlots.py.

list trackingPlots._packedCandidatePlots
Initial value:
1 = [
2  _packedCandidateFlow,
3  _packedCandidateKinematics,
4  _packedCandidateVertex,
5  _packedCandidateImpactParameter1,
6  _packedCandidateImpactParameter2,
7  _packedCandidateCovarianceMatrix1,
8  _packedCandidateCovarianceMatrix2,
9  _packedCandidateHits,
10  _packedCandidateHitsHitPattern,
11  _packedCandidateLayers,
12 ]

Definition at line 1286 of file trackingPlots.py.

tuple trackingPlots._packedCandidateVertex
Initial value:
1 = PlotGroup("vertex", [
2  Plot("diffVx", xtitle="Reference point x", **_common),
3  Plot("diffVy", xtitle="Reference point y", **_common),
4  Plot("diffVz", xtitle="Reference point z", **_common),
5 ],
6  legendDy=_legendDy_2rows
7 )

Definition at line 879 of file trackingPlots.py.

list trackingPlots._possibleTrackingColls
Initial value:
1 = [
2  'initialStepPreSplitting',
3  'initialStep',
4  'highPtTripletStep', # phase1
5  'detachedQuadStep', # phase1
6  'detachedTripletStep',
7  'lowPtQuadStep', # phase1
8  'lowPtTripletStep',
9  'pixelPairStepA', # seeds
10  'pixelPairStepB', # seeds
11  'pixelPairStepC', # seeds
12  'pixelPairStep',
13  'mixedTripletStepA', # seeds
14  'mixedTripletStepB', # seeds
15  'mixedTripletStep',
16  'pixelLessStep',
17  'tobTecStepPair', # seeds
18  'tobTecStepTripl', # seeds
19  'tobTecStep',
20  'displacedGeneralStep',
21  'jetCoreRegionalStep',
22  'muonSeededStepInOut',
23  'muonSeededStepOutIn',
24  'duplicateMerge',
25 ]

Definition at line 509 of file trackingPlots.py.

dictionary trackingPlots._possibleTrackingCollsOld
Initial value:
1 = {
2  "Zero" : "iter0",
3  "First" : "iter1",
4  "Second": "iter2",
5  "Third" : "iter3",
6  "Fourth": "iter4",
7  "Fifth" : "iter5",
8  "Sixth" : "iter6",
9  "Seventh": "iter7",
10  "Ninth" : "iter9",
11  "Tenth" : "iter10",
12 }

Definition at line 534 of file trackingPlots.py.

list trackingPlots._possibleTrackingNonIterationColls
Initial value:
1 = [
2  'ak4PFJets',
3  'btvLike',
4 ]

Summary plots.

Definition at line 505 of file trackingPlots.py.

tuple trackingPlots._pulls
Initial value:
1 = PlotGroup("pulls", [
2  Plot("pullPt", **_common),
3  Plot("pullQoverp", **_common),
4  Plot("pullPhi", **_common),
5  Plot("pullTheta", **_common),
6  Plot("pullDxy", **_common),
7  Plot("pullDz", **_common),
8 ],
9  legendDx=0.1, legendDw=-0.1, legendDh=-0.015
10 )

Definition at line 359 of file trackingPlots.py.

tuple trackingPlots._pvassociation1
Initial value:
1 = PlotGroup("pvassociation1", [
2  Plot(ROC("effic_vs_fakepileup_dzpvcut", "effic_vs_dzpvcut", FakeDuplicate("fakepileup_vs_dzpvcut", assoc="num_assoc(recoToSim)_dzpvcut", reco="num_reco_dzpvcut", dup="num_pileup_dzpvcut")),
3  xtitle="Efficiency vs. cut on dz(PV)", **_common),
4  Plot(ROC("effic_vs_fakepileup2_dzpvcut", "effic_vs_dzpvcut", FakeDuplicate("fakepileup_vs_dzpvcut", assoc="num_assoc(recoToSim)_dzpvcut", reco="num_reco_dzpvcut", dup="num_pileup_dzpvcut"), zaxis=True),
5  xtitle="Efficiency", ztitle="Cut on dz(PV)", **_common2),
6  #
7  Plot(ROC("effic_vs_fakepileup_dzpvsigcut", "effic_vs_dzpvsigcut", FakeDuplicate("fakepileup_vs_dzpvsigcut", assoc="num_assoc(recoToSim)_dzpvsigcut", reco="num_reco_dzpvsigcut", dup="num_pileup_dzpvsigcut")),
8  xtitle="Efficiency vs. cut on dz(PV)/dzError", **_common),
9  Plot(ROC("effic_vs_fakepileup2_dzpvsigcut", "effic_vs_dzpvsigcut", FakeDuplicate("fakepileup_vs_dzpvsigcut", assoc="num_assoc(recoToSim)_dzpvsigcut", reco="num_reco_dzpvsigcut", dup="num_pileup_dzpvsigcut"), zaxis=True),
10  xtitle="Efficiency", ztitle="Cut on dz(PV)/dzError", **_common2),
11 ], onlyForPileup=True,
12  legendDy=_legendDy_4rows
13 )

Definition at line 289 of file trackingPlots.py.

tuple trackingPlots._pvassociation2
Initial value:
1 = PlotGroup("pvassociation2", [
2  Plot("effic_vs_dzpvcut", xtitle="Cut on dz(PV) (cm)", ytitle="Efficiency vs. cut on dz(PV)", ymax=_maxEff),
3  Plot("effic_vs_dzpvcut2", xtitle="Cut on dz(PV) (cm)", ytitle="Efficiency (excl. trk eff)", ymax=_maxEff),
4  Plot("fakerate_vs_dzpvcut", xtitle="Cut on dz(PV) (cm)", ytitle="Fake rate vs. cut on dz(PV)", ymax=_maxFake),
5  Plot("pileuprate_dzpvcut", xtitle="Cut on dz(PV) (cm)", ytitle="Pileup rate vs. cut on dz(PV)", ymax=_maxFake),
6  #
7  Plot("effic_vs_dzpvsigcut", xtitle="Cut on dz(PV)/dzError", ytitle="Efficiency vs. cut on dz(PV)/dzError", ymax=_maxEff),
8  Plot("effic_vs_dzpvsigcut2", xtitle="Cut on dz(PV)/dzError", ytitle="Efficiency (excl. trk eff)", ymax=_maxEff),
9  Plot("fakerate_vs_dzpvsigcut", xtitle="Cut on dz(PV)/dzError", ytitle="Fake rate vs. cut on dz(PV)/dzError", ymax=_maxFake),
10  Plot("pileuprate_dzpvsigcut", xtitle="Cut on dz(PV)/dzError", ytitle="Pileup rate vs. cut on dz(PV)/dzError", ymax=_maxFake),
11 ], onlyForPileup=True,
12  legendDy=_legendDy_4rows
13 )

Definition at line 302 of file trackingPlots.py.

list trackingPlots._recoBasedPlots
Initial value:
1 = [
2  _dupandfakePtEtaPhi,
3  _dupandfakeDxyDzBS,
4  _dupandfakeDxyDzPV,
5  _dupandfakeHitsLayers,
6  _dupandfakePos,
7  _dupandfakeDeltaRPU,
8  _dupandfakeChi2Seeding,
9  _dupandfakeSeedingTable,
10  _pvassociation1,
11  _pvassociation2,
12  _dedx,
13 # _chargemisid,
14  _hitsAndPt,
15  _pulls,
16  _resolutionsEta,
17  _resolutionsPhi,
18  _resolutionsPt,
19  _tuning,
20 ]

Definition at line 1199 of file trackingPlots.py.

tuple trackingPlots._resolutionsEta
Initial value:
1 = PlotGroup("resolutionsEta", [
2  Plot("phires_vs_eta_Sigma", ytitle="#sigma(#delta #phi) (rad)", **_common),
3  Plot("cotThetares_vs_eta_Sigma", ytitle="#sigma(#delta cot(#theta))", **_common),
4  Plot("dxyres_vs_eta_Sigma", ytitle="#sigma(#delta d_{xy}) (cm)", **_common),
5  Plot("dzres_vs_eta_Sigma", ytitle="#sigma(#delta d_{z}) (cm)", **_common),
6  Plot("ptres_vs_eta_Sigma", ytitle="#sigma(#delta p_{T}/p_{T})", **_common),
7 ])

Definition at line 370 of file trackingPlots.py.

tuple trackingPlots._resolutionsPhi
Initial value:
1 = PlotGroup("resolutionsPhi", [
2  Plot("dxyres_vs_phi_Sigma", ytitle="#sigma(#delta d_{xy}) (cm)", **_common),
3  Plot("dzres_vs_phi_Sigma", ytitle="#sigma(#delta d_{z}) (cm)", **_common),
4  Plot("phires_vs_phi_Sigma", ytitle="#sigma(#delta #phi) (rad)", **_common),
5  Plot("ptres_vs_phi_Sigma", ytitle="#sigma(#delta p_{T}/p_{T})", **_common),
6 ])

Definition at line 386 of file trackingPlots.py.

tuple trackingPlots._resolutionsPt
Initial value:
1 = PlotGroup("resolutionsPt", [
2  Plot("phires_vs_pt_Sigma", ytitle="#sigma(#delta #phi) (rad)", **_common),
3  Plot("cotThetares_vs_pt_Sigma", ytitle="#sigma(#delta cot(#theta))", **_common),
4  Plot("dxyres_vs_pt_Sigma", ytitle="#sigma(#delta d_{xy}) (cm)", **_common),
5  Plot("dzres_vs_pt_Sigma", ytitle="#sigma(#delta d_{z}) (cm)", **_common),
6  Plot("ptres_vs_pt_Sigma", ytitle="#sigma(#delta p_{T}/p_{T})", **_common),
7 ])

Definition at line 378 of file trackingPlots.py.

list trackingPlots._seedingBuildingPlots
Initial value:
1 = _simBasedPlots+[
2  _dupandfakePtEtaPhi,
3  _dupandfakeDxyDzBS,
4  _dupandfakeDxyDzPV,
5  _dupandfakeHitsLayers,
6  _dupandfakePos,
7  _dupandfakeDeltaRPU,
8  _dupandfakeChi2Seeding,
9  _dupandfakeSeedingTable,
10  _hitsAndPt,
11 ]

Definition at line 1219 of file trackingPlots.py.

tuple trackingPlots._seedingLayerSet_common = dict(removeEmptyBins=True, xbinlabelsize=8, xbinlabeloption="d", adjustMarginRight=0.1)

Definition at line 269 of file trackingPlots.py.

list trackingPlots._simBasedPlots
Initial value:
1 = [
2  _effandfakePtEtaPhi,
3  _effandfakeDxyDzBS,
4  _effandfakeDxyDzPV,
5  _effandfakeHitsLayers,
6  _effandfakePos,
7  _effandfakeDeltaRPU,
8  _duplicateAlgo,
9 ]

Definition at line 1190 of file trackingPlots.py.

list trackingPlots._summaryPlots
Initial value:
1 = [
2  _summary,
3  _summaryN,
4  _summaryByOriginalAlgo,
5  _summaryByOriginalAlgoN,
6  _summaryByAlgoMask,
7  _summaryByAlgoMaskN,
8  _summaryPt09,
9  _summaryPt09N,
10 ]

Definition at line 1262 of file trackingPlots.py.

list trackingPlots._summaryPlotsHp
Initial value:
1 = [
2  _summaryHp,
3  _summaryNHp,
4  _summaryByOriginalAlgoHp,
5  _summaryByOriginalAlgoNHp,
6  _summaryByAlgoMaskHp,
7  _summaryByAlgoMaskNHp,
8  _summaryPt09Hp,
9  _summaryPt09NHp,
10 ]

Definition at line 1272 of file trackingPlots.py.

list trackingPlots._summaryPlotsSeeds
Initial value:
1 = [
2  _summarySeeds,
3  _summarySeedsN,
4 ]

Definition at line 1282 of file trackingPlots.py.

tuple trackingPlots._time_per_event_cpu = TimePerEventPlot("timePerEvent", "module_time_thread_total")

Definition at line 1794 of file trackingPlots.py.

tuple trackingPlots._time_per_event_real = TimePerEventPlot("timePerEvent", "module_time_real_total")

Definition at line 1795 of file trackingPlots.py.

tuple trackingPlots._time_per_iter_cpu = AggregateBins("iteration", _time_per_event_cpu, _iterModuleMap(), ignoreMissingBins=True, reorder=_iteration_reorder)

Definition at line 1859 of file trackingPlots.py.

tuple trackingPlots._time_per_iter_real = AggregateBins("iteration", _time_per_event_real, _iterModuleMap(), ignoreMissingBins=True, reorder=_iteration_reorder)

Definition at line 1860 of file trackingPlots.py.

list trackingPlots._timeFolders
Initial value:
1 = [
2 # "DQMData/Run 1/DQM/Run summary/TimerService/process RECO paths/path reconstruction_step",
3  "DQMData/Run 1/DQM/Run summary/TimerService/process RECO paths/path prevalidation_step", # because of unscheduled, it's actually prevalidation_step that has all the tracking modules?
4 ]

Definition at line 1917 of file trackingPlots.py.

tuple trackingPlots._timing_iterationsCPU
Initial value:
1 = PlotGroup("iterationsCPU", [
2  Plot(AggregateBins(i.name(), _time_per_event_cpu, collections.OrderedDict(i.modules()), ignoreMissingBins=True),
3  ytitle="Average CPU time (ms)", title=i.name(), **_common)
4  for i in _iterations
5 ],
6  ncols=4, legend=False
7 )

Definition at line 1897 of file trackingPlots.py.

tuple trackingPlots._timing_iterationsReal
Initial value:
1 = PlotGroup("iterationsReal", [
2  Plot(AggregateBins(i.name(), _time_per_event_real, collections.OrderedDict(i.modules()), ignoreMissingBins=True),
3  ytitle="Average real time (ms)", title=i.name(), **_common)
4  for i in _iterations
5 ],
6  ncols=4, legend=False
7 )

Definition at line 1904 of file trackingPlots.py.

tuple trackingPlots._timing_summaryCPU
Initial value:
1 = PlotGroup("summaryCPU", [
2  Plot(_time_per_iter_cpu,
3  ytitle="Average CPU time (ms)", title="Average CPU time / event", legendDx=-0.4, **_common),
4  Plot(AggregateBins("iteration_fraction", _time_per_event_cpu, _iterModuleMap(), ignoreMissingBins=True, reorder=_iteration_reorder),
5  ytitle="Fraction", title="", normalizeToUnitArea=True, **_common),
6  #
7  Plot(AggregateBins("step", _time_per_event_cpu, _stepModuleMap(), ignoreMissingBins=True),
8  ytitle="Average CPU time (ms)", title="Average CPU time / event", **_common),
9  Plot(AggregateBins("step_fraction", _time_per_event_cpu, _stepModuleMap(), ignoreMissingBins=True),
10  ytitle="Fraction", title="", normalizeToUnitArea=True, **_common),
11  #
12  Plot(TimePerTrackPlot("iteration_track", _time_per_iter_cpu, selectedTracks=False),
13  ytitle="Average CPU time / built track (ms)", title="Average CPU time / built track", **_common),
14  Plot(TimePerTrackPlot("iteration_trackhp", _time_per_iter_cpu, selectedTracks=True),
15  ytitle="Average CPU time / selected track (ms)", title="Average CPU time / selected HP track by algoMask", **_common),
16  ],
17 )

Definition at line 1862 of file trackingPlots.py.

tuple trackingPlots._timing_summaryReal
Initial value:
1 = PlotGroup("summaryReal", [
2  Plot(_time_per_iter_real,
3  ytitle="Average real time (ms)", title="Average real time / event", legendDx=-0.4, **_common),
4  Plot(AggregateBins("iteration_fraction", _time_per_event_real, _iterModuleMap(), ignoreMissingBins=True, reorder=_iteration_reorder),
5  ytitle="Fraction", title="", normalizeToUnitArea=True, **_common),
6  #
7  Plot(AggregateBins("step", _time_per_event_real, _stepModuleMap(), ignoreMissingBins=True),
8  ytitle="Average real time (ms)", title="Average real time / event", **_common),
9  Plot(AggregateBins("step_fraction", _time_per_event_real, _stepModuleMap(), ignoreMissingBins=True),
10  ytitle="Fraction", title="", normalizeToUnitArea=True, **_common),
11  #
12  Plot(TimePerTrackPlot("iteration_track", _time_per_iter_real, selectedTracks=False),
13  ytitle="Average real time / built track (ms)", title="Average real time / built track", **_common),
14  Plot(TimePerTrackPlot("iteration_trackhp", _time_per_iter_real, selectedTracks=True),
15  ytitle="Average real time / selected track (ms)", title="Average real time / selected HP track by algoMask", **_common),
16  ],
17 )

Definition at line 1879 of file trackingPlots.py.

tuple trackingPlots._tplifetime
Initial value:
1 = PlotGroup("tplifetime", [
2  Plot("TPlip", xtitle="TP lip", **_common),
3  Plot("TPtip", xtitle="TP tip", **_common),
4 ])

Definition at line 1933 of file trackingPlots.py.

string trackingPlots._trackingIterationOrderHistogram = "DQMData/Run 1/Tracking/Run summary/TrackBuilding/num_reco_coll"

Definition at line 65 of file trackingPlots.py.

tuple trackingPlots._tuning
Initial value:
1 = PlotGroup("tuning", [
2  Plot("chi2", stat=True, normalizeToUnitArea=True, ylog=True, ymin=1e-6, ymax=[0.1, 0.2, 0.5, 1.0001], drawStyle="hist", xtitle="#chi^{2}", ratioUncertainty=False),
3  Plot("chi2_prob", stat=True, normalizeToUnitArea=True, drawStyle="hist", xtitle="Prob(#chi^{2})"),
4  Plot("chi2mean", title="", xtitle="#eta", ytitle="< #chi^{2} / ndf >", ymin=[0, 0.5], ymax=[2, 2.5, 3, 5],
5  fallback={"name": "chi2_vs_eta", "profileX": True}),
6  Plot("ptres_vs_eta_Mean", scale=100, title="", xtitle="TP #eta (PCA to beamline)", ytitle="< #delta p_{T} / p_{T} > (%)", ymin=_minResidualPt, ymax=_maxResidualPt),
7  Plot("chi2mean_vs_pt", title="", xtitle="p_{T}", ytitle="< #chi^{2} / ndf >", ymin=[0, 0.5], ymax=[2, 2.5, 3, 5], xlog=True, fallback={"name": "chi2_vs_pt", "profileX": True}),
8  Plot("chi2mean_vs_drj", title="", xtitle="#DeltaR(track, jet)", ytitle="< #chi^{2} / ndf >", ymin=[0, 0.5], ymax=[2, 2.5, 3, 5], xlog=True, xmax=_maxDRJ, fallback={"name": "chi2_vs_drj", "profileX": True}),
9  Plot("ptres_vs_pt_Mean", title="", xtitle="p_{T}", ytitle="< #delta p_{T}/p_{T} > (%)", scale=100, ymin=_minResidualPt, ymax=_maxResidualPt,xlog=True)
10 ],
11  legendDy=_legendDy_4rows
12 )

Definition at line 346 of file trackingPlots.py.

string trackingPlots.loopSubFolders = "timing"

Definition at line 1928 of file trackingPlots.py.

tuple trackingPlots.plotter = Plotter()

Definition at line 1298 of file trackingPlots.py.

tuple trackingPlots.plotterExt = Plotter()

Definition at line 1299 of file trackingPlots.py.

tuple trackingPlots.plotterHLT = Plotter()

Definition at line 1392 of file trackingPlots.py.

tuple trackingPlots.plotterHLTExt = Plotter()

Definition at line 1393 of file trackingPlots.py.

tuple trackingPlots.timePlotter = Plotter()

Definition at line 1921 of file trackingPlots.py.

tuple trackingPlots.tpPlotter = Plotter()

Definition at line 1938 of file trackingPlots.py.

Referenced by HLTTauDQMOfflineSource.analyze(), and HLTTauDQMOfflineSource.bookHistograms().