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

Class monitoring one silicon layer. More...

#include <AFPSiLayerMonitor.h>

Inheritance diagram for AFPSiLayerMonitor:
Collaboration diagram for AFPSiLayerMonitor:

Public Member Functions

 AFPSiLayerMonitor (const std::string &type, const std::string &name, const IInterface *parent)
 Declares python properites. More...
 
 ~AFPSiLayerMonitor ()
 Does nothing
More...
 
StatusCode initialize () override
 Constructs m_layerFullName from m_stationID and m_pixelLayerID. More...
 
StatusCode finalize () override
 Does nothing. More...
 
void setParentMonitor (AFPHitsMonitorTool *parent) override
 Sets variable storing pointer to the main monitoring object. More...
 
void bookHistograms (ManagedMonitorToolBase *toolToStoreHistograms, const std::string &histsDirName="") override
 Creates, adds axes descriptions and books histograms filled by this monitor. More...
 
void fillHistograms (const xAOD::AFPSiHit &hit) override
 Fills histograms which have to be filled for each hit. More...
 
void eventEnd () override
 Method that should be called when event processing is finished. More...
 
void endOfLumiBlock () override
 Process histograms at the end of lumiblock. More...
 
int layerID () const override
 Pixel plane ID number. More...
 
std::string makeHistName (const std::string &name) const override
 Returns a name suffixed with station and layer numbers. More...
 
std::string makeHistTitle (const std::string &title) const override
 Returns a title suffixed with station and layer numbers. More...
 
const std::string & histsDirName () const override
 Returns name of the ROOT file directory where histograms are stored. More...
 
const std::string & layerFullName () const override
 Returns layer and station name used to label bins in summary histograms. More...
 
virtual double correctHitsForPileUp (double hits) const override
 Normalises number of hits in an event to 0 pile-up. More...
 
double hitsInEvent () const override
 Number of pixels fired in an event. More...
 
double hitsInEventScaled () const override
 Returns number of pixels fired in an event corrected for pile-up. More...
 
double hitsInEventHotSpot () const override
 Number of pixels fired in an event in a hot-spot. More...
 
double hitsInEventHotSpotScaled () const override
 Number of hits in hot-spot corrected for pile-up. More...
 
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 > &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
 

Static Public Member Functions

static const InterfaceID & interfaceID ()
 

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...
 

Protected Attributes

int m_pixelLayerID
 ID number of the silicon pixel layer. More...
 
int m_stationID
 ID number of the station where the pixel layer is mounted. More...
 
std::string m_layerFullName
 Layer and station name used to label summary histograms bins. More...
 
AFPHitsMonitorToolm_parentMonitor
 Pointer to the parent monitoring tool. More...
 
std::string m_histsDirName
 Name of the ROOT file directory where histograms will be saved. More...
 
double m_hitsScaleFactor
 Factor for correcting number of hits for pile-up (see AFPSiLayerMonitor::correctHitsForPileUp() More...
 
unsigned int m_hitsInEvent
 Number of counted pixels fired in the current event. More...
 
LWHist2Dm_hitMap
 2D distribution of hits in a layer row vs column (336 x 80) More...
 
TH1m_hitMultiplicity
 Distribution of number of hits in an event. More...
 
TH1m_timeOverThreshold
 Distribution of number of time-over-threshold i.e. signal strength for each hit. More...
 
int m_hotSpotStartRow
 Defines the first row of a hot spot (including this row). More...
 
int m_hotSpotEndRow
 Defines the last row of a hot spot (including this row). More...
 
int m_hotSpotStartCol
 Defines the first column of a hot spot (including this column). More...
 
int m_hotSpotEndCol
 Defines the last column of a hot spot (including this column). More...
 
unsigned int m_hitsInEventHotSpot
 Counts number of hits in a hot-spot in an event. More...
 
TH1m_hitMultiplicityHotSpot
 Distribution of number of hits in a hot-spot in an event. More...
 

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &)
 specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &)
 specialization for handling Gaudi::Property<SG::VarHandleBase> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &)
 specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
 

Private Attributes

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
 

Detailed Description

Class monitoring one silicon layer.

Python properties:

Definition at line 31 of file AFPSiLayerMonitor.h.

Member Typedef Documentation

