File indexing completed on 2024-10-08 05:11:32
0001 import FWCore.ParameterSet.Config as cms
0002 from DQMServices.Core.DQMEDHarvester import DQMEDHarvester
0003
0004 from DQMOffline.Trigger.SiPixel_OfflineMonitoring_HistogramManager_cfi import *
0005
0006
0007 hltSiPixelPhase1TrackResidualsResidualsX = hltDefaultHistoTrackResiduals.clone(
0008 name = "residual_x",
0009 title = "Track Residuals X",
0010 range_min = -0.1, range_max = 0.1, range_nbins = 100,
0011 xlabel = "(x_rec - x_pred) [cm]",
0012 dimensions = 1,
0013 specs = VPSet(
0014 StandardSpecification2DProfile,
0015 Specification().groupBy("PXBarrel/PXLayer").saveAll(),
0016 Specification().groupBy("PXForward/PXDisk").saveAll(),
0017
0018 Specification().groupBy("PXBarrel/PXLayer/LumiBlock")
0019 .reduce("MEAN")
0020 .groupBy("PXBarrel/PXLayer", "EXTEND_X")
0021 .save(),
0022
0023 Specification().groupBy("PXForward/PXDisk/LumiBlock")
0024 .reduce("MEAN")
0025 .groupBy("PXForward/PXDisk", "EXTEND_X")
0026 .save(),
0027
0028 Specification(PerLayer1D).groupBy("PXBarrel/Shell/PXLayer").save(),
0029 Specification(PerLayer1D).groupBy("PXForward/HalfCylinder/PXRing/PXDisk").save()
0030 )
0031 )
0032
0033 hltSiPixelPhase1TrackResidualsResidualsY = hltSiPixelPhase1TrackResidualsResidualsX.clone(
0034 name = "residual_y",
0035 title = "Track Residuals Y",
0036 xlabel = "(y_rec - y_pred) [cm]",
0037 )
0038
0039 hltSiPixelPhase1TrackResidualsResOnEdgeX = hltDefaultHistoTrackResiduals.clone(
0040 name = "residual_OnEdge_x",
0041 title = "Track Residuals X (OnEdge Clusters)",
0042 range_min = -0.1, range_max = 0.1, range_nbins = 100,
0043 xlabel = "(x_rec - x_pred) [cm]",
0044 dimensions = 1,
0045 specs = VPSet(
0046 Specification().groupBy("PXBarrel/PXLayer").saveAll(),
0047 Specification().groupBy("PXForward/PXDisk").saveAll(),
0048 Specification(PerLayer1D).groupBy("PXBarrel/Shell/PXLayer").save(),
0049 Specification(PerLayer1D).groupBy("PXForward/HalfCylinder/PXRing/PXDisk").save()
0050 )
0051 )
0052
0053 hltSiPixelPhase1TrackResidualsResOnEdgeY = hltSiPixelPhase1TrackResidualsResOnEdgeX.clone(
0054 name = "residual_OnEdge_y",
0055 title = "Track Residuals Y (OnEdge Clusters)",
0056 xlabel = "(y_rec - y_pred) [cm]",
0057 )
0058
0059
0060 hltSiPixelPhase1TrackResidualsResOtherBadX = hltDefaultHistoTrackResiduals.clone(
0061 name = "residual_OtherBad_x",
0062 title = "Track Residuals X (OtherBad Clusters)",
0063 range_min = -0.1, range_max = 0.1, range_nbins = 100,
0064 xlabel = "(x_rec - x_pred) [cm]",
0065 dimensions = 1,
0066 specs = VPSet(
0067 Specification().groupBy("PXBarrel/PXLayer").saveAll(),
0068 Specification().groupBy("PXForward/PXDisk").saveAll(),
0069 Specification(PerLayer1D).groupBy("PXBarrel/Shell/PXLayer").save(),
0070 Specification(PerLayer1D).groupBy("PXForward/HalfCylinder/PXRing/PXDisk").save()
0071 )
0072 )
0073
0074 hltSiPixelPhase1TrackResidualsResOtherBadY = hltSiPixelPhase1TrackResidualsResOtherBadX.clone(
0075 name = "residual_OtherBad_y",
0076 title = "Track Residuals Y (OtherBad Clusters)",
0077 xlabel = "(y_rec - y_pred) [cm]",
0078 )
0079
0080
0081 hltSiPixelPhase1TrackNormResX = hltDefaultHistoTrackResiduals.clone(
0082 topFolderName= cms.string("HLT/Pixel/Tracks/ResidualsExtra"),
0083 name = "NormRes_x",
0084 title = "Normalized Residuals X",
0085 range_min = -5, range_max = 5, range_nbins = 100,
0086 xlabel = "(x_rec - x_pred)/x_err",
0087 dimensions = 1,
0088 specs = VPSet(
0089 Specification().groupBy("PXBarrel/PXLayer").saveAll(),
0090 Specification().groupBy("PXForward/PXDisk").saveAll(),
0091 Specification(PerLayer1D).groupBy("PXBarrel/Shell/PXLayer").save(),
0092 Specification(PerLayer1D).groupBy("PXForward/HalfCylinder/PXRing/PXDisk").save()
0093 )
0094 )
0095
0096 hltSiPixelPhase1TrackNormResY = hltSiPixelPhase1TrackNormResX.clone(
0097 name = "NormRes_y",
0098 title = "Normalized Residuals Y",
0099 range_min = -5, range_max = 5, range_nbins = 100,
0100 xlabel = "(y_rec - y_pred)/y_err",
0101 )
0102
0103 hltSiPixelPhase1TrackDRnRX = hltDefaultHistoTrackResiduals.clone(
0104 topFolderName= cms.string("HLT/Pixel/Tracks/ResidualsExtra"),
0105 name = "DRnR_x",
0106 title = "Distribution of RMS of Normalized Residuals X",
0107 range_min = -5, range_max = 5, range_nbins = 100,
0108 xlabel = "#sigma_{(x_rec - x_pred)/x_err}",
0109 dimensions = 1,
0110 specs = VPSet(
0111 StandardSpecification2DProfile
0112 )
0113 )
0114
0115 hltSiPixelPhase1TrackDRnRY = hltSiPixelPhase1TrackDRnRX.clone(
0116 name = "DRnR_y",
0117 title = "Distribution of RMS of Normalized Residuals Y",
0118 range_min = -5, range_max = 5, range_nbins = 100,
0119 xlabel = "#sigma_{(y_rec - y_pred)/y_err}",
0120 )
0121
0122 hltSiPixelPhase1TrackResidualsConf = cms.VPSet(
0123 hltSiPixelPhase1TrackResidualsResidualsX,
0124 hltSiPixelPhase1TrackResidualsResidualsY,
0125 hltSiPixelPhase1TrackResidualsResOnEdgeX,
0126 hltSiPixelPhase1TrackResidualsResOnEdgeY,
0127 hltSiPixelPhase1TrackResidualsResOtherBadX,
0128 hltSiPixelPhase1TrackResidualsResOtherBadY,
0129 hltSiPixelPhase1TrackNormResX,
0130 hltSiPixelPhase1TrackNormResY,
0131 hltSiPixelPhase1TrackDRnRX,
0132 hltSiPixelPhase1TrackDRnRY
0133 )
0134
0135 from DQMServices.Core.DQMEDAnalyzer import DQMEDAnalyzer
0136 hltSiPixelPhase1TrackResidualsAnalyzer = DQMEDAnalyzer('SiPixelPhase1TrackResiduals',
0137 trajectoryInput = cms.string("hltTrackRefitterForPixelDQM"),
0138 Tracks = cms.InputTag("hltTrackRefitterForPixelDQM"),
0139 vertices = cms.InputTag("hltPixelVertices"),
0140 histograms = hltSiPixelPhase1TrackResidualsConf,
0141 geometry = hltSiPixelPhase1Geometry,
0142 VertexCut = cms.untracked.bool(True)
0143 )
0144
0145 hltSiPixelPhase1TrackResidualsHarvester = DQMEDHarvester("SiPixelPhase1Harvester",
0146 histograms = hltSiPixelPhase1TrackResidualsConf,
0147 geometry = hltSiPixelPhase1Geometry
0148 )
0149
0150 hltSiPixelPhase1ResidualsExtra = DQMEDHarvester("SiPixelPhase1ResidualsExtra",
0151 TopFolderName = cms.string('HLT/Pixel/Tracks/ResidualsExtra'),
0152 InputFolderName = cms.string('HLT/Pixel/Tracks'),
0153 MinHits = cms.int32(30)
0154 )