ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
TileCalorimeter
TileRecAlgs
src
TileCellSelector.h
Go to the documentation of this file.
1
// -*- C++ -*-
2
3
/*
4
Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
5
*/
6
7
#ifndef TILERECALGS_TILESELECTOR_H
8
#define TILERECALGS_TILESELECTOR_H
9
10
// Tile includes
11
#include "
TileEvent/TileDigitsContainer.h
"
12
#include "
TileEvent/TileRawChannelContainer.h
"
13
#include "
TileEvent/TileDQstatus.h
"
14
#include "
TileConditions/ITileDCSTool.h
"
15
#include "
TileConditions/ITileBadChanTool.h
"
16
17
// Calo includes
18
#include "
CaloEvent/CaloCellContainer.h
"
19
20
// Atlas includes
21
#include "
AthenaBaseComps/AthAlgorithm.h
"
22
#include "
StoreGate/ReadHandleKey.h
"
23
#include "
xAODEventInfo/EventInfo.h
"
24
25
// Gaudi incldues
26
#include "GaudiKernel/ToolHandle.h"
27
28
#include <string>
29
#include <vector>
30
31
class
TileID
;
32
class
TileHWID
;
33
class
TileCell
;
34
class
TileCablingService
;
35
class
TileInfo
;
36
37
39
40
class
TileCellSelector
:
public
AthAlgorithm
{
41
public
:
42
TileCellSelector
(
const
std::string& name, ISvcLocator* pSvcLocator);
43
virtual
~TileCellSelector
();
44
45
virtual
StatusCode
initialize
()
override
;
46
virtual
StatusCode
execute
(
const
EventContext& ctx)
override
;
47
virtual
StatusCode
finalize
()
override
;
48
49
private
:
50
51
int
Are3FF
(std::vector<float> & OptFilterDigits,
int
OptFilterGain,
int
ch_type);
52
void
printCell
(
const
TileCell
* cell);
53
54
unsigned
int
m_counter
;
55
unsigned
int
m_accept
;
56
unsigned
int
m_minCell
;
57
unsigned
int
m_maxCell
;
58
unsigned
int
m_minChan
;
59
unsigned
int
m_maxChan
;
60
unsigned
int
m_jump
;
61
unsigned
int
m_const
;
62
unsigned
int
m_overLG
;
63
unsigned
int
m_overHG
;
64
unsigned
int
m_underLG
;
65
unsigned
int
m_underHG
;
66
unsigned
int
m_dqerr
;
67
unsigned
int
m_dmuerr
;
68
unsigned
int
m_warnerr
;
69
70
const
TileID
*
m_tileID
;
71
const
TileHWID
*
m_tileHWID
;
72
const
TileCablingService
*
m_cabling
;
73
ToolHandle<ITileBadChanTool>
m_tileBadChanTool
{
this
,
"TileBadChanTool"
,
"TileBadChanTool"
,
"Tile bad channel tool"
};
74
SG::ReadHandleKey<TileDQstatus>
m_dqStatusKey
{
this
,
"TileDQstatus"
,
"TileDQstatus"
,
"TileDQstatus key"
};
75
ToolHandle<ITileDCSTool>
m_tileDCS
{
this
,
"TileDCSTool"
,
"TileDCSTool"
,
"Tile DCS tool"
};
76
77
unsigned
int
m_runNum
;
78
unsigned
int
m_lumiBlock
;
79
unsigned
int
m_evtNum
;
80
unsigned
int
m_evtBCID
;
81
// flag will contain status of a given event
82
// every 4 bits - status of partitions LBA,LBC,EBA,EBC
83
// bits 0-3 - there is a signal above threshold in partitions
84
// bits 4-7 - there are channels with underflow (sample=0) in partition (since rel 17.2.6.4)
85
// bits 8-11 - there are channels with overflow (sample=1023) in partition (since rel 17.2.6.4)
86
// bits 12-15 - there are at least 16 drawers with bad quality in partition
87
// bits 16-19 - maximal length of consecutive bad area (since rel 17.2.6.5)
88
// bits 20-23 - there are at least 16 drawers which are completely masked in partition
89
// bits 24-27 - there are at least 16 drawers which do not send data in partition
90
// bits 28-31 - reserved for global good/warning/bad status
91
// bits 20-27 are also used for module number which gives warning status (since release 17.2.6.5)
92
// in case of warning we are sure that bits which indicates error are not filled
93
unsigned
int
m_tileFlag
;
94
// global status: 0=OK, 1=warning, 2=error
95
unsigned
int
m_tileError
;
96
97
std::vector<bool>
m_chanBad
;
98
std::vector<float>
m_chanEne
;
99
std::vector<float>
m_chanTime
;
100
std::vector<float>
m_chanDsp
;
101
std::vector<float>
m_chanTDsp
;
102
std::vector<float>
m_chanQua
;
103
std::vector<bool>
m_chanSel
;
104
std::vector<bool>
m_chanToSkip
;
105
std::vector<bool>
m_drawerToSkip
;
106
107
bool
m_readCells
;
108
bool
m_readRawChannels
;
109
bool
m_readDigits
;
110
111
SG::ReadHandleKey<CaloCellContainer>
m_cellContainerKey
{
this
,
"CellContainerName"
,
112
"AllCalo"
,
"Input Calo cell container key"
};
113
114
SG::ReadHandleKey<TileDigitsContainer>
m_digitsContainerKey
{
this
,
"DigitsContainerName"
,
115
"TileDigitsFlt"
,
"Input Tile digits container key"
};
116
117
SG::ReadHandleKey<TileRawChannelContainer>
m_rawChannelContainerKey
{
this
,
"RawChannelContainerName"
,
118
"TileRawChannelCnt"
,
119
"Input Tile raw channel container key"
};
120
121
SG::ReadHandleKey<xAOD::EventInfo>
m_eventInfoKey
{
this
,
"EventInfo"
,
122
"EventInfo"
,
"Input event info key"
};
123
124
float
m_minEneCell
;
125
float
m_maxEneCell
;
126
float
m_minEneChan
[3]{};
127
float
m_maxEneChan
[3]{};
128
float
m_minTimeCell
;
129
float
m_maxTimeCell
;
130
float
m_minTimeChan
[3]{};
131
float
m_maxTimeChan
[3]{};
132
int
m_ptnEneCell
;
133
int
m_ptnEneChan
[3]{};
134
int
m_ptnTimeCell
;
135
int
m_ptnTimeChan
[3]{};
136
int
m_selectGain
;
137
bool
m_skipGain
[2]{};
138
#define ptnlength 5
139
bool
m_bitEneCell
[
ptnlength
]{};
140
bool
m_bitTimeCell
[
ptnlength
]{};
141
bool
m_bitEneChan
[3][
ptnlength
]{};
142
bool
m_bitTimeChan
[3][
ptnlength
]{};
143
float
m_secondMaxLevel
;
144
float
m_jumpDeltaHG
;
145
float
m_jumpDeltaLG
;
146
float
m_pedDeltaHG
;
147
float
m_pedDeltaLG
;
148
int
m_constLength
;
149
int
m_minBadDMU
;
150
int
m_maxBadDMU
;
151
int
m_minBadMB
;
152
bool
m_skipEmpty
;
153
bool
m_skipMasked
;
154
bool
m_skipMBTS
;
155
bool
m_checkDCS
;
156
bool
m_checkJumps
;
157
bool
m_checkDMUs
;
158
bool
m_checkOverLG
;
159
bool
m_checkOverHG
;
160
bool
m_checkUnderLG
;
161
bool
m_checkUnderHG
;
162
float
m_overflowLG
;
163
float
m_overflowHG
;
164
float
m_underflowLG
;
165
float
m_underflowHG
;
166
bool
m_checkWarning
;
167
bool
m_checkError
;
168
bool
m_printOnly
;
169
170
std::vector<int>
m_drawer
;
171
std::vector<int>
m_drawerToCheck
;
172
std::vector<int>
m_chanToCheck
;
173
174
int
m_maxVerboseCnt
;
175
std::vector<int>
m_nDrawerOff
;
176
177
std::string
m_infoName
;
178
const
TileInfo
*
m_tileInfo
;
179
float
m_ADCmaxMinusEps
= 0.0F;
180
float
m_ADCmaskValueMinusEps
= 0.0F;
181
};
182
183
#endif
// TILERECALGS_TILESELECTOR_H
AthAlgorithm.h
CaloCellContainer.h
ITileBadChanTool.h
ITileDCSTool.h
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
ptnlength
#define ptnlength
Definition
TileCellSelector.h:138
TileDQstatus.h
Information produced by TileDQstatusAlg (used to be done by TileBeamInfoProvider).
TileDigitsContainer.h
TileRawChannelContainer.h
AthAlgorithm::AthAlgorithm
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Definition
AthAlgorithm.cxx:10
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
TileCablingService
Definition
TileCablingService.h:23
TileCellSelector::m_skipGain
bool m_skipGain[2]
Definition
TileCellSelector.h:137
TileCellSelector::execute
virtual StatusCode execute(const EventContext &ctx) override
Execute method.
Definition
TileCellSelector.cxx:375
TileCellSelector::m_ptnEneChan
int m_ptnEneChan[3]
Definition
TileCellSelector.h:133
TileCellSelector::m_maxBadDMU
int m_maxBadDMU
Definition
TileCellSelector.h:150
TileCellSelector::m_chanEne
std::vector< float > m_chanEne
Definition
TileCellSelector.h:98
TileCellSelector::m_bitTimeCell
bool m_bitTimeCell[ptnlength]
Definition
TileCellSelector.h:140
TileCellSelector::m_cabling
const TileCablingService * m_cabling
Definition
TileCellSelector.h:72
TileCellSelector::m_printOnly
bool m_printOnly
Definition
TileCellSelector.h:168
TileCellSelector::m_chanToCheck
std::vector< int > m_chanToCheck
Definition
TileCellSelector.h:172
TileCellSelector::m_minCell
unsigned int m_minCell
Definition
TileCellSelector.h:56
TileCellSelector::Are3FF
int Are3FF(std::vector< float > &OptFilterDigits, int OptFilterGain, int ch_type)
Definition
TileCellSelector.cxx:2110
TileCellSelector::m_infoName
std::string m_infoName
Definition
TileCellSelector.h:177
TileCellSelector::m_ptnTimeCell
int m_ptnTimeCell
Definition
TileCellSelector.h:134
TileCellSelector::m_chanDsp
std::vector< float > m_chanDsp
Definition
TileCellSelector.h:100
TileCellSelector::m_checkDCS
bool m_checkDCS
Definition
TileCellSelector.h:155
TileCellSelector::m_bitEneChan
bool m_bitEneChan[3][ptnlength]
Definition
TileCellSelector.h:141
TileCellSelector::m_jumpDeltaLG
float m_jumpDeltaLG
Definition
TileCellSelector.h:145
TileCellSelector::m_maxTimeChan
float m_maxTimeChan[3]
Definition
TileCellSelector.h:131
TileCellSelector::m_checkOverLG
bool m_checkOverLG
Definition
TileCellSelector.h:158
TileCellSelector::m_constLength
int m_constLength
Definition
TileCellSelector.h:148
TileCellSelector::~TileCellSelector
virtual ~TileCellSelector()
Definition
TileCellSelector.cxx:146
TileCellSelector::m_tileBadChanTool
ToolHandle< ITileBadChanTool > m_tileBadChanTool
Definition
TileCellSelector.h:73
TileCellSelector::m_jump
unsigned int m_jump
Definition
TileCellSelector.h:60
TileCellSelector::m_overflowHG
float m_overflowHG
Definition
TileCellSelector.h:163
TileCellSelector::m_runNum
unsigned int m_runNum
Definition
TileCellSelector.h:77
TileCellSelector::m_lumiBlock
unsigned int m_lumiBlock
Definition
TileCellSelector.h:78
TileCellSelector::m_checkUnderLG
bool m_checkUnderLG
Definition
TileCellSelector.h:160
TileCellSelector::m_ptnEneCell
int m_ptnEneCell
Definition
TileCellSelector.h:132
TileCellSelector::m_dqStatusKey
SG::ReadHandleKey< TileDQstatus > m_dqStatusKey
Definition
TileCellSelector.h:74
TileCellSelector::m_chanSel
std::vector< bool > m_chanSel
Definition
TileCellSelector.h:103
TileCellSelector::m_pedDeltaLG
float m_pedDeltaLG
Definition
TileCellSelector.h:147
TileCellSelector::m_evtBCID
unsigned int m_evtBCID
Definition
TileCellSelector.h:80
TileCellSelector::m_pedDeltaHG
float m_pedDeltaHG
Definition
TileCellSelector.h:146
TileCellSelector::m_evtNum
unsigned int m_evtNum
Definition
TileCellSelector.h:79
TileCellSelector::TileCellSelector
TileCellSelector(const std::string &name, ISvcLocator *pSvcLocator)
Definition
TileCellSelector.cxx:36
TileCellSelector::m_readCells
bool m_readCells
Definition
TileCellSelector.h:107
TileCellSelector::m_skipMBTS
bool m_skipMBTS
Definition
TileCellSelector.h:154
TileCellSelector::m_chanToSkip
std::vector< bool > m_chanToSkip
Definition
TileCellSelector.h:104
TileCellSelector::m_underflowLG
float m_underflowLG
Definition
TileCellSelector.h:164
TileCellSelector::m_warnerr
unsigned int m_warnerr
Definition
TileCellSelector.h:68
TileCellSelector::m_tileDCS
ToolHandle< ITileDCSTool > m_tileDCS
Definition
TileCellSelector.h:75
TileCellSelector::m_const
unsigned int m_const
Definition
TileCellSelector.h:61
TileCellSelector::m_skipMasked
bool m_skipMasked
Definition
TileCellSelector.h:153
TileCellSelector::printCell
void printCell(const TileCell *cell)
Definition
TileCellSelector.cxx:2015
TileCellSelector::m_underLG
unsigned int m_underLG
Definition
TileCellSelector.h:64
TileCellSelector::initialize
virtual StatusCode initialize() override
Definition
TileCellSelector.cxx:152
TileCellSelector::m_rawChannelContainerKey
SG::ReadHandleKey< TileRawChannelContainer > m_rawChannelContainerKey
Definition
TileCellSelector.h:117
TileCellSelector::m_dmuerr
unsigned int m_dmuerr
Definition
TileCellSelector.h:67
TileCellSelector::m_drawerToCheck
std::vector< int > m_drawerToCheck
Definition
TileCellSelector.h:171
TileCellSelector::m_chanBad
std::vector< bool > m_chanBad
Definition
TileCellSelector.h:97
TileCellSelector::m_ptnTimeChan
int m_ptnTimeChan[3]
Definition
TileCellSelector.h:135
TileCellSelector::m_bitTimeChan
bool m_bitTimeChan[3][ptnlength]
Definition
TileCellSelector.h:142
TileCellSelector::m_underHG
unsigned int m_underHG
Definition
TileCellSelector.h:65
TileCellSelector::m_digitsContainerKey
SG::ReadHandleKey< TileDigitsContainer > m_digitsContainerKey
Definition
TileCellSelector.h:114
TileCellSelector::m_cellContainerKey
SG::ReadHandleKey< CaloCellContainer > m_cellContainerKey
Definition
TileCellSelector.h:111
TileCellSelector::m_counter
unsigned int m_counter
Definition
TileCellSelector.h:54
TileCellSelector::m_maxEneChan
float m_maxEneChan[3]
Definition
TileCellSelector.h:127
TileCellSelector::m_maxCell
unsigned int m_maxCell
Definition
TileCellSelector.h:57
TileCellSelector::m_readRawChannels
bool m_readRawChannels
Definition
TileCellSelector.h:108
TileCellSelector::m_drawer
std::vector< int > m_drawer
Definition
TileCellSelector.h:170
TileCellSelector::m_selectGain
int m_selectGain
Definition
TileCellSelector.h:136
TileCellSelector::m_ADCmaxMinusEps
float m_ADCmaxMinusEps
Definition
TileCellSelector.h:179
TileCellSelector::m_tileFlag
unsigned int m_tileFlag
Definition
TileCellSelector.h:93
TileCellSelector::m_accept
unsigned int m_accept
Definition
TileCellSelector.h:55
TileCellSelector::m_underflowHG
float m_underflowHG
Definition
TileCellSelector.h:165
TileCellSelector::m_checkWarning
bool m_checkWarning
Definition
TileCellSelector.h:166
TileCellSelector::m_minTimeChan
float m_minTimeChan[3]
Definition
TileCellSelector.h:130
TileCellSelector::m_eventInfoKey
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
Definition
TileCellSelector.h:121
TileCellSelector::m_minBadDMU
int m_minBadDMU
Definition
TileCellSelector.h:149
TileCellSelector::m_readDigits
bool m_readDigits
Definition
TileCellSelector.h:109
TileCellSelector::m_checkError
bool m_checkError
Definition
TileCellSelector.h:167
TileCellSelector::m_minEneChan
float m_minEneChan[3]
Definition
TileCellSelector.h:126
TileCellSelector::m_overLG
unsigned int m_overLG
Definition
TileCellSelector.h:62
TileCellSelector::finalize
virtual StatusCode finalize() override
Definition
TileCellSelector.cxx:2091
TileCellSelector::m_tileHWID
const TileHWID * m_tileHWID
Definition
TileCellSelector.h:71
TileCellSelector::m_nDrawerOff
std::vector< int > m_nDrawerOff
Definition
TileCellSelector.h:175
TileCellSelector::m_minBadMB
int m_minBadMB
Definition
TileCellSelector.h:151
TileCellSelector::m_jumpDeltaHG
float m_jumpDeltaHG
Definition
TileCellSelector.h:144
TileCellSelector::m_maxEneCell
float m_maxEneCell
Definition
TileCellSelector.h:125
TileCellSelector::m_checkOverHG
bool m_checkOverHG
Definition
TileCellSelector.h:159
TileCellSelector::m_chanTime
std::vector< float > m_chanTime
Definition
TileCellSelector.h:99
TileCellSelector::m_maxChan
unsigned int m_maxChan
Definition
TileCellSelector.h:59
TileCellSelector::m_minChan
unsigned int m_minChan
Definition
TileCellSelector.h:58
TileCellSelector::m_checkJumps
bool m_checkJumps
Definition
TileCellSelector.h:156
TileCellSelector::m_checkDMUs
bool m_checkDMUs
Definition
TileCellSelector.h:157
TileCellSelector::m_checkUnderHG
bool m_checkUnderHG
Definition
TileCellSelector.h:161
TileCellSelector::m_drawerToSkip
std::vector< bool > m_drawerToSkip
Definition
TileCellSelector.h:105
TileCellSelector::m_secondMaxLevel
float m_secondMaxLevel
Definition
TileCellSelector.h:143
TileCellSelector::m_tileInfo
const TileInfo * m_tileInfo
Definition
TileCellSelector.h:178
TileCellSelector::m_skipEmpty
bool m_skipEmpty
Definition
TileCellSelector.h:152
TileCellSelector::m_maxTimeCell
float m_maxTimeCell
Definition
TileCellSelector.h:129
TileCellSelector::m_overHG
unsigned int m_overHG
Definition
TileCellSelector.h:63
TileCellSelector::m_tileID
const TileID * m_tileID
Definition
TileCellSelector.h:70
TileCellSelector::m_chanTDsp
std::vector< float > m_chanTDsp
Definition
TileCellSelector.h:101
TileCellSelector::m_maxVerboseCnt
int m_maxVerboseCnt
Definition
TileCellSelector.h:174
TileCellSelector::m_chanQua
std::vector< float > m_chanQua
Definition
TileCellSelector.h:102
TileCellSelector::m_tileError
unsigned int m_tileError
Definition
TileCellSelector.h:95
TileCellSelector::m_ADCmaskValueMinusEps
float m_ADCmaskValueMinusEps
Definition
TileCellSelector.h:180
TileCellSelector::m_minTimeCell
float m_minTimeCell
Definition
TileCellSelector.h:128
TileCellSelector::m_minEneCell
float m_minEneCell
Definition
TileCellSelector.h:124
TileCellSelector::m_overflowLG
float m_overflowLG
Definition
TileCellSelector.h:162
TileCellSelector::m_dqerr
unsigned int m_dqerr
Definition
TileCellSelector.h:66
TileCellSelector::m_bitEneCell
bool m_bitEneCell[ptnlength]
Definition
TileCellSelector.h:139
TileCell
Definition
TileCell.h:57
TileHWID
Helper class for TileCal online (hardware) identifiers.
Definition
TileHWID.h:49
TileID
Helper class for TileCal offline identifiers.
Definition
TileID.h:67
TileInfo
Definition
TileInfo.h:49
EventInfo.h
Generated on
for ATLAS Offline Software by
1.17.0