CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
SiPixelCoordinates Class Reference

#include <SiPixelCoordinates.h>

Public Member Functions

int blade (const DetId &)
 
float blade_coord (const DetId &, const std::pair< int, int > &)
 
float blade_coord (const DetId &, const PixelDigi *)
 
float blade_coord (const DetId &, const SiPixelCluster *)
 
float blade_coord (const SiPixelRecHit *)
 
float blade_coord (const TrackingRecHit *)
 
float blade_panel_coord (const DetId &, const std::pair< int, int > &)
 
float blade_panel_coord (const DetId &, const PixelDigi *)
 
float blade_panel_coord (const DetId &, const SiPixelCluster *)
 
float blade_panel_coord (const SiPixelRecHit *)
 
float blade_panel_coord (const TrackingRecHit *)
 
int channel (const DetId &, const std::pair< int, int > &)
 
int channel (const DetId &, const PixelDigi *)
 
int channel (const DetId &, const SiPixelCluster *)
 
int channel (const SiPixelRecHit *)
 
int channel (const TrackingRecHit *)
 
int disk (const DetId &)
 
float disk_coord (const DetId &, const std::pair< int, int > &)
 
float disk_coord (const DetId &, const PixelDigi *)
 
float disk_coord (const DetId &, const SiPixelCluster *)
 
float disk_coord (const SiPixelRecHit *)
 
float disk_coord (const TrackingRecHit *)
 
float disk_ring_coord (const DetId &, const std::pair< int, int > &)
 
float disk_ring_coord (const DetId &, const PixelDigi *)
 
float disk_ring_coord (const DetId &, const SiPixelCluster *)
 
float disk_ring_coord (const SiPixelRecHit *)
 
float disk_ring_coord (const TrackingRecHit *)
 
unsigned int fedid (const DetId &)
 
int flipped (const DetId &)
 
int half (const DetId &)
 
void init (edm::EventSetup const &)
 
int ladder (const DetId &)
 
float ladder_coord (const DetId &, const std::pair< int, int > &)
 
float ladder_coord (const DetId &, const PixelDigi *)
 
float ladder_coord (const DetId &, const SiPixelCluster *)
 
float ladder_coord (const SiPixelRecHit *)
 
float ladder_coord (const TrackingRecHit *)
 
int layer (const DetId &)
 
int module (const DetId &)
 
float module_coord (const DetId &, const std::pair< int, int > &)
 
float module_coord (const DetId &, const PixelDigi *)
 
float module_coord (const DetId &, const SiPixelCluster *)
 
float module_coord (const SiPixelRecHit *)
 
float module_coord (const TrackingRecHit *)
 
int outer (const DetId &)
 
int panel (const DetId &)
 
int quadrant (const DetId &)
 
int ring (const DetId &)
 
float ring_coord (const DetId &, const std::pair< int, int > &)
 
float ring_coord (const DetId &, const PixelDigi *)
 
float ring_coord (const DetId &, const SiPixelCluster *)
 
float ring_coord (const SiPixelRecHit *)
 
float ring_coord (const TrackingRecHit *)
 
int roc (const DetId &, const std::pair< int, int > &)
 
int roc (const DetId &, const PixelDigi *)
 
int roc (const DetId &, const SiPixelCluster *)
 
int roc (const SiPixelRecHit *)
 
int roc (const TrackingRecHit *)
 
int sector (const DetId &)
 
int side (const DetId &)
 
int signed_blade (const DetId &)
 
float signed_blade_coord (const DetId &, const std::pair< int, int > &)
 
float signed_blade_coord (const DetId &, const PixelDigi *)
 
float signed_blade_coord (const DetId &, const SiPixelCluster *)
 
float signed_blade_coord (const SiPixelRecHit *)
 
float signed_blade_coord (const TrackingRecHit *)
 
float signed_blade_panel_coord (const DetId &, const std::pair< int, int > &)
 
float signed_blade_panel_coord (const DetId &, const PixelDigi *)
 
float signed_blade_panel_coord (const DetId &, const SiPixelCluster *)
 
float signed_blade_panel_coord (const SiPixelRecHit *)
 
float signed_blade_panel_coord (const TrackingRecHit *)
 
int signed_disk (const DetId &)
 
float signed_disk_coord (const DetId &, const std::pair< int, int > &)
 
float signed_disk_coord (const DetId &, const PixelDigi *)
 
float signed_disk_coord (const DetId &, const SiPixelCluster *)
 
float signed_disk_coord (const SiPixelRecHit *)
 
float signed_disk_coord (const TrackingRecHit *)
 
float signed_disk_ring_coord (const DetId &, const std::pair< int, int > &)
 
float signed_disk_ring_coord (const DetId &, const PixelDigi *)
 
float signed_disk_ring_coord (const DetId &, const SiPixelCluster *)
 
float signed_disk_ring_coord (const SiPixelRecHit *)
 
float signed_disk_ring_coord (const TrackingRecHit *)
 
int signed_ladder (const DetId &)
 
float signed_ladder_coord (const DetId &, const std::pair< int, int > &)
 
float signed_ladder_coord (const DetId &, const PixelDigi *)
 
float signed_ladder_coord (const DetId &, const SiPixelCluster *)
 
float signed_ladder_coord (const SiPixelRecHit *)
 
float signed_ladder_coord (const TrackingRecHit *)
 
int signed_module (const DetId &)
 
float signed_module_coord (const DetId &, const std::pair< int, int > &)
 
float signed_module_coord (const DetId &, const PixelDigi *)
 
float signed_module_coord (const DetId &, const SiPixelCluster *)
 
float signed_module_coord (const SiPixelRecHit *)
 
float signed_module_coord (const TrackingRecHit *)
 
float signed_shifted_blade_panel_coord (const DetId &, const std::pair< int, int > &)
 
float signed_shifted_blade_panel_coord (const DetId &, const PixelDigi *)
 
float signed_shifted_blade_panel_coord (const DetId &, const SiPixelCluster *)
 
float signed_shifted_blade_panel_coord (const SiPixelRecHit *)
 
float signed_shifted_blade_panel_coord (const TrackingRecHit *)
 
 SiPixelCoordinates ()
 
 SiPixelCoordinates (int)
 
virtual ~SiPixelCoordinates ()
 

Private Member Functions

bool isBPix_ (const DetId &)
 
bool isFPix_ (const DetId &)
 
bool isPixel_ (const DetId &)
 
std::pair< int, int > pixel_ (const PixelDigi *)
 
std::pair< int, int > pixel_ (const SiPixelCluster *)
 
std::pair< int, int > pixel_ (const SiPixelRecHit *)
 
float xcoord_on_module_ (const DetId &, const std::pair< int, int > &)
 
float ycoord_on_module_ (const DetId &, const std::pair< int, int > &)
 

Private Attributes

std::unordered_map< uint32_t, int > blade_
 
const SiPixelFedCablingMapcablingMap_
 
std::unordered_map< uint64_t, unsigned int > channel_
 
std::unordered_map< uint32_t, int > disk_
 
std::unordered_map< uint32_t, unsigned int > fedid_
 
std::unordered_map< uint32_t, int > flipped_
 
std::unordered_map< uint32_t, int > half_
 
std::unordered_map< uint32_t, int > ladder_
 
std::unordered_map< uint32_t, int > layer_
 
std::unordered_map< uint32_t, int > module_
 
std::unordered_map< uint32_t, int > outer_
 
std::unordered_map< uint32_t, int > panel_
 
int phase_
 
std::unordered_map< uint32_t, int > quadrant_
 
std::unordered_map< uint32_t, int > ring_
 
std::unordered_map< uint64_t, unsigned int > roc_
 
std::unordered_map< uint32_t, int > sector_
 
std::unordered_map< uint32_t, int > side_
 
std::unordered_map< uint32_t, int > signed_blade_
 
std::unordered_map< uint32_t, int > signed_disk_
 
std::unordered_map< uint32_t, int > signed_ladder_
 
std::unordered_map< uint32_t, int > signed_module_
 
const TrackerGeometrytGeom_
 
const TrackerTopologytTopo_
 

Detailed Description

Definition at line 35 of file SiPixelCoordinates.h.

Constructor & Destructor Documentation

SiPixelCoordinates::SiPixelCoordinates ( )

Definition at line 24 of file SiPixelCoordinates.cc.

References phase_.

SiPixelCoordinates::SiPixelCoordinates ( int  phase)

Definition at line 26 of file SiPixelCoordinates.cc.

SiPixelCoordinates::~SiPixelCoordinates ( )
virtual

Definition at line 28 of file SiPixelCoordinates.cc.

28 {}

Member Function Documentation

int SiPixelCoordinates::blade ( const DetId detid)

Definition at line 223 of file SiPixelCoordinates.cc.

References blade_, isFPix_(), TrackerTopology::pxfBlade(), DetId::rawId(), and tTopo_.

Referenced by blade_coord(), and blade_panel_coord().

223  {
224  if (blade_.count(detid.rawId())) return blade_[detid.rawId()];
225  if (!isFPix_(detid)) return blade_[detid.rawId()] = -9999;
226  return blade_[detid.rawId()] = tTopo_->pxfBlade(detid);
227 }
const TrackerTopology * tTopo_
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:50
std::unordered_map< uint32_t, int > blade_
unsigned int pxfBlade(const DetId &id) const
bool isFPix_(const DetId &)
float SiPixelCoordinates::blade_coord ( const DetId detid,
const std::pair< int, int > &  pixel 
)

Definition at line 757 of file SiPixelCoordinates.cc.

References blade(), isFPix_(), module(), panel(), phase_, side(), xcoord_on_module_(), and ycoord_on_module_().

Referenced by blade_coord(), and blade_panel_coord().

757  {
758  if (!isFPix_(detid)) return -9999;
759  float blade_coord = blade(detid), coord_shift = 0;
760  if (phase_==0) {
761  int rocsY = panel(detid)+module(detid);
762  coord_shift = ycoord_on_module_(detid, pixel) - rocsY/10.;
763  if (side(detid)==1) coord_shift = -coord_shift;
764  } else if (phase_==1) {
765  coord_shift = xcoord_on_module_(detid, pixel) - 0.5;
766  if ((side(detid)+panel(detid))%2==0) coord_shift = -coord_shift;
767  }
768  blade_coord += coord_shift;
769  return blade_coord;
770 }
float ycoord_on_module_(const DetId &, const std::pair< int, int > &)
int side(const DetId &)
int blade(const DetId &)
float blade_coord(const DetId &, const std::pair< int, int > &)
int module(const DetId &)
int panel(const DetId &)
float xcoord_on_module_(const DetId &, const std::pair< int, int > &)
bool isFPix_(const DetId &)
float SiPixelCoordinates::blade_coord ( const DetId detid,
const PixelDigi digi 
)

Definition at line 771 of file SiPixelCoordinates.cc.

References blade_coord(), isFPix_(), and pixel_().

771  {
772  if (!isFPix_(detid)) return -9999;
773  return blade_coord(detid, pixel_(digi));
774 }
float blade_coord(const DetId &, const std::pair< int, int > &)
std::pair< int, int > pixel_(const PixelDigi *)
bool isFPix_(const DetId &)
float SiPixelCoordinates::blade_coord ( const DetId detid,
const SiPixelCluster cluster 
)

Definition at line 775 of file SiPixelCoordinates.cc.

References blade_coord(), isFPix_(), and pixel_().

775  {
776  if (!isFPix_(detid)) return -9999;
777  return blade_coord(detid, pixel_(cluster));
778 }
float blade_coord(const DetId &, const std::pair< int, int > &)
std::pair< int, int > pixel_(const PixelDigi *)
bool isFPix_(const DetId &)
float SiPixelCoordinates::blade_coord ( const SiPixelRecHit rechit)

Definition at line 779 of file SiPixelCoordinates.cc.

References blade_coord(), TrackingRecHit::geographicalId(), isFPix_(), and pixel_().

779  {
780  if (!isFPix_(rechit->geographicalId())) return -9999;
781  return blade_coord(rechit->geographicalId(), pixel_(rechit));
782 }
float blade_coord(const DetId &, const std::pair< int, int > &)
std::pair< int, int > pixel_(const PixelDigi *)
DetId geographicalId() const
bool isFPix_(const DetId &)
float SiPixelCoordinates::blade_coord ( const TrackingRecHit rechit)

Definition at line 783 of file SiPixelCoordinates.cc.

References blade_coord(), TrackingRecHit::geographicalId(), TrackingRecHit::hit(), and isFPix_().