◆ StoreGateSvc_t

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

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ AFPSiLayerMonitor()

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

Declares python properites.

Definition at line 18 of file AFPSiLayerMonitor.cxx.

20  :
22  m_parentMonitor (nullptr),
23  m_hitsInEvent (0),
24  m_hitMap(nullptr),
25  m_hitMultiplicity(nullptr),
26  m_timeOverThreshold(nullptr),
29 {
30  declareInterface<IAFPSiLayerMonitor>(this);
31 
32  declareProperty("pixelLayerID", m_pixelLayerID = -1, "ID number of pixel layer.");
33  declareProperty("stationID", m_stationID = -1, "ID number of station in which is the monitored layer.");
34 
35  declareProperty("hitsScaleFactor", m_hitsScaleFactor = 0.04, "Scale factor for normalising hits in event to pile-up.");
36 
37  declareProperty("hotSpotStartRow", m_hotSpotStartRow = 0, "First row of the hot-spot (included in the hot-spot).");
38  declareProperty("hotSpotEndRow", m_hotSpotEndRow = 50, "Last row of the hot-spot (included in the hot-spot).");
39  declareProperty("hotSpotStartCol", m_hotSpotStartCol = 0, "First column of the hot-spot (included in the hot-spot).");
40  declareProperty("hotSpotEndCol", m_hotSpotEndCol = 30, "Last column of the hot-spot (included in the hot-spot).");
41 }

◆ ~AFPSiLayerMonitor()

AFPSiLayerMonitor::~AFPSiLayerMonitor ( )

Does nothing

Definition at line 43 of file AFPSiLayerMonitor.cxx.

44 {
45 }

Member Function Documentation

◆ bookHistograms()

void AFPSiLayerMonitor::bookHistograms ( ManagedMonitorToolBase toolToStoreHistograms,
const std::string &  histsDirName = "" 
)
overridevirtual

Creates, adds axes descriptions and books histograms filled by this monitor.

Implements IAFPSiLayerMonitor.

Definition at line 64 of file AFPSiLayerMonitor.cxx.

65 {
67 
68  // ********** Per lumi block **********
69  ManagedMonitorToolBase::MonGroup managed_booking_lumiBlock( toolToStoreHistograms, histsDirName.data(), toolToStoreHistograms->lumiBlock); // to re-booked every luminosity block
70  ManagedMonitorToolBase::MonGroup managed_booking_run( toolToStoreHistograms, histsDirName.data(), toolToStoreHistograms->run); // to re-booked every run
71 
72  // ----- hit map -----
73  // create histogram name and title
74  std::string hitMapName = makeHistName("h_hitMap");
75  std::string hitMapTitle = makeHistName("Map of hits");
76 
77  constexpr int nRows = 80;
78  constexpr int nColumns = 336;
79 
80  // create and register histogram
81  m_hitMap = TH2F_LW::create(hitMapName.data(),
82  hitMapTitle.data(),
83  nRows, 0.5, nRows + 0.5,
84  nColumns, 0.5, nColumns + 0.5);
85  m_hitMap->SetXTitle("column ID");
86  m_hitMap->SetYTitle("row ID");
87 
88  toolToStoreHistograms->regHist(m_hitMap, managed_booking_run).ignore();
89 
90 
91  // ----- hit multiplicity -----
92  // create histogram name and title
93  std::string hitMultiplicityName = makeHistName("h_hitMultiplicity");
94  std::string hitMultiplicityTitle = makeHistTitle("Number of hits per event");
95 
96  m_hitMultiplicity = new TH1F(hitMultiplicityName.data(),
97  hitMultiplicityTitle.data(),
98  40, -0.5, 39.5);
99  m_hitMultiplicity->SetStatOverflows(TH1::EStatOverflows::kConsider); // need to use overflows for calculation of mean
100  m_hitMultiplicity->SetXTitle("number of hits in an event");
101  m_hitMultiplicity->SetYTitle("events");
102 
103  toolToStoreHistograms->regHist( m_hitMultiplicity, managed_booking_lumiBlock ).ignore();
104 
105 
106  // create histogram name and title
107  std::string hitMultiplicityNameHotSpot = makeHistName("h_hitMultiplicityHotSpot");
108  std::string hitMultiplicityTitleHotSpot = makeHistTitle("Number of hits per event in the hot spot");
109 
110  m_hitMultiplicityHotSpot = new TH1F(hitMultiplicityNameHotSpot.data(),
111  hitMultiplicityTitleHotSpot.data(),
112  40, -0.5, 39.5);
113  m_hitMultiplicityHotSpot->SetStatOverflows(TH1::EStatOverflows::kConsider); // need to use overflows for calculation of mean
114  m_hitMultiplicityHotSpot->SetXTitle("number of hits in hotspot in an event");
115  m_hitMultiplicityHotSpot->SetYTitle("events");
116 
117  toolToStoreHistograms->regHist( m_hitMultiplicityHotSpot, managed_booking_lumiBlock ).ignore();
118 
119 
120  // ----- hit charge -----
121  // create histogram name and title
122  std::string timeOverThresholdName = makeHistName("h_timeOverThreshold");
123  std::string timeOverThresholdTitle = makeHistTitle("Time over threshold");
124 
125  m_timeOverThreshold = new TH1F(timeOverThresholdName.data(),
126  timeOverThresholdTitle.data(),
127  16, -0.5, 15.5);
128  m_timeOverThreshold->SetStatOverflows(TH1::EStatOverflows::kConsider); // need to use overflows for calculation of mean
129  m_timeOverThreshold->SetXTitle("time-over-threshold");
130  m_timeOverThreshold->SetYTitle("number of hits");
131 
132  toolToStoreHistograms->regHist( m_timeOverThreshold, managed_booking_lumiBlock ).ignore();
133 }

