ATLAS Offline Software
Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
ITkPixelDataRateMonTool Class Reference

#include <ITkPixelDataRateMonTool.h>

Inheritance diagram for ITkPixelDataRateMonTool:
Collaboration diagram for ITkPixelDataRateMonTool:

Public Member Functions

 ITkPixelDataRateMonTool (const std::string &type, const std::string &name, const IInterface *parent)
 
virtual ~ITkPixelDataRateMonTool ()=default
 
virtual StatusCode initialize () override
 
void fill (const uint32_t offlineID, const std::vector< unsigned int > &encodedstream, const ITkPixLayout< uint16_t > &hitMap) const
 
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & evtStore () const
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. More...
 
virtual StatusCode sysInitialize () override
 Perform system initialization for an algorithm. More...
 
virtual StatusCode sysStart () override
 Handle START transition. More...
 
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles. More...
 
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles. More...
 
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T, V, H > &t)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc="none")
 Declare a new Gaudi property. More...
 
void updateVHKA (Gaudi::Details::PropertyBase &)
 
MsgStream & msg () const
 
MsgStream & msg (const MSG::Level lvl) const
 
bool msgLvl (const MSG::Level lvl) const
 

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution More...
 
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
 
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed. More...
 

Private Types

enum  Region { INVALID_REGION =-1, REGION_BARREL, REGION_ENDCAP, N_REGIONS }
 
enum  Side { INVALID_SIDE =-1, SIDE_POSITIVE, SIDE_NEGATIVE, N_SIDES }
 
typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

StatusCode bookHistograms (const std::vector< std::vector< float >> &barrel_z, const std::vector< std::vector< float >> &endcap_z)
 
void fillExpertPlots (const uint32_t offlineID, const ITkPixLayout< uint16_t > &hitMap) const
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyArrayType &)
 specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleType &)
 specialization for handling Gaudi::Property<SG::VarHandleBase> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &t, const SG::NotHandleType &)
 specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
 

Private Attributes

Gaudi::Property< std::string > m_path { this, "MonitoringPath", "/DataRateMon/", "Name of directory for plots" }
 
Gaudi::Property< bool > m_doExpertPlots { this, "DoExpertPlots", false, "Enable expert plots" }
 
ServiceHandle< ITHistSvc > m_thistSvc {this, "HistSvc", "THistSvc", "The histogram service"}
 
ServiceHandle< InDetDD::IPixelReadoutManagerm_pixelReadout {this, "PixelReadoutManager", "ITkPixelReadoutManager", "Pixel readout manager" }
 
const InDetDD::PixelDetectorManagerm_detManager = nullptr
 
const PixelIDm_pixIdHelper = nullptr
 
std::map< int, std::string > m_regionLabels
 
std::map< int, std::string > m_sideLabels
 
TH1 *m_encoded_streamLength ATLAS_THREAD_SAFE = nullptr
 