783  {
784  if (!isFPix_(rechit->geographicalId())) return -9999;
785  return blade_coord(static_cast<const SiPixelRecHit*>(rechit->hit()));
786 }
float blade_coord(const DetId &, const std::pair< int, int > &)
virtual TrackingRecHit const * hit() const
DetId geographicalId() const
bool isFPix_(const DetId &)
float SiPixelCoordinates::blade_panel_coord ( const DetId detid,
const std::pair< int, int > &  pixel 
)

Definition at line 833 of file SiPixelCoordinates.cc.

References blade(), blade_coord(), isFPix_(), and panel().

Referenced by blade_panel_coord().

833  {
834  if (!isFPix_(detid)) return -9999;
835  float blade_panel_coord = blade(detid);
836  float coord_shift = (blade_coord(detid, pixel) - blade_panel_coord + panel(detid) - 1.5)/2;
837  blade_panel_coord += coord_shift;
838  return blade_panel_coord;
839 }
int blade(const DetId &)
float blade_coord(const DetId &, const std::pair< int, int > &)
int panel(const DetId &)
float blade_panel_coord(const DetId &, const std::pair< int, int > &)
bool isFPix_(const DetId &)
float SiPixelCoordinates::blade_panel_coord ( const DetId detid,
const PixelDigi digi 
)

Definition at line 840 of file SiPixelCoordinates.cc.

References blade_panel_coord(), isFPix_(), and pixel_().

840  {
841  if (!isFPix_(detid)) return -9999;
842  return blade_panel_coord(detid, pixel_(digi));
843 }
std::pair< int, int > pixel_(const PixelDigi *)
float blade_panel_coord(const DetId &, const std::pair< int, int > &)
bool isFPix_(const DetId &)
float SiPixelCoordinates::blade_panel_coord ( const DetId detid,
const SiPixelCluster cluster 
)

Definition at line 844 of file SiPixelCoordinates.cc.

References blade_panel_coord(), isFPix_(), and pixel_().

844  {
845  if (!isFPix_(detid)) return -9999;
846  return blade_panel_coord(detid, pixel_(cluster));
847 }
std::pair< int, int > pixel_(const PixelDigi *)
float blade_panel_coord(const DetId &, const std::pair< int, int > &)
bool isFPix_(const DetId &)
float SiPixelCoordinates::blade_panel_coord ( const SiPixelRecHit rechit)

Definition at line 848 of file SiPixelCoordinates.cc.

References blade_panel_coord(), TrackingRecHit::geographicalId(), isFPix_(), and pixel_().

848  {
849  if (!isFPix_(rechit->geographicalId())) return -9999;
850  return blade_panel_coord(rechit->geographicalId(), pixel_(rechit));
851 }
std::pair< int, int > pixel_(const PixelDigi *)
DetId geographicalId() const
float blade_panel_coord(const DetId &, const std::pair< int, int > &)
bool isFPix_(const DetId &)
float SiPixelCoordinates::blade_panel_coord ( const TrackingRecHit rechit)

Definition at line 852 of file SiPixelCoordinates.cc.

References blade_panel_coord(), TrackingRecHit::geographicalId(), TrackingRecHit::hit(), and isFPix_().

852  {
853  if (!isFPix_(rechit->geographicalId())) return -9999;
854  return blade_panel_coord(static_cast<const SiPixelRecHit*>(rechit->hit()));
855 }
virtual TrackingRecHit const * hit() const
DetId geographicalId() const
float blade_panel_coord(const DetId &, const std::pair< int, int > &)
bool isFPix_(const DetId &)
int SiPixelCoordinates::channel ( const DetId detid,
const std::pair< int, int > &  pixel 
)

Definition at line 335 of file SiPixelCoordinates.cc.

References cablingMap_, channel_, PixelTopology::colsperroc(), gamEcalExtractorBlocks_cff::detector, l1t::stage2::layer2::fedId, fedid(), half(), sipixelobjects::PixelROC::idInDetUnit(), TrackerGeometry::idToDetUnit(), isPixel_(), sipixelobjects::ElectronicIndex::link, phase_, PixelSubdetector::PixelBarrel, DetId::rawId(), sipixelobjects::ElectronicIndex::roc, roc(), roc_, PixelTopology::rowsperroc(), side(), PixelGeomDetUnit::specificTopology(), DetId::subdetId(), tGeom_, SiPixelFrameConverter::toCabling(), and SiPixelFrameConverter::toRoc().

Referenced by channel().

335  {
336  if (!isPixel_(detid)) return -9999;
337  // The method below may be slow when looping on a lot of pixels, so let's try to speed it up
338  // by quickly chategorizing pixels to ROC coordinates inside det units
339  int rowsperroc = 80, colsperroc = 52;
340  if (phase_==2) {
341  // Can get roc info from Geometry for Phase 2, this will need to be specified when it's final
342  const PixelGeomDetUnit* detUnit = static_cast<const PixelGeomDetUnit*>(tGeom_->idToDetUnit(detid));
343  const PixelTopology* topo = static_cast<const PixelTopology*>(&detUnit->specificTopology());
344  rowsperroc = topo->rowsperroc();
345  colsperroc = topo->colsperroc();
346  }
347  // It is unlikely a ROC would have more than 256 chips, so let's use this formula
348  // If a ROC number was ever found, then binary search in a map will be much quicker
349  uint64_t pseudo_roc_num = uint64_t(1<<16) * detid.rawId() + (1<<8) * (pixel.first/rowsperroc) + pixel.second/colsperroc;
350  if (channel_.count(pseudo_roc_num)) return channel_[pseudo_roc_num];
351  // If not found previously, get the channel number
352  unsigned int fedId = fedid(detid);
354  sipixelobjects::DetectorIndex detector = { detid.rawId(), pixel.first, pixel.second };
356  converter.toCabling(cabling, detector);
357  // Time consuming part is over, so let's save the roc number too
358  const sipixelobjects::PixelROC *theRoc = converter.toRoc(cabling.link, cabling.roc);
359  int roc = theRoc->idInDetUnit();
360  if (detid.subdetId() == PixelSubdetector::PixelBarrel && side(detid)==1 && half(detid)) roc += 8;
361  roc_[pseudo_roc_num] = roc;
362  //printf ("Online FED, LNK, LNKID, ROC: %2d %2d %2d %2d - Offline RAWID, ROW, COL: %9d [%3d,%3d] [%3d,%3d]\n",
363  // fedId, cabling.link, cabling.roc, roc, detid.rawId(),
364  // (pixel.first /rowsperroc)*rowsperroc, (pixel.first /rowsperroc+1)*rowsperroc-1,
365  // (pixel.second/colsperroc)*colsperroc, (pixel.second/colsperroc+1)*colsperroc-1);
366  return channel_[pseudo_roc_num] = cabling.link;
367 }
std::unordered_map< uint64_t, unsigned int > channel_
virtual int rowsperroc() const =0
bool isPixel_(const DetId &)
int side(const DetId &)
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:50
unsigned int fedid(const DetId &)
const TrackerGeomDet * idToDetUnit(DetId) const override
Return the pointer to the GeomDetUnit corresponding to a given DetId.
int half(const DetId &)
virtual int colsperroc() const =0
unsigned int idInDetUnit() const
id of this ROC in DetUnit etermined by token path
Definition: PixelROC.h:40
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:41
const SiPixelFedCablingMap * cablingMap_
int roc(const DetId &, const std::pair< int, int > &)
unsigned long long uint64_t
Definition: Time.h:15
const TrackerGeometry * tGeom_
virtual const PixelTopology & specificTopology() const
Returns a reference to the pixel proxy topology.
std::unordered_map< uint64_t, unsigned int > roc_
int SiPixelCoordinates::channel ( const DetId detid,
const PixelDigi digi 
)

Definition at line 368 of file SiPixelCoordinates.cc.

References channel(), isPixel_(), and pixel_().

368  {
369  if (!isPixel_(detid)) return -9999;
370  return channel(detid, pixel_(digi));
371 }
bool isPixel_(const DetId &)
std::pair< int, int > pixel_(const PixelDigi *)
int channel(const DetId &, const std::pair< int, int > &)
int SiPixelCoordinates::channel ( const DetId detid,
const SiPixelCluster cluster 
)

Definition at line 372 of file SiPixelCoordinates.cc.

References channel(), isPixel_(), and pixel_().

372  {
373  if (!isPixel_(detid)) return -9999;
374  return channel(detid, pixel_(cluster));
375 }
bool isPixel_(const DetId &)
std::pair< int, int > pixel_(const PixelDigi *)
int channel(const DetId &, const std::pair< int, int > &)
int SiPixelCoordinates::channel ( const SiPixelRecHit rechit)

Definition at line 376 of file SiPixelCoordinates.cc.

References channel(), TrackingRecHit::geographicalId(), isPixel_(), and pixel_().

376  {
377  if (!isPixel_(rechit->geographicalId())) return -9999;
378  return channel(rechit->geographicalId(), pixel_(rechit));
379 }
bool isPixel_(const DetId &)
std::pair< int, int > pixel_(const PixelDigi *)
int channel(const DetId &, const std::pair< int, int > &)
DetId geographicalId() const
int SiPixelCoordinates::channel ( const TrackingRecHit rechit)

Definition at line 380 of file SiPixelCoordinates.cc.

References channel(), TrackingRecHit::geographicalId(), TrackingRecHit::hit(), and isPixel_().

380  {
381  if (!isPixel_(rechit->geographicalId())) return -9999;
382  return channel(static_cast<const SiPixelRecHit*>(rechit->hit()));
383 }
bool isPixel_(const DetId &)
int channel(const DetId &, const std::pair< int, int > &)
virtual TrackingRecHit const * hit() const
DetId geographicalId() const
int SiPixelCoordinates::disk ( const DetId detid)

Definition at line 181 of file SiPixelCoordinates.cc.

References disk_, isFPix_(), TrackerTopology::pxfDisk(), DetId::rawId(), and tTopo_.

Referenced by disk_coord(), disk_ring_coord(), and signed_disk().

181  {
182  if (disk_.count(detid.rawId())) return disk_[detid.rawId()];
183  if (!isFPix_(detid)) return disk_[detid.rawId()] = -9999;
184  return disk_[detid.rawId()] = tTopo_->pxfDisk(detid);
185 }
unsigned int pxfDisk(const DetId &id) const
const TrackerTopology * tTopo_
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:50
std::unordered_map< uint32_t, int > disk_
bool isFPix_(const DetId &)
float SiPixelCoordinates::disk_coord ( const DetId detid,
const std::pair< int, int > &  pixel 
)

Definition at line 634 of file SiPixelCoordinates.cc.

References disk(), isFPix_(), ring(), and ring_coord().

Referenced by disk_coord().

634  {
635  if (!isFPix_(detid)) return -9999;
636  float disk_coord = disk(detid), coord_shift = ring_coord(detid,pixel)-ring(detid);
637  disk_coord += coord_shift;
638  return disk_coord;
639 }
float ring_coord(const DetId &, const std::pair< int, int > &)
float disk_coord(const DetId &, const std::pair< int, int > &)
int ring(const DetId &)
int disk(const DetId &)
bool isFPix_(const DetId &)
float SiPixelCoordinates::disk_coord ( const DetId detid,
const PixelDigi digi 
)

Definition at line 640 of file SiPixelCoordinates.cc.

References disk_coord(), isFPix_(), and pixel_().

640  {
641  if (!isFPix_(detid)) return -9999;
642  return disk_coord(detid, pixel_(digi));
643 }
float disk_coord(const DetId &, const std::pair< int, int > &)
std::pair< int, int > pixel_(const PixelDigi *)
bool isFPix_(const DetId &)
float SiPixelCoordinates::disk_coord ( const DetId detid,
const SiPixelCluster cluster 
)

Definition at line 644 of file SiPixelCoordinates.cc.

References disk_coord(), isFPix_(), and pixel_().

644  {
645  if (!isFPix_(detid)) return -9999;
646  return disk_coord(detid, pixel_(cluster));
647 }
float disk_coord(const DetId &, const std::pair< int, int > &)
std::pair< int, int > pixel_(const PixelDigi *)
bool isFPix_(const DetId &)
float SiPixelCoordinates::disk_coord ( const SiPixelRecHit rechit)

Definition at line 648 of file SiPixelCoordinates.cc.

References disk_coord(), TrackingRecHit::geographicalId(), isFPix_(), and pixel_().