◆ correctHitsForPileUp()

double AFPSiLayerMonitor::correctHitsForPileUp ( double  hits) const
overridevirtual

Normalises number of hits in an event to 0 pile-up.

The output is calculated according to the following formula

\[ n_{\textrm{corr}} = n_{\textrm{obs}} - a*\mu \]

where:

  • \( n_{\textrm{corr}} \) - is number of hits corrected for pile-up
  • \( n_{\textrm{obs}} \) - is observed/measured number of hits i.e. NOT corrected for pile-up
  • \( a \) - is a correction factor m_hitsScaleFactor
  • \( \mu \) - is an average number of interactions in a bunch crossing (pile-up)

Implements IAFPSiLayerMonitor.

Definition at line 190 of file AFPSiLayerMonitor.cxx.

191 {
193 }

◆ declareGaudiProperty() [1/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  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 > &  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 > &  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 > &  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 > &  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; }

◆ endOfLumiBlock()

void AFPSiLayerMonitor::endOfLumiBlock ( )
overridevirtual

Process histograms at the end of lumiblock.

Does nothing

Reimplemented from IAFPSiLayerMonitor.

Definition at line 166 of file AFPSiLayerMonitor.cxx.

167 {
168 
169 }

◆ eventEnd()

void AFPSiLayerMonitor::eventEnd ( )
overridevirtual

Method that should be called when event processing is finished.

It fills histograms with "events" on Y axis. It also fills summary histograms from AFPHitsMonitorTool::m_summaryManager in m_parentMonitor.

Note
At the end this method clears buffers for an event e.g. m_hitsInEvent, m_hitsInEventHotSpot.

Reimplemented from IAFPSiLayerMonitor.

Definition at line 153 of file AFPSiLayerMonitor.cxx.

154 {
155  // fill histograms
158 
160 
161  // reset variables
162  m_hitsInEvent = 0;
164 }

◆ 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

◆ fillHistograms()

void AFPSiLayerMonitor::fillHistograms ( const xAOD::AFPSiHit hit)
overridevirtual

Fills histograms which have to be filled for each hit.

These are histograms with "number of hits" on Y axis. It also fills summary histograms from AFPHitsMonitorTool::m_summaryManager in m_parentMonitor

Implements IAFPSiLayerMonitor.

Definition at line 136 of file AFPSiLayerMonitor.cxx.

137 {
138  // update variables
139  m_hitsInEvent++;
140 
144 
145  // fill histograms
148 
149  // fill summary histograms
151 }

◆ finalize()

StatusCode AFPSiLayerMonitor::finalize ( )
overridevirtual

Does nothing.

Implements IAFPSiLayerMonitor.

