Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-09-26 05:06:42

0001 import FWCore.ParameterSet.Config as cms
0002 from DQMServices.Core.DQMEDHarvester import DQMEDHarvester
0003 from DQM.SiPixelPhase1Common.HistogramManager_cfi import *
0004 import DQM.SiPixelPhase1Common.TriggerEventFlag_cfi as trigger
0005 
0006 SiPixelPhase1ClustersCharge = DefaultHistoDigiCluster.clone(
0007   name = "charge",
0008   title = "Cluster Charge",
0009   range_min = 0, range_max = 300e3, range_nbins = 150,
0010   xlabel = "Charge (electrons)",
0011 
0012   specs = VPSet(
0013     StandardSpecification2DProfile,
0014     StandardSpecificationPixelmapProfile,
0015     StandardSpecificationTrend,
0016     StandardSpecifications1D,
0017     StandardSpecificationTrend2D
0018   )
0019 )
0020 
0021 SiPixelPhase1ClustersBigPixelCharge = DefaultHistoDigiCluster.clone(
0022   name = "bigpixelcharge",
0023   title = "Big Pixel Charge",
0024   range_min = 0, range_max = 80e3, range_nbins = 100,
0025   xlabel = "Charge (electrons)",
0026 
0027   specs = VPSet(
0028     Specification().groupBy("PXBarrel").save(),
0029     Specification().groupBy("PXForward").save(),
0030     Specification().groupBy("PXBarrel/PXLayer").save(),
0031     Specification().groupBy("PXForward/PXDisk").save()
0032   )
0033 )
0034 
0035 SiPixelPhase1ClustersNotBigPixelCharge = DefaultHistoDigiCluster.clone(
0036   name = "notbigpixelcharge",
0037   title = "Not Big Pixel Charge",
0038   range_min = 0, range_max = 80e3, range_nbins = 100,
0039   xlabel = "Charge (electrons)",
0040   enabled=False,
0041 
0042   specs = VPSet(
0043     Specification().groupBy("PXBarrel").save(),
0044     Specification().groupBy("PXForward").save(),
0045     Specification().groupBy("PXBarrel/PXLayer").save(),
0046     Specification().groupBy("PXForward/PXDisk").save()
0047   )
0048 )
0049 
0050 SiPixelPhase1ClustersSize = DefaultHistoDigiCluster.clone(
0051   name = "size",
0052   title = "Total Cluster Size",
0053   range_min = 0, range_max = 30, range_nbins = 30,
0054   xlabel = "size[pixels]",
0055   specs = VPSet(
0056     StandardSpecification2DProfile,
0057     StandardSpecificationPixelmapProfile,
0058     StandardSpecificationTrend,
0059     StandardSpecifications1D,
0060     StandardSpecificationTrend2D
0061   )
0062 )
0063 
0064 SiPixelPhase1ClustersSizeX = DefaultHistoDigiCluster.clone(
0065   name = "sizeX",
0066   title = "Cluster Size in X",
0067   range_min = 0, range_max = 30, range_nbins = 30,
0068   xlabel = "size[pixels]",
0069   specs = VPSet(
0070     #StandardSpecification2DProfile,
0071     #StandardSpecificationPixelmapProfile,
0072     #StandardSpecificationTrend,
0073     StandardSpecifications1D,
0074     #StandardSpecificationTrend2D
0075   )
0076 )
0077 
0078 SiPixelPhase1ClustersSizeY = DefaultHistoDigiCluster.clone(
0079   name = "sizeY",
0080   title = "Cluster Size in Y",
0081   range_min = 0, range_max = 30, range_nbins = 30,
0082   xlabel = "size[pixels]",
0083   specs = VPSet(
0084     #StandardSpecification2DProfile,
0085     #StandardSpecificationPixelmapProfile,
0086     #StandardSpecificationTrend,
0087     StandardSpecifications1D,
0088     #StandardSpecificationTrend2D
0089   )
0090 )
0091 
0092 SiPixelPhase1ClustersNClusters = DefaultHistoDigiCluster.clone(
0093   name = "clusters",
0094   title = "Clusters",
0095   range_min = 0, range_max = 100, range_nbins = 25,
0096   xlabel = "clusters",
0097   dimensions = 0,
0098 
0099   specs = VPSet(
0100     StandardSpecificationOccupancy,
0101     StandardSpecification2DProfile_Num,
0102     StandardSpecificationTrend_Num,
0103     StandardSpecifications1D_Num,
0104 
0105     Specification().groupBy("PXBarrel/PXLayer/Event") #this will produce inclusive counts per Layer/Disk
0106                              .reduce("COUNT")
0107                              .groupBy("PXBarrel/PXLayer")
0108                              .save(nbins=50, xmin=0, xmax=10000),
0109     Specification().groupBy("PXForward/PXDisk/Event")
0110                              .reduce("COUNT")
0111                              .groupBy("PXForward/PXDisk/")
0112                              .save(nbins=50, xmin=0, xmax=5000),
0113   )
0114 )
0115 
0116 
0117 SiPixelPhase1ClustersNClustersInclusive = DefaultHistoDigiCluster.clone(
0118   name = "clusters",
0119   title = "Clusters",
0120   range_min = 0, range_max = 20000, range_nbins = 100,
0121   xlabel = "clusters",
0122   dimensions = 0,
0123   specs = VPSet(
0124     StandardSpecificationInclusive_Num
0125   )
0126 )
0127 
0128 
0129 SiPixelPhase1ClustersEventrate = DefaultHistoDigiCluster.clone(
0130   name = "clustereventrate",
0131   title = "Number of Events with clusters",
0132   ylabel = "#Events",
0133   dimensions = 0,
0134   enabled=False,
0135   specs = VPSet(
0136     Specification().groupBy("Lumisection")
0137                    .groupBy("", "EXTEND_X").save(),
0138     Specification().groupBy("BX")
0139                    .groupBy("", "EXTEND_X").save()
0140     )
0141 
0142 )
0143 
0144 
0145 SiPixelPhase1ClustersPositionB = DefaultHistoDigiCluster.clone(
0146   name = "clusterposition_zphi",
0147   title = "Cluster Positions",
0148   range_min   =  -60, range_max   =  60, range_nbins   = 300,
0149   range_y_min = -3.2, range_y_max = 3.2, range_y_nbins = 200,
0150   xlabel = "Global Z", ylabel = "Global \\phi",
0151   dimensions = 2,
0152   specs = VPSet(
0153     Specification().groupBy("PXBarrel/PXLayer").save(),
0154     Specification().groupBy("").save(),
0155   )
0156 )
0157 
0158 SiPixelPhase1ClustersPositionF = DefaultHistoDigiCluster.clone(
0159   name = "clusterposition_xy",
0160   title = "Cluster Positions",
0161   xlabel = "Global X", ylabel = "Global Y",
0162   range_min   = -20, range_max   = 20, range_nbins   = 200,
0163   range_y_min = -20, range_y_max = 20, range_y_nbins = 200,
0164   dimensions = 2,
0165   specs = VPSet(
0166     Specification().groupBy("PXForward/PXDisk").save(),
0167     Specification().groupBy("PXForward").save(),
0168     #Specification().groupBy("PXBarrel").save(),
0169   )
0170 )
0171 
0172 SiPixelPhase1ClustersPositionXZ = DefaultHistoDigiCluster.clone(
0173   enabled = False, # only for debugging geometry
0174   name = "clusterposition_xz",
0175   title = "Cluster Positions",
0176   xlabel = "Global X", ylabel = "Global Z",
0177   range_min   = -20, range_max   = 20, range_nbins   = 200,
0178   range_y_min = -60, range_y_max = 60, range_y_nbins = 1200,
0179   dimensions = 2,
0180   specs = VPSet(
0181   )
0182 )
0183 
0184 SiPixelPhase1ClustersPositionYZ = DefaultHistoDigiCluster.clone(
0185   enabled = False, # only for debugging geometry
0186   name = "clusterposition_yz",
0187   title = "Cluster Positions",
0188   xlabel = "Global Y", ylabel = "Global Z",
0189   range_min   = -20, range_max   = 20, range_nbins   = 200,
0190   range_y_min = -60, range_y_max = 60, range_y_nbins = 1200,
0191   dimensions = 2,
0192   specs = VPSet(
0193   )
0194 )
0195 
0196 SiPixelPhase1ClustersSizeVsEta = DefaultHistoDigiCluster.clone(
0197   name = "sizeyvseta",
0198   title = "Cluster Size along Beamline vs. Cluster position #eta",
0199   xlabel = "Cluster #eta",
0200   ylabel = "length [pixels]",
0201   range_min = -3.2, range_max  = 3.2, range_nbins   = 40,
0202   range_y_min =  0, range_y_max = 40, range_y_nbins = 40,
0203   dimensions = 2,
0204   specs = VPSet(
0205     Specification().groupBy("PXBarrel/PXLayer").save(),
0206     Specification().groupBy("PXBarrel").save()
0207   )
0208 )
0209 
0210 SiPixelPhase1ClustersReadoutCharge = DefaultHistoReadout.clone(
0211   name = "charge",
0212   title = "Cluster Charge",
0213   range_min = 0, range_max = 200e3, range_nbins = 200,
0214   xlabel = "Charge (electrons)",
0215   specs = VPSet(
0216     Specification(PerReadout).groupBy("PXBarrel/Shell/Sector").save(),
0217     Specification(PerReadout).groupBy("PXForward/HalfCylinder").save()
0218 
0219     #Specification(PerReadout).groupBy("PXBarrel/Shell/Sector/OnlineBlock")
0220     #                         .groupBy("PXBarrel/Shell/Sector", "EXTEND_Y").save(),
0221     #Specification(PerReadout).groupBy("PXForward/HalfCylinder/OnlineBlock")
0222     #                         .groupBy("PXForward/HalfCylinder", "EXTEND_Y").save(),
0223   )
0224 )
0225 
0226 SiPixelPhase1ClustersReadoutNClusters = DefaultHistoReadout.clone(
0227   name = "clusters",
0228   title = "Clusters",
0229   range_min = 0, range_max = 100, range_nbins = 25,
0230   xlabel = "clusters",
0231   dimensions = 0,
0232   specs = VPSet(
0233     Specification(PerReadout).groupBy("PXBarrel/Shell/Sector/DetId/Event").reduce("COUNT")
0234                              .groupBy("PXBarrel/Shell/Sector").save(),
0235     Specification(PerReadout).groupBy("PXForward/HalfCylinder/DetId/Event").reduce("COUNT")
0236                              .groupBy("PXForward/HalfCylinder").save(),
0237 
0238     Specification(PerReadout).groupBy("PXBarrel/Shell/Sector/DetId/Event").reduce("COUNT")
0239                              .groupBy("PXBarrel/Shell/Sector/LumiBlock").reduce("MEAN")
0240                              .groupBy("PXBarrel/Shell/Sector", "EXTEND_X").save(),
0241     Specification(PerReadout).groupBy("PXForward/HalfCylinder/DetId/Event").reduce("COUNT")
0242                              .groupBy("PXForward/HalfCylinder/LumiBlock").reduce("MEAN")
0243                              .groupBy("PXForward/HalfCylinder", "EXTEND_X").save(),
0244   )
0245 )
0246 
0247 SiPixelPhase1ClustersPixelToStripRatio = DefaultHistoDigiCluster.clone(
0248   enabled = False,
0249   name = "cluster_ratio",
0250   title = "Pixel to Strip clusters ratio",
0251 
0252   xlabel = "ratio",
0253   dimensions = 1,
0254 
0255   specs = VPSet(
0256     Specification().groupBy("PXAll").save(100, 0, 1),
0257     Specification().groupBy("PXAll/LumiBlock")
0258                    .reduce("MEAN")
0259                    .groupBy("PXAll", "EXTEND_X")
0260                    .save(),
0261     Specification().groupBy("PXAll/BX")
0262                    .reduce("MEAN")
0263                    .groupBy("PXAll", "EXTEND_X")
0264                    .save(),
0265   )
0266 )
0267 
0268 
0269 from Configuration.Eras.Modifier_run3_common_cff import run3_common
0270 run3_common.toModify(SiPixelPhase1ClustersNClustersInclusive, range_max = 40000, range_nbins=200)
0271 
0272 SiPixelPhase1ClustersConf = cms.VPSet(
0273   SiPixelPhase1ClustersCharge,
0274   SiPixelPhase1ClustersBigPixelCharge,
0275   SiPixelPhase1ClustersNotBigPixelCharge,
0276   SiPixelPhase1ClustersSize,
0277   SiPixelPhase1ClustersSizeX,
0278   SiPixelPhase1ClustersSizeY,
0279   SiPixelPhase1ClustersNClusters,
0280   SiPixelPhase1ClustersNClustersInclusive,
0281   SiPixelPhase1ClustersEventrate,
0282   SiPixelPhase1ClustersPositionB,
0283   SiPixelPhase1ClustersPositionF,
0284   SiPixelPhase1ClustersPositionXZ,
0285   SiPixelPhase1ClustersPositionYZ,
0286   SiPixelPhase1ClustersSizeVsEta,
0287   SiPixelPhase1ClustersReadoutCharge,
0288   SiPixelPhase1ClustersReadoutNClusters,
0289   SiPixelPhase1ClustersPixelToStripRatio
0290 )
0291 
0292 from DQMServices.Core.DQMEDAnalyzer import DQMEDAnalyzer
0293 SiPixelPhase1ClustersAnalyzer = DQMEDAnalyzer('SiPixelPhase1Clusters',
0294         pixelSrc = cms.InputTag("siPixelClusters"),
0295         stripSrc = cms.InputTag("siStripClusters"),
0296         histograms = SiPixelPhase1ClustersConf,
0297         geometry = SiPixelPhase1Geometry,
0298         triggerflags = trigger.SiPixelPhase1Triggers
0299 )
0300 
0301 SiPixelPhase1ClustersHarvester = DQMEDHarvester("SiPixelPhase1Harvester",
0302         histograms = SiPixelPhase1ClustersConf,
0303         geometry = SiPixelPhase1Geometry
0304 )
0305 
0306 
0307