Skip to content

Commit

Permalink
Merge pull request #22844 from boudoul/DQMWorkshop_backport101
Browse files Browse the repository at this point in the history
DQM: SiPixelPhase1- Added Big Pixel Charge Plots  [Backport for 10_1_X of #22324 ]
  • Loading branch information
cmsbuild authored Apr 13, 2018
2 parents e235591 + 5fa8aef commit c542b0a
Show file tree
Hide file tree
Showing 6 changed files with 232 additions and 72 deletions.
45 changes: 38 additions & 7 deletions DQM/SiPixelPhase1Clusters/python/SiPixelPhase1Clusters_cfi.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,35 @@
)
)

SiPixelPhase1ClustersBigPixelCharge = DefaultHistoDigiCluster.clone(
name = "bigpixelcharge",
title = "Big Pixel Charge",
range_min = 0, range_max = 80e3, range_nbins = 100,
xlabel = "Charge (electrons)",

specs = VPSet(
Specification().groupBy("PXBarrel").save(),
Specification().groupBy("PXForward").save(),
Specification().groupBy("PXBarrel/PXLayer").save(),
Specification().groupBy("PXForward/PXDisk").save()
)
)

SiPixelPhase1ClustersNotBigPixelCharge = DefaultHistoDigiCluster.clone(
name = "notbigpixelcharge",
title = "Not Big Pixel Charge",
range_min = 0, range_max = 80e3, range_nbins = 100,
xlabel = "Charge (electrons)",
enabled=False,

specs = VPSet(
Specification().groupBy("PXBarrel").save(),
Specification().groupBy("PXForward").save(),
Specification().groupBy("PXBarrel/PXLayer").save(),
Specification().groupBy("PXForward/PXDisk").save()
)
)

SiPixelPhase1ClustersSize = DefaultHistoDigiCluster.clone(
name = "size",
title = "Total Cluster Size",
Expand Down Expand Up @@ -74,11 +103,11 @@
StandardSpecifications1D_Num,

Specification().groupBy("PXBarrel/PXLayer/Event") #this will produce inclusive counts per Layer/Disk
.reduce("COUNT")
.reduce("COUNT")
.groupBy("PXBarrel/PXLayer")
.save(nbins=50, xmin=0, xmax=10000),
Specification().groupBy("PXForward/PXDisk/Event")
.reduce("COUNT")
.reduce("COUNT")
.groupBy("PXForward/PXDisk/")
.save(nbins=50, xmin=0, xmax=5000),
)
Expand Down Expand Up @@ -219,25 +248,27 @@
enabled = False,
name = "cluster_ratio",
title = "Pixel to Strip clusters ratio",

xlabel = "ratio",
dimensions = 1,

specs = VPSet(
Specification().groupBy("PXAll").save(100, 0, 1),
Specification().groupBy("PXAll").save(100, 0, 1),
Specification().groupBy("PXAll/LumiBlock")
.reduce("MEAN")
.reduce("MEAN")
.groupBy("PXAll", "EXTEND_X")
.save(),
Specification().groupBy("PXAll/BX")
.reduce("MEAN")
.reduce("MEAN")
.groupBy("PXAll", "EXTEND_X")
.save(),
)
)

