ATLAS Offline Software
Loading...
Searching...
No Matches
LArNoiseBursts.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef LARCAFJOBS_LARNOISEBURSTS_H
6#define LARCAFJOBS_LARNOISEBURSTS_H
7
8#include "GaudiKernel/ToolHandle.h"
10
11#include "GaudiKernel/ITHistSvc.h"
13
14//LAr services:
19
20// Trigger
23
24//STL:
25#include <string>
26
27
28class LArOnlineID;
29class LArElectrodeID;
30class HWIdentifier;
31class LArEM_ID;
32class LArHEC_ID;
33class LArFCAL_ID;
34class CaloNoise;
35class LArHVLineID;
36class TTree;
37
38
39
41
42 public:
43
44 LArNoiseBursts(const std::string& name, ISvcLocator* pSvcLocator);
45 virtual ~LArNoiseBursts() = default;
46
47 virtual StatusCode initialize() override;
48 virtual StatusCode finalize() override;
49 virtual StatusCode execute(const EventContext& ctx) override;
50 virtual StatusCode clear();
51
52 private:
53
55 StatusCode doTrigger();
56 StatusCode doEventProperties();
57 StatusCode doLArNoiseBursts();
58
59 //functions
61
62 StatusCode fillCell(HWIdentifier onlID
63 , float eCalo
64 , float qfactor
66 , const LArOnOffIdMapping* cabling
67 , const LArBadChannelCont* bcCont
68 , const CaloNoise& totalNoise
69 , const CaloDetDescrManager* caloMgr);
70
71 private:
72
73 ServiceHandle<ITHistSvc> m_thistSvc{this,"THistSvc","THistSvc"};
74
75 TTree* m_tree;
76
77 SG::ReadCondHandleKey<LArOnOffIdMapping> m_cablingKey { this, "CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"};
78 SG::ReadCondHandleKey<LArBadChannelCont> m_BCKey { this, "BadChanKey","LArBadChannel","SG Key of LArBadChannelCont object"};
80 { this, "TotalNoiseKey", "totalNoise", "SG key for total noise" };
82 {this, "BunchCrossingCondDataKey", "BunchCrossingData" ,"SG Key of BunchCrossing CDO"};
83 /*Tools*/
84 PublicToolHandle< Trig::TrigDecisionTool > m_trigDec{this, "TrigDecisionTool", "", "Handle to the TrigDecisionTool"};
85
86 SG::ReadHandleKey<LArNoisyROSummary> m_NoisyROKey { this, "LArNoisyROSummaryKey","LArNoisyROSummary","SG Key of LArNoisyROSummar object"};
87 /*services*/
95 , "CaloDetDescrManager"
96 , "CaloDetDescrManager"
97 , "SG Key for CaloDetDescrManager in the Condition Store" };
98
99
100 // Electrons
102
103 /*event cuts */
106 unsigned int m_frontbunches;
108
109 /*declaration of branches*/
118 unsigned long m_nt_evtId;
123 //int m_nt_ntracks;
126 std::vector<int> m_nt_isBunchesInFront;
129 unsigned int m_nt_atlasready;
130 unsigned int m_nt_stablebeams;
131 std::vector<std::string> m_nt_streamTagName;
132 std::vector<std::string> m_nt_streamTagType;
133
134 // LAr event bit info
146
148 // bad HV lines
149 std::vector<unsigned int> m_nt_badHVlines;
150
151 // NoiseBurst trigger
160
175
176 //LAr Time variables
181
182
183 //Quantites for noisy cells
184 std::vector<float> m_nt_energycell;
185 std::vector<float> m_nt_qfactorcell;
186 std::vector<float> m_nt_phicell;
187 std::vector<float> m_nt_etacell;
188 std::vector<float> m_nt_signifcell;
189 //float m_nt_noisycellpercent;
190 std::vector<short> m_nt_barrelec_noisy;
191 std::vector<short> m_nt_posneg_noisy;
192 std::vector<short> m_nt_ft_noisy;
193 std::vector<short> m_nt_slot_noisy;
194 std::vector<short> m_nt_channel_noisy;
195 std::vector<short> m_nt_cellpartlayerindex;
196 std::vector< unsigned int > m_nt_cellIdentifier;
197 std::vector< unsigned int > m_nt_onlIdentifier;
198 std::vector<float> m_nt_noisycellpart;
199 std::vector<int> m_nt_noisycellHVphi;
200 std::vector<int> m_nt_noisycellHVeta;
201 std::vector<std::vector<short> > m_nt_samples;
202 std::vector<int> m_nt_gain;
203 std::vector<int> m_nt_isbadcell;
204
205 std::vector<int> m_nt_partition;
206 std::vector<int> m_nt_layer;
207
208 //Quanties for the saturated cells
209 std::vector<int> m_nt_isbadcell_sat;
210 std::vector<int> m_nt_barrelec_sat;
211 std::vector<int> m_nt_posneg_sat;
212 std::vector<short> m_nt_ft_sat;
213 std::vector<short> m_nt_slot_sat;
214 std::vector<short> m_nt_channel_sat;
215 std::vector<int> m_nt_partition_sat;
216 std::vector<float> m_nt_energy_sat;
217 std::vector<float> m_nt_phicell_sat;
218 std::vector<float> m_nt_etacell_sat;
219 std::vector<int> m_nt_layer_sat;
220 std::vector<unsigned int> m_nt_cellIdentifier_sat;
221
222};
223
224#endif // LArNoiseBursts_H
225
Replaces the BunchCrossing AlgTool used in run1/2.
Definition of CaloDetDescrManager.
LArBadXCont< LArBadChannel > LArBadChannelCont
void clear()
Empty the pool.
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
virtual StatusCode execute(const EventContext &ctx)=0
Execute method.
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
This class provides the client interface for accessing the detector description information common to...
Helper class for LArEM offline identifiers.
Definition LArEM_ID.h:111
Helper for the Liquid Argon Calorimeter cell at the electrode level.
Helper class for LArFCAL offline identifiers.
Definition LArFCAL_ID.h:49
Helper class for LArHEC offline identifiers.
Definition LArHEC_ID.h:76
Helper for the Liquid Argon Calorimeter High-Voltage identifiers.
Definition LArHVLineID.h:43
std::vector< short > m_nt_cellpartlayerindex
std::vector< float > m_nt_etacell
const LArHEC_ID * m_LArHEC_IDHelper
const LArHVLineID * m_LArHVLineIDHelper
SG::ReadCondHandleKey< CaloNoise > m_totalNoiseKey
bool m_nt_larflag_mediumSaturatedDQ
bool m_nt_larflag_dataCorruptedVeto
std::vector< short > m_nt_ft_sat
std::vector< float > m_nt_signifcell
std::vector< int > m_nt_noisycellHVphi
bool m_nt_larflag_tightSaturatedDQ
std::vector< float > m_nt_phicell
std::vector< unsigned int > m_nt_badHVlines
std::vector< int > m_nt_partition
bool m_nt_EF_j165_u0uchad_LArNoiseBurstT
bool m_nt_EF_j30_u0uchad_empty_LArNoiseBurst
int GetPartitionLayerIndex(const Identifier &id)
unsigned int m_nt_stablebeams
std::vector< short > m_nt_posneg_noisy
StatusCode doLArNoiseBursts()
virtual StatusCode finalize() override
Finalize - delete any memory allocation from the heap.
std::vector< float > m_nt_etacell_sat
bool m_nt_EF_j165_u0uchad_LArNoiseBurst
bool m_nt_EF_j55_u0uchad_firstempty_LArNoiseBurstT
bool m_nt_EF_j35_u0uchad_firstempty_LArNoiseBurst
const LArElectrodeID * m_LArElectrodeIDHelper
bool m_nt_EF_xe45_LArNoiseBurst
std::vector< int > m_nt_layer_sat
std::vector< float > m_nt_energycell
const LArEM_ID * m_LArEM_IDHelper
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
bool m_nt_EF_j130_u0uchad_LArNoiseBurstT
ServiceHandle< ITHistSvc > m_thistSvc
std::vector< float > m_nt_energy_sat
std::vector< short > m_nt_barrelec_noisy
std::vector< short > m_nt_slot_noisy
std::vector< int > m_nt_isbadcell
bool m_nt_EF_xe55_LArNoiseBurst
bool m_nt_larflag_noiseBurstVeto
const LArOnlineID * m_LArOnlineIDHelper
std::vector< int > m_nt_noisycellHVeta
SG::ReadCondHandleKey< LArBadChannelCont > m_BCKey
bool m_nt_EF_j55_u0uchad_empty_LArNoiseBurst
std::vector< int > m_nt_partition_sat
std::vector< int > m_nt_layer
std::vector< float > m_nt_noisycellpart
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
std::vector< int > m_nt_posneg_sat
SG::ReadCondHandleKey< BunchCrossingCondData > m_bcDataKey
StatusCode doTrigger()
methods called by execute()
bool m_nt_EF_j80_u0uchad_LArNoiseBurstT
virtual ~LArNoiseBursts()=default
std::vector< int > m_nt_barrelec_sat
std::string m_elecContainerName
std::vector< std::string > m_nt_streamTagType
bool m_nt_EF_j35_u0uchad_empty_LArNoiseBurst
std::vector< int > m_nt_isbadcell_sat
SG::ReadHandleKey< LArNoisyROSummary > m_NoisyROKey
bool m_nt_EF_xe60_LArNoiseBurst
std::vector< float > m_nt_qfactorcell
LArNoiseBursts(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
bool m_nt_EF_j55_u0uchad_firstempty_LArNoiseBurst
std::vector< short > m_nt_slot_sat
std::vector< float > m_nt_phicell_sat
unsigned int m_nt_atlasready
bool m_nt_larflag_dataCorrupted
std::vector< unsigned int > m_nt_cellIdentifier_sat
std::vector< unsigned int > m_nt_cellIdentifier
std::vector< unsigned int > m_nt_onlIdentifier
std::vector< int > m_nt_gain
StatusCode fillCell(HWIdentifier onlID, float eCalo, float qfactor, CaloGain::CaloGain gain, const LArOnOffIdMapping *cabling, const LArBadChannelCont *bcCont, const CaloNoise &totalNoise, const CaloDetDescrManager *caloMgr)
unsigned int m_frontbunches
bool m_nt_EF_j100_u0uchad_LArNoiseBurstT
bool m_nt_larflag_mnbTight_psveto
uint8_t m_nt_badHVPartitions
unsigned long m_nt_evtId
std::vector< short > m_nt_ft_noisy
StatusCode doEventProperties()
const LArFCAL_ID * m_LArFCAL_IDHelper
std::vector< std::vector< short > > m_nt_samples
std::vector< short > m_nt_channel_sat
std::vector< short > m_nt_channel_noisy
PublicToolHandle< Trig::TrigDecisionTool > m_trigDec
std::vector< int > m_nt_isBunchesInFront
std::vector< std::string > m_nt_streamTagName
Property holding a SG store/key/clid from which a ReadHandle is made.
void initialize()