ATLAS Offline Software
IAFPSiLayerMonitor.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef AFP_MONITORING_IAFPSILAYERMONITOR_H
6 #define AFP_MONITORING_IAFPSILAYERMONITOR_H
7 
8 #include <xAODForward/AFPSiHit.h>
9 
10 // FrameWork includes
11 #include "GaudiKernel/IAlgTool.h"
12 
13 // forward declarations
14 class LWHist2D;
15 class TH1;
16 class AFPHitsMonitorTool;
18 
19 static const InterfaceID IID_IAFPSiLayerMonitor ("IAFPSiLayerMonitor", 1, 0);
20 
22 class IAFPSiLayerMonitor : virtual public IAlgTool
23 {
24 public:
25  static const InterfaceID &interfaceID()
26  {return IID_IAFPSiLayerMonitor;}
27 
29  virtual ~IAFPSiLayerMonitor() {}
30 
32  virtual StatusCode initialize() = 0;
33 
35  virtual StatusCode finalize() = 0;
36 
39 
41  virtual void bookHistograms(ManagedMonitorToolBase* toolToStoreHistograms, const std::string& histsDirName = "") = 0;
42 
44  virtual void fillHistograms(const xAOD::AFPSiHit& hit) = 0;
45 
49  virtual void eventEnd(){}
50 
54  virtual void endOfLumiBlock(){}
55 
57  virtual int layerID () const = 0;
58 
60  virtual std::string makeHistName (const std::string& name) const = 0;
61 
63  virtual std::string makeHistTitle (const std::string& title) const = 0;
64 
66  virtual const std::string& histsDirName () const = 0;
67 
69  virtual const std::string& layerFullName() const = 0;
70 
72  virtual double correctHitsForPileUp (double hits) const = 0;
73 
75  virtual double hitsInEvent () const = 0;
77  virtual double hitsInEventScaled () const = 0;
78 
80  virtual double hitsInEventHotSpot () const = 0;
82  virtual double hitsInEventHotSpotScaled () const = 0;
83 };
84 
85 #endif
IAFPSiLayerMonitor::correctHitsForPileUp
virtual double correctHitsForPileUp(double hits) const =0
Normalises number of hits in an event to 0 pile-up.
ManagedMonitorToolBase
Provides functionality for users to implement and save histograms, ntuples, and summary data,...
Definition: ManagedMonitorToolBase.h:74
IAFPSiLayerMonitor::layerFullName
virtual const std::string & layerFullName() const =0
Returns layer and station name used to label bins in summary histograms.
AFPHitsMonitorTool
Main monitoring class for silicon detectors.
Definition: AFPHitsMonitorTool.h:32
xAOD::AFPSiHit_v2
Class representing a hit in silicon detector.
Definition: AFPSiHit_v2.h:30
IAFPSiLayerMonitor::hitsInEventHotSpotScaled
virtual double hitsInEventHotSpotScaled() const =0
Number of hits in hot-spot corrected for pile-up.
IAFPSiLayerMonitor::layerID
virtual int layerID() const =0
Pixel plane ID number.
IAFPSiLayerMonitor::finalize
virtual StatusCode finalize()=0
Finalise tool.
IAFPSiLayerMonitor::initialize
virtual StatusCode initialize()=0
Initilise tool.
IAFPSiLayerMonitor::makeHistTitle
virtual std::string makeHistTitle(const std::string &title) const =0
Returns a title suffixed with station and layer numbers.
IAFPSiLayerMonitor::histsDirName
virtual const std::string & histsDirName() const =0
Returns name of the ROOT file directory where histograms are stored.
IAFPSiLayerMonitor::interfaceID
static const InterfaceID & interfaceID()
Definition: IAFPSiLayerMonitor.h:25
IAFPSiLayerMonitor::endOfLumiBlock
virtual void endOfLumiBlock()
Process histograms at the end of lumiblock.
Definition: IAFPSiLayerMonitor.h:54
IAFPSiLayerMonitor::setParentMonitor
virtual void setParentMonitor(AFPHitsMonitorTool *parent)=0
Sets variable storing pointer to the main monitoring object.
IAFPSiLayerMonitor::bookHistograms
virtual void bookHistograms(ManagedMonitorToolBase *toolToStoreHistograms, const std::string &histsDirName="")=0
Creates, adds axes descriptions and books histograms filled by this monitor.
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LArG4ShowerLibProcessing.hits
hits
Definition: LArG4ShowerLibProcessing.py:136
covarianceTool.title
title
Definition: covarianceTool.py:542
test_pyathena.parent
parent
Definition: test_pyathena.py:15
LWHist2D
Definition: LWHist2D.h:25
AFPSiHit.h
IAFPSiLayerMonitor::eventEnd
virtual void eventEnd()
Method that should be called when event processing is finished.
Definition: IAFPSiLayerMonitor.h:49
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
TH1
Definition: rootspy.cxx:268
IAFPSiLayerMonitor::hitsInEventHotSpot
virtual double hitsInEventHotSpot() const =0
Number of pixels fired in an event in a hot-spot.
IAFPSiLayerMonitor::hitsInEvent
virtual double hitsInEvent() const =0
Number of pixels fired in an event.
IAFPSiLayerMonitor::makeHistName
virtual std::string makeHistName(const std::string &name) const =0
Returns a name suffixed with station and layer numbers.
IAFPSiLayerMonitor::~IAFPSiLayerMonitor
virtual ~IAFPSiLayerMonitor()
Does nothing.
Definition: IAFPSiLayerMonitor.h:29
IAFPSiLayerMonitor::fillHistograms
virtual void fillHistograms(const xAOD::AFPSiHit &hit)=0
Fills histograms which have to be filled for each hit.
IAFPSiLayerMonitor
Interface of a class monitoring one silicon layer.
Definition: IAFPSiLayerMonitor.h:23
IAFPSiLayerMonitor::hitsInEventScaled
virtual double hitsInEventScaled() const =0
Returns number of pixels fired in an event corrected for pile-up.