|
|
Go to the documentation of this file.
18 #include <boost/range/irange.hpp>
274 unsigned int fedid = 9999;
311 return std::make_pair(digi->
row(), digi->
column());
317 int row = cluster->
x() - 0.5,
col = cluster->
y() - 0.5;
318 return std::make_pair(row,
col);
329 return std::make_pair(row,
col);
340 nrows = topo->
nrows();
343 return (
pixel.first + 0.5) / nrows;
352 ncols = topo->ncolumns();
376 int rowsperroc = 80, colsperroc = 52;
382 colsperroc = topo->colsperroc();
426 return channel(static_cast<const SiPixelRecHit*>(rechit->
hit()));
447 int rowsperroc = 80, colsperroc = 52;
453 colsperroc = topo->colsperroc();
459 if (
roc_.count(pseudo_roc_num))
460 return roc_[pseudo_roc_num];
486 int rocX =
pixel.first / rowsperroc, rocY =
pixel.second / colsperroc;
489 int v1x8 =
half(detid) == 1, v1x2 = (pan == 1 &&
mod == 1), v1x5 = (pan == 1 &&
mod == 4);
490 if (v1x8 || v1x2 || v1x5)
498 rocY = rocsY - 1 - rocY;
501 roc = rocX ? rocY : 2 * rocsY - 1 - rocY;
503 return roc_[pseudo_roc_num] =
roc;
523 return roc(static_cast<const SiPixelRecHit*>(rechit->
hit()));
704 return ring_coord(static_cast<const SiPixelRecHit*>(rechit->
hit()));
738 return disk_coord(static_cast<const SiPixelRecHit*>(rechit->
hit()));
750 coord_shift = -coord_shift;
819 coord_shift = -coord_shift;
862 if (
side(detid) == 1)
863 coord_shift = -coord_shift;
866 if ((
side(detid) +
panel(detid)) % 2 == 0)
867 coord_shift = -coord_shift;
890 return blade_coord(static_cast<const SiPixelRecHit*>(rechit->
hit()));
907 if (
side(detid) == 2)
908 coord_shift = -coord_shift;
911 if ((
side(detid) +
panel(detid)) % 2 == 1)
912 coord_shift = -coord_shift;
std::unordered_map< uint32_t, int > signed_disk_
std::unordered_map< uint32_t, int > blade_
float signed_blade_coord(const DetId &, const std::pair< int, int > &)
const TrackerTopology * tTopo_
unsigned int pxfSide(const DetId &id) const
int signed_ladder(const DetId &)
float signed_module_coord(const DetId &, const std::pair< int, int > &)
float blade_coord(const DetId &, const std::pair< int, int > &)
bool isFPix_(const DetId &)
float module_coord(const DetId &, const std::pair< int, int > &)
float signed_shifted_blade_panel_coord(const DetId &, const std::pair< int, int > &)
int signed_blade(const DetId &)
float blade_panel_coord(const DetId &, const std::pair< int, int > &)
virtual TrackingRecHit const * hit() const
constexpr Detector det() const
get the detector field from this detid
unsigned int pxbLadder(const DetId &id) const
T mod(const T &a, const T &b)
std::unordered_map< uint32_t, int > signed_module_
std::unordered_map< uint32_t, unsigned int > fedid_
float signed_blade_panel_coord(const DetId &, const std::pair< int, int > &)
bool isBPix_(const DetId &)
std::pair< int, int > pixel_(const PixelDigi *)
std::unordered_map< uint64_t, unsigned int > channel_
HalfCylinder halfCylinder() const
Pixel cluster – collection of neighboring pixels above threshold.
std::unordered_map< uint32_t, int > flipped_
int sector(const DetId &)
int bladeName() const
blade id
DetId geographicalId() const
std::unordered_map< uint32_t, int > sector_
unsigned int pxbLayer(const DetId &id) const
std::unordered_map< uint32_t, int > ring_
const TrackerGeomDet * idToDetUnit(DetId) const override
Return the pointer to the GeomDetUnit corresponding to a given DetId.
unsigned int pxfPanel(const DetId &id) const
std::unordered_map< uint32_t, int > signed_blade_
bool isPixel_(const DetId &)
const SiPixelFedCablingMap * cablingMap_
void init(const TrackerTopology *, const TrackerGeometry *, const SiPixelFedCablingMap *)
std::unordered_map< uint32_t, int > layer_
std::unordered_map< uint32_t, int > ladder_
int channel(const DetId &, const std::pair< int, int > &)
int signed_disk(const DetId &)
int flipped(const DetId &)
std::unordered_map< uint32_t, int > side_
bool isThere(GeomDetEnumerators::SubDetector subdet) const
unsigned int fedid(const DetId &)
int ladderName() const
ladder id (index in phi)
int sectorName() const
sector id
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum)
std::unordered_map< uint32_t, int > outer_
virtual ~SiPixelCoordinates()
std::unordered_map< uint64_t, unsigned int > roc_
std::unordered_map< uint32_t, unsigned int > det2fedMap() const final
virtual const PixelTopology & specificTopology() const
Returns a reference to the pixel proxy topology.
LocalPoint localPosition() const final
int module(const DetId &)
unsigned int pxfModule(const DetId &id) const
unsigned int pxfDisk(const DetId &id) const
std::unordered_map< uint32_t, int > module_
int moduleName() const
module id (index in z)
virtual int rowsperroc() const =0
float signed_disk_coord(const DetId &, const std::pair< int, int > &)
std::unordered_map< uint32_t, int > disk_
float ycoord_on_module_(const DetId &, const std::pair< int, int > &)
constexpr uint32_t rawId() const
get the raw id
std::unordered_map< uint32_t, int > panel_
unsigned int pxbModule(const DetId &id) const
float signed_disk_ring_coord(const DetId &, const std::pair< int, int > &)
float signed_ladder_coord(const DetId &, const std::pair< int, int > &)
int roc(const DetId &, const std::pair< int, int > &)
float disk_ring_coord(const DetId &, const std::pair< int, int > &)
const TrackerGeometry * tGeom_
unsigned long long uint64_t
unsigned int pxfBlade(const DetId &id) const
std::unordered_map< uint32_t, int > signed_ladder_
std::unordered_map< uint32_t, int > half_
int signed_module(const DetId &)
float ladder_coord(const DetId &, const std::pair< int, int > &)
virtual int nrows() const =0
float xcoord_on_module_(const DetId &, const std::pair< int, int > &)
bool isHalfModule() const
full or half module
bool hasDetUnit(uint32_t radId) const
float ring_coord(const DetId &, const std::pair< int, int > &)
int ladder(const DetId &)
unsigned int idInDetUnit() const
id of this ROC in DetUnit etermined by token path
int ringName() const
ring Id
std::unordered_map< uint32_t, int > quadrant_
float disk_coord(const DetId &, const std::pair< int, int > &)
std::vector< unsigned int > fedIds() const
const GeomDetUnit * detUnit() const override
int quadrant(const DetId &)