1 import FWCore.ParameterSet.Config
as cms
2 from DQMServices.Core.DQMEDHarvester
import DQMEDHarvester
4 import DQM.SiPixelPhase1Common.TriggerEventFlag_cfi
as trigger
6 SiPixelPhase1TrackResidualsResidualsX = DefaultHistoTrack.clone(
8 title =
"Track Residuals X",
9 range_min = -0.1, range_max = 0.1, range_nbins = 100,
10 xlabel =
"(x_rec - x_pred) [cm]",
13 StandardSpecification2DProfile,
14 Specification().groupBy(
"PXBarrel/PXLayer").saveAll(),
15 Specification().groupBy(
"PXForward/PXDisk").saveAll(),
17 Specification().groupBy(
"PXBarrel/PXLayer/LumiBlock")
19 .groupBy(
"PXBarrel/PXLayer",
"EXTEND_X")
22 Specification().groupBy(
"PXForward/PXDisk/LumiBlock")
24 .groupBy(
"PXForward/PXDisk",
"EXTEND_X")
27 Specification(PerLayer1D).groupBy(
"PXBarrel/Shell/PXLayer").
save(),
28 Specification(PerLayer1D).groupBy(
"PXForward/HalfCylinder/PXRing/PXDisk").
save()
32 SiPixelPhase1TrackResidualsResidualsY = SiPixelPhase1TrackResidualsResidualsX.clone(
34 title =
"Track Residuals Y",
35 xlabel =
"(y_rec - y_pred) [cm]",
38 SiPixelPhase1TrackResidualsResOnEdgeX = DefaultHistoTrack.clone(
39 name =
"residual_OnEdge_x",
40 title =
"Track Residuals X (OnEdge Clusters)",
41 range_min = -0.1, range_max = 0.1, range_nbins = 100,
42 xlabel =
"(x_rec - x_pred) [cm]",
45 Specification().groupBy(
"PXBarrel/PXLayer").saveAll(),
46 Specification().groupBy(
"PXForward/PXDisk").saveAll(),
47 Specification(PerLayer1D).groupBy(
"PXBarrel/Shell/PXLayer").
save(),
48 Specification(PerLayer1D).groupBy(
"PXForward/HalfCylinder/PXRing/PXDisk").
save()
52 SiPixelPhase1TrackResidualsResOnEdgeY = SiPixelPhase1TrackResidualsResOnEdgeX.clone(
53 name =
"residual_OnEdge_y",
54 title =
"Track Residuals Y (OnEdge Clusters)",
55 xlabel =
"(y_rec - y_pred) [cm]",
59 SiPixelPhase1TrackResidualsResOtherBadX = DefaultHistoTrack.clone(
60 name =
"residual_OtherBad_x",
61 title =
"Track Residuals X (OtherBad Clusters)",
62 range_min = -0.1, range_max = 0.1, range_nbins = 100,
63 xlabel =
"(x_rec - x_pred) [cm]",
66 Specification().groupBy(
"PXBarrel/PXLayer").saveAll(),
67 Specification().groupBy(
"PXForward/PXDisk").saveAll(),
68 Specification(PerLayer1D).groupBy(
"PXBarrel/Shell/PXLayer").
save(),
69 Specification(PerLayer1D).groupBy(
"PXForward/HalfCylinder/PXRing/PXDisk").
save()
73 SiPixelPhase1TrackResidualsResOtherBadY = SiPixelPhase1TrackResidualsResOtherBadX.clone(
74 name =
"residual_OtherBad_y",
75 title =
"Track Residuals Y (OtherBad Clusters)",
76 xlabel =
"(y_rec - y_pred) [cm]",
80 SiPixelPhase1TrackResidualsConf = cms.VPSet(
81 SiPixelPhase1TrackResidualsResidualsX,
82 SiPixelPhase1TrackResidualsResidualsY,
83 SiPixelPhase1TrackResidualsResOnEdgeX,
84 SiPixelPhase1TrackResidualsResOnEdgeY,
85 SiPixelPhase1TrackResidualsResOtherBadX,
86 SiPixelPhase1TrackResidualsResOtherBadY
89 from DQMServices.Core.DQMEDAnalyzer
import DQMEDAnalyzer
90 SiPixelPhase1TrackResidualsAnalyzer =
DQMEDAnalyzer(
'SiPixelPhase1TrackResiduals',
91 trajectoryInput = cms.string(
"generalTracks"),
92 Tracks = cms.InputTag(
"generalTracks"),
93 vertices = cms.InputTag(
"offlinePrimaryVertices"),
94 histograms = SiPixelPhase1TrackResidualsConf,
95 geometry = SiPixelPhase1Geometry,
96 triggerflags = trigger.SiPixelPhase1Triggers
99 SiPixelPhase1TrackResidualsHarvester =
DQMEDHarvester(
"SiPixelPhase1Harvester",
100 histograms = SiPixelPhase1TrackResidualsConf,
101 geometry = SiPixelPhase1Geometry