Definition at line 58 of file AFPSiLayerMonitor.cxx.

59 {
60  return StatusCode::SUCCESS;
61 }

◆ histsDirName()

const std::string& AFPSiLayerMonitor::histsDirName ( ) const
inlineoverridevirtual

Returns name of the ROOT file directory where histograms are stored.

Returns
m_histsDirName

Implements IAFPSiLayerMonitor.

Definition at line 92 of file AFPSiLayerMonitor.h.

92 {return m_histsDirName;}

◆ hitsInEvent()

double AFPSiLayerMonitor::hitsInEvent ( ) const
inlineoverridevirtual

Number of pixels fired in an event.

Returns
m_hitsInEvent

Implements IAFPSiLayerMonitor.

Definition at line 111 of file AFPSiLayerMonitor.h.

111 {return m_hitsInEvent;}

◆ hitsInEventHotSpot()

double AFPSiLayerMonitor::hitsInEventHotSpot ( ) const
inlineoverridevirtual

Number of pixels fired in an event in a hot-spot.

The hot-spot is defined by: m_hotSpotStartRow, m_hotSpotEndRow, m_hotSpotStartCol, m_hotSpotEndCol. Definition includes boundries i.e. <= and >= are used.

Returns
m_hitsInEventHotSpot

Implements IAFPSiLayerMonitor.

Definition at line 124 of file AFPSiLayerMonitor.h.

124 {return m_hitsInEventHotSpot;}

◆ hitsInEventHotSpotScaled()

double AFPSiLayerMonitor::hitsInEventHotSpotScaled ( ) const
inlineoverridevirtual

Number of hits in hot-spot corrected for pile-up.

Implements IAFPSiLayerMonitor.

Definition at line 127 of file AFPSiLayerMonitor.h.

◆ hitsInEventScaled()

double AFPSiLayerMonitor::hitsInEventScaled ( ) const
inlineoverridevirtual

Returns number of pixels fired in an event corrected for pile-up.

Implements IAFPSiLayerMonitor.

Definition at line 114 of file AFPSiLayerMonitor.h.

◆ initialize()

StatusCode AFPSiLayerMonitor::initialize ( )
overridevirtual

Constructs m_layerFullName from m_stationID and m_pixelLayerID.

Implements IAFPSiLayerMonitor.

Definition at line 47 of file AFPSiLayerMonitor.cxx.

48 {
49  // set full name
50  std::stringstream fullName;
51  fullName<<"st."<<m_stationID;
52  fullName<<"/lay."<<m_pixelLayerID;
53  m_layerFullName = fullName.str();
54 
55  return StatusCode::SUCCESS;
56 }

◆ 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.

◆ interfaceID()

static const InterfaceID& IAFPSiLayerMonitor::interfaceID ( )
inlinestaticinherited

Definition at line 25 of file IAFPSiLayerMonitor.h.

26  {return IID_IAFPSiLayerMonitor;}

◆ layerFullName()

const std::string& AFPSiLayerMonitor::layerFullName ( ) const
inlineoverridevirtual

Returns layer and station name used to label bins in summary histograms.

Implements IAFPSiLayerMonitor.

Definition at line 95 of file AFPSiLayerMonitor.h.

95 {return m_layerFullName;}

◆ layerID()

int AFPSiLayerMonitor::layerID ( ) const
inlineoverridevirtual

Pixel plane ID number.

Returns
m_pixelLayerID.

Implements IAFPSiLayerMonitor.

Definition at line 81 of file AFPSiLayerMonitor.h.

81 {return m_pixelLayerID;}

◆ makeHistName()

std::string AFPSiLayerMonitor::makeHistName ( const std::string &  name) const
overridevirtual

Returns a name suffixed with station and layer numbers.

Implements IAFPSiLayerMonitor.

Definition at line 172 of file AFPSiLayerMonitor.cxx.

173 {
174  std::stringstream histName;
175  histName<<name<<"St"<<m_stationID<<"Layer"<<m_pixelLayerID;
176 
177  return histName.str();
178 }

◆ makeHistTitle()

std::string AFPSiLayerMonitor::makeHistTitle ( const std::string &  title) const
overridevirtual

Returns a title suffixed with station and layer numbers.

Implements IAFPSiLayerMonitor.

