ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
TileCalorimeter
TileMonitoring
src
TileTMDBMonitorAlgorithm.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef TILEMONITORING_TILETMDBMONITORALGORITHM_H
6
#define TILEMONITORING_TILETMDBMONITORALGORITHM_H
7
8
#include "
TileEvent/TileDigitsContainer.h
"
9
#include "
TileEvent/TileRawChannelContainer.h
"
10
#include "
TileConditions/ITileCondToolTMDB.h
"
11
#include "
TileConditions/TileCablingSvc.h
"
12
#include "
TileCalibBlobObjs/TileCalibUtils.h
"
13
14
#include "
AthenaMonitoring/AthMonitorAlgorithm.h
"
15
#include "
AthenaMonitoringKernel/Monitored.h
"
16
#include "
StoreGate/ReadHandleKey.h
"
17
#include "
StoreGate/ReadCondHandleKey.h
"
18
19
#include "
TileIdentifier/TileHWID.h
"
20
#include "
StoreGate/ReadHandle.h
"
21
#include "
StoreGate/ReadCondHandle.h
"
22
23
#include "math.h"
24
25
class
TileHWID
;
26
class
TileCablingService
;
27
31
32
class
TileTMDBMonitorAlgorithm
:
public
AthMonitorAlgorithm
{
33
34
public
:
35
36
using
AthMonitorAlgorithm::AthMonitorAlgorithm
;
37
virtual
~TileTMDBMonitorAlgorithm
() =
default
;
38
virtual
StatusCode
initialize
()
override
;
39
virtual
StatusCode
fillHistograms
(
const
EventContext& ctx)
const override
;
40
41
42
void
fillNoiseHistograms
(
const
TileDigitsCollection
* muRcvDigitsCollection,
const
int
drawer,
const
int
partition)
const
;
43
44
private
:
45
46
Gaudi::Property<std::vector<float>>
m_pulseEnergyRange
{
this
,
47
"PulseEnergyRange"
, {0.5F, 5000.F},
"Energy [MeV] range for pulse shape"
};
48
49
Gaudi::Property<std::vector<float>>
m_energyRange
{
this
,
50
"EnergyRange"
, {100.0F, 10000.F},
"Energy [MeV] range for pulse shape"
};
51
52
Gaudi::Property<bool>
m_fillDetailedHistograms
{
this
,
53
"fillDetailedHistograms"
,
false
,
"Fill monitoring histograms per TMDB channel"
};
54
55
SG::ReadHandleKey<TileRawChannelContainer>
m_rawChannelContainerKey
{
this
,
56
"TileRawChannelContainer"
,
"TileRawChannelCnt"
,
"Input Tile raw channel container key"
};
57
58
SG::ReadHandleKey<TileRawChannelContainer>
m_muRcvRawChannelContainerKey
{
this
,
59
"MuonReceiverRawChannelContainer"
,
"MuRcvRawChCnt"
,
"Input Tile muon receiver raw channel container key"
};
60
61
SG::ReadHandleKey<TileDigitsContainer>
m_muRcvDigitsContainerKey
{
this
,
62
"MuonReceiverDigitsContainer"
,
"MuRcvDigitsCnt"
,
"Input Tile muon receiver digits container key"
};
63
64
ToolHandle<ITileCondToolTMDB>
m_tileCondToolTMDB
{
this
,
65
"TileCondToolTMDB"
,
"TileCondToolTMDB"
,
"Tile TMDB conditions tool"
};
66
70
ServiceHandle<TileCablingSvc>
m_cablingSvc
{
this
,
71
"TileCablingSvc"
,
"TileCablingSvc"
,
"The Tile cabling service"
};
72
73
const
TileHWID
*
m_tileHWID
{
nullptr
};
74
const
TileCablingService
*
m_cabling
{
nullptr
};
75
76
std::vector<int>
m_peakGroups
;
77
std::vector<int>
m_energyGroups
;
78
79
std::vector<std::vector<std::vector<std::vector<float>>>>
m_PedestalVector
;
80
81
std::vector<std::vector<std::vector<int>>>
m_chanEnergyGroups
;
82
std::vector<std::vector<std::vector<std::vector<int>>>>
m_chanChannelNoiseGroups
;
83
std::vector<std::vector<std::vector<int>>>
m_chanPeakPosGroups
;
84
std::vector<std::vector<std::vector<int>>>
m_calibErrorGroups
;
85
std::vector<std::vector<std::vector<int>>>
m_pulseGroups
;
86
87
struct
corrmap
{
88
double
**
accCorrelation
;
89
double
*
accMean
;
90
};
91
92
std::vector<std::vector<std::vector<float *>>>
m_accCorrelation
;
93
94
using
Tile
=
TileCalibUtils
;
95
96
// Mapping from Tile raw channels to TMDB in LB for odd modules,
97
// in even modules TMDB channels are shifted by 1
98
const
std::map<int, int>
m_cellTMDB_LB
{{0, 0
/*D0*/
},
99
{13, 1
/*D1L*/
}, {14, 2
/*D1R*/
},
100
{24, 3
/*D2R*/
}, {25, 4
/*D2L*/
},
101
{41, 5
/*D3L*/
}, {44, 6
/*D3R*/
}};
102
103
// Mapping from Tile raw channels to TMDB in EB
104
const
std::map<int, int>
m_cellTMDB_EB
{{16, 0
/*D5R*/
}, {17, 1
/*D5L*/
},
105
{37, 2
/*D6L*/
}, {38, 3
/*D6R*/
}};
106
107
std::reference_wrapper<const std::map<int, int>>
m_cellTMDB
[
Tile::MAX_ROS
- 1] = {
m_cellTMDB_LB
,
108
m_cellTMDB_LB
,
109
m_cellTMDB_EB
,
110
m_cellTMDB_EB
};
111
};
112
113
114
#endif
// TILEMONITORING_TILETMDBMONITORALGORITHM_H
AthMonitorAlgorithm.h
ITileCondToolTMDB.h
Monitored.h
Header file to be included by clients of the Monitored infrastructure.
ReadCondHandleKey.h
ReadCondHandle.h
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
ReadHandle.h
Handle class for reading from StoreGate.
TileCablingSvc.h
TileCalibUtils.h
TileDigitsContainer.h
TileHWID.h
TileRawChannelContainer.h
AthMonitorAlgorithm::AthMonitorAlgorithm
AthMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Definition
AthMonitorAlgorithm.cxx:8
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
ServiceHandle
Definition
ClusterMakerTool.h:36
TileCablingService
Definition
TileCablingService.h:23
TileCalibUtils
Static class providing several utility functions and constants.
Definition
TileCalibUtils.h:15
TileCalibUtils::MAX_ROS
static const unsigned int MAX_ROS
Number of ROSs.
Definition
TileCalibUtils.h:138
TileDigitsCollection
Definition
TileDigitsCollection.h:18
TileHWID
Helper class for TileCal online (hardware) identifiers.
Definition
TileHWID.h:49
TileTMDBMonitorAlgorithm::m_energyGroups
std::vector< int > m_energyGroups
Definition
TileTMDBMonitorAlgorithm.h:77
TileTMDBMonitorAlgorithm::m_fillDetailedHistograms
Gaudi::Property< bool > m_fillDetailedHistograms
Definition
TileTMDBMonitorAlgorithm.h:52
TileTMDBMonitorAlgorithm::m_peakGroups
std::vector< int > m_peakGroups
Definition
TileTMDBMonitorAlgorithm.h:76
TileTMDBMonitorAlgorithm::m_muRcvRawChannelContainerKey
SG::ReadHandleKey< TileRawChannelContainer > m_muRcvRawChannelContainerKey
Definition
TileTMDBMonitorAlgorithm.h:58
TileTMDBMonitorAlgorithm::~TileTMDBMonitorAlgorithm
virtual ~TileTMDBMonitorAlgorithm()=default
TileTMDBMonitorAlgorithm::m_chanChannelNoiseGroups
std::vector< std::vector< std::vector< std::vector< int > > > > m_chanChannelNoiseGroups
Definition
TileTMDBMonitorAlgorithm.h:82
TileTMDBMonitorAlgorithm::m_calibErrorGroups
std::vector< std::vector< std::vector< int > > > m_calibErrorGroups
Definition
TileTMDBMonitorAlgorithm.h:84
TileTMDBMonitorAlgorithm::m_tileCondToolTMDB
ToolHandle< ITileCondToolTMDB > m_tileCondToolTMDB
Definition
TileTMDBMonitorAlgorithm.h:64
TileTMDBMonitorAlgorithm::m_pulseEnergyRange
Gaudi::Property< std::vector< float > > m_pulseEnergyRange
Definition
TileTMDBMonitorAlgorithm.h:46
TileTMDBMonitorAlgorithm::m_cellTMDB_EB
const std::map< int, int > m_cellTMDB_EB
Definition
TileTMDBMonitorAlgorithm.h:104
TileTMDBMonitorAlgorithm::m_cellTMDB_LB
const std::map< int, int > m_cellTMDB_LB
Definition
TileTMDBMonitorAlgorithm.h:98
TileTMDBMonitorAlgorithm::m_accCorrelation
std::vector< std::vector< std::vector< float * > > > m_accCorrelation
Definition
TileTMDBMonitorAlgorithm.h:92
TileTMDBMonitorAlgorithm::m_PedestalVector
std::vector< std::vector< std::vector< std::vector< float > > > > m_PedestalVector
Definition
TileTMDBMonitorAlgorithm.h:79
TileTMDBMonitorAlgorithm::AthMonitorAlgorithm
AthMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Definition
AthMonitorAlgorithm.cxx:8
TileTMDBMonitorAlgorithm::m_tileHWID
const TileHWID * m_tileHWID
Definition
TileTMDBMonitorAlgorithm.h:73
TileTMDBMonitorAlgorithm::m_chanPeakPosGroups
std::vector< std::vector< std::vector< int > > > m_chanPeakPosGroups
Definition
TileTMDBMonitorAlgorithm.h:83
TileTMDBMonitorAlgorithm::m_rawChannelContainerKey
SG::ReadHandleKey< TileRawChannelContainer > m_rawChannelContainerKey
Definition
TileTMDBMonitorAlgorithm.h:55
TileTMDBMonitorAlgorithm::m_chanEnergyGroups
std::vector< std::vector< std::vector< int > > > m_chanEnergyGroups
Definition
TileTMDBMonitorAlgorithm.h:81
TileTMDBMonitorAlgorithm::m_pulseGroups
std::vector< std::vector< std::vector< int > > > m_pulseGroups
Definition
TileTMDBMonitorAlgorithm.h:85
TileTMDBMonitorAlgorithm::fillHistograms
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
Definition
TileTMDBMonitorAlgorithm.cxx:90
TileTMDBMonitorAlgorithm::m_cabling
const TileCablingService * m_cabling
Definition
TileTMDBMonitorAlgorithm.h:74
TileTMDBMonitorAlgorithm::m_muRcvDigitsContainerKey
SG::ReadHandleKey< TileDigitsContainer > m_muRcvDigitsContainerKey
Definition
TileTMDBMonitorAlgorithm.h:61
TileTMDBMonitorAlgorithm::fillNoiseHistograms
void fillNoiseHistograms(const TileDigitsCollection *muRcvDigitsCollection, const int drawer, const int partition) const
Definition
TileTMDBMonitorAlgorithm.cxx:74
TileTMDBMonitorAlgorithm::m_cellTMDB
std::reference_wrapper< const std::map< int, int > > m_cellTMDB[Tile::MAX_ROS - 1]
Definition
TileTMDBMonitorAlgorithm.h:107
TileTMDBMonitorAlgorithm::m_cablingSvc
ServiceHandle< TileCablingSvc > m_cablingSvc
Name of Tile cabling service.
Definition
TileTMDBMonitorAlgorithm.h:70
TileTMDBMonitorAlgorithm::m_energyRange
Gaudi::Property< std::vector< float > > m_energyRange
Definition
TileTMDBMonitorAlgorithm.h:49
TileTMDBMonitorAlgorithm
Definition
TileTMDBMonitorAlgorithm.py:1
Tile
Definition
TileVolumeBuilder.h:42
initialize
void initialize()
Definition
run_EoverP.cxx:894
TileTMDBMonitorAlgorithm::corrmap
Definition
TileTMDBMonitorAlgorithm.h:87
TileTMDBMonitorAlgorithm::corrmap::accMean
double * accMean
Definition
TileTMDBMonitorAlgorithm.h:89
TileTMDBMonitorAlgorithm::corrmap::accCorrelation
double ** accCorrelation
Definition
TileTMDBMonitorAlgorithm.h:88
Generated on
for ATLAS Offline Software by
1.17.0