11#ifndef PIXELCONDITIONSSERVICES_PIXELCONDITIONSSUMMARYTOOL_H
12#define PIXELCONDITIONSSERVICES_PIXELCONDITIONSSUMMARYTOOL_H
20#include "GaudiKernel/ServiceHandle.h"
21#include "Gaudi/Property.h"
26#include "Identifier/Identifier.h"
63 virtual bool isGood(
const IdentifierHash& moduleHash,
const EventContext& ctx)
const override final;
69 SG::WriteCondHandle<
InDet::SiDetectorElementStatus>* whandle)
const override;
84 const EventContext& ctx,
88 const EventContext& ctx,
101 {
this,
"UseByteStreamFEI4",
false,
"Switch of the ByteStream error for FEI4"};
104 {
this,
"UseByteStreamFEI3",
false,
"Switch of the ByteStream error for FEI3"};
107 {
this,
"UseByteStreamRD53",
false,
"Switch of the ByteStream error for RD53"};
110 {
this,
"PixelDCSStateCondData",
"PixelDCSStateCondData",
"Pixel FSM state key"};
113 {
this,
"PixelDCSStatusCondData",
"PixelDCSStatusCondData",
"Pixel FSM status key"};
116 {
this,
"PixelTDAQCondData",
"",
"Pixel TDAQ conditions key"};
119 {
this,
"PixelDeadMapCondData",
"PixelDeadMapCondData",
"Pixel deadmap conditions key"};
122 {
this,
"PixelByteStreamErrs",
"PixelByteStreamErrs",
"PixelByteStreamErrs container key"};
125 {
this,
"PixelDetEleCollKey",
"PixelDetectorElementCollection",
"Key of SiDetectorElementCollection for Pixel"};
128 {
this,
"PixelDetElStatusEventDataBaseKey",
"",
"Optional event data key of an input SiDetectorElementStatus on which the newly created object will be based."};
130 {
this,
"PixelDetElStatusCondDataBaseKey",
"" ,
"Optional conditions data key of an input SiDetectorElementStatus on which the newly created object will be based."};
133 {
this,
"ActiveOnly",
false,
"Module and chip status will only reflect whether the modules or chips are active not necessarily whether the signals are good."};
170 std::unique_ptr<InDet::SiDetectorElementStatus>
177 static InterfaceID IID_PixelConditionsSummaryTool(
"PixelConditionsSummaryTool", 1, 0);
178 return IID_PixelConditionsSummaryTool;
183 if (chipStatus.any()) {
188 std::array<InDetDD::PixelDiodeTree::CellIndexType,2> diode_idx
192 std::uint32_t chFE = p_design->
getFE(si_param);
194 std::bitset<16> circ;
196 if ((chipStatus&circ).any()) {
return false; }
Maintain a set of objects, one per slot.
Store pixel DCS module state in PixelDCSStateData.
Store pixel DCS module status in PixelDCSStatusData.
This is an Identifier helper class for the Pixel subdetector.
Store pixel TDAQ information to PixelTDAQData.
Header file for AthHistogramAlgorithm.
IDC like storage for BS errors, TODO, customise implementation further so that we store int rather th...
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)
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):
This is an Identifier helper class for the Pixel subdetector.
Property holding a SG store/key/clid from which a ReadHandle is made.
Maintain a set of objects, one per slot.
Class to hold geometrical description of a silicon detector element.
Helper class to access parameters of a diode.