TH2 *m_h2_chip_hitmap[N_LAYERS][N_REGIONSATLAS_THREAD_SAFE = {}
 
TH2 *m_h2_chip_totmap[N_LAYERS][N_REGIONSATLAS_THREAD_SAFE = {}
 
TProfile *m_p_streamLength[N_LAYERS][N_REGIONS][N_SIDESATLAS_THREAD_SAFE = {}
 
TH2 *m_h2_streamLength[N_LAYERS][N_REGIONS][N_SIDESATLAS_THREAD_SAFE = {}
 
TProfile *m_p_dataRate[N_LAYERS][N_REGIONS][N_SIDESATLAS_THREAD_SAFE = {}
 
TH2 *m_h2_dataRate[N_LAYERS][N_REGIONS][N_SIDESATLAS_THREAD_SAFE = {}
 
TProfile *m_p_hits[N_LAYERS][N_REGIONS][N_SIDESATLAS_THREAD_SAFE = {}
 
TH2 *m_h2_hits[N_LAYERS][N_REGIONS][N_SIDESATLAS_THREAD_SAFE = {}
 
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default) More...
 
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default) More...
 
std::vector< SG::VarHandleKeyArray * > m_vhka
 
bool m_varHandleArraysDeclared
 

Static Private Attributes

static const int s_bitsPerPack = 32
 
static const int s_chipReadoutFrequency = 1000000
 
static const int s_col_chip = 400
 
static const int s_row_chip = 384
 
static const int N_LAYERS =9
 

Detailed Description

Definition at line 36 of file ITkPixelDataRateMonTool.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< AlgTool > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Member Enumeration Documentation

◆ Region

Enumerator
INVALID_REGION 
REGION_BARREL 
REGION_ENDCAP 
N_REGIONS 

Definition at line 95 of file ITkPixelDataRateMonTool.h.

◆ Side

Enumerator
INVALID_SIDE 
SIDE_POSITIVE 
SIDE_NEGATIVE 
N_SIDES 

Definition at line 105 of file ITkPixelDataRateMonTool.h.

105  {
107  };

Constructor & Destructor Documentation

◆ ITkPixelDataRateMonTool()

ITkPixelDataRateMonTool::ITkPixelDataRateMonTool ( const std::string &  type,
const std::string &  name,
const IInterface *  parent 
)

Definition at line 14 of file ITkPixelDataRateMonTool.cxx.

16 {
17 }

◆ ~ITkPixelDataRateMonTool()

virtual ITkPixelDataRateMonTool::~ITkPixelDataRateMonTool ( )
virtualdefault

Member Function Documentation

◆ bookHistograms()

StatusCode ITkPixelDataRateMonTool::bookHistograms ( const std::vector< std::vector< float >> &  barrel_z,
const std::vector< std::vector< float >> &  endcap_z 
)
private

Definition at line 150 of file ITkPixelDataRateMonTool.cxx.

151  {
152 
153  // -----------Stream length distribution in bits for the whole detector and all the chips-----------
154  m_encoded_streamLength = new TH1F("m_encoded_streamLength", "Encoded Stream Length in bits", 2000, 0, 2000);
155  if ((m_thistSvc->regHist(m_path + m_encoded_streamLength->GetName(), m_encoded_streamLength)).isFailure())
156  return StatusCode::FAILURE;
157 
158  ATH_MSG_DEBUG("Histogram " << m_encoded_streamLength->GetName() << " successfully registered.");
159 
160  // -----------Stream length distribution in bits for different regions and layers-----------
161 
162  std::array<std::vector<std::vector<double>>, N_REGIONS> bins;
163  for (auto& r : bins) r.resize(N_LAYERS);
164 
165  // New identifier scheme
166  for (unsigned int layer = 0; layer<N_LAYERS ; layer++) {
167  if (not barrel_z[layer].empty()) {
168  for (unsigned int z_bin = 0; z_bin<(barrel_z[layer].size()-1); z_bin++) {
169  // evaluate middle point between consecutive modules
170  float interModulePoint = 0.5 * ( barrel_z[layer].at(z_bin) + barrel_z[layer].at(z_bin+1) );
171  if (z_bin==0)
172  bins[REGION_BARREL][layer].push_back(0.);
173  bins[REGION_BARREL][layer].push_back( interModulePoint );
174  }
175  //Creates the end of region covered by the module
176  double last_value = 2.*barrel_z[layer].back() - barrel_z[layer].at( barrel_z[layer].size() - 2 );
177  bins[REGION_BARREL][layer].push_back(last_value);
178  }
179 
180  if (not endcap_z[layer].empty()) {
181  for (unsigned int z_bin = 0; z_bin<(endcap_z[layer].size()-1); z_bin++) {
182  // evaluate middle point between consecutive modules
183  float interModulePoint = 0.5 * ( endcap_z[layer].at(z_bin) + endcap_z[layer].at(z_bin+1) );
184  if (z_bin==0) {
185  float initialValue = 2.*endcap_z[layer].at(z_bin)-interModulePoint;
186  bins[REGION_ENDCAP][layer].push_back((initialValue));
187  }
188  bins[REGION_ENDCAP][layer].push_back( interModulePoint );
189  }
190  //Creates the end of region covered by the module
191  double last_value = 2.*endcap_z[layer].back() - endcap_z[layer].at( endcap_z[layer].size() - 2);
192  bins[REGION_ENDCAP][layer].push_back(last_value);
193  }
194  }
195 
196  for (unsigned int region=0; region<N_REGIONS; region++) {
197  for (unsigned int layer=0; layer<N_LAYERS; layer++) {
198 
199 
200  if (bins[region][layer].empty())
201  continue;
202 
203  if (m_doExpertPlots) {
204  m_h2_chip_hitmap[layer][region] = new TH2F(("m_h2_chip_hitmap_" + m_regionLabels[region] + "_" + std::to_string(layer)).c_str(),
205  (m_regionLabels[region] + " - Layer " + std::to_string(layer) + " Chip hit map; x [px]; y [px]; #epsilon").c_str(),
206  s_row_chip, -0.5, s_row_chip-0.5, s_col_chip, -0.5, s_col_chip-0.5);
207  if ((m_thistSvc->regHist(m_path + m_h2_chip_hitmap[layer][region]->GetName(), m_h2_chip_hitmap[layer][region])).isFailure())
208  return StatusCode::FAILURE;
209  ATH_MSG_DEBUG("Histogram " << m_h2_chip_hitmap[layer][region]->GetName() << " successfully registered.");
210 
211  m_h2_chip_totmap[layer][region] = new TH2F(("m_h2_chip_totmap_" + m_regionLabels[region] + "_" + std::to_string(layer)).c_str(),
212  (m_regionLabels[region] + " - Layer " + std::to_string(layer) + " Chip ToT map; x [px]; y [px]; #epsilon").c_str(),
213  s_row_chip, -0.5, s_row_chip-0.5, s_col_chip, -0.5, s_col_chip-0.5);
214  if ((m_thistSvc->regHist(m_path + m_h2_chip_totmap[layer][region]->GetName(), m_h2_chip_totmap[layer][region])).isFailure())
215  return StatusCode::FAILURE;
216  ATH_MSG_DEBUG("Histogram " << m_h2_chip_totmap[layer][region]->GetName() << " successfully registered.");
217  }
218 
219  for (int side=0; side<N_SIDES; side++) {
220  // Create names and title of histograms for full z coverage
221  const std::string name_base = m_regionLabels[region] + "_" + std::to_string(layer) + "_" + m_sideLabels[side];
222  const std::string title_base = m_regionLabels[region] + " - Layer " + std::to_string(layer) + " - Side " + m_sideLabels[side];
223 
224  // -----------Stream length distribution in bits for different regions and layers-----------
225  m_p_streamLength[layer][region][side] = new TProfile(("m_p_streamLength_" + name_base).c_str(),
226  (title_base + " Stream Length; z[mm]; <stream length> [bits]").c_str(),
227  int(bins[region][layer].size()-1), &bins[region][layer][0]);
228  if ((m_thistSvc->regHist(m_path + m_p_streamLength[layer][region][side]->GetName(), m_p_streamLength[layer][region][side])).isFailure())
229  return StatusCode::FAILURE;
230  ATH_MSG_DEBUG("Histogram " << m_p_streamLength[layer][region][side]->GetName() << " successfully registered.");
231 
232  m_h2_streamLength[layer][region][side] = new TH2F(("m_h2_streamLength_" + name_base).c_str(),
233  (title_base + " Stream Length; z[mm]; <stream length> [bits]").c_str(),
234  int(bins[region][layer].size()-1), &bins[region][layer][0],
235  1000, 0., 10000.);
236  if ((m_thistSvc->regHist(m_path + m_h2_streamLength[layer][region][side]->GetName(), m_h2_streamLength[layer][region][side])).isFailure())
237  return StatusCode::FAILURE;
238  ATH_MSG_DEBUG("Histogram " << m_h2_streamLength[layer][region][side]->GetName() << " successfully registered.");
239 
240 
241  // -----------Data rate in b/s for different regions and layers-----------
242 
243  m_p_dataRate[layer][region][side] = new TProfile(("m_p_dataRate_" + name_base).c_str(),
244  (title_base + " Data rate per chip; z[mm]; <data rate per chip> [b/s]").c_str(),
245  int(bins[region][layer].size()-1), &bins[region][layer][0]);
246  if ((m_thistSvc->regHist(m_path + m_p_dataRate[layer][region][side]->GetName(), m_p_dataRate[layer][region][side])).isFailure())
247  return StatusCode::FAILURE;
248  ATH_MSG_DEBUG("Histogram " << m_p_dataRate[layer][region][side]->GetName() << " successfully registered.");
249 
250  m_h2_dataRate[layer][region][side] = new TH2F(("m_h2_dataRate_" + name_base).c_str(),
251  (title_base + " Data rate per chip; z[mm]; <data rate per chip> [b/s]").c_str(),
252  int(bins[region][layer].size()-1), &bins[region][layer][0],
253  1000, 0., 10000.);
254  if ((m_thistSvc->regHist(m_path + m_h2_dataRate[layer][region][side]->GetName(), m_h2_dataRate[layer][region][side])).isFailure())
255  return StatusCode::FAILURE;
256  ATH_MSG_DEBUG("Histogram " << m_h2_dataRate[layer][region][side]->GetName() << " successfully registered.");
257 
258  // -----------Hits per chip for different regions and layers-----------
259  m_p_hits[layer][region][side] = new TProfile(("m_p_hits_" + name_base).c_str(),
260  (title_base + " Hits per chip; z[mm]; <hits/chip>").c_str(),
261  int(bins[region][layer].size()-1), &bins[region][layer][0]);
262  if ((m_thistSvc->regHist(m_path + m_p_hits[layer][region][side]->GetName(), m_p_hits[layer][region][side])).isFailure())
263  return StatusCode::FAILURE;
264  ATH_MSG_DEBUG("Histogram " << m_p_hits[layer][region][side]->GetName() << " successfully registered.");
265 
266  m_h2_hits[layer][region][side] = new TH2F(("m_h2_hits_" + name_base).c_str(),
267  (title_base + " Hits per chip; z[mm]; <hits/chip>").c_str(),
268  int(bins[region][layer].size()-1), &bins[region][layer][0],
269  1000, 0., 10000.);
270  if ((m_thistSvc->regHist(m_path + m_h2_hits[layer][region][side]->GetName(), m_h2_hits[layer][region][side])).isFailure())
271  return StatusCode::FAILURE;
272  ATH_MSG_DEBUG("Histogram " << m_h2_hits[layer][region][side]->GetName() << " successfully registered.");
273  }
274  }
275  }
276 
277  return StatusCode::SUCCESS;
278 
279 }

◆ declareGaudiProperty() [1/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T, V, H > &  hndl,
const SG::VarHandleKeyArrayType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKeyArray>

Definition at line 170 of file AthCommonDataStore.h.

172  {
173  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
174  hndl.value(),
175  hndl.documentation());
176 
177  }

◆ declareGaudiProperty() [2/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T, V, H > &  hndl,
const SG::VarHandleKeyType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158  {
159  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
160  hndl.value(),
161  hndl.documentation());
162 
163  }

◆ declareGaudiProperty() [3/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T, V, H > &  hndl,
const SG::VarHandleType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleBase>

Definition at line 184 of file AthCommonDataStore.h.

186  {
187  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
188  hndl.value(),
189  hndl.documentation());
190  }

◆ declareGaudiProperty() [4/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T, V, H > &  t,
const SG::NotHandleType  
)
inlineprivateinherited

specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>

Definition at line 199 of file AthCommonDataStore.h.

200  {
201  return PBASE::declareProperty(t);
202  }

◆ declareProperty() [1/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleBase hndl,
const std::string &  doc,
const SG::VarHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleBase. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 245 of file AthCommonDataStore.h.

249  {
250  this->declare(hndl.vhKey());
251  hndl.vhKey().setOwner(this);
252 
253  return PBASE::declareProperty(name,hndl,doc);
254  }

◆ declareProperty() [2/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKey hndl,
const std::string &  doc,
const SG::VarHandleKeyType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleKey. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 221 of file AthCommonDataStore.h.

225  {
226  this->declare(hndl);
227  hndl.setOwner(this);
228 
229  return PBASE::declareProperty(name,hndl,doc);
230  }

◆ declareProperty() [3/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKeyArray hndArr,
const std::string &  doc,
const SG::VarHandleKeyArrayType  
)
inlineinherited

Definition at line 259 of file AthCommonDataStore.h.

263  {
264 
265  // std::ostringstream ost;
266  // ost << Algorithm::name() << " VHKA declareProp: " << name
267  // << " size: " << hndArr.keys().size()
268  // << " mode: " << hndArr.mode()
269  // << " vhka size: " << m_vhka.size()
270  // << "\n";
271  // debug() << ost.str() << endmsg;
272 
273  hndArr.setOwner(this);
274  m_vhka.push_back(&hndArr);
275 
276  Gaudi::Details::PropertyBase* p = PBASE::declareProperty(name, hndArr, doc);
277  if (p != 0) {
278  p->declareUpdateHandler(&AthCommonDataStore<PBASE>::updateVHKA, this);
279  } else {
280  ATH_MSG_ERROR("unable to call declareProperty on VarHandleKeyArray "
281  << name);
282  }
283 
284  return p;
285 
286  }

◆ declareProperty() [4/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc,
const SG::NotHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This is the generic version, for types that do not derive from SG::VarHandleKey. It just forwards to the base class version of declareProperty.

Definition at line 333 of file AthCommonDataStore.h.

337  {
338  return PBASE::declareProperty(name, property, doc);
339  }

◆ declareProperty() [5/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc = "none" 
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This dispatches to either the generic declareProperty or the one for VarHandle/Key/KeyArray.

Definition at line 352 of file AthCommonDataStore.h.

355  {
356  typedef typename SG::HandleClassifier<T>::type htype;
357  return declareProperty (name, property, doc, htype());
358  }

◆ declareProperty() [6/6]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( Gaudi::Property< T, V, H > &  t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145  {
146  typedef typename SG::HandleClassifier<T>::type htype;
148  }

◆ detStore()

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

95 { return m_detStore; }

◆ evtStore() [1/2]

ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

85 { return m_evtStore; }

◆ evtStore() [2/2]

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( ) const
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 90 of file AthCommonDataStore.h.

90 { return m_evtStore; }

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase &  ExtraDeps)
protectedinherited

Add StoreName to extra input/output deps as needed.

use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given

◆ fill()

void ITkPixelDataRateMonTool::fill ( const uint32_t  offlineID,
const std::vector< unsigned int > &  encodedstream,
const ITkPixLayout< uint16_t > &  hitMap 
) const

Definition at line 84 of file ITkPixelDataRateMonTool.cxx.

86  {
87  // -----------Receives the encoded stream and distributes it to the differents histograms-----------
88 
89  // Find the stream length as the number of bits in the stream
90  const float streamLength = encodedstream.size() * s_bitsPerPack;
91  // Find the data rate as the number of bits in the stream multiplied by the chip readout frequency to get it in b/s
92  const float data_rate = streamLength * s_chipReadoutFrequency;
93 
94  // -----------Stream length distribution in bits for the whole detector and all the chips-----------
95  m_encoded_streamLength->Fill(streamLength);
96 
97  // Finds module properties
98  const Identifier waferID = Identifier(offlineID);
99  const int pixelBarrelEndcap = m_pixIdHelper->barrel_ec(waferID);
100  const int pixelLayerDisk = m_pixIdHelper->layer_disk(waferID);
101  const int pixelEtaModule = m_pixIdHelper->eta_module(waferID);
102 
103  const Region region = (pixelBarrelEndcap==0) ? REGION_BARREL : REGION_ENDCAP;
104  const Side side = (pixelEtaModule < 0 || pixelBarrelEndcap < 0) ? SIDE_NEGATIVE : SIDE_POSITIVE;
105  const float z = std::abs(m_detManager->getDetectorElement(waferID)->center().z());
106 
107  // -----------Stream length distribution in bits-----------
108  m_p_streamLength[pixelLayerDisk][region][side]->Fill(z, streamLength);
109  m_h2_streamLength[pixelLayerDisk][region][side]->Fill(z, streamLength);
110 
111  // -----------Data rate distribution in bits per second-----------
112  m_p_dataRate[pixelLayerDisk][region][side]->Fill(z, data_rate);
113  m_h2_dataRate[pixelLayerDisk][region][side]->Fill(z, data_rate);
114 
115  // -----------Hits per chip-----------
116  m_p_hits[pixelLayerDisk][region][side]->Fill(z, hitMap.nHits());
117  m_h2_hits[pixelLayerDisk][region][side]->Fill(z, hitMap.nHits());
118 
119  if (m_doExpertPlots)
120  fillExpertPlots(offlineID, hitMap);
121 }

◆ fillExpertPlots()

void ITkPixelDataRateMonTool::fillExpertPlots ( const uint32_t  offlineID,
const ITkPixLayout< uint16_t > &  hitMap 
) const
private

Definition at line 124 of file ITkPixelDataRateMonTool.cxx.

124  {
125 
126  // -----------Receives the hits and distributes it to the differents histograms-----------
127 
128  // Finds module properties
129  const Identifier waferID = Identifier(offlineID);
130  const int pixelBarrelEndcap = m_pixIdHelper->barrel_ec(waferID);
131  const int pixelLayerDisk = m_pixIdHelper->layer_disk(waferID);
132 
133  const Region region = (pixelBarrelEndcap==0) ? REGION_BARREL : REGION_ENDCAP;
134 
135  // ---Chip hit map---
136 
137  for (uint16_t col = 0; col < s_col_chip-1; col++){
138  for (uint16_t row = 0; row < s_row_chip-1; row++){
139 
140  if (hitMap(col, row) > 0){
141  m_h2_chip_hitmap[pixelLayerDisk][region]->Fill(row, col, 1);
142  m_h2_chip_totmap[pixelLayerDisk][region]->Fill(row, col, hitMap(col, row));
143  }
144  }
145  }
146 
147 }

◆ initialize()

StatusCode ITkPixelDataRateMonTool::initialize ( )
overridevirtual

Definition at line 20 of file ITkPixelDataRateMonTool.cxx.

20  {
21 
22  // ----------- Check services presence -----------
23 
24  // Checks that the histograming service is up and running
25  ATH_CHECK(m_thistSvc.retrieve());
26 
27  // Checks that the pixel readout service is up and running
28  ATH_CHECK(m_pixelReadout.retrieve());
29 
30  // Checks that the pixel id help service is up and running
31  ATH_CHECK(detStore()->retrieve(m_pixIdHelper, "PixelID"));
32 
33  // Checks that the pixel manager service is up and running
34  ATH_CHECK(detStore()->retrieve(m_detManager, "ITkPixel"));
35 
36  // ----------- Finds the different regions and layers to create histograms for them -----------
37  std::vector<std::vector<float>> barrel_module_z(10); // List of z coordinates for modules in barrel
38  std::vector<std::vector<float>> endcap_module_z(10); //List of z coordinates for modules in endcap
39 
42  const InDetDD::SiDetectorElement* element = *iter;
43 
44  if (!element) {
45  ATH_MSG_ERROR("Problems with pointer to Detector Element !!!");
46  return StatusCode::FAILURE;
47  }
48 
49  // Get the element indices
50  const Identifier identifier = element->identify();
51  const int pixelPhiModule = m_pixIdHelper->phi_module(identifier);
52  const int pixelBarrelEndcap = m_pixIdHelper->barrel_ec(identifier);
53  const int pixelLayerDisk = m_pixIdHelper->layer_disk(identifier);
54  const int pixelEtaModule = m_pixIdHelper->eta_module(identifier);
55 
56  // Use one module to save the z location, using phi_module == 0 is an arbitrary choice
57  // also we can skip all the negative z modules since the geometry is symmetric
58  if (pixelBarrelEndcap<0 or pixelPhiModule > 0 or (pixelBarrelEndcap == 0 and pixelEtaModule<0))
59  continue;
60 
61  if (dynamic_cast <const InDetDD::PixelModuleDesign*>(&(element->design())) == nullptr){
62  throw std::runtime_error("Pointer to PixelModuleDesign object is null");
63  }
64  const InDetDD::PixelModuleDesign *moduleDesign = static_cast<const InDetDD::PixelModuleDesign*>(&(element->design()));
65 
66  // Get the number of chips per module
67  int chips = moduleDesign->numberOfCircuits();
68 
69  float module_z = element->center().z();
70  ATH_MSG_DEBUG("Modules BarrelEndcap LayerDisk Phi Eta z : " << pixelBarrelEndcap << " " << pixelLayerDisk << " " << pixelPhiModule << " " << pixelEtaModule << " " << module_z << " | nb chips : " << chips << " rows-cols: " << moduleDesign->rowsPerCircuit() << "-" << moduleDesign->columnsPerCircuit() << " thickness:" << moduleDesign->thickness());
71 
72  element->isBarrel() ? barrel_module_z.at(pixelLayerDisk).push_back(module_z) : endcap_module_z.at(pixelLayerDisk).push_back(module_z);
73 
74  }
75 
76  // When booking the histograms, you pass as well the module position
77  // it is then stored in the tools and is used to bin the histograms accordingly
78  ATH_CHECK(ITkPixelDataRateMonTool::bookHistograms(barrel_module_z, endcap_module_z));
79 
80  return StatusCode::SUCCESS;
81 }

◆ inputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< AlgTool > >::inputHandles ( ) const
overridevirtualinherited

Return this algorithm's input handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ msg() [1/2]

MsgStream& AthCommonMsg< AlgTool >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24  {
25  return this->msgStream();
26  }

◆ msg() [2/2]

MsgStream& AthCommonMsg< AlgTool >::msg ( const MSG::Level  lvl) const
inlineinherited

Definition at line 27 of file AthCommonMsg.h.

27  {
28  return this->msgStream(lvl);
29  }

◆ msgLvl()

bool AthCommonMsg< AlgTool >::msgLvl ( const MSG::Level  lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30  {
31  return this->msgLevel(lvl);
32  }

◆ outputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< AlgTool > >::outputHandles ( ) const
overridevirtualinherited

Return this algorithm's output handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ renounce()

std::enable_if_t<std::is_void_v<std::result_of_t<decltype(&T::renounce)(T)> > && !std::is_base_of_v<SG::VarHandleKeyArray, T> && std::is_base_of_v<Gaudi::DataHandle, T>, void> AthCommonDataStore< AthCommonMsg< AlgTool > >::renounce ( T &  h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381  {
382  h.renounce();
383  PBASE::renounce (h);
384  }

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::renounceArray ( SG::VarHandleKeyArray handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364  {
365  handlesArray.renounce();
366  }

◆ sysInitialize()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysInitialize ( )
overridevirtualinherited

Perform system initialization for an algorithm.

We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.

Reimplemented in DerivationFramework::CfAthAlgTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and asg::AsgMetadataTool.

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::updateVHKA ( Gaudi::Details::PropertyBase &  )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308  {
309  // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310  // << " size: " << m_vhka.size() << endmsg;
311  for (auto &a : m_vhka) {
312  std::vector<SG::VarHandleKey*> keys = a->keys();
313  for (auto k : keys) {
314  k->setOwner(this);
315  }
316  }
317  }

Member Data Documentation

◆ ATLAS_THREAD_SAFE [1/9]

TH1* m_encoded_streamLength ITkPixelDataRateMonTool::ATLAS_THREAD_SAFE = nullptr
mutableprivate

Definition at line 116 of file ITkPixelDataRateMonTool.h.

◆ ATLAS_THREAD_SAFE [2/9]

TH2* m_h2_chip_hitmap [N_LAYERS][N_REGIONS] ITkPixelDataRateMonTool::ATLAS_THREAD_SAFE = {}
mutableprivate

Definition at line 121 of file ITkPixelDataRateMonTool.h.

◆ ATLAS_THREAD_SAFE [3/9]

TH2* m_h2_chip_totmap [N_LAYERS][N_REGIONS] ITkPixelDataRateMonTool::ATLAS_THREAD_SAFE = {}
mutableprivate

Definition at line 124 of file ITkPixelDataRateMonTool.h.

◆ ATLAS_THREAD_SAFE [4/9]

TProfile* m_p_streamLength [N_LAYERS][N_REGIONS][N_SIDES] ITkPixelDataRateMonTool::ATLAS_THREAD_SAFE = {}
mutableprivate

Definition at line 129 of file ITkPixelDataRateMonTool.h.

◆ ATLAS_THREAD_SAFE [5/9]

TH2* m_h2_streamLength [N_LAYERS][N_REGIONS][N_SIDES] ITkPixelDataRateMonTool::ATLAS_THREAD_SAFE = {}
mutableprivate

Definition at line 132 of file ITkPixelDataRateMonTool.h.

◆ ATLAS_THREAD_SAFE [6/9]

TProfile* m_p_dataRate [N_LAYERS][N_REGIONS][N_SIDES] ITkPixelDataRateMonTool::ATLAS_THREAD_SAFE = {}
mutableprivate

Definition at line 135 of file ITkPixelDataRateMonTool.h.

◆ ATLAS_THREAD_SAFE [7/9]

TH2* m_h2_dataRate [N_LAYERS][N_REGIONS][N_SIDES] ITkPixelDataRateMonTool::ATLAS_THREAD_SAFE = {}
mutableprivate

Definition at line 138 of file ITkPixelDataRateMonTool.h.

◆ ATLAS_THREAD_SAFE [8/9]

TProfile* m_p_hits [N_LAYERS][N_REGIONS][N_SIDES] ITkPixelDataRateMonTool::ATLAS_THREAD_SAFE = {}
mutableprivate

Definition at line 141 of file ITkPixelDataRateMonTool.h.

◆ ATLAS_THREAD_SAFE [9/9]

TH2* m_h2_hits [N_LAYERS][N_REGIONS][N_SIDES] ITkPixelDataRateMonTool::ATLAS_THREAD_SAFE = {}
mutableprivate

Definition at line 144 of file ITkPixelDataRateMonTool.h.

◆ m_detManager

const InDetDD::PixelDetectorManager* ITkPixelDataRateMonTool::m_detManager = nullptr
private

Definition at line 70 of file ITkPixelDataRateMonTool.h.

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_doExpertPlots

Gaudi::Property< bool > ITkPixelDataRateMonTool::m_doExpertPlots { this, "DoExpertPlots", false, "Enable expert plots" }
private

Definition at line 61 of file ITkPixelDataRateMonTool.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_path

Gaudi::Property< std::string > ITkPixelDataRateMonTool::m_path { this, "MonitoringPath", "/DataRateMon/", "Name of directory for plots" }
private

Definition at line 58 of file ITkPixelDataRateMonTool.h.

◆ m_pixelReadout

ServiceHandle< InDetDD::IPixelReadoutManager > ITkPixelDataRateMonTool::m_pixelReadout {this, "PixelReadoutManager", "ITkPixelReadoutManager", "Pixel readout manager" }
private

Definition at line 67 of file ITkPixelDataRateMonTool.h.

◆ m_pixIdHelper

const PixelID* ITkPixelDataRateMonTool::m_pixIdHelper = nullptr
private

Definition at line 73 of file ITkPixelDataRateMonTool.h.

◆ m_regionLabels

std::map<int, std::string > ITkPixelDataRateMonTool::m_regionLabels
private
Initial value:
{
{INVALID_REGION, "invalid"}, {REGION_BARREL, "barrel"}, {REGION_ENDCAP, "endcap"}
}

Definition at line 100 of file ITkPixelDataRateMonTool.h.

◆ m_sideLabels

std::map<int, std::string > ITkPixelDataRateMonTool::m_sideLabels
private
Initial value:
{
{INVALID_SIDE, "invalid"}, {SIDE_POSITIVE, "pos"}, {SIDE_NEGATIVE, "neg"}
}

Definition at line 110 of file ITkPixelDataRateMonTool.h.

◆ m_thistSvc

ServiceHandle<ITHistSvc> ITkPixelDataRateMonTool::m_thistSvc {this, "HistSvc", "THistSvc", "The histogram service"}
private

Definition at line 64 of file ITkPixelDataRateMonTool.h.

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< AlgTool > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.

◆ N_LAYERS

const int ITkPixelDataRateMonTool::N_LAYERS =9
staticprivate

Definition at line 92 of file ITkPixelDataRateMonTool.h.

◆ s_bitsPerPack

const int ITkPixelDataRateMonTool::s_bitsPerPack = 32
staticprivate

Definition at line 78 of file ITkPixelDataRateMonTool.h.

◆ s_chipReadoutFrequency

const int ITkPixelDataRateMonTool::s_chipReadoutFrequency = 1000000
staticprivate

Definition at line 81 of file ITkPixelDataRateMonTool.h.

◆ s_col_chip

const int ITkPixelDataRateMonTool::s_col_chip = 400
staticprivate

Definition at line 84 of file ITkPixelDataRateMonTool.h.

◆ s_row_chip

const int ITkPixelDataRateMonTool::s_row_chip = 384
staticprivate

Definition at line 87 of file ITkPixelDataRateMonTool.h.


The documentation for this class was generated from the following files:
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
beamspotman.r
def r
Definition: beamspotman.py:672
createLinkingScheme.iter
iter
Definition: createLinkingScheme.py:62
DataModel_detail::const_iterator
Const iterator class for DataVector/DataList.
Definition: DVLIterator.h:82
InDetDD::DetectorDesign::thickness
double thickness() const
Method which returns thickness of the silicon wafer.
Definition: DetectorDesign.h:271
ITkPixelDataRateMonTool::m_thistSvc
ServiceHandle< ITHistSvc > m_thistSvc
Definition: ITkPixelDataRateMonTool.h:64
ITkPixelDataRateMonTool::fillExpertPlots
void fillExpertPlots(const uint32_t offlineID, const ITkPixLayout< uint16_t > &hitMap) const
Definition: ITkPixelDataRateMonTool.cxx:124
InDetDD::PixelModuleDesign
Definition: PixelModuleDesign.h:45
ITkPixelDataRateMonTool::m_pixelReadout
ServiceHandle< InDetDD::IPixelReadoutManager > m_pixelReadout
Definition: ITkPixelDataRateMonTool.h:67
ITkPixelDataRateMonTool::s_bitsPerPack
static const int s_bitsPerPack
Definition: ITkPixelDataRateMonTool.h:78
PixelID::barrel_ec
int barrel_ec(const Identifier &id) const
Values of different levels (failure returns 0)
Definition: PixelID.h:600
ITkPixelDataRateMonTool::N_LAYERS
static const int N_LAYERS
Definition: ITkPixelDataRateMonTool.h:92
InDetDD::SolidStateDetectorElementBase::center
virtual const Amg::Vector3D & center() const override final
Center in global coordinates.
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
ITkPixelDataRateMonTool::m_detManager
const InDetDD::PixelDetectorManager * m_detManager
Definition: ITkPixelDataRateMonTool.h:70
keylayer_zslicemap.row
row
Definition: keylayer_zslicemap.py:155
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
xAOD::identifier
identifier
Definition: UncalibratedMeasurement_v1.cxx:15
MuonR4::to_string
std::string to_string(const SectorProjector proj)
Definition: MsTrackSeeder.cxx:66
python.TrigEgammaMonitorHelper.TH2F
def TH2F(name, title, nxbins, bins_par2, bins_par3, bins_par4, bins_par5=None, bins_par6=None, path='', **kwargs)
Definition: TrigEgammaMonitorHelper.py:45
ITkPixelDataRateMonTool::m_regionLabels
std::map< int, std::string > m_regionLabels
Definition: ITkPixelDataRateMonTool.h:100
ITkPixelDataRateMonTool::N_REGIONS
@ N_REGIONS
Definition: ITkPixelDataRateMonTool.h:96
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:95
ITkPixelDataRateMonTool::s_row_chip
static const int s_row_chip
Definition: ITkPixelDataRateMonTool.h:87
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
IDTPMcnv.htype
htype
Definition: IDTPMcnv.py:29
TRT::Hit::side
@ side
Definition: HitInfo.h:83
python.setupRTTAlg.size
int size
Definition: setupRTTAlg.py:39
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:209
AthCommonDataStore
Definition: AthCommonDataStore.h:52
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:93
ITkPixelDataRateMonTool::m_path
Gaudi::Property< std::string > m_path
Definition: ITkPixelDataRateMonTool.h:58
z
#define z
python.TrigEgammaMonitorHelper.TProfile
def TProfile(*args, **kwargs)
Definition: TrigEgammaMonitorHelper.py:81
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
AthCommonDataStore::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
Definition: AthCommonDataStore.h:145
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
InDetDD::PixelModuleDesign::numberOfCircuits
int numberOfCircuits() const
Total number of circuits:
Definition: PixelModuleDesign.h:306
ITkPixelDataRateMonTool::N_SIDES
@ N_SIDES
Definition: ITkPixelDataRateMonTool.h:106
Side
Definition: WaferTree.h:36
test_pyathena.parent
parent
Definition: test_pyathena.py:15
Region
Region
Definition: TrigL2HitResidual.h:14
InDetDD::PixelDetectorManager::getDetectorElementBegin
virtual SiDetectorElementCollection::const_iterator getDetectorElementBegin() const override
Definition: PixelDetectorManager.cxx:109
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
ITkPixelDataRateMonTool::s_chipReadoutFrequency
static const int s_chipReadoutFrequency
Definition: ITkPixelDataRateMonTool.h:81
ITkPixelDataRateMonTool::m_doExpertPlots
Gaudi::Property< bool > m_doExpertPlots
Definition: ITkPixelDataRateMonTool.h:61
plotting.yearwise_luminosity_vs_mu.bins
bins
Definition: yearwise_luminosity_vs_mu.py:30
ITkPixelDataRateMonTool::REGION_BARREL
@ REGION_BARREL
Definition: ITkPixelDataRateMonTool.h:96
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
ITkPixelDataRateMonTool::bookHistograms
StatusCode bookHistograms(const std::vector< std::vector< float >> &barrel_z, const std::vector< std::vector< float >> &endcap_z)
Definition: ITkPixelDataRateMonTool.cxx:150
ITkPixelDataRateMonTool::INVALID_REGION
@ INVALID_REGION
Definition: ITkPixelDataRateMonTool.h:96
ITkPixelDataRateMonTool::SIDE_NEGATIVE
@ SIDE_NEGATIVE
Definition: ITkPixelDataRateMonTool.h:106
AthAlgTool::AthAlgTool
AthAlgTool()
Default constructor:
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
PixelID::layer_disk
int layer_disk(const Identifier &id) const
Definition: PixelID.h:607
ITkPixelDataRateMonTool::SIDE_POSITIVE
@ SIDE_POSITIVE
Definition: ITkPixelDataRateMonTool.h:106
PixelID::eta_module
int eta_module(const Identifier &id) const
Definition: PixelID.h:632
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
ITkPixelDataRateMonTool::s_col_chip
static const int s_col_chip
Definition: ITkPixelDataRateMonTool.h:84
ITkPixelDataRateMonTool::m_sideLabels
std::map< int, std::string > m_sideLabels
Definition: ITkPixelDataRateMonTool.h:110
InDetDD::SiDetectorElement
Definition: SiDetectorElement.h:109
InDetDD::SiDetectorElement::isBarrel
bool isBarrel() const
a
TList * a
Definition: liststreamerinfos.cxx:10
columnar::empty
bool empty() const noexcept
Definition: ObjectRange.h:167
h
InDetDD::PixelModuleDesign::rowsPerCircuit
int rowsPerCircuit() const
Number of cell rows per circuit:
Definition: PixelModuleDesign.h:326
ITkPixLayout::nHits
int nHits() const
Definition: ITkPixLayout.h:38
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:629
InDetDD::PixelDetectorManager::getDetectorElementEnd
virtual SiDetectorElementCollection::const_iterator getDetectorElementEnd() const override
Definition: PixelDetectorManager.cxx:114
InDetDD::PixelDetectorManager::getDetectorElement
virtual const SiDetectorElement * getDetectorElement(const Identifier &id) const override
access to individual elements : via Identifier
Definition: PixelDetectorManager.cxx:80
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:801
python.TrigEgammaMonitorHelper.TH1F
def TH1F(name, title, nxbins, bins_par2, bins_par3=None, path='', **kwargs)
Definition: TrigEgammaMonitorHelper.py:24
ITkPixelDataRateMonTool::REGION_ENDCAP
@ REGION_ENDCAP
Definition: ITkPixelDataRateMonTool.h:96
InDetDD::SiDetectorElement::design
virtual const SiDetectorDesign & design() const override final
access to the local description (inline):
PixelID::phi_module
int phi_module(const Identifier &id) const
Definition: PixelID.h:625
ITkPixelDataRateMonTool::m_pixIdHelper
const PixelID * m_pixIdHelper
Definition: ITkPixelDataRateMonTool.h:73
InDetDD::PixelModuleDesign::columnsPerCircuit
int columnsPerCircuit() const
Number of cell columns per circuit:
Definition: PixelModuleDesign.h:321
InDetDD::SolidStateDetectorElementBase::identify
virtual Identifier identify() const override final
identifier of this detector element (inline)
ITkPixelDataRateMonTool::INVALID_SIDE
@ INVALID_SIDE
Definition: ITkPixelDataRateMonTool.h:106
fitman.k
k
Definition: fitman.py:528
Identifier
Definition: IdentifierFieldParser.cxx:14