CMS 3D CMS Logo

Public Types | Public Member Functions | Private Attributes

SiPixelClusterModule Class Reference

#include <SiPixelClusterModule.h>

List of all members.

Public Types

typedef edmNew::DetSet
< SiPixelCluster >
::const_iterator 
ClusterIterator

Public Member Functions

void book (const edm::ParameterSet &iConfig, int type=0, bool twoD=true, bool reducedSet=false)
 Book histograms.
int fill (const edmNew::DetSetVector< SiPixelCluster > &input, const TrackerGeometry *tracker, 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)
 Fill histograms.
 SiPixelClusterModule (const uint32_t &id)
 Constructor with raw DetId.
 SiPixelClusterModule ()
 Default constructor.
 SiPixelClusterModule (const uint32_t &id, const int &ncols, const int &nrows)
 Constructor with raw DetId and sensor size.
 ~SiPixelClusterModule ()
 Destructor.

Private Attributes

uint32_t id_
MonitorElementmeCharge_
MonitorElementmeChargeBlade_
MonitorElementmeChargeDisk_
MonitorElementmeChargeLad_
MonitorElementmeChargeLay_
MonitorElementmeChargePhi_
MonitorElementmeChargeRing_
MonitorElementmeClPosDisk1mz
MonitorElementmeClPosDisk1pz
MonitorElementmeClPosDisk2mz
MonitorElementmeClPosDisk2pz
MonitorElementmeClPosLayer1
MonitorElementmeClPosLayer2
MonitorElementmeClPosLayer3
MonitorElementmeMaxCol_
MonitorElementmeMaxColBlade_
MonitorElementmeMaxColDisk_
MonitorElementmeMaxColLad_
MonitorElementmeMaxColLay_
MonitorElementmeMaxColPhi_
MonitorElementmeMaxColRing_
MonitorElementmeMaxRow_
MonitorElementmeMaxRowBlade_
MonitorElementmeMaxRowDisk_
MonitorElementmeMaxRowLad_
MonitorElementmeMaxRowLay_
MonitorElementmeMaxRowPhi_
MonitorElementmeMaxRowRing_
MonitorElementmeMinCol_
MonitorElementmeMinColBlade_
MonitorElementmeMinColDisk_
MonitorElementmeMinColLad_
MonitorElementmeMinColLay_
MonitorElementmeMinColPhi_
MonitorElementmeMinColRing_
MonitorElementmeMinRow_
MonitorElementmeMinRowBlade_
MonitorElementmeMinRowDisk_
MonitorElementmeMinRowLad_
MonitorElementmeMinRowLay_
MonitorElementmeMinRowPhi_
MonitorElementmeMinRowRing_
MonitorElementmeNClusters_
MonitorElementmeNClustersBlade_
MonitorElementmeNClustersDisk_
MonitorElementmeNClustersLad_
MonitorElementmeNClustersLay_
MonitorElementmeNClustersPhi_
MonitorElementmeNClustersRing_
MonitorElementmePixClusters_
MonitorElementmePixClusters_px_
MonitorElementmePixClusters_py_
MonitorElementmePixClustersLad_
MonitorElementmePixClustersLad_px_
MonitorElementmePixClustersLad_py_
MonitorElementmePixClustersLay_
MonitorElementmePixClustersLay_px_
MonitorElementmePixClustersLay_py_
MonitorElementmePixClustersPhi_
MonitorElementmePixClustersPhi_px_
MonitorElementmePixClustersPhi_py_
MonitorElementmePixClustersRing_
MonitorElementmePixClustersRing_px_
MonitorElementmePixClustersRing_py_
MonitorElementmeSize_
MonitorElementmeSizeBlade_
MonitorElementmeSizeDisk_
MonitorElementmeSizeLad_
MonitorElementmeSizeLay_
MonitorElementmeSizePhi_
MonitorElementmeSizeRing_
MonitorElementmeSizeX_
MonitorElementmeSizeXBlade_
MonitorElementmeSizeXDisk_
MonitorElementmeSizeXLad_
MonitorElementmeSizeXLay_
MonitorElementmeSizeXPhi_
MonitorElementmeSizeXRing_
MonitorElementmeSizeY_
MonitorElementmeSizeYBlade_
MonitorElementmeSizeYDisk_
MonitorElementmeSizeYLad_
MonitorElementmeSizeYLay_
MonitorElementmeSizeYPhi_
MonitorElementmeSizeYRing_
MonitorElementmeSizeYvsEtaBarrel_
MonitorElementmeX_
MonitorElementmeXBlade_
MonitorElementmeXDisk_
MonitorElementmeXLad_
MonitorElementmeXLay_
MonitorElementmeXPhi_
MonitorElementmeXRing_
MonitorElementmeY_
MonitorElementmeYBlade_
MonitorElementmeYDisk_
MonitorElementmeYLad_
MonitorElementmeYLay_
MonitorElementmeYPhi_
MonitorElementmeYRing_
int ncols_
int nrows_

Detailed Description

Definition at line 39 of file SiPixelClusterModule.h.


Member Typedef Documentation

Definition at line 52 of file SiPixelClusterModule.h.


Constructor & Destructor Documentation

SiPixelClusterModule::SiPixelClusterModule ( )

Default constructor.

Framework.

Definition at line 41 of file SiPixelClusterModule.cc.

                                           : id_(0),
                                         ncols_(416),
                                         nrows_(160) { }
SiPixelClusterModule::SiPixelClusterModule ( const uint32_t &  id)

Constructor with raw DetId.

Definition at line 45 of file SiPixelClusterModule.cc.

                                                             : 
  id_(id),
  ncols_(416),
  nrows_(160)
{ 
}
SiPixelClusterModule::SiPixelClusterModule ( const uint32_t &  id,
const int &  ncols,
const int &  nrows 
)

Constructor with raw DetId and sensor size.

Definition at line 52 of file SiPixelClusterModule.cc.

                                                                                                 : 
  id_(id),
  ncols_(ncols),
  nrows_(nrows)
{ 
}
SiPixelClusterModule::~SiPixelClusterModule ( )

Destructor.

Definition at line 61 of file SiPixelClusterModule.cc.

{}

Member Function Documentation

void SiPixelClusterModule::book ( const edm::ParameterSet iConfig,
int  type = 0,
bool  twoD = true,
bool  reducedSet = false 
)

Book histograms.

Definition at line 65 of file SiPixelClusterModule.cc.