Definition at line 181 of file AFPSiLayerMonitor.cxx.

182 {
183  std::stringstream histTitle;
184  histTitle<<title<<" in station "<<m_stationID<<" for layer "<<m_pixelLayerID;
185 
186  return histTitle.str();
187 
188 }

◆ 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  }

◆ setParentMonitor()

void AFPSiLayerMonitor::setParentMonitor ( AFPHitsMonitorTool parent)
inlineoverridevirtual

Sets variable storing pointer to the main monitoring object.

Sets m_parentMonitor

Implements IAFPSiLayerMonitor.

Definition at line 51 of file AFPSiLayerMonitor.h.

◆ 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

◆ 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_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_histsDirName

std::string AFPSiLayerMonitor::m_histsDirName
protected

Name of the ROOT file directory where histograms will be saved.

Definition at line 135 of file AFPSiLayerMonitor.h.

◆ m_hitMap

LWHist2D* AFPSiLayerMonitor::m_hitMap
protected

2D distribution of hits in a layer row vs column (336 x 80)

Definition at line 141 of file AFPSiLayerMonitor.h.

◆ m_hitMultiplicity

TH1* AFPSiLayerMonitor::m_hitMultiplicity
protected

Distribution of number of hits in an event.

Note
Must be TH1 because overflows need to be included in mean

Definition at line 146 of file AFPSiLayerMonitor.h.

◆ m_hitMultiplicityHotSpot

TH1* AFPSiLayerMonitor::m_hitMultiplicityHotSpot
protected

Distribution of number of hits in a hot-spot in an event.

The hot-spot is defined by: m_hotSpotStartRow, m_hotSpotEndRow, m_hotSpotStartCol, m_hotSpotEndCol. Definition includes boundries i.e. <= and >= are used.

Note
Must be TH1 because overflows need to be included in mean

Definition at line 169 of file AFPSiLayerMonitor.h.

◆ m_hitsInEvent

unsigned int AFPSiLayerMonitor::m_hitsInEvent
protected

Number of counted pixels fired in the current event.

Definition at line 138 of file AFPSiLayerMonitor.h.

◆ m_hitsInEventHotSpot

unsigned int AFPSiLayerMonitor::m_hitsInEventHotSpot
protected

Counts number of hits in a hot-spot in an event.

Definition at line 160 of file AFPSiLayerMonitor.h.

◆ m_hitsScaleFactor

double AFPSiLayerMonitor::m_hitsScaleFactor
protected

