ATLAS Offline Software
AFPTechnicalStationMonitor.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 
6 #include "../AFP_Monitoring/AFPTechnicalMonitorTool.h"
7 #include "../AFP_Monitoring/AFPTechnicalLayerMonitor.h"
8 #include "../AFP_Monitoring/AFPTechnicalStationMonitor.h"
9 
11 
12 #include <LWHists/TH1F_LW.h>
13 #include <LWHists/TH2F_LW.h>
14 
15 #include <sstream>
16 
20 
21 
23  : m_stationID (stationID)
24  , m_firstLayer (nullptr)
25  , m_secondLayer (nullptr)
26  , m_thirdLayer (nullptr)
27 {
31 }
32 
33 
35 {
36  for (AFPTechnicalLayerMonitor* layerMonitor : m_layersMonitors)
37  delete layerMonitor;
38 }
39 
40 // Description: Used for re-booking managed histograms
42 {
43  std::string histsDirName = toolToStoreHistograms->histsDirectoryName();
44  histsDirName += makeName("");
45 
46  // register histograms in layers
47  for (AFPTechnicalLayerMonitor* layerMonitor : m_layersMonitors)
48  layerMonitor->bookHistograms(toolToStoreHistograms, histsDirName);
49 }
50 
51 
53 {
54  switch (hit.link()%4) {
55  case s_firstLayerIndex:
57  break;
58  case s_secondLayerIndex:
60  break;
61  case s_thirdLayerIndex:
63  break;
64  // default:
65  // ATH_MSG_WARNING("Unrecognised layer number: "<<hit.pixelLayerID());
66  }
67 
68 }
69 
71 {
73  m_layersMonitors.push_back(newMonitor);
74 
75  return newMonitor;
76 }
77 
79 {
81  layer->eventEnd();
82 }
83 
84 
86 {
88 
90  layer->endOfLumiBlock(toolToStoreHistograms);
91 }
92 
93 std::string AFPTechnicalStationMonitor::makeName (const std::string& name) const
94 {
95  std::stringstream histName;
96  histName <<name<<"Station"<<m_stationID;
97 
98  return histName.str();
99 }
100 
101 std::string AFPTechnicalStationMonitor::makeTitle (const std::string& title) const
102 {
103  std::stringstream histTitle;
104  histTitle <<title<<" in station "<<m_stationID;
105 
106  return histTitle.str();
107 }
AFPTechnicalStationMonitor::s_secondLayerIndex
static const int s_secondLayerIndex
ID number of the second layer.
Definition: AFPTechnicalStationMonitor.h:64
TH1F_LW.h
TH2F_LW.h
AFPTechnicalStationMonitor::m_firstLayer
AFPTechnicalLayerMonitor * m_firstLayer
Tool monitoring the first layer in the station.
Definition: AFPTechnicalStationMonitor.h:75
AddEmptyComponent.histName
string histName
Definition: AddEmptyComponent.py:64
AFPTechnicalStationMonitor::m_layersMonitors
std::vector< AFPTechnicalLayerMonitor * > m_layersMonitors
Vector of tools monitoring layers in the station.
Definition: AFPTechnicalStationMonitor.h:72
AFPTechnicalStationMonitor::eventEnd
void eventEnd()
Method to call eventEnd in layers. Executes AFPTechnicalLayerMonitor::eventEnd() for each element in ...
Definition: AFPTechnicalStationMonitor.cxx:78
AFPTechnicalStationMonitor::s_firstLayerIndex
static const int s_firstLayerIndex
ID number of the first layer.
Definition: AFPTechnicalStationMonitor.h:62
AFPTechnicalMonitorTool::histsDirectoryName
std::string histsDirectoryName()
name of directory to store histograms
Definition: AFPTechnicalMonitorTool.h:43
AFPTechnicalStationMonitor::makeTitle
std::string makeTitle(const std::string &title) const
Create a string with station number.
Definition: AFPTechnicalStationMonitor.cxx:101
AFP_SiRawData.h
AFPTechnicalStationMonitor::m_secondLayer
AFPTechnicalLayerMonitor * m_secondLayer
Tool monitoring the second layer in the station.
Definition: AFPTechnicalStationMonitor.h:77
AFPTechnicalStationMonitor::createAndAddLayerMonitor
AFPTechnicalLayerMonitor * createAndAddLayerMonitor(const int layerID)
Creates a new AFPTechnicalLayerMonitor object and adds it to m_layersMonitors.
Definition: AFPTechnicalStationMonitor.cxx:70
AFPTechnicalStationMonitor::m_stationID
const int m_stationID
ID number of the station which is being monitored.
Definition: AFPTechnicalStationMonitor.h:69
AFPTechnicalLayerMonitor::fillHistograms
void fillHistograms(const AFP_SiRawData &hit)
Fills distributions with information provided by the hit.
Definition: AFPTechnicalLayerMonitor.cxx:35
AFPTechnicalStationMonitor::endOfLumiBlock
void endOfLumiBlock(AFPTechnicalMonitorTool *toolToStoreHistograms)
Process histograms at the end of lumi block.
Definition: AFPTechnicalStationMonitor.cxx:85
AFPTechnicalStationMonitor::~AFPTechnicalStationMonitor
~AFPTechnicalStationMonitor()
Deletes all objects in m_layersMonitors.
Definition: AFPTechnicalStationMonitor.cxx:34
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
AFPTechnicalLayerMonitor
Class used for monitoring technical parameters of one silicon layer.
Definition: AFPTechnicalLayerMonitor.h:18
covarianceTool.title
title
Definition: covarianceTool.py:542
Muon::nsw::STGTPSegments::moduleIDBits::stationID
constexpr uint8_t stationID
Large or Small wedge.
Definition: NSWSTGTPDecodeBitmaps.h:123
AFPTechnicalMonitorTool
Class monitoring technical AFP parameters.
Definition: AFPTechnicalMonitorTool.h:19
AFPTechnicalStationMonitor::fillHistograms
void fillHistograms(const AFP_SiRawData &hit)
Fills general station monitoring histograms and executes AFPTechnicalLayerMonitor::fillHistograms()
Definition: AFPTechnicalStationMonitor.cxx:52
AFP_SiRawData
Class representing data record for silicon detectors.
Definition: AFP_SiRawData.h:17
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
AFPTechnicalStationMonitor::AFPTechnicalStationMonitor
AFPTechnicalStationMonitor(const int stationID)
Creates monitors of 3 layers.
Definition: AFPTechnicalStationMonitor.cxx:22
AFPTechnicalStationMonitor::bookHistograms
void bookHistograms(AFPTechnicalMonitorTool *toolToStoreHistograms)
Books general station monitoring histograms and executes AFPTechnicalLayerMonitor::bookHistograms() f...
Definition: AFPTechnicalStationMonitor.cxx:41
AFPTechnicalStationMonitor::makeName
std::string makeName(const std::string &name) const
Create a string with station number.
Definition: AFPTechnicalStationMonitor.cxx:93
AFPTechnicalStationMonitor::m_thirdLayer
AFPTechnicalLayerMonitor * m_thirdLayer
Tool monitoring the third layer in the station.
Definition: AFPTechnicalStationMonitor.h:79
AFPTechnicalStationMonitor::s_thirdLayerIndex
static const int s_thirdLayerIndex
ID number of the third layer.
Definition: AFPTechnicalStationMonitor.h:66
AFP_RawDataCommonHead::link
uint16_t link() const
Definition: AFP_RawDataCommonHead.h:23