References Reference_intrackfit_cff::barrel, PixelEndcapName::bladeName(), PixelEndcapName::diskName(), Reference_intrackfit_cff::endcap, edm::ParameterSet::getParameter(), id_, PixelBarrelName::isHalfModule(), edm::InputTag::label(), PixelBarrelName::ladderName(), PixelBarrelName::layerName(), meChargeBlade_, meChargeDisk_, meChargeLad_, meChargeLay_, meChargePhi_, meChargeRing_, meMaxCol_, meMaxColBlade_, meMaxColDisk_, meMaxColLad_, meMaxColLay_, meMaxColPhi_, meMaxColRing_, meMaxRow_, meMaxRowBlade_, meMaxRowDisk_, meMaxRowLad_, meMaxRowLay_, meMaxRowPhi_, meMaxRowRing_, meMinCol_, meMinColBlade_, meMinColDisk_, meMinColLad_, meMinColLay_, meMinColPhi_, meMinColRing_, meMinRow_, meMinRowBlade_, meMinRowDisk_, meMinRowLad_, meMinRowLay_, meMinRowPhi_, meMinRowRing_, meNClustersBlade_, meNClustersDisk_, meNClustersLad_, meNClustersLay_, meNClustersPhi_, meNClustersRing_, mePixClusters_, mePixClusters_px_, mePixClusters_py_, mePixClustersLad_, mePixClustersLad_px_, mePixClustersLad_py_, mePixClustersLay_, mePixClustersLay_px_, mePixClustersLay_py_, mePixClustersPhi_, mePixClustersPhi_px_, mePixClustersPhi_py_, mePixClustersRing_, mePixClustersRing_px_, mePixClustersRing_py_, meSizeBlade_, meSizeDisk_, meSizeLad_, meSizeLay_, meSizePhi_, meSizeRing_, meSizeX_, meSizeXBlade_, meSizeXDisk_, meSizeXLad_, meSizeXLay_, meSizeXPhi_, meSizeXRing_, meSizeY_, meSizeYBlade_, meSizeYDisk_, meSizeYLad_, meSizeYLay_, meSizeYPhi_, meSizeYRing_, meSizeYvsEtaBarrel_, meX_, meXBlade_, meXDisk_, meXLad_, meXLay_, meXPhi_, meXRing_, meY_, meYBlade_, meYDisk_, meYLad_, meYLay_, meYPhi_, meYRing_, PixelBarrelName::moduleName(), ncols_, nrows_, cmsCodeRules::cppFunctionSkipper::operator, PixelEndcapName::pannelName(), GeomDetEnumerators::PixelBarrel, GeomDetEnumerators::PixelEndcap, PixelEndcapName::plaquetteName(), MonitorElement::setAxisTitle(), SiPixelHistogramId::setHistoId(), align_tpl::src, and DetId::subdetId().

                                                                                                    {
  
  bool barrel = DetId(id_).subdetId() == static_cast<int>(PixelSubdetector::PixelBarrel);
  bool endcap = DetId(id_).subdetId() == static_cast<int>(PixelSubdetector::PixelEndcap);
  bool isHalfModule = false;
  if(barrel){
    isHalfModule = PixelBarrelName(DetId(id_)).isHalfModule(); 
  }
  int nbinx = ncols_/2;
  int nbiny = nrows_/2;

  std::string hid;
  // Get collection name and instantiate Histo Id builder
  edm::InputTag src = iConfig.getParameter<edm::InputTag>( "src" );
  // Get DQM interface
  DQMStore* theDMBE = edm::Service<DQMStore>().operator->();
  if(type==0){
    SiPixelHistogramId* theHistogramId = new SiPixelHistogramId( src.label() );
    // Number of clusters
    //hid = theHistogramId->setHistoId("nclusters",id_);
    //meNClusters_ = theDMBE->book1D(hid,"Number of Clusters",8,0.,8.);
    //meNClusters_->setAxisTitle("Number of Clusters",1);
    // Total cluster charge in MeV
    //hid = theHistogramId->setHistoId("charge",id_);
    //meCharge_ = theDMBE->book1D(hid,"Cluster charge",100,0.,200.);
    //meCharge_->setAxisTitle("Charge [kilo electrons]",1);
    // Total cluster size (in pixels)
    //hid = theHistogramId->setHistoId("size",id_);
    //meSize_ = theDMBE->book1D(hid,"Total cluster size",30,0.,30.);
    //meSize_->setAxisTitle("Cluster size [number of pixels]",1);
    if(!reducedSet){
      // Lowest cluster row
      hid = theHistogramId->setHistoId("minrow",id_);
      meMinRow_ = theDMBE->book1D(hid,"Lowest cluster row",200,0.,200.);
      meMinRow_->setAxisTitle("Lowest cluster row",1);
      // Highest cluster row
      hid = theHistogramId->setHistoId("maxrow",id_);
      meMaxRow_ = theDMBE->book1D(hid,"Highest cluster row",200,0.,200.);
      meMaxRow_->setAxisTitle("Highest cluster row",1);
      // Lowest cluster column
      hid = theHistogramId->setHistoId("mincol",id_);
      meMinCol_ = theDMBE->book1D(hid,"Lowest cluster column",500,0.,500.);
      meMinCol_->setAxisTitle("Lowest cluster column",1);
      // Highest cluster column
      hid = theHistogramId->setHistoId("maxcol",id_);
      meMaxCol_ = theDMBE->book1D(hid,"Highest cluster column",500,0.,500.);
      meMaxCol_->setAxisTitle("Highest cluster column",1);
      // Cluster barycenter X position
      hid = theHistogramId->setHistoId("x",id_);
      meX_ = theDMBE->book1D(hid,"Cluster barycenter X (row #)",200,0.,200.);
      meX_->setAxisTitle("Barycenter x-position [row #]",1);
      // Cluster barycenter Y position
      hid = theHistogramId->setHistoId("y",id_);
      meY_ = theDMBE->book1D(hid,"Cluster barycenter Y (column #)",500,0.,500.);
      meY_->setAxisTitle("Barycenter y-position [column #]",1);
      // Cluster width on the x-axis
      hid = theHistogramId->setHistoId("sizeX",id_);
      meSizeX_ = theDMBE->book1D(hid,"Cluster x-width (rows)",10,0.,10.);
      meSizeX_->setAxisTitle("Cluster x-size [rows]",1);
      // Cluster width on the y-axis
      hid = theHistogramId->setHistoId("sizeY",id_);
      meSizeY_ = theDMBE->book1D(hid,"Cluster y-width (columns)",15,0.,15.);
      meSizeY_->setAxisTitle("Cluster y-size [columns]",1);
      int nbinx = ncols_/2;
      int nbiny = nrows_/2;
      hid = theHistogramId->setHistoId("hitmap",id_);
      if(twoD){
        // 2D hit map
        mePixClusters_ = theDMBE->book2D(hid,"Number of Clusters (1bin=four pixels)",nbinx,0.,float(ncols_),nbiny,0.,float(nrows_));
        mePixClusters_->setAxisTitle("Columns",1);
        mePixClusters_->setAxisTitle("Rows",2);
      }else{
        // projections of hitmap
        mePixClusters_px_ = theDMBE->book1D(hid+"_px","Number of Clusters (1bin=two columns)",nbinx,0.,float(ncols_));
        mePixClusters_py_ = theDMBE->book1D(hid+"_py","Number of Clusters (1bin=two rows)",nbiny,0.,float(nrows_));
        mePixClusters_px_->setAxisTitle("Columns",1);
        mePixClusters_py_->setAxisTitle("Rows",1);
      }
    }
    delete theHistogramId;
  }

  //**
  if(barrel && type==7){
    hid = src.label() + "_Barrel";
    meSizeYvsEtaBarrel_= theDMBE->book2D("sizeYvsEta_" + hid,"Cluster size along beamline vs. Cluster position #eta",60,-3.,3.,40,0.,40.);
    meSizeYvsEtaBarrel_->setAxisTitle("Cluster #eta",1);
    meSizeYvsEtaBarrel_->setAxisTitle("Cluster size along beamline [number of pixels]",2);
  }
  if(type==1 && barrel){
    uint32_t DBladder = PixelBarrelName(DetId(id_)).ladderName();
    char sladder[80]; sprintf(sladder,"Ladder_%02i",DBladder);
    hid = src.label() + "_" + sladder;
    if(isHalfModule) hid += "H";
    else hid += "F";
    // Number of clusters
    meNClustersLad_ = theDMBE->book1D("nclusters_" + hid,"Number of Clusters",8,0.,8.);
    meNClustersLad_->setAxisTitle("Number of Clusters",1);
    // Total cluster charge in MeV
    meChargeLad_ = theDMBE->book1D("charge_" + hid,"Cluster charge",100,0.,200.);
    meChargeLad_->setAxisTitle("Charge [kilo electrons]",1);
    // Total cluster size (in pixels)
    meSizeLad_ = theDMBE->book1D("size_" + hid,"Total cluster size",30,0.,30.);
    meSizeLad_->setAxisTitle("Cluster size [number of pixels]",1);
    if(!reducedSet){
      // Lowest cluster row
      meMinRowLad_ = theDMBE->book1D("minrow_" + hid,"Lowest cluster row",200,0.,200.);
      meMinRowLad_->setAxisTitle("Lowest cluster row",1);
      // Highest cluster row
      meMaxRowLad_ = theDMBE->book1D("maxrow_" + hid,"Highest cluster row",200,0.,200.);
      meMaxRowLad_->setAxisTitle("Highest cluster row",1);
      // Lowest cluster column
      meMinColLad_ = theDMBE->book1D("mincol_" + hid,"Lowest cluster column",500,0.,500.);
      meMinColLad_->setAxisTitle("Lowest cluster column",1);
      // Highest cluster column
      meMaxColLad_ = theDMBE->book1D("maxcol_" + hid,"Highest cluster column",500,0.,500.);
      meMaxColLad_->setAxisTitle("Highest cluster column",1);
      // Cluster barycenter X position
      meXLad_ = theDMBE->book1D("x_" + hid,"Cluster barycenter X (row #)",200,0.,200.);
      meXLad_->setAxisTitle("Barycenter x-position [row #]",1);
      // Cluster barycenter Y position
      meYLad_ = theDMBE->book1D("y_" + hid,"Cluster barycenter Y (column #)",500,0.,500.);
      meYLad_->setAxisTitle("Barycenter y-position [column #]",1);
      // Cluster width on the x-axis
      meSizeXLad_ = theDMBE->book1D("sizeX_" + hid,"Cluster x-width (rows)",10,0.,10.);
      meSizeXLad_->setAxisTitle("Cluster x-size [rows]",1);
      // Cluster width on the y-axis
      meSizeYLad_ = theDMBE->book1D("sizeY_" + hid,"Cluster y-width (columns)",15,0.,15.);
      meSizeYLad_->setAxisTitle("Cluster y-size [columns]",1);
      if(twoD){
        // 2D hit map
        mePixClustersLad_ = theDMBE->book2D("hitmap_" + hid,"Number of Clusters (1bin=four pixels)",nbinx,0.,float(ncols_),nbiny,0.,float(nrows_));
        mePixClustersLad_->setAxisTitle("Columns",1);
        mePixClustersLad_->setAxisTitle("Rows",2);
      }else{
        // projections of hitmap
        mePixClustersLad_px_ = theDMBE->book1D("hitmap_" + hid+"_px","Number of Clusters (1bin=two columns)",nbinx,0.,float(ncols_));
        mePixClustersLad_py_ = theDMBE->book1D("hitmap_" + hid+"_py","Number of Clusters (1bin=two rows)",nbiny,0.,float(nrows_));
        mePixClustersLad_px_->setAxisTitle("Columns",1);
        mePixClustersLad_py_->setAxisTitle("Rows",1);
      }
    }
  }

  if(type==2 && barrel){
    
    uint32_t DBlayer = PixelBarrelName(DetId(id_)).layerName();
    char slayer[80]; sprintf(slayer,"Layer_%i",DBlayer);
    hid = src.label() + "_" + slayer;
    // Number of clusters
    meNClustersLay_ = theDMBE->book1D("nclusters_" + hid,"Number of Clusters",8,0.,8.);
    meNClustersLay_->setAxisTitle("Number of Clusters",1);
    // Total cluster charge in MeV
    meChargeLay_ = theDMBE->book1D("charge_" + hid,"Cluster charge",100,0.,200.);
    meChargeLay_->setAxisTitle("Charge [kilo electrons]",1);
    // Total cluster size (in pixels)
    meSizeLay_ = theDMBE->book1D("size_" + hid,"Total cluster size",30,0.,30.);
    meSizeLay_->setAxisTitle("Cluster size [in pixels]",1);
    if(!reducedSet){
      // Lowest cluster row
      meMinRowLay_ = theDMBE->book1D("minrow_" + hid,"Lowest cluster row",200,0.,200.);
      meMinRowLay_->setAxisTitle("Lowest cluster row",1);
      // Highest cluster row
      meMaxRowLay_ = theDMBE->book1D("maxrow_" + hid,"Highest cluster row",200,0.,200.);
      meMaxRowLay_->setAxisTitle("Highest cluster row",1);
      // Lowest cluster column
      meMinColLay_ = theDMBE->book1D("mincol_" + hid,"Lowest cluster column",500,0.,500.);
      meMinColLay_->setAxisTitle("Lowest cluster column",1);
      // Highest cluster column
      meMaxColLay_ = theDMBE->book1D("maxcol_" + hid,"Highest cluster column",500,0.,500.);
      meMaxColLay_->setAxisTitle("Highest cluster column",1);
      // Cluster barycenter X position
      meXLay_ = theDMBE->book1D("x_" + hid,"Cluster barycenter X (row #)",200,0.,200.);
      meXLay_->setAxisTitle("Barycenter x-position [row #]",1);
      // Cluster barycenter Y position
      meYLay_ = theDMBE->book1D("y_" + hid,"Cluster barycenter Y (column #)",500,0.,500.);
      meYLay_->setAxisTitle("Barycenter y-position [column #]",1);
      // Cluster width on the x-axis
      meSizeXLay_ = theDMBE->book1D("sizeX_" + hid,"Cluster x-width (rows)",10,0.,10.);
      meSizeXLay_->setAxisTitle("Cluster x-size [rows]",1);
      // Cluster width on the y-axis
      meSizeYLay_ = theDMBE->book1D("sizeY_" + hid,"Cluster y-width (columns)",15,0.,15.);
      meSizeYLay_->setAxisTitle("Cluster y-size [columns]",1);
      if(twoD){
        // 2D hit map
        if(isHalfModule){
          mePixClustersLay_ = theDMBE->book2D("hitmap_" + hid,"Number of Clusters (1bin=four pixels)",nbinx,0.,float(ncols_),2*nbiny,0.,float(2*nrows_));
        }else{
          mePixClustersLay_ = theDMBE->book2D("hitmap_" + hid,"Number of Clusters (1bin=four pixels)",nbinx,0.,float(ncols_),nbiny,0.,float(nrows_));
        }
        mePixClustersLay_->setAxisTitle("Columns",1);
        mePixClustersLay_->setAxisTitle("Rows",2);
      }else{
        // projections of hitmap
        mePixClustersLay_px_ = theDMBE->book1D("hitmap_" + hid+"_px","Number of Clusters (1bin=two columns)",nbinx,0.,float(ncols_));
        if(isHalfModule){
          mePixClustersLay_py_ = theDMBE->book1D("hitmap_" + hid+"_py","Number of Clusters (1bin=two rows)",2*nbiny,0.,float(2*nrows_));
        }else{
          mePixClustersLay_py_ = theDMBE->book1D("hitmap_" + hid+"_py","Number of Clusters (1bin=two rows)",nbiny,0.,float(nrows_));
        }
        mePixClustersLay_px_->setAxisTitle("Columns",1);
        mePixClustersLay_py_->setAxisTitle("Rows",1);
      }
    }
  }
  if(type==3 && barrel){
    uint32_t DBmodule = PixelBarrelName(DetId(id_)).moduleName();
    char smodule[80]; sprintf(smodule,"Ring_%i",DBmodule);
    hid = src.label() + "_" + smodule;
    // Number of clusters
    meNClustersPhi_ = theDMBE->book1D("nclusters_" + hid,"Number of Clusters",8,0.,8.);
    meNClustersPhi_->setAxisTitle("Number of Clusters",1);
    // Total cluster charge in MeV
    meChargePhi_ = theDMBE->book1D("charge_" + hid,"Cluster charge",100,0.,200.);
    meChargePhi_->setAxisTitle("Charge [kilo electrons]",1);
    // Total cluster size (in pixels)
    meSizePhi_ = theDMBE->book1D("size_" + hid,"Total cluster size",30,0.,30.);
    meSizePhi_->setAxisTitle("Cluster size [number of pixels]",1);
    if(!reducedSet){
      // Lowest cluster row
      meMinRowPhi_ = theDMBE->book1D("minrow_" + hid,"Lowest cluster row",200,0.,200.);
      meMinRowPhi_->setAxisTitle("Lowest cluster row",1);
      // Highest cluster row
      meMaxRowPhi_ = theDMBE->book1D("maxrow_" + hid,"Highest cluster row",200,0.,200.);
      meMaxRowPhi_->setAxisTitle("Highest cluster row",1);
      // Lowest cluster column
      meMinColPhi_ = theDMBE->book1D("mincol_" + hid,"Lowest cluster column",500,0.,500.);
      meMinColPhi_->setAxisTitle("Lowest cluster column",1);
      // Highest cluster column
      meMaxColPhi_ = theDMBE->book1D("maxcol_" + hid,"Highest cluster column",500,0.,500.);
      meMaxColPhi_->setAxisTitle("Highest cluster column",1);
      // Cluster barycenter X position
      meXPhi_ = theDMBE->book1D("x_" + hid,"Cluster barycenter X (row #)",200,0.,200.);
      meXPhi_->setAxisTitle("Barycenter x-position [row #]",1);
      // Cluster barycenter Y position
      meYPhi_ = theDMBE->book1D("y_" + hid,"Cluster barycenter Y (column #)",500,0.,500.);
      meYPhi_->setAxisTitle("Barycenter y-position [column #]",1);
      // Cluster width on the x-axis
      meSizeXPhi_ = theDMBE->book1D("sizeX_" + hid,"Cluster x-width (rows)",10,0.,10.);
      meSizeXPhi_->setAxisTitle("Cluster x-size [rows]",1);
      // Cluster width on the y-axis
      meSizeYPhi_ = theDMBE->book1D("sizeY_" + hid,"Cluster y-width (columns)",15,0.,15.);
      meSizeYPhi_->setAxisTitle("Cluster y-size [columns]",1);
      if(twoD){
        // 2D hit map
        if(isHalfModule){
          mePixClustersPhi_ = theDMBE->book2D("hitmap_" + hid,"Number of Clusters (1bin=four pixels)",nbinx,0.,float(ncols_),2*nbiny,0.,float(2*nrows_));
        }else{
          mePixClustersPhi_ = theDMBE->book2D("hitmap_" + hid,"Number of Clusters (1bin=four pixels)",nbinx,0.,float(ncols_),nbiny,0.,float(nrows_));
        }
        mePixClustersPhi_->setAxisTitle("Columns",1);
        mePixClustersPhi_->setAxisTitle("Rows",2);
      }else{
        // projections of hitmap
        mePixClustersPhi_px_ = theDMBE->book1D("hitmap_" + hid+"_px","Number of Clusters (1bin=two columns)",nbinx,0.,float(ncols_));
        if(isHalfModule){
          mePixClustersPhi_py_ = theDMBE->book1D("hitmap_" + hid+"_py","Number of Clusters (1bin=two rows)",2*nbiny,0.,float(2*nrows_));
        }else{
          mePixClustersPhi_py_ = theDMBE->book1D("hitmap_" + hid+"_py","Number of Clusters (1bin=two rows)",nbiny,0.,float(nrows_));
        }
        mePixClustersPhi_px_->setAxisTitle("Columns",1);
        mePixClustersPhi_py_->setAxisTitle("Rows",1);
      }
    }
  }

  if(type==4 && endcap){
    uint32_t blade= PixelEndcapName(DetId(id_)).bladeName();
    
    char sblade[80]; sprintf(sblade, "Blade_%02i",blade);
    hid = src.label() + "_" + sblade;
    // Number of clusters
    meNClustersBlade_ = theDMBE->book1D("nclusters_" + hid,"Number of Clusters",8,0.,8.);
    meNClustersBlade_->setAxisTitle("Number of Clusters",1);
    // Total cluster charge in MeV
    meChargeBlade_ = theDMBE->book1D("charge_" + hid,"Cluster charge",100,0.,200.);
    meChargeBlade_->setAxisTitle("Charge [kilo electrons]",1);
    // Total cluster size (in pixels)
    meSizeBlade_ = theDMBE->book1D("size_" + hid,"Total cluster size",30,0.,30.);
    meSizeBlade_->setAxisTitle("Cluster size [number of pixels]",1);
    if(!reducedSet){
      // Lowest cluster row
      meMinRowBlade_ = theDMBE->book1D("minrow_" + hid,"Lowest cluster row",200,0.,200.);
      meMinRowBlade_->setAxisTitle("Lowest cluster row",1);
      // Highest cluster row
      meMaxRowBlade_ = theDMBE->book1D("maxrow_" + hid,"Highest cluster row",200,0.,200.);
      meMaxRowBlade_->setAxisTitle("Highest cluster row",1);
      // Lowest cluster column
      meMinColBlade_ = theDMBE->book1D("mincol_" + hid,"Lowest cluster column",500,0.,500.);
      meMinColBlade_->setAxisTitle("Lowest cluster column",1);
      // Highest cluster column
      meMaxColBlade_ = theDMBE->book1D("maxcol_" + hid,"Highest cluster column",500,0.,500.);
      meMaxColBlade_->setAxisTitle("Highest cluster column",1);
      // Cluster barycenter X position
      meXBlade_ = theDMBE->book1D("x_" + hid,"Cluster barycenter X (row #)",200,0.,200.);
      meXBlade_->setAxisTitle("Barycenter x-position [row #]",1);
      // Cluster barycenter Y position
      meYBlade_ = theDMBE->book1D("y_" + hid,"Cluster barycenter Y (column #)",500,0.,500.);
      meYBlade_->setAxisTitle("Barycenter y-position [column #]",1);
      // Cluster width on the x-axis
      meSizeXBlade_ = theDMBE->book1D("sizeX_" + hid,"Cluster x-width (rows)",10,0.,10.);
      meSizeXBlade_->setAxisTitle("Cluster x-size [rows]",1);
      // Cluster width on the y-axis
      meSizeYBlade_ = theDMBE->book1D("sizeY_" + hid,"Cluster y-width (columns)",15,0.,15.);
      meSizeYBlade_->setAxisTitle("Cluster y-size [columns]",1);
    }
  }
  if(type==5 && endcap){
    uint32_t disk = PixelEndcapName(DetId(id_)).diskName();
    
    char sdisk[80]; sprintf(sdisk, "Disk_%i",disk);
    hid = src.label() + "_" + sdisk;
    // Number of clusters
    meNClustersDisk_ = theDMBE->book1D("nclusters_" + hid,"Number of Clusters",8,0.,8.);
    meNClustersDisk_->setAxisTitle("Number of Clusters",1);
    // Total cluster charge in MeV
    meChargeDisk_ = theDMBE->book1D("charge_" + hid,"Cluster charge",100,0.,200.);
    meChargeDisk_->setAxisTitle("Charge [kilo electrons]",1);
    // Total cluster size (in pixels)
    meSizeDisk_ = theDMBE->book1D("size_" + hid,"Total cluster size",30,0.,30.);
    meSizeDisk_->setAxisTitle("Cluster size [number of pixels]",1);
    if(!reducedSet){
      // Lowest cluster row
      meMinRowDisk_ = theDMBE->book1D("minrow_" + hid,"Lowest cluster row",200,0.,200.);
      meMinRowDisk_->setAxisTitle("Lowest cluster row",1);
      // Highest cluster row
      meMaxRowDisk_ = theDMBE->book1D("maxrow_" + hid,"Highest cluster row",200,0.,200.);
      meMaxRowDisk_->setAxisTitle("Highest cluster row",1);
      // Lowest cluster column
      meMinColDisk_ = theDMBE->book1D("mincol_" + hid,"Lowest cluster column",500,0.,500.);
      meMinColDisk_->setAxisTitle("Lowest cluster column",1);
      // Highest cluster column
      meMaxColDisk_ = theDMBE->book1D("maxcol_" + hid,"Highest cluster column",500,0.,500.);
      meMaxColDisk_->setAxisTitle("Highest cluster column",1);
      // Cluster barycenter X position
      meXDisk_ = theDMBE->book1D("x_" + hid,"Cluster barycenter X (row #)",200,0.,200.);
      meXDisk_->setAxisTitle("Barycenter x-position [row #]",1);
      // Cluster barycenter Y position
      meYDisk_ = theDMBE->book1D("y_" + hid,"Cluster barycenter Y (column #)",500,0.,500.);
      meYDisk_->setAxisTitle("Barycenter y-position [column #]",1);
      // Cluster width on the x-axis
      meSizeXDisk_ = theDMBE->book1D("sizeX_" + hid,"Cluster x-width (rows)",10,0.,10.);
      meSizeXDisk_->setAxisTitle("Cluster x-size [rows]",1);
      // Cluster width on the y-axis
      meSizeYDisk_ = theDMBE->book1D("sizeY_" + hid,"Cluster y-width (columns)",15,0.,15.);
      meSizeYDisk_->setAxisTitle("Cluster y-size [columns]",1);
    }
  }

  if(type==6 && endcap){
    uint32_t panel= PixelEndcapName(DetId(id_)).pannelName();
    uint32_t module= PixelEndcapName(DetId(id_)).plaquetteName();
    char slab[80]; sprintf(slab, "Panel_%i_Ring_%i",panel, module);
    hid = src.label() + "_" + slab;
    // Number of clusters
    meNClustersRing_ = theDMBE->book1D("nclusters_" + hid,"Number of Clusters",8,0.,8.);
    meNClustersRing_->setAxisTitle("Number of Clusters",1);
    // Total cluster charge in MeV
    meChargeRing_ = theDMBE->book1D("charge_" + hid,"Cluster charge",100,0.,200.);
    meChargeRing_->setAxisTitle("Charge [kilo electrons]",1);
    // Total cluster size (in pixels)
    meSizeRing_ = theDMBE->book1D("size_" + hid,"Total cluster size",30,0.,30.);
    meSizeRing_->setAxisTitle("Cluster size [number of pixels]",1);
    if(!reducedSet){
      // Lowest cluster row
      meMinRowRing_ = theDMBE->book1D("minrow_" + hid,"Lowest cluster row",200,0.,200.);
      meMinRowRing_->setAxisTitle("Lowest cluster row",1);
      // Highest cluster row
      meMaxRowRing_ = theDMBE->book1D("maxrow_" + hid,"Highest cluster row",200,0.,200.);
      meMaxRowRing_->setAxisTitle("Highest cluster row",1);
      // Lowest cluster column
      meMinColRing_ = theDMBE->book1D("mincol_" + hid,"Lowest cluster column",500,0.,500.);
      meMinColRing_->setAxisTitle("Lowest cluster column",1);
      // Highest cluster column
      meMaxColRing_ = theDMBE->book1D("maxcol_" + hid,"Highest cluster column",500,0.,500.);
      meMaxColRing_->setAxisTitle("Highest cluster column",1);
      // Cluster barycenter X position
      meXRing_ = theDMBE->book1D("x_" + hid,"Cluster barycenter X (row #)",200,0.,200.);
      meXRing_->setAxisTitle("Barycenter x-position [row #]",1);
      // Cluster barycenter Y position
      meYRing_ = theDMBE->book1D("y_" + hid,"Cluster barycenter Y (column #)",500,0.,500.);
      meYRing_->setAxisTitle("Barycenter y-position [column #]",1);
      // Cluster width on the x-axis
      meSizeXRing_ = theDMBE->book1D("sizeX_" + hid,"Cluster x-width (rows)",10,0.,10.);
      meSizeXRing_->setAxisTitle("Cluster x-size [rows]",1);
      // Cluster width on the y-axis
      meSizeYRing_ = theDMBE->book1D("sizeY_" + hid,"Cluster y-width (columns)",15,0.,15.);
      meSizeYRing_->setAxisTitle("Cluster y-size [columns]",1);
      if(twoD){
        // 2D hit map
        mePixClustersRing_ = theDMBE->book2D("hitmap_" + hid,"Number of Clusters (1bin=four pixels)",nbinx,0.,float(ncols_),nbiny,0.,float(nrows_));
        mePixClustersRing_->setAxisTitle("Columns",1);
        mePixClustersRing_->setAxisTitle("Rows",2);
      }else{
        // projections of hitmap
        mePixClustersRing_px_ = theDMBE->book1D("hitmap_" + hid+"_px","Number of Clusters (1bin=two columns)",nbinx,0.,float(ncols_));
        mePixClustersRing_py_ = theDMBE->book1D("hitmap_" + hid+"_py","Number of Clusters (1bin=two rows)",nbiny,0.,float(nrows_));
        mePixClustersRing_px_->setAxisTitle("Columns",1);
        mePixClustersRing_py_->setAxisTitle("Rows",1);
      }
    }
  }
  
}
int SiPixelClusterModule::fill ( const edmNew::DetSetVector< SiPixelCluster > &  input,
const TrackerGeometry tracker,
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 
)