SiPixelPhase1ClustersConf = cms.VPSet(
SiPixelPhase1ClustersCharge,
SiPixelPhase1ClustersBigPixelCharge,
SiPixelPhase1ClustersNotBigPixelCharge,
SiPixelPhase1ClustersSize,
SiPixelPhase1ClustersSizeX,
SiPixelPhase1ClustersSizeY,
Expand Down
24 changes: 23 additions & 1 deletion DQM/SiPixelPhase1Clusters/src/SiPixelPhase1Clusters.cc
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ namespace {
class SiPixelPhase1Clusters final : public SiPixelPhase1Base {
enum {
CHARGE,
BIGPIXELCHARGE,
NOTBIGPIXELCHARGE,
SIZE,
SIZEX,
SIZEY,
Expand Down Expand Up @@ -72,7 +74,7 @@ void SiPixelPhase1Clusters::analyze(const edm::Event& iEvent, const edm::EventSe
{
histo[PIXEL_TO_STRIP_RATIO].fill((double)inputPixel.product()->data().size() / (double) inputStrip.product()->data().size(), DetId(0), &iEvent);
}
}
}

bool hasClusters=false;

Expand All @@ -89,6 +91,26 @@ void SiPixelPhase1Clusters::analyze(const edm::Event& iEvent, const edm::EventSe

for(SiPixelCluster const& cluster : *it) {
int row = cluster.x()-0.5, col = cluster.y()-0.5;
const std::vector<SiPixelCluster::Pixel> pixelsVec = cluster.pixels();

for (unsigned int i = 0; i < pixelsVec.size(); ++i) {

float pixx = pixelsVec[i].x; // index as float=iteger, row index
float pixy = pixelsVec[i].y; // same, col index

bool bigInX = topol.isItBigPixelInX(int(pixx));
bool bigInY = topol.isItBigPixelInY(int(pixy));
float pixel_charge = pixelsVec[i].adc;


if (bigInX==true || bigInY==true) {
histo[BIGPIXELCHARGE].fill(pixel_charge, id, &iEvent, col, row);
}

else {
histo[NOTBIGPIXELCHARGE].fill(pixel_charge, id, &iEvent, col, row);
}
}
histo[READOUT_CHARGE].fill(double(cluster.charge()), id, &iEvent, col, row);
histo[CHARGE].fill(double(cluster.charge()), id, &iEvent, col, row);
histo[SIZE ].fill(double(cluster.size() ), id, &iEvent, col, row);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@
xlabel = "Charge (electrons)",

specs = VPSet(
StandardSpecifications1D,
StandardSpecifications1D,
StandardSpecification2DProfile,
#what is below is only for the timing client

#what is below is only for the timing client
Specification(OverlayCurvesForTiming).groupBy("PXBarrel/OnlineBlock")
.groupBy("PXBarrel", "EXTEND_Y")
.save(),
Expand Down Expand Up @@ -63,14 +63,43 @@
)
)

SiPixelPhase1TrackClustersOnTrackBigPixelCharge = DefaultHistoTrack.clone(
name = "bigpixelcharge",
title = "Corrected Big Pixel Charge (OnTrack)",
range_min = 0, range_max = 80e3, range_nbins = 100,
xlabel = "Charge (electrons)",

specs = VPSet(
Specification().groupBy("PXBarrel").save(),
Specification().groupBy("PXForward").save(),
Specification().groupBy("PXBarrel/PXLayer").save(),
Specification().groupBy("PXForward/PXDisk").save()
)
)

SiPixelPhase1TrackClustersOnTrackNotBigPixelCharge = DefaultHistoTrack.clone(
name = "notbigpixelcharge",
title = "Corrected Not Big Pixel Charge (OnTrack)",
range_min = 0, range_max = 80e3, range_nbins = 100,
xlabel = "Charge (electrons)",
enabled=False,

specs = VPSet(
Specification().groupBy("PXBarrel").save(),
Specification().groupBy("PXForward").save(),
Specification().groupBy("PXBarrel/PXLayer").save(),
Specification().groupBy("PXForward/PXDisk").save()
)
)

SiPixelPhase1TrackClustersOnTrackSize = DefaultHistoTrack.clone(
name = "size",
title = "Total Cluster Size (OnTrack)",
range_min = 0, range_max = 30, range_nbins = 30,
xlabel = "size[pixels]",

specs = VPSet(
StandardSpecifications1D,
StandardSpecifications1D,
StandardSpecification2DProfile,

Specification().groupBy("PXForward/PXRing").save(),
Expand Down Expand Up @@ -159,12 +188,12 @@
StandardSpecification2DProfile_Num,

Specification().groupBy("PXBarrel/PXLayer/Event") #this will produce inclusive counts per Layer/Disk
.reduce("COUNT")
.reduce("COUNT")
.groupBy("PXBarrel/PXLayer")
.save(nbins=50, xmin=0, xmax=5000),

Specification().groupBy("PXForward/PXDisk/Event")
.reduce("COUNT")
.reduce("COUNT")
.groupBy("PXForward/PXDisk/")
.save(nbins=50, xmin=0, xmax=2000),

Expand Down Expand Up @@ -226,7 +255,7 @@
.groupBy("PXBarrel/OnlineBlock")
.groupBy("PXBarrel", "EXTEND_Y")
.save()

)
)

Expand Down Expand Up @@ -365,7 +394,7 @@
xlabel = "y size",
ylabel = "x size",
range_min = 0, range_max = 20, range_nbins = 20,
range_y_min = 0, range_y_max = 10, range_y_nbins = 10
range_y_min = 0, range_y_max = 10, range_y_nbins = 10
)

SiPixelPhase1TrackClustersOnTrackSizeXYInner = SiPixelPhase1TrackClustersOnTrackSizeXYOuter.clone(
Expand Down Expand Up @@ -407,11 +436,11 @@
Specification().groupBy("PXBarrel/PXLayer").save()
)
)

SiPixelPhase1TrackClustersOnTrackChargeInner = SiPixelPhase1TrackClustersOnTrackChargeOuter.clone(
name = "chargeInner",
title = "Corrected Cluster Charge (OnTrack) inner ladders"
)
)

SiPixelPhase1TrackClustersOnTrackShapeOuter = DefaultHistoTrack.clone(
topFolderName = "PixelPhase1/ClusterShape",
Expand All @@ -432,6 +461,8 @@
# copy this in the enum
SiPixelPhase1TrackClustersConf = cms.VPSet(
SiPixelPhase1TrackClustersOnTrackCharge,
SiPixelPhase1TrackClustersOnTrackBigPixelCharge,
SiPixelPhase1TrackClustersOnTrackNotBigPixelCharge,
SiPixelPhase1TrackClustersOnTrackSize,
SiPixelPhase1TrackClustersOnTrackShape,
SiPixelPhase1TrackClustersOnTrackNClusters,
Expand Down Expand Up @@ -478,7 +509,3 @@
histograms = SiPixelPhase1TrackClustersConf,
geometry = SiPixelPhase1Geometry
)




Loading

0 comments on commit c542b0a

Please sign in to comment.