70 bool isHalfModule =
false;
74 }
else if (isUpgrade) {
117 meX_ = iBooker.
book1D(hid,
"Cluster barycenter X (row #)",200,0.,200.);
121 meY_ = iBooker.
book1D(hid,
"Cluster barycenter Y (column #)",500,0.,500.);
125 meSizeX_ = iBooker.
book1D(hid,
"Cluster x-width (rows)",10,0.,10.);
129 meSizeY_ = iBooker.
book1D(hid,
"Cluster y-width (columns)",15,0.,15.);
147 delete theHistogramId;
151 if(barrel && type==7){
152 hid = src.
label() +
"_Barrel";
153 meSizeYvsEtaBarrel_= iBooker.
book2D(
"sizeYvsEta_" + hid,
"Cluster size along beamline vs. Cluster position #eta",60,-3.,3.,40,0.,40.);
157 if(type==1 && barrel){
161 char sladder[80]; sprintf(sladder,
"Ladder_%02i",DBladder);
162 hid = src.
label() +
"_" + sladder;
163 if(isHalfModule) hid +=
"H";
188 meXLad_ = iBooker.
book1D(
"x_" + hid,
"Cluster barycenter X (row #)",200,0.,200.);
191 meYLad_ = iBooker.
book1D(
"y_" + hid,
"Cluster barycenter Y (column #)",500,0.,500.);
197 meSizeYLad_ = iBooker.
book1D(
"sizeY_" + hid,
"Cluster y-width (columns)",15,0.,15.);
214 if(type==2 && barrel){
219 char slayer[80]; sprintf(slayer,
"Layer_%i",DBlayer);
220 hid = src.
label() +
"_" + slayer;
244 meXLay_ = iBooker.
book1D(
"x_" + hid,
"Cluster barycenter X (row #)",200,0.,200.);
247 meYLay_ = iBooker.
book1D(
"y_" + hid,
"Cluster barycenter Y (column #)",500,0.,500.);
253 meSizeYLay_ = iBooker.
book1D(
"sizeY_" + hid,
"Cluster y-width (columns)",15,0.,15.);
277 if(type==3 && barrel){
281 char smodule[80]; sprintf(smodule,
"Ring_%i",DBmodule);
282 hid = src.
label() +
"_" + smodule;
306 meXPhi_ = iBooker.
book1D(
"x_" + hid,
"Cluster barycenter X (row #)",200,0.,200.);
309 meYPhi_ = iBooker.
book1D(
"y_" + hid,
"Cluster barycenter Y (column #)",500,0.,500.);
315 meSizeYPhi_ = iBooker.
book1D(
"sizeY_" + hid,
"Cluster y-width (columns)",15,0.,15.);
340 if(type==4 && endcap){
345 char sblade[80]; sprintf(sblade,
"Blade_%02i",blade);
346 hid = src.
label() +
"_" + sblade;
370 meXBlade_ = iBooker.
book1D(
"x_" + hid,
"Cluster barycenter X (row #)",200,0.,200.);
373 meYBlade_ = iBooker.
book1D(
"y_" + hid,
"Cluster barycenter Y (column #)",500,0.,500.);
383 if(type==5 && endcap){
388 char sdisk[80]; sprintf(sdisk,
"Disk_%i",disk);
389 hid = src.
label() +
"_" + sdisk;
413 meXDisk_ = iBooker.
book1D(
"x_" + hid,
"Cluster barycenter X (row #)",200,0.,200.);
416 meYDisk_ = iBooker.
book1D(
"y_" + hid,
"Cluster barycenter Y (column #)",500,0.,500.);
427 if(type==6 && endcap){
438 char slab[80]; sprintf(slab,
"Panel_%i_Ring_%i",panel, module);
439 hid = src.
label() +
"_" + slab;
463 meXRing_ = iBooker.
book1D(
"x_" + hid,
"Cluster barycenter X (row #)",200,0.,200.);
466 meYRing_ = iBooker.
book1D(
"y_" + hid,
"Cluster barycenter Y (column #)",500,0.,500.);
493 int SiPixelClusterModule::fill(
const edmNew::DetSetVector<SiPixelCluster>&
input,
const TrackerGeometry*
tracker,
MonitorElement* layer1,
MonitorElement* layer2,
MonitorElement* layer3,
MonitorElement* layer4,
MonitorElement* disk1pz,
MonitorElement* disk2pz,
MonitorElement* disk3pz,
MonitorElement* disk1mz,
MonitorElement* disk2mz,
MonitorElement* disk3mz,
bool modon,
bool ladon,
bool layon,
bool phion,
bool bladeon,
bool diskon,
bool ringon,
bool twoD,
bool reducedSet,
bool smileyon,
bool isUpgrade) {
499 unsigned int numberOfClusters = 0;
500 unsigned int numberOfFpixClusters = 0;
502 if( isearch != input.
end() ) {
507 for(di = isearch->
begin(); di != isearch->
end(); di++) {
509 if(endcap) numberOfFpixClusters++;
510 float charge = 0.001*(di->charge());
514 int sizeX = di->sizeX();
515 int sizeY = di->sizeY();
516 int minPixelRow = di->minPixelRow();
517 int maxPixelRow = di->maxPixelRow();
518 int minPixelCol = di->minPixelCol();
519 int maxPixelCol = di->maxPixelCol();
534 if(layer1) layer1->
Fill(clustgp.
z(),clustgp.
phi());
537 if(layer2) layer2->
Fill(clustgp.
z(),clustgp.
phi());
540 if(layer3) layer3->
Fill(clustgp.
z(),clustgp.
phi());
544 if(layer4) layer4->
Fill(clustgp.
z(),clustgp.
phi());
556 if(disk1pz) disk1pz->
Fill(clustgp.
x(),clustgp.
y());
559 if(disk2pz) disk2pz->
Fill(clustgp.
x(),clustgp.
y());
563 if(disk3pz) disk3pz->
Fill(clustgp.
x(),clustgp.
y());
570 if(disk1mz) disk1mz->
Fill(clustgp.
x(),clustgp.
y());
573 if(disk2mz) disk2mz->
Fill(clustgp.
x(),clustgp.
y());
577 if(disk3mz) disk3mz->
Fill(clustgp.
x(),clustgp.
y());
601 if(barrel && smileyon){
665 if(bladeon && endcap){
680 if(diskon && endcap){
696 if(ringon && endcap){
730 return numberOfFpixClusters;
int plaquetteName() const
plaquetteId (in pannel)
MonitorElement * meMinColLay_
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
T getParameter(std::string const &) const
MonitorElement * meMinRowRing_
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
const_iterator end(bool update=false) const
MonitorElement * meMaxColLad_
MonitorElement * meSizePhi_
MonitorElement * meCharge_
MonitorElement * mePixClustersLad_px_
MonitorElement * meMaxCol_
virtual LocalPoint localPosition(const MeasurementPoint &) const =0
MonitorElement * meMaxColPhi_
MonitorElement * meNClustersLad_
MonitorElement * meYBlade_
int moduleName() const
module id (index in z)
MonitorElement * meMinRowLad_
MonitorElement * meSizeYLay_
MonitorElement * meSizeYLad_
MonitorElement * meSizeXLad_
MonitorElement * meSizeXLay_
MonitorElement * meMinRow_
Geom::Phi< T > phi() const
MonitorElement * meXDisk_
MonitorElement * meMaxRowRing_
MonitorElement * mePixClustersLay_
MonitorElement * meSizeYBlade_
bool isHalfModule() const
full or half module
SiPixelClusterModule()
Default constructor.
data_type const * const_iterator
MonitorElement * meMinRowBlade_
MonitorElement * meNClustersPhi_
MonitorElement * meChargePhi_
MonitorElement * meMinColPhi_
MonitorElement * meNClustersBlade_
MonitorElement * mePixClustersPhi_py_
MonitorElement * meMinRowDisk_
int plaquetteName() const
plaquetteId (in pannel)
const Plane & surface() const
The nominal surface of the GeomDet.
MonitorElement * mePixClustersRing_px_
MonitorElement * meMaxRowLad_
static std::string const input
MonitorElement * meMinRowLay_
MonitorElement * meMinColBlade_
MonitorElement * meXRing_
MonitorElement * meSizeYDisk_
MonitorElement * meSizeDisk_
MonitorElement * meMaxColRing_
MonitorElement * meMinColLad_
int bladeName() const
blade id
MonitorElement * meMaxRowBlade_
MonitorElement * meChargeRing_
Measurement2DPoint MeasurementPoint
Measurement points are two-dimensional by default.
MonitorElement * mePixClustersLad_
bool isHalfModule() const
full or half module
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
~SiPixelClusterModule()
Destructor.
MonitorElement * meMaxRowPhi_
MonitorElement * meMinRowPhi_
MonitorElement * meMinColDisk_
MonitorElement * meMinCol_
MonitorElement * mePixClusters_py_
MonitorElement * book1D(Args &&...args)
MonitorElement * mePixClustersLay_px_
MonitorElement * meNClustersDisk_
MonitorElement * meSizeYRing_
MonitorElement * mePixClustersRing_
MonitorElement * meSizeX_
MonitorElement * meSizeY_
MonitorElement * meMaxRowLay_
int bladeName() const
blade id
MonitorElement * meChargeDisk_
MonitorElement * meMaxColBlade_
MonitorElement * mePixClustersPhi_
int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
MonitorElement * meChargeBlade_
MonitorElement * mePixClustersLay_py_
MonitorElement * meMinColRing_
int diskName() const
disk id
MonitorElement * meNClustersLay_
MonitorElement * meMaxColLay_
std::string setHistoId(std::string variable, uint32_t &rawId)
Set Histogram Id.
MonitorElement * meMaxRowDisk_
int ladderName() const
ladder id (index in phi)
MonitorElement * meYRing_
int ladderName() const
ladder id (index in phi)
MonitorElement * book2D(Args &&...args)
MonitorElement * meNClustersRing_
MonitorElement * meSizeYvsEtaBarrel_
int moduleName() const
module id (index in z)
MonitorElement * mePixClustersLad_py_
virtual const PixelTopology & specificTopology() const
Returns a reference to the pixel proxy topology.
int layerName() const
layer id
MonitorElement * meYDisk_
MonitorElement * meSizeRing_
MonitorElement * mePixClusters_px_
const_iterator find(id_type i, bool update=false) const
MonitorElement * meSizeXPhi_
MonitorElement * meSizeXRing_
MonitorElement * mePixClusters_
MonitorElement * meSizeXBlade_
int pannelName() const
pannel id
MonitorElement * meMaxRow_
MonitorElement * meChargeLad_
void book(const edm::ParameterSet &iConfig, DQMStore::IBooker &iBooker, int type=0, bool twoD=true, bool reducedSet=false, bool isUpgrade=false)
Book histograms.
MonitorElement * meSizeLad_
MonitorElement * meSizeBlade_
MonitorElement * mePixClustersRing_py_
int diskName() const
disk id
MonitorElement * meSizeXDisk_
MonitorElement * meSizeYPhi_
int pannelName() const
pannel id
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
MonitorElement * mePixClustersPhi_px_
MonitorElement * meXBlade_
MonitorElement * meChargeLay_
int layerName() const
layer id
tuple size
Write out results.
const_iterator begin(bool update=false) const
MonitorElement * meNClusters_
int fill(const edmNew::DetSetVector< SiPixelCluster > &input, const TrackerGeometry *tracker, MonitorElement *layer1, MonitorElement *layer2, MonitorElement *layer3, MonitorElement *layer4, MonitorElement *disk1pz, MonitorElement *disk2pz, MonitorElement *disk3pz, MonitorElement *disk1mz, MonitorElement *disk2mz, MonitorElement *disk3mz, bool modon=true, bool ladon=false, bool layon=false, bool phion=false, bool bladeon=false, bool diskon=false, bool ringon=false, bool twoD=true, bool reducedSet=false, bool smileyon=false, bool isUpgrade=false)
Fill histograms.
virtual const TrackerGeomDet * idToDet(DetId) const
MonitorElement * meSizeLay_
MonitorElement * meMaxColDisk_