Fill histograms.

Definition at line 472 of file SiPixelClusterModule.cc.

References Reference_intrackfit_cff::barrel, edmNew::DetSetVector< T >::begin(), DQMStore::cd(), DeDxDiscriminatorTools::charge(), PixelEndcapName::diskName(), edmNew::DetSetVector< T >::end(), Reference_intrackfit_cff::endcap, PV3DBase< T, PVType, FrameType >::eta(), MonitorElement::Fill(), HcalObjRepresent::Fill(), edmNew::DetSetVector< T >::find(), DQMStore::get(), id_, TrackerGeometry::idToDet(), PixelBarrelName::layerName(), Topology::localPosition(), meChargeBlade_, meChargeDisk_, meChargeLad_, meChargeLay_, meChargePhi_, meChargeRing_, meMaxCol_, meMaxColBlade_, meMaxColDisk_, meMaxColLad_, meMaxColLay_, meMaxColPhi_, meMaxColRing_, meMaxRow_, meMaxRowBlade_, meMaxRowDisk_, meMaxRowLad_, meMaxRowLay_, meMaxRowPhi_, meMaxRowRing_, meMinCol_, meMinColBlade_, meMinColDisk_, meMinColLad_, meMinColLay_, meMinColPhi_, meMinColRing_, meMinRow_, meMinRowBlade_, meMinRowDisk_, meMinRowLad_, meMinRowLay_, meMinRowPhi_, meMinRowRing_, meNClustersBlade_, meNClustersDisk_, meNClustersLad_, meNClustersLay_, meNClustersPhi_, meNClustersRing_, mePixClusters_, mePixClusters_px_, mePixClusters_py_, mePixClustersLad_, mePixClustersLad_px_, mePixClustersLad_py_, mePixClustersLay_, mePixClustersLay_px_, mePixClustersLay_py_, mePixClustersPhi_, mePixClustersPhi_px_, mePixClustersPhi_py_, mePixClustersRing_, mePixClustersRing_px_, mePixClustersRing_py_, meSizeBlade_, meSizeDisk_, meSizeLad_, meSizeLay_, meSizePhi_, meSizeRing_, meSizeX_, meSizeXBlade_, meSizeXDisk_, meSizeXLad_, meSizeXLay_, meSizeXPhi_, meSizeXRing_, meSizeY_, meSizeYBlade_, meSizeYDisk_, meSizeYLad_, meSizeYLay_, meSizeYPhi_, meSizeYRing_, meSizeYvsEtaBarrel_, meX_, meXBlade_, meXDisk_, meXLad_, meXLay_, meXPhi_, meXRing_, meY_, meYBlade_, meYDisk_, meYLad_, meYLay_, meYPhi_, meYRing_, cmsCodeRules::cppFunctionSkipper::operator, PV3DBase< T, PVType, FrameType >::phi(), GeomDetEnumerators::PixelBarrel, GeomDetEnumerators::PixelEndcap, DQMStore::pwd(), edmNew::DetSet< T >::size(), findQualityFiles::size, PixelGeomDetUnit::specificTopology(), DetId::subdetId(), GeomDet::surface(), Surface::toGlobal(), PV3DBase< T, PVType, FrameType >::x(), x, PV3DBase< T, PVType, FrameType >::y(), detailsBasic3DVector::y, and PV3DBase< T, PVType, FrameType >::z().

                                                                                                                                                                                                                                                {
  
  bool barrel = DetId(id_).subdetId() == static_cast<int>(PixelSubdetector::PixelBarrel);
  bool endcap = DetId(id_).subdetId() == static_cast<int>(PixelSubdetector::PixelEndcap);
  
  edmNew::DetSetVector<SiPixelCluster>::const_iterator isearch = input.find(id_); // search  clusters of detid
  unsigned int numberOfClusters = 0;
  unsigned int numberOfFpixClusters = 0;
  
  if( isearch != input.end() ) {  // Not an empty iterator

    
    // Look at clusters now
    edmNew::DetSet<SiPixelCluster>::const_iterator  di;
    //for(di = isearch->data.begin(); di != isearch->data.end(); di++) {
    for(di = isearch->begin(); di != isearch->end(); di++) {
      numberOfClusters++;
      if(endcap) numberOfFpixClusters++;
      float charge = 0.001*(di->charge()); // total charge of cluster
      float x = di->x();                   // barycenter x position
      float y = di->y();                   // barycenter y position
      int size = di->size();               // total size of cluster (in pixels)
      int sizeX = di->sizeX();             // size of cluster in x-direction
      int sizeY = di->sizeY();             // size of cluster in y-direction
      int minPixelRow = di->minPixelRow(); // min x index
      int maxPixelRow = di->maxPixelRow(); // max x index
      int minPixelCol = di->minPixelCol(); // min y index
      int maxPixelCol = di->maxPixelCol(); // max y index
      //      bool edgeHitX = di->edgeHitX();      // records if a cluster is at the x-edge of the detector
      //      bool edgeHitY = di->edgeHitY();      // records if a cluster is at the y-edge of the detector
      

      //**
     // edm::ESHandle<TrackerGeometry> pDD;
     // es.get<TrackerDigiGeometryRecord> ().get (pDD);
     // const TrackerGeometry* tracker = &(* pDD);
      const PixelGeomDetUnit* theGeomDet = dynamic_cast<const PixelGeomDetUnit*> ( tracker->idToDet(DetId(id_)) );
      //**
      const PixelTopology * topol = &(theGeomDet->specificTopology());
      LocalPoint clustlp = topol->localPosition( MeasurementPoint(x, y) );
      GlobalPoint clustgp = theGeomDet->surface().toGlobal( clustlp );
      //**end
      if(modon){
        //(meCharge_)->Fill((float)charge);
        //(meSize_)->Fill((int)size);
        DQMStore* theDMBE = edm::Service<DQMStore>().operator->();
        std::string currDir = theDMBE->pwd();
        theDMBE->cd("Pixel/Clusters/OffTrack/");
        MonitorElement * me;
        if(barrel){
          uint32_t DBlayer = PixelBarrelName(DetId(id_)).layerName();
          switch(DBlayer){
          case 1: {
            me = theDMBE->get("Pixel/Clusters/OffTrack/position_siPixelClusters_Layer_1");
            if(me) me->Fill(clustgp.z(),clustgp.phi());
            break;
          } case 2: {
            me = theDMBE->get("Pixel/Clusters/OffTrack/position_siPixelClusters_Layer_2");
            if(me) me->Fill(clustgp.z(),clustgp.phi());
            break;
          } case 3: {
            me = theDMBE->get("Pixel/Clusters/OffTrack/position_siPixelClusters_Layer_3");
            if(me) me->Fill(clustgp.z(),clustgp.phi());
            break;
          }} 
        }else if(endcap){
          uint32_t DBdisk = PixelEndcapName(DetId(id_)).diskName();
          if(clustgp.z()>0){
            switch(DBdisk){
            case 1: {
              me = theDMBE->get("Pixel/Clusters/OffTrack/position_siPixelClusters_pz_Disk_1");
              if(me) me->Fill(clustgp.x(),clustgp.y());
              break;
            } case 2: {
              me = theDMBE->get("Pixel/Clusters/OffTrack/position_siPixelClusters_pz_Disk_2");
              if(me) me->Fill(clustgp.x(),clustgp.y());
              break;
            }}
         }else{
            switch(DBdisk){
            case 1: {
              me = theDMBE->get("Pixel/Clusters/OffTrack/position_siPixelClusters_mz_Disk_1");
              if(me) me->Fill(clustgp.x(),clustgp.y());
              break;
            } case 2: {
              me = theDMBE->get("Pixel/Clusters/OffTrack/position_siPixelClusters_mz_Disk_2");
              if(me) me->Fill(clustgp.x(),clustgp.y());
              break;
            }}
          } 
        }
        theDMBE->cd(currDir);
        if(!reducedSet)
        {
          (meMinRow_)->Fill((int)minPixelRow);
          (meMaxRow_)->Fill((int)maxPixelRow);
          (meMinCol_)->Fill((int)minPixelCol);
          (meMaxCol_)->Fill((int)maxPixelCol);
          (meSizeX_)->Fill((int)sizeX);
          (meSizeY_)->Fill((int)sizeY);
          (meX_)->Fill((float)x);
          (meY_)->Fill((float)y);
          if(twoD)(mePixClusters_)->Fill((float)y,(float)x);
          else{
                  (mePixClusters_px_)->Fill((float)y);
                (mePixClusters_py_)->Fill((float)x);
          }
        }
        //      (meEdgeHitX_)->Fill((int)edgeHitX);
        //      (meEdgeHitY_)->Fill((int)edgeHitY);
      }
      //**
      if(barrel && smileyon){
        (meSizeYvsEtaBarrel_)->Fill(clustgp.eta(),sizeY);
        //std::cout << "Cluster Global x y z theta eta " << clustgp.x() << " " << clustgp.y() << " " << clustgp.z() << " " << clustgp.theta() << " " << clustgp.eta() << std::endl;
      }      
      if(ladon && barrel){
        (meChargeLad_)->Fill((float)charge);
        (meSizeLad_)->Fill((int)size);
        if(!reducedSet)
        {
        (meMinRowLad_)->Fill((int)minPixelRow);
        (meMaxRowLad_)->Fill((int)maxPixelRow);
        (meMinColLad_)->Fill((int)minPixelCol);
        (meMaxColLad_)->Fill((int)maxPixelCol);
        (meXLad_)->Fill((float)x);
        (meYLad_)->Fill((float)y);
        (meSizeXLad_)->Fill((int)sizeX);
        (meSizeYLad_)->Fill((int)sizeY);
        if(twoD) (mePixClustersLad_)->Fill((float)y,(float)x);
        else{
          (mePixClustersLad_px_)->Fill((float)y);
          (mePixClustersLad_py_)->Fill((float)x);
        }
        }
      }
      if(layon && barrel){
        (meChargeLay_)->Fill((float)charge);
        (meSizeLay_)->Fill((int)size);
        if(!reducedSet)
        {
        (meMinRowLay_)->Fill((int)minPixelRow);
        (meMaxRowLay_)->Fill((int)maxPixelRow);
        (meMinColLay_)->Fill((int)minPixelCol);
        (meMaxColLay_)->Fill((int)maxPixelCol);
        (meXLay_)->Fill((float)x);
        (meYLay_)->Fill((float)y);
        (meSizeXLay_)->Fill((int)sizeX);
        (meSizeYLay_)->Fill((int)sizeY);
        if(twoD) (mePixClustersLay_)->Fill((float)y,(float)x);
        else{
          (mePixClustersLay_px_)->Fill((float)y);
          (mePixClustersLay_py_)->Fill((float)x);
        }
        }
      }
      if(phion && barrel){
        (meChargePhi_)->Fill((float)charge);
        (meSizePhi_)->Fill((int)size);
        if(!reducedSet)
        {
        (meMinRowPhi_)->Fill((int)minPixelRow);
        (meMaxRowPhi_)->Fill((int)maxPixelRow);
        (meMinColPhi_)->Fill((int)minPixelCol);
        (meMaxColPhi_)->Fill((int)maxPixelCol);
        (meXPhi_)->Fill((float)x);
        (meYPhi_)->Fill((float)y);
        (meSizeXPhi_)->Fill((int)sizeX);
        (meSizeYPhi_)->Fill((int)sizeY);
        if(twoD) (mePixClustersPhi_)->Fill((float)y,(float)x);
        else{
          (mePixClustersPhi_px_)->Fill((float)y);
          (mePixClustersPhi_py_)->Fill((float)x);
        }
        }
      }
      if(bladeon && endcap){
        (meChargeBlade_)->Fill((float)charge);
        (meSizeBlade_)->Fill((int)size);
        if(!reducedSet)
        {
        (meMinRowBlade_)->Fill((int)minPixelRow);
        (meMaxRowBlade_)->Fill((int)maxPixelRow);
        (meMinColBlade_)->Fill((int)minPixelCol);
        (meMaxColBlade_)->Fill((int)maxPixelCol);
        (meXBlade_)->Fill((float)x);
        (meYBlade_)->Fill((float)y);
        (meSizeXBlade_)->Fill((int)sizeX);
        (meSizeYBlade_)->Fill((int)sizeY);
        }
      }
      if(diskon && endcap){
        (meChargeDisk_)->Fill((float)charge);
        (meSizeDisk_)->Fill((int)size);
        if(!reducedSet)
        {
        (meMinRowDisk_)->Fill((int)minPixelRow);
        (meMaxRowDisk_)->Fill((int)maxPixelRow);
        (meMinColDisk_)->Fill((int)minPixelCol);
        (meMaxColDisk_)->Fill((int)maxPixelCol);
        (meXDisk_)->Fill((float)x);
        (meYDisk_)->Fill((float)y);
        (meSizeXDisk_)->Fill((int)sizeX);
        (meSizeYDisk_)->Fill((int)sizeY);
        }
      }
      
      if(ringon && endcap){
        (meChargeRing_)->Fill((float)charge);
        (meSizeRing_)->Fill((int)size);
        if(!reducedSet)
        {
        (meMinRowRing_)->Fill((int)minPixelRow);
        (meMaxRowRing_)->Fill((int)maxPixelRow);
        (meMinColRing_)->Fill((int)minPixelCol);
        (meMaxColRing_)->Fill((int)maxPixelCol);
        (meXRing_)->Fill((float)x);
        (meYRing_)->Fill((float)y);
        (meSizeXRing_)->Fill((int)sizeX);
        (meSizeYRing_)->Fill((int)sizeY);
        if(twoD) (mePixClustersRing_)->Fill((float)y,(float)x);
        else{
          (mePixClustersRing_px_)->Fill((float)y);
          (mePixClustersRing_py_)->Fill((float)x);
        }
        }
      }
    }
    //if(modon) (meNClusters_)->Fill((float)numberOfClusters);
    if(ladon && barrel) (meNClustersLad_)->Fill((float)numberOfClusters);
    if(layon && barrel) (meNClustersLay_)->Fill((float)numberOfClusters);
    if(phion && barrel) (meNClustersPhi_)->Fill((float)numberOfClusters);
    if(bladeon && endcap) (meNClustersBlade_)->Fill((float)numberOfClusters);
    if(diskon && endcap) (meNClustersDisk_)->Fill((float)numberOfClusters);
    if(ringon && endcap) (meNClustersRing_)->Fill((float)numberOfClusters);

    //std::cout<<"number of clusters="<<numberOfClusters<<std::endl;
      

  }
  
  
  //std::cout<<"number of detector units="<<numberOfDetUnits<<std::endl;
  return numberOfFpixClusters;
  
}