Factor for correcting number of hits for pile-up (see AFPSiLayerMonitor::correctHitsForPileUp()

Definition at line 137 of file AFPSiLayerMonitor.h.

◆ m_hotSpotEndCol

int AFPSiLayerMonitor::m_hotSpotEndCol
protected

Defines the last column of a hot spot (including this column).

Definition at line 158 of file AFPSiLayerMonitor.h.

◆ m_hotSpotEndRow

int AFPSiLayerMonitor::m_hotSpotEndRow
protected

Defines the last row of a hot spot (including this row).

Definition at line 154 of file AFPSiLayerMonitor.h.

◆ m_hotSpotStartCol

int AFPSiLayerMonitor::m_hotSpotStartCol
protected

Defines the first column of a hot spot (including this column).

Definition at line 156 of file AFPSiLayerMonitor.h.

◆ m_hotSpotStartRow

int AFPSiLayerMonitor::m_hotSpotStartRow
protected

Defines the first row of a hot spot (including this row).

Definition at line 152 of file AFPSiLayerMonitor.h.

◆ m_layerFullName

std::string AFPSiLayerMonitor::m_layerFullName
protected

Layer and station name used to label summary histograms bins.

Definition at line 132 of file AFPSiLayerMonitor.h.

◆ m_parentMonitor

AFPHitsMonitorTool* AFPSiLayerMonitor::m_parentMonitor
protected

Pointer to the parent monitoring tool.

Definition at line 134 of file AFPSiLayerMonitor.h.

◆ m_pixelLayerID

int AFPSiLayerMonitor::m_pixelLayerID
protected

ID number of the silicon pixel layer.

Definition at line 130 of file AFPSiLayerMonitor.h.

◆ m_stationID

int AFPSiLayerMonitor::m_stationID
protected

ID number of the station where the pixel layer is mounted.

Definition at line 131 of file AFPSiLayerMonitor.h.

◆ m_timeOverThreshold

TH1* AFPSiLayerMonitor::m_timeOverThreshold
protected

Distribution of number of time-over-threshold i.e. signal strength for each hit.

Definition at line 149 of file AFPSiLayerMonitor.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.


The documentation for this class was generated from the following files:
AFPSiLayerSummaryManager::fillHits
void fillHits(const std::string &binName, const xAOD::AFPSiHit &hit) const
Executes IAFPSiLayerSummaryHit::fillHits() on all objects in AFPSiLayerSummaryManager::m_hits.
Definition: AFPSiLayerSummaryManager.cxx:21
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
AddEmptyComponent.histName
string histName
Definition: AddEmptyComponent.py:64
ManagedMonitorToolBase::lumiBlock
@ lumiBlock
Definition: ManagedMonitorToolBase.h:114
AFPSiLayerMonitor::m_pixelLayerID
int m_pixelLayerID
ID number of the silicon pixel layer.
Definition: AFPSiLayerMonitor.h:130
AFPHitsMonitorTool::summaryManager
AFPSiLayerSummaryManager * summaryManager()
Manager of summary distributions m_summaryManager.
Definition: AFPHitsMonitorTool.h:80
AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
WriteCellNoiseToCool.fullName
fullName
Definition: WriteCellNoiseToCool.py:461
AFPSiLayerMonitor::histsDirName
const std::string & histsDirName() const override
Returns name of the ROOT file directory where histograms are stored.
Definition: AFPSiLayerMonitor.h:92
AFPSiLayerMonitor::m_hitsInEventHotSpot
unsigned int m_hitsInEventHotSpot
Counts number of hits in a hot-spot in an event.
Definition: AFPSiLayerMonitor.h:160
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
AFPSiLayerMonitor::m_timeOverThreshold
TH1 * m_timeOverThreshold
Distribution of number of time-over-threshold i.e. signal strength for each hit.
Definition: AFPSiLayerMonitor.h:149
LWHist2D::Fill
virtual void Fill(const double &x, const double &y)=0
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
AFPSiLayerMonitor::m_histsDirName
std::string m_histsDirName
Name of the ROOT file directory where histograms will be saved.
Definition: AFPSiLayerMonitor.h:135
AFPSiLayerMonitor::makeHistTitle
std::string makeHistTitle(const std::string &title) const override
Returns a title suffixed with station and layer numbers.
Definition: AFPSiLayerMonitor.cxx:181
AFPSiLayerMonitor::m_layerFullName
std::string m_layerFullName
Layer and station name used to label summary histograms bins.
Definition: AFPSiLayerMonitor.h:132
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
AFPSiLayerSummaryManager::fillEventEnd
void fillEventEnd(const std::string &binName, const IAFPSiLayerMonitor *layer) const
Executes IAFPSiLayerSummaryHit::fillEventEnd() on all objects in AFPSiLayerSummaryManager::m_eventEnd...
Definition: AFPSiLayerSummaryManager.cxx:27
ManagedMonitorToolBase::MonGroup
A container of information describing a monitoring object.
Definition: ManagedMonitorToolBase.h:138
xAOD::AFPSiHit_v2::pixelColIDChip
int pixelColIDChip() const
Index of the pixel column in chip coordinate system.
AthCommonDataStore
Definition: AthCommonDataStore.h:52
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
LArG4ShowerLibProcessing.hits
hits
Definition: LArG4ShowerLibProcessing.py:136
covarianceTool.title
title
Definition: covarianceTool.py:542
test_pyathena.parent
parent
Definition: test_pyathena.py:15
AFPSiLayerMonitor::m_parentMonitor
AFPHitsMonitorTool * m_parentMonitor
Pointer to the parent monitoring tool.
Definition: AFPSiLayerMonitor.h:134
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
AFPSiLayerMonitor::m_hitMap
LWHist2D * m_hitMap
2D distribution of hits in a layer row vs column (336 x 80)
Definition: AFPSiLayerMonitor.h:141
TH1::Fill
int Fill(double)
Definition: rootspy.cxx:285
AthAlgTool::AthAlgTool
AthAlgTool()
Default constructor:
AFPSiLayerMonitor::m_hitsInEvent
unsigned int m_hitsInEvent
Number of counted pixels fired in the current event.
Definition: AFPSiLayerMonitor.h:138
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
AFPSiLayerMonitor::m_hotSpotStartRow
int m_hotSpotStartRow
Defines the first row of a hot spot (including this row).
Definition: AFPSiLayerMonitor.h:152
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
AFPSiLayerMonitor::makeHistName
std::string makeHistName(const std::string &name) const override
Returns a name suffixed with station and layer numbers.
Definition: AFPSiLayerMonitor.cxx:172
LWHist::SetXTitle
void SetXTitle(const char *)
Definition: LWHist.cxx:431
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
AFPSiLayerMonitor::m_hotSpotStartCol
int m_hotSpotStartCol
Defines the first column of a hot spot (including this column).
Definition: AFPSiLayerMonitor.h:156
AFPSiLayerMonitor::m_hotSpotEndCol
int m_hotSpotEndCol
Defines the last column of a hot spot (including this column).
Definition: AFPSiLayerMonitor.h:158
TH2F_LW::create
static TH2F_LW * create(const char *name, const char *title, unsigned nbinsx, const double &xmin, const double &xmax, unsigned nbinsy, const double &ymin, const double &ymax)
Definition: TH2F_LW.cxx:33
LWHist::SetYTitle
void SetYTitle(const char *)
Definition: LWHist.cxx:440
AFPSiLayerMonitor::m_hitMultiplicityHotSpot
TH1 * m_hitMultiplicityHotSpot
Distribution of number of hits in a hot-spot in an event.
Definition: AFPSiLayerMonitor.h:169
xAOD::AFPSiHit_v2::timeOverThreshold
float timeOverThreshold() const
Time over threshold of signal for a pixel.
AFPSiLayerMonitor::correctHitsForPileUp
virtual double correctHitsForPileUp(double hits) const override
Normalises number of hits in an event to 0 pile-up.
Definition: AFPSiLayerMonitor.cxx:190
ManagedMonitorToolBase::run
@ run
Definition: ManagedMonitorToolBase.h:116
xAOD::AFPSiHit_v2::pixelRowIDChip
int pixelRowIDChip() const
Index of the pixel row in chip coordinate system.
AFPSiLayerMonitor::m_hotSpotEndRow
int m_hotSpotEndRow
Defines the last row of a hot spot (including this row).
Definition: AFPSiLayerMonitor.h:154
a
TList * a
Definition: liststreamerinfos.cxx:10
h
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:616
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
AFPHitsMonitorTool::pileUp
double pileUp() const
Average number of interactions per crossing in a given event.
Definition: AFPHitsMonitorTool.h:83
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790
AFPSiLayerMonitor::m_hitMultiplicity
TH1 * m_hitMultiplicity
Distribution of number of hits in an event.
Definition: AFPSiLayerMonitor.h:146
AFPSiLayerMonitor::m_stationID
int m_stationID
ID number of the station where the pixel layer is mounted.
Definition: AFPSiLayerMonitor.h:131
python.TrigEgammaMonitorHelper.TH1F
def TH1F(name, title, nxbins, bins_par2, bins_par3=None, path='', **kwargs)
Definition: TrigEgammaMonitorHelper.py:24
AFPSiLayerMonitor::m_hitsScaleFactor
double m_hitsScaleFactor
Factor for correcting number of hits for pile-up (see AFPSiLayerMonitor::correctHitsForPileUp()
Definition: AFPSiLayerMonitor.h:137
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
AFPSiLayerMonitor::layerFullName
const std::string & layerFullName() const override
Returns layer and station name used to label bins in summary histograms.
Definition: AFPSiLayerMonitor.h:95
ManagedMonitorToolBase::regHist
virtual StatusCode regHist(TH1 *h, const std::string &system, Interval_t interval, MgmtAttr_t histo_mgmt=ATTRIB_MANAGED, const std::string &chain="", const std::string &merge="")
Registers a TH1 (including TH2, TH3, and TProfile) to be included in the output stream using logical ...
Definition: ManagedMonitorToolBase.cxx:1454
fitman.k
k
Definition: fitman.py:528