648  {
649  if (!isFPix_(rechit->geographicalId())) return -9999;
650  return disk_coord(rechit->geographicalId(), pixel_(rechit));
651 }
float disk_coord(const DetId &, const std::pair< int, int > &)
std::pair< int, int > pixel_(const PixelDigi *)
DetId geographicalId() const
bool isFPix_(const DetId &)
float SiPixelCoordinates::disk_coord ( const TrackingRecHit rechit)

Definition at line 652 of file SiPixelCoordinates.cc.

References disk_coord(), TrackingRecHit::geographicalId(), TrackingRecHit::hit(), and isFPix_().

652  {
653  if (!isFPix_(rechit->geographicalId())) return -9999;
654  return disk_coord(static_cast<const SiPixelRecHit*>(rechit->hit()));
655 }
float disk_coord(const DetId &, const std::pair< int, int > &)
virtual TrackingRecHit const * hit() const
DetId geographicalId() const
bool isFPix_(const DetId &)
float SiPixelCoordinates::disk_ring_coord ( const DetId detid,
const std::pair< int, int > &  pixel 
)

Definition at line 688 of file SiPixelCoordinates.cc.

References disk(), isFPix_(), and ring_coord().

Referenced by disk_ring_coord().

688  {
689  if (!isFPix_(detid)) return -9999;
690  float disk_ring_coord = disk(detid), coord_shift = 0;
691  //if (phase_==0) coord_shift = (ring_coord(detid,pixel) - 1.625) / 1.5;
692  //else if (phase_==1) coord_shift = (ring_coord(detid,pixel) - 1.5 ) / 2.0;
693  coord_shift = (ring_coord(detid,pixel) - 1.5 ) / 2.0;
694  disk_ring_coord += coord_shift;
695  return disk_ring_coord;
696 }
float disk_ring_coord(const DetId &, const std::pair< int, int > &)
float ring_coord(const DetId &, const std::pair< int, int > &)
int disk(const DetId &)
bool isFPix_(const DetId &)
float SiPixelCoordinates::disk_ring_coord ( const DetId detid,
const PixelDigi digi 
)

Definition at line 697 of file SiPixelCoordinates.cc.

References disk_ring_coord(), isFPix_(), and pixel_().

697  {
698  if (!isFPix_(detid)) return -9999;
699  return disk_ring_coord(detid, pixel_(digi));
700 }
float disk_ring_coord(const DetId &, const std::pair< int, int > &)
std::pair< int, int > pixel_(const PixelDigi *)
bool isFPix_(const DetId &)
float SiPixelCoordinates::disk_ring_coord ( const DetId detid,
const SiPixelCluster cluster 
)

Definition at line 701 of file SiPixelCoordinates.cc.

References disk_ring_coord(), isFPix_(), and pixel_().

701  {
702  if (!isFPix_(detid)) return -9999;
703  return disk_ring_coord(detid, pixel_(cluster));
704 }
float disk_ring_coord(const DetId &, const std::pair< int, int > &)
std::pair< int, int > pixel_(const PixelDigi *)
bool isFPix_(const DetId &)
float SiPixelCoordinates::disk_ring_coord ( const SiPixelRecHit rechit)

Definition at line 705 of file SiPixelCoordinates.cc.

References disk_ring_coord(), TrackingRecHit::geographicalId(), isFPix_(), and pixel_().

705  {
706  if (!isFPix_(rechit->geographicalId())) return -9999;
707  return disk_ring_coord(rechit->geographicalId(), pixel_(rechit));
708 }
float disk_ring_coord(const DetId &, const std::pair< int, int > &)
std::pair< int, int > pixel_(const PixelDigi *)
DetId geographicalId() const
bool isFPix_(const DetId &)
float SiPixelCoordinates::disk_ring_coord ( const TrackingRecHit rechit)

Definition at line 709 of file SiPixelCoordinates.cc.

References disk_ring_coord(), TrackingRecHit::geographicalId(), TrackingRecHit::hit(), and isFPix_().

709  {
710  if (!isFPix_(rechit->geographicalId())) return -9999;
711  return disk_ring_coord(static_cast<const SiPixelRecHit*>(rechit->hit()));
712 }
float disk_ring_coord(const DetId &, const std::pair< int, int > &)
virtual TrackingRecHit const * hit() const
DetId geographicalId() const
bool isFPix_(const DetId &)
unsigned int SiPixelCoordinates::fedid ( const DetId detid)

Definition at line 240 of file SiPixelCoordinates.cc.

References cablingMap_, l1t::stage2::layer2::fedId, fedid_, SiPixelFedCablingMap::fedIds(), SiPixelFrameConverter::hasDetUnit(), isPixel_(), and DetId::rawId().

Referenced by channel(), and roc().

240  {
241  if (fedid_.count(detid.rawId())) return fedid_[detid.rawId()];
242  if (!isPixel_(detid)) return fedid_[detid.rawId()] = 9999;
243  unsigned int fedid = 9999;
244  for(auto& fedId : cablingMap_->fedIds()) {
246  fedid=fedId;
247  break;
248  }
249  }
250  return fedid_[detid.rawId()] = fedid;
251 }
bool isPixel_(const DetId &)
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:50
unsigned int fedid(const DetId &)
const SiPixelFedCablingMap * cablingMap_
bool hasDetUnit(uint32_t radId) const
std::vector< unsigned int > fedIds() const
std::unordered_map< uint32_t, unsigned int > fedid_
int SiPixelCoordinates::flipped ( const DetId detid)

Definition at line 172 of file SiPixelCoordinates.cc.

References flipped_, isBPix_(), outer(), phase_, and DetId::rawId().

Referenced by ladder_coord(), and signed_ladder_coord().

172  {
173  if (flipped_.count(detid.rawId())) return flipped_[detid.rawId()];
174  if (!isBPix_(detid)) return flipped_[detid.rawId()] = -9999;
175  int flipped = -9999;
176  if (phase_ < 2) flipped = outer(detid)==0;
177  return flipped_[detid.rawId()] = flipped;
178 }
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:50
int flipped(const DetId &)
bool isBPix_(const DetId &)
std::unordered_map< uint32_t, int > flipped_
int outer(const DetId &)
int SiPixelCoordinates::half ( const DetId detid)

Definition at line 143 of file SiPixelCoordinates.cc.

References half_, isBPix_(), PixelBarrelName::isHalfModule(), phase_, DetId::rawId(), and tTopo_.

Referenced by channel(), ladder_coord(), roc(), and signed_ladder_coord().

143  {
144  if (half_.count(detid.rawId())) return half_[detid.rawId()];
145  if (!isBPix_(detid)) return half_[detid.rawId()] = -9999;
146  return half_[detid.rawId()] = PixelBarrelName(detid, tTopo_, phase_).isHalfModule();
147 }
std::unordered_map< uint32_t, int > half_
const TrackerTopology * tTopo_
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:50
bool isBPix_(const DetId &)
bool isHalfModule() const
full or half module
void SiPixelCoordinates::init ( edm::EventSetup const &  iSetup)

Definition at line 33 of file SiPixelCoordinates.cc.

References cablingMap_, SiPixelFedCablingMap::det2fedMap(), fedid_, edm::EventSetup::get(), GeomDetEnumerators::P1PXB, GeomDetEnumerators::P1PXEC, phase_, GeomDetEnumerators::PixelBarrel, GeomDetEnumerators::PixelEndcap, edm::ESHandle< T >::product(), tGeom_, and tTopo_.

Referenced by SiPixelStatusHarvester::endRunProduce().