Member Data Documentation

uint32_t SiPixelClusterModule::id_ [private]

Definition at line 72 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 78 of file SiPixelClusterModule.h.

Definition at line 151 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 164 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 103 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 120 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 135 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 177 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 96 of file SiPixelClusterModule.h.

Definition at line 94 of file SiPixelClusterModule.h.

Definition at line 97 of file SiPixelClusterModule.h.

Definition at line 95 of file SiPixelClusterModule.h.

Definition at line 91 of file SiPixelClusterModule.h.

Definition at line 92 of file SiPixelClusterModule.h.

Definition at line 93 of file SiPixelClusterModule.h.

Definition at line 85 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 158 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 171 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 110 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 127 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 142 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 184 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 83 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 156 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 169 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 108 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 125 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 140 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 182 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 84 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 157 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 170 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 109 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 126 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 141 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 183 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 82 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 155 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 168 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 107 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 124 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 139 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 181 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 75 of file SiPixelClusterModule.h.

Definition at line 148 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 161 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 100 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 117 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 132 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 174 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 86 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 87 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 88 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 111 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 112 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 113 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 128 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 129 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 130 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 143 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 144 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 145 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 185 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 186 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 187 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 79 of file SiPixelClusterModule.h.

Definition at line 152 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 165 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 104 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 121 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 136 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 178 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 80 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 153 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 166 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 105 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 122 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 137 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 179 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 81 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 154 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 167 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 106 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 123 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 138 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 180 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 115 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 77 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 150 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 163 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 102 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 119 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 134 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 176 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 76 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 149 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 162 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 101 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 118 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 133 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 175 of file SiPixelClusterModule.h.

Referenced by book(), and fill().

Definition at line 73 of file SiPixelClusterModule.h.

Referenced by book().

Definition at line 74 of file SiPixelClusterModule.h.

Referenced by book().