21 return (
a<b ? std::make_tuple(
a,b) : std::make_tuple(b,
a) );
41 double nTotal = (phiEnd-phiStart+1.0)*(etaEnd-etaStart+1.0);
44 for (
int i=phiStart; i<=phiEnd; i++) {
45 for (
int j=etaStart; j<=etaEnd; j++) {
47 std::array<InDetDD::PixelDiodeTree::CellIndexType,2> diode_idx
50 std::uint32_t feValue = design.
getFE(si_param);
52 if (pixelDetElStatus.
isChipGood(modulIdHash,feValue)) {++nGood;}
64 assert(
static_cast<unsigned int>(technology) < 31);
65 return bit_val << static_cast<unsigned int>(technology);
This is an Identifier helper class for the Pixel subdetector.
This is a "hash" representation of an Identifier.
static constexpr std::array< PixelDiodeTree::CellIndexType, 2 > makeCellIndex(T local_x_idx, T local_y_idx)
Create a 2D cell index from the indices in local-x (phi, row) and local-y (eta, column) direction.
Class used to describe the design of a module (diode segmentation and readout scheme)
PixelReadoutTechnology getReadoutTechnology() const
PixelDiodeTree::DiodeProxy diodeProxyFromIdx(const std::array< PixelDiodeTree::IndexType, 2 > &idx) const
static unsigned int getFE(const PixelDiodeTree::DiodeProxy &diode_proxy)
Class to hold geometrical description of a silicon detector element.
virtual const SiDetectorDesign & design() const override final
access to the local description (inline):
bool isChipGood(IdentifierHash hash, unsigned int chip) const
const InDetDD::SiDetectorElement * getDetectorElement(const IdentifierHash &hash) const
This is an Identifier helper class for the Pixel subdetector.
int eta_index(const Identifier &id) const
int phi_index(const Identifier &id) const
bool matchingReadoutTechnology(const InDet::SiDetectorElementStatus &elementStatus, const IdentifierHash &moduleIdHash, unsigned int readOutTechnologyMask=(Pixel::makeReadoutTechnologyBit(InDetDD::PixelReadoutTechnology::FEI4)|(Pixel::makeReadoutTechnologyBit(InDetDD::PixelReadoutTechnology::FEI3))))
Check whether the readout technology of the specified module is contained in the given readout techno...
double getGoodFraction(const InDet::SiDetectorElementStatus &pixelDetElStatus, const InDetDD::PixelModuleDesign &design, const PixelID &pixelID, const IdentifierHash &modulIdHash, const Identifier &startId, const Identifier &endId)
Get The fraction of good chips the pixel of a pixel array is connected to.
unsigned int makeReadoutTechnologyBit(InDetDD::PixelReadoutTechnology technology, unsigned int bit_val=1)
Create a word with a bit representing the given readout technology to the given value.
std::tuple< T, T > sorted_tuple(T a, T b)
Create a tuple of the given values in increasing order.
Helper class to access parameters of a diode.