33  {
34  // Get CablingMap (used for ROC number)
35  edm::ESHandle<SiPixelFedCablingMap> cablingMapHandle;
36  iSetup.get<SiPixelFedCablingMapRcd>().get(cablingMapHandle);
37  cablingMap_ = cablingMapHandle.product();
39 
40  // Get TrackerTopology
41  edm::ESHandle<TrackerTopology> trackerTopologyHandle;
42  iSetup.get<TrackerTopologyRcd>().get(trackerTopologyHandle);
43  tTopo_ = trackerTopologyHandle.product();
44 
45  // Get TrackerGeometry
46  edm::ESHandle<TrackerGeometry> trackerGeometryHandle;
47  iSetup.get<TrackerDigiGeometryRecord>().get(trackerGeometryHandle);
48  tGeom_ = trackerGeometryHandle.product();
49 
50  // If not specified, determine from the geometry
51  if (phase_==-1) {
52  if (tGeom_ -> isThere(GeomDetEnumerators::PixelBarrel) &&
54  phase_ = 0;
55  else if (tGeom_ -> isThere(GeomDetEnumerators::P1PXB) &&
57  phase_ = 1;
58  else if (tGeom_ -> isThere(GeomDetEnumerators::P1PXB) &&
60  phase_ = 2;
61  }
62 }
const TrackerTopology * tTopo_
const SiPixelFedCablingMap * cablingMap_
std::unordered_map< uint32_t, unsigned int > det2fedMap() const final
const TrackerGeometry * tGeom_
T const * product() const
Definition: ESHandle.h:86
std::unordered_map< uint32_t, unsigned int > fedid_
bool SiPixelCoordinates::isBPix_ ( const DetId detid)
private

Definition at line 262 of file SiPixelCoordinates.cc.

References DetId::det(), PixelSubdetector::PixelBarrel, DetId::subdetId(), and DetId::Tracker.

Referenced by flipped(), half(), ladder(), ladder_coord(), layer(), module_coord(), outer(), sector(), signed_ladder(), signed_ladder_coord(), signed_module(), and signed_module_coord().

262  {
263  if (detid.det() != DetId::Tracker) return false;
264  if (detid.subdetId() == PixelSubdetector::PixelBarrel) return true;
265  return false;
266 }
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:41
constexpr Detector det() const
get the detector field from this detid
Definition: DetId.h:39
bool SiPixelCoordinates::isFPix_ ( const DetId detid)
private

Definition at line 267 of file SiPixelCoordinates.cc.

References DetId::det(), PixelSubdetector::PixelEndcap, DetId::subdetId(), and DetId::Tracker.

Referenced by blade(), blade_coord(), blade_panel_coord(), disk(), disk_coord(), disk_ring_coord(), panel(), ring(), ring_coord(), signed_blade(), signed_blade_coord(), signed_blade_panel_coord(), signed_disk(), signed_disk_coord(), signed_disk_ring_coord(), signed_shifted_blade_panel_coord(), and ycoord_on_module_().

267  {
268  if (detid.det() != DetId::Tracker) return false;
269  if (detid.subdetId() == PixelSubdetector::PixelEndcap) return true;
270  return false;
271 }
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:41
constexpr Detector det() const
get the detector field from this detid
Definition: DetId.h:39
bool SiPixelCoordinates::isPixel_ ( const DetId detid)
private

Definition at line 256 of file SiPixelCoordinates.cc.

References DetId::det(), PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, DetId::subdetId(), and DetId::Tracker.

Referenced by channel(), fedid(), module(), quadrant(), roc(), and side().

256  {
257  if (detid.det() != DetId::Tracker) return false;
258  if (detid.subdetId() == PixelSubdetector::PixelBarrel) return true;
259  if (detid.subdetId() == PixelSubdetector::PixelEndcap) return true;
260  return false;
261 }
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:41
constexpr Detector det() const
get the detector field from this detid
Definition: DetId.h:39
int SiPixelCoordinates::ladder ( const DetId detid)

Definition at line 116 of file SiPixelCoordinates.cc.

References isBPix_(), ladder_, TrackerTopology::pxbLadder(), DetId::rawId(), and tTopo_.

Referenced by ladder_coord().

116  {
117  if (ladder_.count(detid.rawId())) return ladder_[detid.rawId()];
118  if (!isBPix_(detid)) return ladder_[detid.rawId()] = -9999;
119  return ladder_[detid.rawId()] = tTopo_->pxbLadder(detid);
120 }
std::unordered_map< uint32_t, int > ladder_
const TrackerTopology * tTopo_
unsigned int pxbLadder(const DetId &id) const
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:50
bool isBPix_(const DetId &)
float SiPixelCoordinates::ladder_coord ( const DetId detid,
const std::pair< int, int > &  pixel 
)

Definition at line 527 of file SiPixelCoordinates.cc.

References flipped(), half(), isBPix_(), ladder(), Validation_hcalonly_cfi::sign, and xcoord_on_module_().

Referenced by ladder_coord().

527  {
528  if (!isBPix_(detid)) return -9999;
529  // offline ladder number is monotonously increasing with global phi
530  // flipped/inner ladders: lx parallel to global r-phi - positive sign
531  // non-flipped/outer ladders: lx anti-parallel to global r-phi - negative sign
532  int sign = flipped(detid) ? 1 : -1;
533  return ladder(detid) + sign * (xcoord_on_module_(detid, pixel) + half(detid)*0.5 - 0.5);
534 }
int flipped(const DetId &)
bool isBPix_(const DetId &)
int half(const DetId &)
float xcoord_on_module_(const DetId &, const std::pair< int, int > &)
int ladder(const DetId &)
float SiPixelCoordinates::ladder_coord ( const DetId detid,
const PixelDigi digi 
)

Definition at line 535 of file SiPixelCoordinates.cc.

References isBPix_(), ladder_coord(), and pixel_().

535  {
536  if (!isBPix_(detid)) return -9999;
537  return ladder_coord(detid, pixel_(digi));
538 }
float ladder_coord(const DetId &, const std::pair< int, int > &)
bool isBPix_(const DetId &)
std::pair< int, int > pixel_(const PixelDigi *)
float SiPixelCoordinates::ladder_coord ( const DetId detid,
const SiPixelCluster cluster 
)

Definition at line 539 of file SiPixelCoordinates.cc.

References isBPix_(), ladder_coord(), and pixel_().

539  {
540  if (!isBPix_(detid)) return -9999;
541  return ladder_coord(detid, pixel_(cluster));
542 }
float ladder_coord(const DetId &, const std::pair< int, int > &)
bool isBPix_(const DetId &)
std::pair< int, int > pixel_(const PixelDigi *)
float SiPixelCoordinates::ladder_coord ( const SiPixelRecHit rechit)

Definition at line 543 of file SiPixelCoordinates.cc.

References TrackingRecHit::geographicalId(), isBPix_(), ladder_coord(), and pixel_().

543  {
544  if (!isBPix_(rechit->geographicalId())) return -9999;
545  return ladder_coord(rechit->geographicalId(), pixel_(rechit));
546 }
float ladder_coord(const DetId &, const std::pair< int, int > &)
bool isBPix_(const DetId &)
std::pair< int, int > pixel_(const PixelDigi *)
DetId geographicalId() const
float SiPixelCoordinates::ladder_coord ( const TrackingRecHit rechit)

Definition at line 547 of file SiPixelCoordinates.cc.

References TrackingRecHit::geographicalId(), TrackingRecHit::hit(), isBPix_(), and ladder_coord().

547  {
548  if (!isBPix_(rechit->geographicalId())) return -9999;
549  return ladder_coord(static_cast<const SiPixelRecHit*>(rechit->hit()));
550 }
float ladder_coord(const DetId &, const std::pair< int, int > &)
bool isBPix_(const DetId &)
virtual TrackingRecHit const * hit() const
DetId geographicalId() const
int SiPixelCoordinates::layer ( const DetId detid)

Definition at line 102 of file SiPixelCoordinates.cc.

References isBPix_(), layer_, TrackerTopology::pxbLayer(), DetId::rawId(), and tTopo_.

Referenced by SiPixelStatusHarvester::endRunProduce(), geometryXMLparser.DTAlignable::index(), geometryXMLparser.CSCAlignable::index(), outer(), SiPixelStatusHarvester::perLayerRingAverage(), and SiPixelStatusHarvester::substructure().

102  {
103  if (layer_.count(detid.rawId())) return layer_[detid.rawId()];
104  if (!isBPix_(detid)) return layer_[detid.rawId()] = -9999;
105  return layer_[detid.rawId()] = tTopo_->pxbLayer(detid);
106 }
const TrackerTopology * tTopo_
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:50
bool isBPix_(const DetId &)
std::unordered_map< uint32_t, int > layer_
unsigned int pxbLayer(const DetId &id) const
int SiPixelCoordinates::module ( const DetId detid)

Definition at line 92 of file SiPixelCoordinates.cc.

References isPixel_(), module_, PixelSubdetector::PixelBarrel, TrackerTopology::pxbModule(), TrackerTopology::pxfModule(), DetId::rawId(), DetId::subdetId(), and tTopo_.

Referenced by blade_coord(), module_coord(), ring(), ring_coord(), roc(), and signed_blade_coord().

92  {
93  if (module_.count(detid.rawId())) return module_[detid.rawId()];
94  if (!isPixel_(detid)) return module_[detid.rawId()] = -9999;
96  return module_[detid.rawId()] = tTopo_->pxbModule(detid.rawId());
97  else
98  return module_[detid.rawId()] = tTopo_->pxfModule(detid.rawId());
99 }
bool isPixel_(const DetId &)
const TrackerTopology * tTopo_
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:50
unsigned int pxbModule(const DetId &id) const
std::unordered_map< uint32_t, int > module_
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:41
unsigned int pxfModule(const DetId &id) const
float SiPixelCoordinates::module_coord ( const DetId detid,
const std::pair< int, int > &  pixel 
)

Definition at line 479 of file SiPixelCoordinates.cc.

References isBPix_(), module(), and ycoord_on_module_().

Referenced by module_coord().

479  {
480  if (!isBPix_(detid)) return -9999;
481  // offline module number is monotonously increasing with global z
482  // sign is negative because local y is antiparallel to global z
483  return module(detid) - (ycoord_on_module_(detid, pixel) - 0.5);
484 }
float ycoord_on_module_(const DetId &, const std::pair< int, int > &)
int module(const DetId &)
bool isBPix_(const DetId &)
float SiPixelCoordinates::module_coord ( const DetId detid,
const PixelDigi digi 
)

Definition at line 485 of file SiPixelCoordinates.cc.

References isBPix_(), module_coord(), and pixel_().

485  {
486  if (!isBPix_(detid)) return -9999;
487  return module_coord(detid, pixel_(digi));
488 }
bool isBPix_(const DetId &)
std::pair< int, int > pixel_(const PixelDigi *)
float module_coord(const DetId &, const std::pair< int, int > &)
float SiPixelCoordinates::module_coord ( const DetId detid,
const SiPixelCluster cluster 
)

Definition at line 489 of file SiPixelCoordinates.cc.

References isBPix_(), module_coord(), and pixel_().

489  {
490  if (!isBPix_(detid)) return -9999;
491  return module_coord(detid, pixel_(cluster));
492 }
bool isBPix_(const DetId &)
std::pair< int, int > pixel_(const PixelDigi *)
float module_coord(const DetId &, const std::pair< int, int > &)
float SiPixelCoordinates::module_coord ( const SiPixelRecHit rechit)

Definition at line 493 of file SiPixelCoordinates.cc.

References TrackingRecHit::geographicalId(), isBPix_(), module_coord(), and pixel_().

493  {
494  if (!isBPix_(rechit->geographicalId())) return -9999;
495  return module_coord(rechit->geographicalId(), pixel_(rechit));
496 }
bool isBPix_(const DetId &)
std::pair< int, int > pixel_(const PixelDigi *)
DetId geographicalId() const
float module_coord(const DetId &, const std::pair< int, int > &)
float SiPixelCoordinates::module_coord ( const TrackingRecHit rechit)

Definition at line 497 of file SiPixelCoordinates.cc.

References TrackingRecHit::geographicalId(), TrackingRecHit::hit(), isBPix_(), and module_coord().

497  {
498  if (!isBPix_(rechit->geographicalId())) return -9999;
499  return module_coord(static_cast<const SiPixelRecHit*>(rechit->hit()));
500 }
bool isBPix_(const DetId &)
virtual TrackingRecHit const * hit() const
DetId geographicalId() const
float module_coord(const DetId &, const std::pair< int, int > &)
int SiPixelCoordinates::outer ( const DetId detid)

Definition at line 154 of file SiPixelCoordinates.cc.

References isBPix_(), layer(), outer_, phase_, TrackerTopology::pxbLadder(), TrackerTopology::pxbLayer(), DetId::rawId(), and tTopo_.

Referenced by flipped().

154  {
155  if (outer_.count(detid.rawId())) return outer_[detid.rawId()];
156  if (!isBPix_(detid)) return outer_[detid.rawId()] = -9999;
157  int outer = -9999;
158  int layer = tTopo_->pxbLayer(detid.rawId());
159  bool odd_ladder = tTopo_->pxbLadder(detid.rawId())%2;
160  if (phase_ == 0) {
161  if (layer==2) outer = !odd_ladder;
162  else outer = odd_ladder;
163  } else if (phase_ == 1) {
164  if (layer==4) outer = odd_ladder;
165  else outer = !odd_ladder;
166  }
167  return outer_[detid.rawId()] = outer;
168 }
const TrackerTopology * tTopo_
unsigned int pxbLadder(const DetId &id) const
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:50
bool isBPix_(const DetId &)
int layer(const DetId &)
std::unordered_map< uint32_t, int > outer_
unsigned int pxbLayer(const DetId &id) const
int outer(const DetId &)
int SiPixelCoordinates::panel ( const DetId detid)

Definition at line 198 of file SiPixelCoordinates.cc.

References isFPix_(), panel_, TrackerTopology::pxfPanel(), DetId::rawId(), and tTopo_.

Referenced by blade_coord(), blade_panel_coord(), ring(), ring_coord(), roc(), signed_blade_coord(), signed_blade_panel_coord(), and signed_shifted_blade_panel_coord().

198  {
199  if (panel_.count(detid.rawId())) return panel_[detid.rawId()];
200  if (!isFPix_(detid)) return panel_[detid.rawId()] = -9999;
201  return panel_[detid.rawId()] = tTopo_->pxfPanel(detid);
202 }
std::unordered_map< uint32_t, int > panel_
const TrackerTopology * tTopo_
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:50
unsigned int pxfPanel(const DetId &id) const
bool isFPix_(const DetId &)
std::pair< int, int > SiPixelCoordinates::pixel_ ( const PixelDigi digi)
private
std::pair< int, int > SiPixelCoordinates::pixel_ ( const SiPixelCluster cluster)
private

Definition at line 276 of file SiPixelCoordinates.cc.

References cuy::col, SiPixelCluster::x(), and SiPixelCluster::y().

276  {
277  // Cluster positions are already shifted by 0.5
278  // We remove this and add back later (for all pixels)
279  // The aim is to get the offline row/col number of the pixel
280  int row = cluster->x()-0.5, col = cluster->y()-0.5;
281  return std::make_pair(row, col);
282 }
col
Definition: cuy.py:1010
float y() const
float x() const
std::pair< int, int > SiPixelCoordinates::pixel_ ( const SiPixelRecHit rechit)
private

Definition at line 283 of file SiPixelCoordinates.cc.

References cuy::col, TrackerSingleRecHit::detUnit(), createfilelist::int, BaseTrackerRecHit::localPosition(), SiStripPI::max, min(), PixelTopology::ncolumns(), PixelTopology::nrows(), digitizers_cfi::pixel, PixelTopology::pixel(), and PixelGeomDetUnit::specificTopology().

283  {
284  // Convert RecHit local position to local pixel using Topology
285  const PixelGeomDetUnit* detUnit = static_cast<const PixelGeomDetUnit*>(rechit->detUnit());
286  const PixelTopology* topo = static_cast<const PixelTopology*>(&detUnit->specificTopology());
287  std::pair<float, float> pixel = topo->pixel(rechit->localPosition());
288  // We could leave it like this, but it's better to constrain pixel to be on the module
289  // Also truncate floating point to int (similar to digis)
290  int row = std::max(0, std::min(topo->nrows()-1, (int)pixel.first));
291  int col = std::max(0, std::min(topo->ncolumns()-1, (int)pixel.second));
292  return std::make_pair(row, col);
293 }
virtual std::pair< float, float > pixel(const LocalPoint &p) const =0
virtual int nrows() const =0
T min(T a, T b)
Definition: MathUtil.h:58
virtual const PixelTopology & specificTopology() const
Returns a reference to the pixel proxy topology.
const GeomDetUnit * detUnit() const override
virtual int ncolumns() const =0
col
Definition: cuy.py:1010
LocalPoint localPosition() const final
int SiPixelCoordinates::quadrant ( const DetId detid)

Definition at line 70 of file SiPixelCoordinates.cc.

References PixelEndcapName::halfCylinder(), isPixel_(), phase_, PixelSubdetector::PixelBarrel, quadrant_, DetId::rawId(), PixelBarrelName::shell(), DetId::subdetId(), and tTopo_.

Referenced by side(), signed_blade(), signed_disk(), signed_ladder(), and signed_module().

70  {
71  if (quadrant_.count(detid.rawId())) return quadrant_[detid.rawId()];
72  if (!isPixel_(detid)) return quadrant_[detid.rawId()] = -9999;
74  return quadrant_[detid.rawId()] = PixelBarrelName(detid, tTopo_, phase_).shell();
75  else
76  return quadrant_[detid.rawId()] = PixelEndcapName(detid, tTopo_, phase_).halfCylinder();
77 }
bool isPixel_(const DetId &)
const TrackerTopology * tTopo_
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:50
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:41
std::unordered_map< uint32_t, int > quadrant_
Shell shell() const
HalfCylinder halfCylinder() const
int SiPixelCoordinates::ring ( const DetId detid)

Definition at line 210 of file SiPixelCoordinates.cc.

References isFPix_(), module(), panel(), phase_, DetId::rawId(), ring_, PixelEndcapName::ringName(), and tTopo_.

Referenced by disk_coord(), SiPixelStatusHarvester::endRunProduce(), geometryXMLparser.CSCAlignable::index(), SiPixelStatusHarvester::perLayerRingAverage(), ring_coord(), signed_disk_coord(), signed_shifted_blade_panel_coord(), and SiPixelStatusHarvester::substructure().

210  {
211  if (ring_.count(detid.rawId())) return ring_[detid.rawId()];
212  if (!isFPix_(detid)) return ring_[detid.rawId()] = -9999;
213  int ring = -9999;
214  if (phase_==0) {
215  ring = 1 + (panel(detid)+module(detid)>3);
216  } else if (phase_==1) {
217  ring = PixelEndcapName(detid, tTopo_, phase_).ringName();
218  }
219  return ring_[detid.rawId()] = ring;
220 }
const TrackerTopology * tTopo_
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:50
int ring(const DetId &)
int module(const DetId &)
std::unordered_map< uint32_t, int > ring_
int panel(const DetId &)
int ringName() const
ring Id
bool isFPix_(const DetId &)
float SiPixelCoordinates::ring_coord ( const DetId detid,
const std::pair< int, int > &  pixel 
)

Definition at line 586 of file SiPixelCoordinates.cc.

References isFPix_(), mod(), module(), panel(), phase_, ring(), xcoord_on_module_(), and ycoord_on_module_().

Referenced by disk_coord(), disk_ring_coord(), ring_coord(), signed_disk_coord(), and signed_disk_ring_coord().

586  {
587  if (!isFPix_(detid)) return -9999;
588  float ring_coord = ring(detid), coord_shift = 0;
589  if (phase_==0) {
590  // local x on panel 1 is anti-parallel to global radius - sign is negative
591  // and parallel for panel 2 - sign is positive
592  int pan = panel(detid), mod = module(detid);
593  if (pan==1) {
594  if (mod==1) coord_shift = (-xcoord_on_module_(detid, pixel) )/4;
595  else if (mod==2) coord_shift = (-xcoord_on_module_(detid, pixel) + 2.0)/4;
596  else if (mod==3) coord_shift = (-xcoord_on_module_(detid, pixel) )/4;
597  else if (mod==4) coord_shift = (-xcoord_on_module_(detid, pixel) + 1.5)/4;
598  } else {
599  if (mod==1) coord_shift = ( xcoord_on_module_(detid, pixel) )/4;
600  else if (mod==2) coord_shift = ( xcoord_on_module_(detid, pixel) - 2.0)/4;
601  else if (mod==3) coord_shift = ( xcoord_on_module_(detid, pixel) )/4;
602  }
603  } else if (phase_==1) {
604  // local y is parallel to global radius, so sign is positive
605  coord_shift = ycoord_on_module_(detid, pixel) - 0.5;
606  }
607  ring_coord += coord_shift;
608  return ring_coord;
609 }
float ycoord_on_module_(const DetId &, const std::pair< int, int > &)
float ring_coord(const DetId &, const std::pair< int, int > &)
int ring(const DetId &)
int module(const DetId &)
int panel(const DetId &)
float xcoord_on_module_(const DetId &, const std::pair< int, int > &)
T mod(const T &a, const T &b)
Definition: ecalDccMap.h:4
bool isFPix_(const DetId &)
float SiPixelCoordinates::ring_coord ( const DetId detid,
const PixelDigi digi 
)

Definition at line 610 of file SiPixelCoordinates.cc.

References isFPix_(), pixel_(), and ring_coord().

610  {
611  if (!isFPix_(detid)) return -9999;
612  return ring_coord(detid, pixel_(digi));
613 }
float ring_coord(const DetId &, const std::pair< int, int > &)
std::pair< int, int > pixel_(const PixelDigi *)
bool isFPix_(const DetId &)
float SiPixelCoordinates::ring_coord ( const DetId detid,
const SiPixelCluster cluster 
)

Definition at line 614 of file SiPixelCoordinates.cc.

References isFPix_(), pixel_(), and ring_coord().

614  {
615  if (!isFPix_(detid)) return -9999;
616  return ring_coord(detid, pixel_(cluster));
617 }
float ring_coord(const DetId &, const std::pair< int, int > &)
std::pair< int, int > pixel_(const PixelDigi *)
bool isFPix_(const DetId &)
float SiPixelCoordinates::ring_coord ( const SiPixelRecHit rechit)

Definition at line 618 of file SiPixelCoordinates.cc.

References TrackingRecHit::geographicalId(), isFPix_(), pixel_(), and ring_coord().

618  {
619  if (!isFPix_(rechit->geographicalId())) return -9999;
620  return ring_coord(rechit->geographicalId(), pixel_(rechit));
621 }
float ring_coord(const DetId &, const std::pair< int, int > &)
std::pair< int, int > pixel_(const PixelDigi *)
DetId geographicalId() const
bool isFPix_(const DetId &)
float SiPixelCoordinates::ring_coord ( const TrackingRecHit rechit)

Definition at line 622 of file SiPixelCoordinates.cc.

References TrackingRecHit::geographicalId(), TrackingRecHit::hit(), isFPix_(), and ring_coord().

622  {
623  if (!isFPix_(rechit->geographicalId())) return -9999;
624  return ring_coord(static_cast<const SiPixelRecHit*>(rechit->hit()));
625 }
float ring_coord(const DetId &, const std::pair< int, int > &)
virtual TrackingRecHit const * hit() const
DetId geographicalId() const
bool isFPix_(const DetId &)
int SiPixelCoordinates::roc ( const DetId detid,
const std::pair< int, int > &  pixel 
)

Definition at line 399 of file SiPixelCoordinates.cc.

References cablingMap_, channel_, PixelTopology::colsperroc(), gamEcalExtractorBlocks_cff::detector, l1t::stage2::layer2::fedId, fedid(), half(), sipixelobjects::PixelROC::idInDetUnit(), TrackerGeometry::idToDetUnit(), isPixel_(), sipixelobjects::ElectronicIndex::link, mod(), module(), panel(), phase_, PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, DetId::rawId(), sipixelobjects::ElectronicIndex::roc, roc_, PixelTopology::rowsperroc(), side(), PixelGeomDetUnit::specificTopology(), DetId::subdetId(), tGeom_, SiPixelFrameConverter::toCabling(), and SiPixelFrameConverter::toRoc().

Referenced by channel(), and roc().

399  {
400  if (!isPixel_(detid)) return -9999;
401  // The method below may be slow when looping on a lot of pixels, so let's try to speed it up
402  // by quickly chategorizing pixels to ROC coordinates inside det units
403  int rowsperroc = 80, colsperroc = 52;
404  if (phase_==2) {
405  // Can get roc info from Geometry for Phase 2, this will need to be specified when it's final
406  const PixelGeomDetUnit* detUnit = static_cast<const PixelGeomDetUnit*>(tGeom_->idToDetUnit(detid));
407  const PixelTopology* topo = static_cast<const PixelTopology*>(&detUnit->specificTopology());
408  rowsperroc = topo->rowsperroc();
409  colsperroc = topo->colsperroc();
410  }
411  // It is unlikely a ROC would have more than 256 chips, so let's use this formula
412  // If a ROC number was ever found, then binary search in a map will be much quicker
413  uint64_t pseudo_roc_num = uint64_t(1<<16) * detid.rawId() + (1<<8) * (pixel.first/rowsperroc) + pixel.second/colsperroc;
414  if (roc_.count(pseudo_roc_num)) return roc_[pseudo_roc_num];
415  // If not found previously, get the ROC number
416  int roc = -9999;
417  // Use the Fed Cabling Map if specified by the bool
418  // or if using channel number too, or if it's the Phase 2 detector
419  if (phase_==2||!channel_.empty()) {
420  unsigned int fedId = fedid(detid);
422  sipixelobjects::DetectorIndex detector = { detid.rawId(), pixel.first, pixel.second };
424  converter.toCabling(cabling, detector);
425  // Time consuming part is over, so let's save the channel number too
426  channel_[pseudo_roc_num] = cabling.link;
427  const sipixelobjects::PixelROC *theRoc = converter.toRoc(cabling.link, cabling.roc);
428  roc = theRoc->idInDetUnit();
429  if (detid.subdetId() == PixelSubdetector::PixelBarrel && side(detid)==1 && half(detid)) roc += 8;
430  //printf ("Online FED, LNK, LNKID, ROC: %2d %2d %2d %2d - Offline RAWID, ROW, COL: %9d [%3d,%3d] [%3d,%3d]\n",
431  // fedId, cabling.link, cabling.roc, roc, detid.rawId(),
432  // (pixel.first /rowsperroc)*rowsperroc, (pixel.first /rowsperroc+1)*rowsperroc-1,
433  // (pixel.second/colsperroc)*colsperroc, (pixel.second/colsperroc+1)*colsperroc-1);
434  } else if (phase_<2) {
435  // This method is faster if only ROC number is needed
436  int pan = panel(detid), mod = module(detid), rocsY = 8;
437  if (phase_==0&&detid.subdetId() == PixelSubdetector::PixelEndcap) rocsY = pan+mod;
438  int rocX = pixel.first/rowsperroc, rocY = pixel.second/colsperroc;
439  // Consider second row for all 1xN Phase 0 modules
440  if (phase_==0) {
441  int v1x8 = half(detid)==1, v1x2 = (pan==1&&mod==1), v1x5 = (pan==1&&mod==4);
442  if (v1x8||v1x2||v1x5) ++rocX;
443  }
444  // Mirror both coordinates for barrel -Z side
445  // and for endcap (but only Panel 2 for Phase 0)
446  if ( (detid.subdetId() == PixelSubdetector::PixelBarrel && side(detid)==1) ||
447  (detid.subdetId() == PixelSubdetector::PixelEndcap && ((phase_==0 && pan==2)||phase_==1) ) ) {
448  rocX = 1-rocX;
449  rocY = rocsY-1 - rocY;
450  }
451  // U-shape readout order
452  roc = rocX ? rocY : 2*rocsY-1 - rocY;
453  }
454  return roc_[pseudo_roc_num] = roc;
455 }
std::unordered_map< uint64_t, unsigned int > channel_
virtual int rowsperroc() const =0
bool isPixel_(const DetId &)
int side(const DetId &)
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:50
unsigned int fedid(const DetId &)
int module(const DetId &)
const TrackerGeomDet * idToDetUnit(DetId) const override
Return the pointer to the GeomDetUnit corresponding to a given DetId.
int half(const DetId &)
virtual int colsperroc() const =0
unsigned int idInDetUnit() const
id of this ROC in DetUnit etermined by token path
Definition: PixelROC.h:40
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:41
const SiPixelFedCablingMap * cablingMap_
int roc(const DetId &, const std::pair< int, int > &)
unsigned long long uint64_t
Definition: Time.h:15
const TrackerGeometry * tGeom_
virtual const PixelTopology & specificTopology() const
Returns a reference to the pixel proxy topology.
int panel(const DetId &)
std::unordered_map< uint64_t, unsigned int > roc_
T mod(const T &a, const T &b)
Definition: ecalDccMap.h:4
int SiPixelCoordinates::roc ( const DetId detid,
const PixelDigi digi 
)

Definition at line 456 of file SiPixelCoordinates.cc.

References isPixel_(), pixel_(), and roc().

456  {
457  if (!isPixel_(detid)) return -9999;
458  return roc(detid, pixel_(digi));
459 }
bool isPixel_(const DetId &)
std::pair< int, int > pixel_(const PixelDigi *)
int roc(const DetId &, const std::pair< int, int > &)
int SiPixelCoordinates::roc ( const DetId detid,
const SiPixelCluster cluster 
)

Definition at line 460 of file SiPixelCoordinates.cc.

References isPixel_(), pixel_(), and roc().

460  {
461  if (!isPixel_(detid)) return -9999;
462  return roc(detid, pixel_(cluster));
463 }
bool isPixel_(const DetId &)
std::pair< int, int > pixel_(const PixelDigi *)
int roc(const DetId &, const std::pair< int, int > &)
int SiPixelCoordinates::roc ( const SiPixelRecHit rechit)

Definition at line 464 of file SiPixelCoordinates.cc.

References TrackingRecHit::geographicalId(), isPixel_(), pixel_(), and roc().

464  {
465  if (!isPixel_(rechit->geographicalId())) return -9999;
466  return roc(rechit->geographicalId(), pixel_(rechit));
467 }
bool isPixel_(const DetId &)
std::pair< int, int > pixel_(const PixelDigi *)
int roc(const DetId &, const std::pair< int, int > &)
DetId geographicalId() const
int SiPixelCoordinates::roc ( const TrackingRecHit rechit)

Definition at line 468 of file SiPixelCoordinates.cc.

References TrackingRecHit::geographicalId(), TrackingRecHit::hit(), isPixel_(), and roc().

468  {
469  if (!isPixel_(rechit->geographicalId())) return -9999;
470  return roc(static_cast<const SiPixelRecHit*>(rechit->hit()));
471 }
bool isPixel_(const DetId &)
int roc(const DetId &, const std::pair< int, int > &)
virtual TrackingRecHit const * hit() const
DetId geographicalId() const
int SiPixelCoordinates::sector ( const DetId detid)

Definition at line 109 of file SiPixelCoordinates.cc.

References isBPix_(), phase_, DetId::rawId(), sector_, PixelBarrelName::sectorName(), and tTopo_.

Referenced by geometryXMLparser.DTAlignable::index().

109  {
110  if (sector_.count(detid.rawId())) return sector_[detid.rawId()];
111  if (!isBPix_(detid)) return sector_[detid.rawId()] = -9999;
112  return sector_[detid.rawId()] = PixelBarrelName(detid, tTopo_, phase_).sectorName();
113 }
std::unordered_map< uint32_t, int > sector_
const TrackerTopology * tTopo_
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:50
bool isBPix_(const DetId &)
int sectorName() const
sector id
int SiPixelCoordinates::side ( const DetId detid)

Definition at line 82 of file SiPixelCoordinates.cc.

References isPixel_(), PixelSubdetector::PixelBarrel, TrackerTopology::pxfSide(), quadrant(), DetId::rawId(), side_, DetId::subdetId(), and tTopo_.

Referenced by blade_coord(), channel(), roc(), and signed_blade_coord().

82  {
83  if (side_.count(detid.rawId())) return side_[detid.rawId()];
84  if (!isPixel_(detid)) return side_[detid.rawId()] = -9999;
86  return side_[detid.rawId()] = 1 + (quadrant(detid)>2);
87  else
88  return side_[detid.rawId()] = tTopo_->pxfSide(detid);
89 }
bool isPixel_(const DetId &)
const TrackerTopology * tTopo_
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:50
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:41
std::unordered_map< uint32_t, int > side_
int quadrant(const DetId &)
unsigned int pxfSide(const DetId &id) const
int SiPixelCoordinates::signed_blade ( const DetId detid)

Definition at line 231 of file SiPixelCoordinates.cc.

References PixelEndcapName::bladeName(), isFPix_(), phase_, quadrant(), DetId::rawId(), signed_blade_, and tTopo_.

Referenced by signed_blade_coord(), signed_blade_panel_coord(), and signed_shifted_blade_panel_coord().

231  {
232  if (signed_blade_.count(detid.rawId())) return signed_blade_[detid.rawId()];
233  if (!isFPix_(detid)) return signed_blade_[detid.rawId()] = -9999;
235  if (quadrant(detid)%2) signed_blade *= -1;
236  return signed_blade_[detid.rawId()] = signed_blade;
237 }
int signed_blade(const DetId &)
const TrackerTopology * tTopo_
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:50
int bladeName() const
blade id
std::unordered_map< uint32_t, int > signed_blade_
int quadrant(const DetId &)
bool isFPix_(const DetId &)
float SiPixelCoordinates::signed_blade_coord ( const DetId detid,
const std::pair< int, int > &  pixel 
)

Definition at line 796 of file SiPixelCoordinates.cc.

References isFPix_(), module(), panel(), phase_, side(), signed_blade(), xcoord_on_module_(), and ycoord_on_module_().

Referenced by signed_blade_coord(), signed_blade_panel_coord(), and signed_shifted_blade_panel_coord().

796  {
797  if (!isFPix_(detid)) return -9999;
798  float signed_blade_coord = signed_blade(detid), coord_shift = 0;
799  if (phase_==0) {
800  int rocsY = panel(detid)+module(detid);
801  coord_shift = ycoord_on_module_(detid, pixel) - rocsY/10.;
802  if (side(detid)==2) coord_shift = -coord_shift;
803  } else if (phase_==1) {
804  coord_shift = xcoord_on_module_(detid, pixel) - 0.5;
805  if ((side(detid)+panel(detid))%2==1) coord_shift = -coord_shift;
806  }
807  signed_blade_coord += coord_shift;
808  return signed_blade_coord;
809 }
float ycoord_on_module_(const DetId &, const std::pair< int, int > &)
int signed_blade(const DetId &)
int side(const DetId &)
int module(const DetId &)
int panel(const DetId &)
float xcoord_on_module_(const DetId &, const std::pair< int, int > &)
float signed_blade_coord(const DetId &, const std::pair< int, int > &)
bool isFPix_(const DetId &)
float SiPixelCoordinates::signed_blade_coord ( const DetId detid,
const PixelDigi digi 
)

Definition at line 810 of file SiPixelCoordinates.cc.

References isFPix_(), pixel_(), and signed_blade_coord().

810  {
811  if (!isFPix_(detid)) return -9999;
812  return signed_blade_coord(detid, pixel_(digi));
813 }
std::pair< int, int > pixel_(const PixelDigi *)
float signed_blade_coord(const DetId &, const std::pair< int, int > &)
bool isFPix_(const DetId &)
float SiPixelCoordinates::signed_blade_coord ( const DetId detid,
const SiPixelCluster cluster 
)

Definition at line 814 of file SiPixelCoordinates.cc.

References isFPix_(), pixel_(), and signed_blade_coord().

814  {
815  if (!isFPix_(detid)) return -9999;
816  return signed_blade_coord(detid, pixel_(cluster));
817 }
std::pair< int, int > pixel_(const PixelDigi *)
float signed_blade_coord(const DetId &, const std::pair< int, int > &)
bool isFPix_(const DetId &)
float SiPixelCoordinates::signed_blade_coord ( const SiPixelRecHit rechit)

Definition at line 818 of file SiPixelCoordinates.cc.

References TrackingRecHit::geographicalId(), isFPix_(), pixel_(), and signed_blade_coord().

818  {
819  if (!isFPix_(rechit->geographicalId())) return -9999;
820  return signed_blade_coord(rechit->geographicalId(), pixel_(rechit));
821 }
std::pair< int, int > pixel_(const PixelDigi *)
DetId geographicalId() const
float signed_blade_coord(const DetId &, const std::pair< int, int > &)
bool isFPix_(const DetId &)
float SiPixelCoordinates::signed_blade_coord ( const TrackingRecHit rechit)

Definition at line 822 of file SiPixelCoordinates.cc.

References TrackingRecHit::geographicalId(), TrackingRecHit::hit(), isFPix_(), and signed_blade_coord().

822  {
823  if (!isFPix_(rechit->geographicalId())) return -9999;
824  return signed_blade_coord(static_cast<const SiPixelRecHit*>(rechit->hit()));
825 }
virtual TrackingRecHit const * hit() const
DetId geographicalId() const
float signed_blade_coord(const DetId &, const std::pair< int, int > &)
bool isFPix_(const DetId &)
float SiPixelCoordinates::signed_blade_panel_coord ( const DetId detid,
const std::pair< int, int > &  pixel 
)

Definition at line 864 of file SiPixelCoordinates.cc.

References isFPix_(), panel(), signed_blade(), and signed_blade_coord().

Referenced by signed_blade_panel_coord().

864  {
865  if (!isFPix_(detid)) return -9999;
866  float signed_blade_panel_coord = signed_blade(detid);
867  float coord_shift = (signed_blade_coord(detid, pixel) - signed_blade_panel_coord - panel(detid) + 1.5)/2;
868  signed_blade_panel_coord += coord_shift;
870 }
float signed_blade_panel_coord(const DetId &, const std::pair< int, int > &)
int signed_blade(const DetId &)
int panel(const DetId &)
float signed_blade_coord(const DetId &, const std::pair< int, int > &)
bool isFPix_(const DetId &)
float SiPixelCoordinates::signed_blade_panel_coord ( const DetId detid,
const PixelDigi digi 
)

Definition at line 871 of file SiPixelCoordinates.cc.

References isFPix_(), pixel_(), and signed_blade_panel_coord().

871  {
872  if (!isFPix_(detid)) return -9999;
873  return signed_blade_panel_coord(detid, pixel_(digi));
874 }
float signed_blade_panel_coord(const DetId &, const std::pair< int, int > &)
std::pair< int, int > pixel_(const PixelDigi *)
bool isFPix_(const DetId &)
float SiPixelCoordinates::signed_blade_panel_coord ( const DetId detid,
const SiPixelCluster cluster 
)

Definition at line 875 of file SiPixelCoordinates.cc.

References isFPix_(), pixel_(), and signed_blade_panel_coord().

875  {
876  if (!isFPix_(detid)) return -9999;
877  return signed_blade_panel_coord(detid, pixel_(cluster));
878 }
float signed_blade_panel_coord(const DetId &, const std::pair< int, int > &)
std::pair< int, int > pixel_(const PixelDigi *)
bool isFPix_(const DetId &)
float SiPixelCoordinates::signed_blade_panel_coord ( const SiPixelRecHit rechit)

Definition at line 879 of file SiPixelCoordinates.cc.

References TrackingRecHit::geographicalId(), isFPix_(), pixel_(), and signed_blade_panel_coord().

879  {
880  if (!isFPix_(rechit->geographicalId())) return -9999;
881  return signed_blade_panel_coord(rechit->geographicalId(), pixel_(rechit));
882 }
float signed_blade_panel_coord(const DetId &, const std::pair< int, int > &)
std::pair< int, int > pixel_(const PixelDigi *)
DetId geographicalId() const
bool isFPix_(const DetId &)
float SiPixelCoordinates::signed_blade_panel_coord ( const TrackingRecHit rechit)

Definition at line 883 of file SiPixelCoordinates.cc.

References TrackingRecHit::geographicalId(), TrackingRecHit::hit(), isFPix_(), and signed_blade_panel_coord().

883  {
884  if (!isFPix_(rechit->geographicalId())) return -9999;
885  return signed_blade_panel_coord(static_cast<const SiPixelRecHit*>(rechit->hit()));
886 }
float signed_blade_panel_coord(const DetId &, const std::pair< int, int > &)
virtual TrackingRecHit const * hit() const
DetId geographicalId() const
bool isFPix_(const DetId &)
int SiPixelCoordinates::signed_disk ( const DetId detid)

Definition at line 189 of file SiPixelCoordinates.cc.

References disk(), isFPix_(), quadrant(), DetId::rawId(), and signed_disk_.

Referenced by signed_disk_coord(), and signed_disk_ring_coord().

189  {
190  if (signed_disk_.count(detid.rawId())) return signed_disk_[detid.rawId()];
191  if (!isFPix_(detid)) return signed_disk_[detid.rawId()] = -9999;
192  int signed_disk = disk(detid);
193  if (quadrant(detid)<3) signed_disk *= -1;
194  return signed_disk_[detid.rawId()] = signed_disk;
195 }
std::unordered_map< uint32_t, int > signed_disk_
int signed_disk(const DetId &)
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:50
int disk(const DetId &)
int quadrant(const DetId &)
bool isFPix_(const DetId &)
float SiPixelCoordinates::signed_disk_coord ( const DetId detid,
const std::pair< int, int > &  pixel 
)

Definition at line 661 of file SiPixelCoordinates.cc.

References isFPix_(), ring(), ring_coord(), and signed_disk().

Referenced by signed_disk_coord().

661  {
662  if (!isFPix_(detid)) return -9999;
663  float signed_disk_coord = signed_disk(detid), coord_shift = ring_coord(detid,pixel)-ring(detid);
664  // Mirror -z side, so plots are symmetric
665  if (signed_disk_coord<0) coord_shift = -coord_shift;
666  signed_disk_coord += coord_shift;
667  return signed_disk_coord;
668 }
float ring_coord(const DetId &, const std::pair< int, int > &)
int signed_disk(const DetId &)
int ring(const DetId &)
float signed_disk_coord(const DetId &, const std::pair< int, int > &)
bool isFPix_(const DetId &)
float SiPixelCoordinates::signed_disk_coord ( const DetId detid,
const PixelDigi digi 
)

Definition at line 669 of file SiPixelCoordinates.cc.

References isFPix_(), pixel_(), and signed_disk_coord().

669  {
670  if (!isFPix_(detid)) return -9999;
671  return signed_disk_coord(detid, pixel_(digi));
672 }
std::pair< int, int > pixel_(const PixelDigi *)
float signed_disk_coord(const DetId &, const std::pair< int, int > &)
bool isFPix_(const DetId &)
float SiPixelCoordinates::signed_disk_coord ( const DetId detid,
const SiPixelCluster cluster 
)

Definition at line 673 of file SiPixelCoordinates.cc.

References isFPix_(), pixel_(), and signed_disk_coord().

673  {
674  if (!isFPix_(detid)) return -9999;
675  return signed_disk_coord(detid, pixel_(cluster));
676 }
std::pair< int, int > pixel_(const PixelDigi *)
float signed_disk_coord(const DetId &, const std::pair< int, int > &)
bool isFPix_(const DetId &)
float SiPixelCoordinates::signed_disk_coord ( const SiPixelRecHit rechit)

Definition at line 677 of file SiPixelCoordinates.cc.

References TrackingRecHit::geographicalId(), isFPix_(), pixel_(), and signed_disk_coord().

677  {
678  if (!isFPix_(rechit->geographicalId())) return -9999;
679  return signed_disk_coord(rechit->geographicalId(), pixel_(rechit));
680 }
std::pair< int, int > pixel_(const PixelDigi *)
float signed_disk_coord(const DetId &, const std::pair< int, int > &)
DetId geographicalId() const
bool isFPix_(const DetId &)
float SiPixelCoordinates::signed_disk_coord ( const TrackingRecHit rechit)

Definition at line 681 of file SiPixelCoordinates.cc.

References TrackingRecHit::geographicalId(), TrackingRecHit::hit(), isFPix_(), and signed_disk_coord().

681  {
682  if (!isFPix_(rechit->geographicalId())) return -9999;
683  return signed_disk_coord(static_cast<const SiPixelRecHit*>(rechit->hit()));
684 }
virtual TrackingRecHit const * hit() const
float signed_disk_coord(const DetId &, const std::pair< int, int > &)
DetId geographicalId() const
bool isFPix_(const DetId &)
float SiPixelCoordinates::signed_disk_ring_coord ( const DetId detid,
const std::pair< int, int > &  pixel 
)

Definition at line 717 of file SiPixelCoordinates.cc.

References isFPix_(), ring_coord(), and signed_disk().

Referenced by signed_disk_ring_coord().

717  {
718  if (!isFPix_(detid)) return -9999;
719  float signed_disk_ring_coord = signed_disk(detid), coord_shift = 0;
720  //if (phase_==0) coord_shift = (ring_coord(detid,pixel) - 1.625) / 1.5;
721  //else if (phase_==1) coord_shift = (ring_coord(detid,pixel) - 1.5 ) / 2.0;
722  coord_shift = (ring_coord(detid,pixel) - 1.5 ) / 2.0;
723  // Mirror -z side, so plots are symmetric
724  if (signed_disk_ring_coord<0) coord_shift = -coord_shift;
725  signed_disk_ring_coord += coord_shift;
726  return signed_disk_ring_coord;
727 }
float ring_coord(const DetId &, const std::pair< int, int > &)
int signed_disk(const DetId &)
float signed_disk_ring_coord(const DetId &, const std::pair< int, int > &)
bool isFPix_(const DetId &)
float SiPixelCoordinates::signed_disk_ring_coord ( const DetId detid,
const PixelDigi digi 
)

Definition at line 728 of file SiPixelCoordinates.cc.

References isFPix_(), pixel_(), and signed_disk_ring_coord().

728  {
729  if (!isFPix_(detid)) return -9999;
730  return signed_disk_ring_coord(detid, pixel_(digi));
731 }
std::pair< int, int > pixel_(const PixelDigi *)
float signed_disk_ring_coord(const DetId &, const std::pair< int, int > &)
bool isFPix_(const DetId &)
float SiPixelCoordinates::signed_disk_ring_coord ( const DetId detid,
const SiPixelCluster cluster 
)

Definition at line 732 of file SiPixelCoordinates.cc.

References isFPix_(), pixel_(), and signed_disk_ring_coord().

732  {
733  if (!isFPix_(detid)) return -9999;
734  return signed_disk_ring_coord(detid, pixel_(cluster));
735 }
std::pair< int, int > pixel_(const PixelDigi *)
float signed_disk_ring_coord(const DetId &, const std::pair< int, int > &)
bool isFPix_(const DetId &)
float SiPixelCoordinates::signed_disk_ring_coord ( const SiPixelRecHit rechit)

Definition at line 736 of file SiPixelCoordinates.cc.

References TrackingRecHit::geographicalId(), isFPix_(), pixel_(), and signed_disk_ring_coord().

736  {
737  if (!isFPix_(rechit->geographicalId())) return -9999;
738  return signed_disk_ring_coord(rechit->geographicalId(), pixel_(rechit));
739 }
std::pair< int, int > pixel_(const PixelDigi *)
DetId geographicalId() const
float signed_disk_ring_coord(const DetId &, const std::pair< int, int > &)
bool isFPix_(const DetId &)
float SiPixelCoordinates::signed_disk_ring_coord ( const TrackingRecHit rechit)

Definition at line 740 of file SiPixelCoordinates.cc.

References TrackingRecHit::geographicalId(), TrackingRecHit::hit(), isFPix_(), and signed_disk_ring_coord().

740  {
741  if (!isFPix_(rechit->geographicalId())) return -9999;
742  return signed_disk_ring_coord(static_cast<const SiPixelRecHit*>(rechit->hit()));
743 }
virtual TrackingRecHit const * hit() const
DetId geographicalId() const
float signed_disk_ring_coord(const DetId &, const std::pair< int, int > &)
bool isFPix_(const DetId &)
int SiPixelCoordinates::signed_ladder ( const DetId detid)

Definition at line 124 of file SiPixelCoordinates.cc.

References isBPix_(), PixelBarrelName::ladderName(), phase_, quadrant(), DetId::rawId(), signed_ladder_, and tTopo_.

Referenced by signed_ladder_coord().

124  {
125  if (signed_ladder_.count(detid.rawId())) return signed_ladder_[detid.rawId()];
126  if (!isBPix_(detid)) return signed_ladder_[detid.rawId()] = -9999;
128  if (quadrant(detid)%2) signed_ladder *= -1;
129  return signed_ladder_[detid.rawId()] = signed_ladder;
130 }
const TrackerTopology * tTopo_
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:50
bool isBPix_(const DetId &)
int ladderName() const
ladder id (index in phi)
std::unordered_map< uint32_t, int > signed_ladder_
int quadrant(const DetId &)
int signed_ladder(const DetId &)
float SiPixelCoordinates::signed_ladder_coord ( const DetId detid,
const std::pair< int, int > &  pixel 
)

Definition at line 553 of file SiPixelCoordinates.cc.

References flipped(), half(), isBPix_(), Validation_hcalonly_cfi::sign, signed_ladder(), and xcoord_on_module_().

Referenced by signed_ladder_coord().

553  {
554  if (!isBPix_(detid)) return -9999;
555  // online ladder number is monotonously decreasing with global phi
556  // flipped/inner ladders: lx parallel to global r-phi - negative sign
557  // non-flipped/outer ladders: lx anti-parallel to global r-phi - positive sign
558  int sign = flipped(detid) ? -1 : 1;
559  return signed_ladder(detid) + sign * (xcoord_on_module_(detid, pixel) + half(detid)*0.5 - 0.5);
560 }
int flipped(const DetId &)
bool isBPix_(const DetId &)
int half(const DetId &)
float xcoord_on_module_(const DetId &, const std::pair< int, int > &)
int signed_ladder(const DetId &)
float SiPixelCoordinates::signed_ladder_coord ( const DetId detid,
const PixelDigi digi 
)

Definition at line 561 of file SiPixelCoordinates.cc.

References isBPix_(), pixel_(), and signed_ladder_coord().

561  {
562  if (!isBPix_(detid)) return -9999;
563  return signed_ladder_coord(detid, pixel_(digi));
564 }
bool isBPix_(const DetId &)
std::pair< int, int > pixel_(const PixelDigi *)
float signed_ladder_coord(const DetId &, const std::pair< int, int > &)
float SiPixelCoordinates::signed_ladder_coord ( const DetId detid,
const SiPixelCluster cluster 
)

Definition at line 565 of file SiPixelCoordinates.cc.

References isBPix_(), pixel_(), and signed_ladder_coord().

565  {
566  if (!isBPix_(detid)) return -9999;
567  return signed_ladder_coord(detid, pixel_(cluster));
568 }
bool isBPix_(const DetId &)
std::pair< int, int > pixel_(const PixelDigi *)
float signed_ladder_coord(const DetId &, const std::pair< int, int > &)
float SiPixelCoordinates::signed_ladder_coord ( const SiPixelRecHit rechit)

Definition at line 569 of file SiPixelCoordinates.cc.

References TrackingRecHit::geographicalId(), isBPix_(), pixel_(), and signed_ladder_coord().

569  {
570  if (!isBPix_(rechit->geographicalId())) return -9999;
571  return signed_ladder_coord(rechit->geographicalId(), pixel_(rechit));
572 }
bool isBPix_(const DetId &)
std::pair< int, int > pixel_(const PixelDigi *)
DetId geographicalId() const
float signed_ladder_coord(const DetId &, const std::pair< int, int > &)
float SiPixelCoordinates::signed_ladder_coord ( const TrackingRecHit rechit)

Definition at line 573 of file SiPixelCoordinates.cc.

References TrackingRecHit::geographicalId(), TrackingRecHit::hit(), isBPix_(), and signed_ladder_coord().

573  {
574  if (!isBPix_(rechit->geographicalId())) return -9999;
575  return signed_ladder_coord(static_cast<const SiPixelRecHit*>(rechit->hit()));
576 }
bool isBPix_(const DetId &)
virtual TrackingRecHit const * hit() const
DetId geographicalId() const
float signed_ladder_coord(const DetId &, const std::pair< int, int > &)
int SiPixelCoordinates::signed_module ( const DetId detid)

Definition at line 134 of file SiPixelCoordinates.cc.

References isBPix_(), PixelBarrelName::moduleName(), phase_, quadrant(), DetId::rawId(), signed_module_, and tTopo_.

Referenced by signed_module_coord().

134  {
135  if (signed_module_.count(detid.rawId())) return signed_module_[detid.rawId()];
136  if (!isBPix_(detid)) return signed_module_[detid.rawId()] = -9999;
138  if (quadrant(detid)<3) signed_module *= -1;
139  return signed_module_[detid.rawId()] = signed_module;
140 }
int moduleName() const
module id (index in z)
const TrackerTopology * tTopo_
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:50
bool isBPix_(const DetId &)
std::unordered_map< uint32_t, int > signed_module_
int signed_module(const DetId &)
int quadrant(const DetId &)
float SiPixelCoordinates::signed_module_coord ( const DetId detid,
const std::pair< int, int > &  pixel 
)

Definition at line 503 of file SiPixelCoordinates.cc.

References isBPix_(), signed_module(), and ycoord_on_module_().

Referenced by signed_module_coord().

503  {
504  if (!isBPix_(detid)) return -9999;
505  // offline module number is monotonously increasing with global z
506  // sign is negative because local y is antiparallel to global z
507  return signed_module(detid) - (ycoord_on_module_(detid, pixel) - 0.5);
508 }
float ycoord_on_module_(const DetId &, const std::pair< int, int > &)
bool isBPix_(const DetId &)
int signed_module(const DetId &)
float SiPixelCoordinates::signed_module_coord ( const DetId detid,
const PixelDigi digi 
)

Definition at line 509 of file SiPixelCoordinates.cc.

References isBPix_(), pixel_(), and signed_module_coord().

509  {
510  if (!isBPix_(detid)) return -9999;
511  return signed_module_coord(detid, pixel_(digi));
512 }
float signed_module_coord(const DetId &, const std::pair< int, int > &)
bool isBPix_(const DetId &)
std::pair< int, int > pixel_(const PixelDigi *)
float SiPixelCoordinates::signed_module_coord ( const DetId detid,
const SiPixelCluster cluster 
)

Definition at line 513 of file SiPixelCoordinates.cc.

References isBPix_(), pixel_(), and signed_module_coord().

513  {
514  if (!isBPix_(detid)) return -9999;
515  return signed_module_coord(detid, pixel_(cluster));
516 }
float signed_module_coord(const DetId &, const std::pair< int, int > &)
bool isBPix_(const DetId &)
std::pair< int, int > pixel_(const PixelDigi *)
float SiPixelCoordinates::signed_module_coord ( const SiPixelRecHit rechit)

Definition at line 517 of file SiPixelCoordinates.cc.

References TrackingRecHit::geographicalId(), isBPix_(), pixel_(), and signed_module_coord().

517  {
518  if (!isBPix_(rechit->geographicalId())) return -9999;
519  return signed_module_coord(rechit->geographicalId(), pixel_(rechit));
520 }
float signed_module_coord(const DetId &, const std::pair< int, int > &)
bool isBPix_(const DetId &)
std::pair< int, int > pixel_(const PixelDigi *)
DetId geographicalId() const
float SiPixelCoordinates::signed_module_coord ( const TrackingRecHit rechit)

Definition at line 521 of file SiPixelCoordinates.cc.

References TrackingRecHit::geographicalId(), TrackingRecHit::hit(), isBPix_(), and signed_module_coord().

521  {
522  if (!isBPix_(rechit->geographicalId())) return -9999;
523  return signed_module_coord(static_cast<const SiPixelRecHit*>(rechit->hit()));
524 }
float signed_module_coord(const DetId &, const std::pair< int, int > &)
bool isBPix_(const DetId &)
virtual TrackingRecHit const * hit() const
DetId geographicalId() const
float SiPixelCoordinates::signed_shifted_blade_panel_coord ( const DetId detid,
const std::pair< int, int > &  pixel 
)

Definition at line 894 of file SiPixelCoordinates.cc.

References isFPix_(), panel(), phase_, ring(), signed_blade(), and signed_blade_coord().

Referenced by signed_shifted_blade_panel_coord().

894  {
895  if (!isFPix_(detid)) return -9999;
897  float coord_shift = (signed_blade_coord(detid, pixel) - signed_shifted_blade_panel_coord - panel(detid) + 1.5)/2;
898  if (phase_==1&&ring(detid)==1) signed_shifted_blade_panel_coord *= 1.5;
899  signed_shifted_blade_panel_coord += coord_shift;
901 }
int signed_blade(const DetId &)
int ring(const DetId &)
int panel(const DetId &)
float signed_shifted_blade_panel_coord(const DetId &, const std::pair< int, int > &)
float signed_blade_coord(const DetId &, const std::pair< int, int > &)
bool isFPix_(const DetId &)
float SiPixelCoordinates::signed_shifted_blade_panel_coord ( const DetId detid,
const PixelDigi digi 
)

Definition at line 902 of file SiPixelCoordinates.cc.

References isFPix_(), pixel_(), and signed_shifted_blade_panel_coord().

902  {
903  if (!isFPix_(detid)) return -9999;
904  return signed_shifted_blade_panel_coord(detid, pixel_(digi));
905 }
std::pair< int, int > pixel_(const PixelDigi *)
float signed_shifted_blade_panel_coord(const DetId &, const std::pair< int, int > &)
bool isFPix_(const DetId &)
float SiPixelCoordinates::signed_shifted_blade_panel_coord ( const DetId detid,
const SiPixelCluster cluster 
)

Definition at line 906 of file SiPixelCoordinates.cc.

References isFPix_(), pixel_(), and signed_shifted_blade_panel_coord().

906  {
907  if (!isFPix_(detid)) return -9999;
908  return signed_shifted_blade_panel_coord(detid, pixel_(cluster));
909 }
std::pair< int, int > pixel_(const PixelDigi *)
float signed_shifted_blade_panel_coord(const DetId &, const std::pair< int, int > &)
bool isFPix_(const DetId &)
float SiPixelCoordinates::signed_shifted_blade_panel_coord ( const SiPixelRecHit rechit)

Definition at line 910 of file SiPixelCoordinates.cc.

References TrackingRecHit::geographicalId(), isFPix_(), pixel_(), and signed_shifted_blade_panel_coord().

910  {
911  if (!isFPix_(rechit->geographicalId())) return -9999;
912  return signed_shifted_blade_panel_coord(rechit->geographicalId(), pixel_(rechit));
913 }
std::pair< int, int > pixel_(const PixelDigi *)
DetId geographicalId() const
float signed_shifted_blade_panel_coord(const DetId &, const std::pair< int, int > &)
bool isFPix_(const DetId &)
float SiPixelCoordinates::signed_shifted_blade_panel_coord ( const TrackingRecHit rechit)

Definition at line 914 of file SiPixelCoordinates.cc.

References TrackingRecHit::geographicalId(), TrackingRecHit::hit(), isFPix_(), and signed_shifted_blade_panel_coord().

914  {
915  if (!isFPix_(rechit->geographicalId())) return -9999;
916  return signed_shifted_blade_panel_coord(static_cast<const SiPixelRecHit*>(rechit->hit()));
917 }
virtual TrackingRecHit const * hit() const
DetId geographicalId() const
float signed_shifted_blade_panel_coord(const DetId &, const std::pair< int, int > &)
bool isFPix_(const DetId &)
float SiPixelCoordinates::xcoord_on_module_ ( const DetId detid,
const std::pair< int, int > &  pixel 
)
private

Definition at line 295 of file SiPixelCoordinates.cc.

References TrackerGeometry::idToDetUnit(), PixelTopology::nrows(), phase_, PixelGeomDetUnit::specificTopology(), and tGeom_.

Referenced by blade_coord(), ladder_coord(), ring_coord(), signed_blade_coord(), and signed_ladder_coord().

295  {
296  int nrows = 160;
297  // Leave it hard-coded for phase 0/1, read from geometry for phase 2
298  // no special treatment needed here for phase 0 1x8, 1x5 and 1x2 modules either
299  // because we do not want to scale coordinates (only shift if needed)
300  if (phase_==2) {
301  const PixelGeomDetUnit* detUnit = static_cast<const PixelGeomDetUnit*>(tGeom_->idToDetUnit(detid));
302  const PixelTopology* topo = static_cast<const PixelTopology*>(&detUnit->specificTopology());
303  nrows = topo->nrows();
304  }
305  // Shift to the middle of the pixel, for precision binning
306  return (pixel.first+0.5)/nrows;
307 }
virtual int nrows() const =0
const TrackerGeomDet * idToDetUnit(DetId) const override
Return the pointer to the GeomDetUnit corresponding to a given DetId.
const TrackerGeometry * tGeom_
virtual const PixelTopology & specificTopology() const
Returns a reference to the pixel proxy topology.
float SiPixelCoordinates::ycoord_on_module_ ( const DetId detid,
const std::pair< int, int > &  pixel 
)
private

Definition at line 309 of file SiPixelCoordinates.cc.

References TrackerGeometry::idToDetUnit(), isFPix_(), hgcalPlots::ncols, PixelTopology::ncolumns(), phase_, PixelGeomDetUnit::specificTopology(), and tGeom_.

Referenced by blade_coord(), module_coord(), ring_coord(), signed_blade_coord(), and signed_module_coord().

309  {
310  int ncols = 416;
311  // Leave it hard-coded for phase 0/1, read from geometry for phase 2
312  if (phase_==2) {
313  const PixelGeomDetUnit* detUnit = static_cast<const PixelGeomDetUnit*>(tGeom_->idToDetUnit(detid));
314  const PixelTopology* topo = static_cast<const PixelTopology*>(&detUnit->specificTopology());
315  ncols = topo->ncolumns();
316  }
317  else if (phase_==0 && isFPix_(detid)) {
318  // Always use largest length for Phase 0 FPix modules (1x5 and 2x5)
319  // because we do not want to scale coordinates so ROC size remains fixed
320  // and only shifts are needed
321  ncols = 260;
322  }
323  // Shift to the middle of the pixel, for precision binning
324  return (pixel.second+0.5)/ncols;
325 }
const TrackerGeomDet * idToDetUnit(DetId) const override
Return the pointer to the GeomDetUnit corresponding to a given DetId.
const TrackerGeometry * tGeom_
virtual const PixelTopology & specificTopology() const
Returns a reference to the pixel proxy topology.
virtual int ncolumns() const =0
bool isFPix_(const DetId &)

Member Data Documentation

std::unordered_map<uint32_t, int> SiPixelCoordinates::blade_
private

Definition at line 189 of file SiPixelCoordinates.h.

Referenced by blade().

const SiPixelFedCablingMap* SiPixelCoordinates::cablingMap_
private

Definition at line 170 of file SiPixelCoordinates.h.

Referenced by channel(), fedid(), init(), and roc().

std::unordered_map<uint64_t, unsigned int> SiPixelCoordinates::channel_
private

Definition at line 193 of file SiPixelCoordinates.h.

Referenced by channel(), and roc().

std::unordered_map<uint32_t, int> SiPixelCoordinates::disk_
private

Definition at line 185 of file SiPixelCoordinates.h.

Referenced by disk().

std::unordered_map<uint32_t, unsigned int> SiPixelCoordinates::fedid_
private

Definition at line 192 of file SiPixelCoordinates.h.

Referenced by fedid(), and init().

std::unordered_map<uint32_t, int> SiPixelCoordinates::flipped_
private

Definition at line 184 of file SiPixelCoordinates.h.

Referenced by flipped().

std::unordered_map<uint32_t, int> SiPixelCoordinates::half_
private

Definition at line 182 of file SiPixelCoordinates.h.

Referenced by half().

std::unordered_map<uint32_t, int> SiPixelCoordinates::ladder_
private

Definition at line 179 of file SiPixelCoordinates.h.

Referenced by ladder().

std::unordered_map<uint32_t, int> SiPixelCoordinates::layer_
private

Definition at line 177 of file SiPixelCoordinates.h.

Referenced by layer().

std::unordered_map<uint32_t, int> SiPixelCoordinates::module_
private

Definition at line 176 of file SiPixelCoordinates.h.

Referenced by module().

std::unordered_map<uint32_t, int> SiPixelCoordinates::outer_
private

Definition at line 183 of file SiPixelCoordinates.h.

Referenced by outer().

std::unordered_map<uint32_t, int> SiPixelCoordinates::panel_
private

Definition at line 187 of file SiPixelCoordinates.h.

Referenced by panel().

int SiPixelCoordinates::phase_
private
std::unordered_map<uint32_t, int> SiPixelCoordinates::quadrant_
private

Definition at line 174 of file SiPixelCoordinates.h.

Referenced by quadrant().

std::unordered_map<uint32_t, int> SiPixelCoordinates::ring_
private

Definition at line 188 of file SiPixelCoordinates.h.

Referenced by ring().

std::unordered_map<uint64_t, unsigned int> SiPixelCoordinates::roc_
private

Definition at line 194 of file SiPixelCoordinates.h.

Referenced by channel(), and roc().

std::unordered_map<uint32_t, int> SiPixelCoordinates::sector_
private

Definition at line 178 of file SiPixelCoordinates.h.

Referenced by sector().

std::unordered_map<uint32_t, int> SiPixelCoordinates::side_
private

Definition at line 175 of file SiPixelCoordinates.h.

Referenced by side().

std::unordered_map<uint32_t, int> SiPixelCoordinates::signed_blade_
private

Definition at line 190 of file SiPixelCoordinates.h.

Referenced by signed_blade().

std::unordered_map<uint32_t, int> SiPixelCoordinates::signed_disk_
private

Definition at line 186 of file SiPixelCoordinates.h.

Referenced by signed_disk().

std::unordered_map<uint32_t, int> SiPixelCoordinates::signed_ladder_
private

Definition at line 180 of file SiPixelCoordinates.h.

Referenced by signed_ladder().

std::unordered_map<uint32_t, int> SiPixelCoordinates::signed_module_
private

Definition at line 181 of file SiPixelCoordinates.h.

Referenced by signed_module().

const TrackerGeometry* SiPixelCoordinates::tGeom_
private

Definition at line 169 of file SiPixelCoordinates.h.

Referenced by channel(), init(), roc(), xcoord_on_module_(), and ycoord_on_module_().

const TrackerTopology* SiPixelCoordinates::tTopo_
private