ATLAS Offline Software
Loading...
Searching...
No Matches
LArBadChannelHunter.h
Go to the documentation of this file.
1//Dear emacs, this is -*- c++ -*-
2
3/*
4 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
5*/
6
7
14
15
16#ifndef LARBADCHANNELHUNTER_H
17#define LARBADCHANNELHUNTER_H
18
19#include <vector>
20#include <string>
21
23#include "GaudiKernel/ToolHandle.h"
30
31class LArOnlineID;
32class CaloCell_ID;
33
35
36public:
40 LArBadChannelHunter (const std::string& name, ISvcLocator* pSvcLocator);
41
46
50 virtual StatusCode initialize() override;
51
56 virtual StatusCode execute() override {return StatusCode::SUCCESS;}
57
61 virtual StatusCode stop ATLAS_NOT_THREAD_SAFE () override;
62
63 //void findFailedPatterns();
64
65private:
66
69
70 SG::ReadCondHandleKey<LArOnOffIdMapping> m_cablingKey{this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"};
71 SG::ReadCondHandleKey<LArBadChannelCont> m_BCKey{this, "BadChanKey", "LArBadChannel", "SG bad channels key"};
72 SG::ReadCondHandleKey<LArCalibLineMapping> m_CLKey{this, "CalibLineKey", "LArCalibLineMap", "SG calib line key"};
73
74 std::string m_pedKey, m_caliWaveKey;
75 std::string m_avgTypeProp;
76 std::string m_outFileName;
77 std::string m_cutType;
81
82 //Thresholds:
85
91 enum AvgType {
94 };
95
97
98
99 const std::string channelDescription(const HWIdentifier& chid, const LArOnOffIdMapping *cabling, const unsigned gain=99) const;
100
101 unsigned getSymId(const HWIdentifier, const LArOnOffIdMapping *cabling) const;
102
129
130 class CellData {
131 public:
133 float m_ampl;
134 float m_wid;
135 float m_tmax;
136 float m_pedRMS[3];
137 CellData() : m_ampl(-1.) {
138 m_wid =-1.;
139 m_tmax =-1.;
140 m_pedRMS[0]=-1.;
141 m_pedRMS[1]=-1.;
142 m_pedRMS[2]=-1.;
143 }
144 };
145};
146
147
148
149#endif
150
Define macros for attributes used to control the static checker.
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
Helper class for offline cell identifiers.
Definition CaloCell_ID.h:34
std::vector< float > m_vmedTmax[CaloGain::LARNGAIN]
float m_medAmpl[CaloGain::LARNGAIN]
float m_avTmax[CaloGain::LARNGAIN]
std::vector< float > m_vmedWid[CaloGain::LARNGAIN]
float m_avPedRMS[CaloGain::LARNGAIN]
float m_avTmaxSD[CaloGain::LARNGAIN]
float m_avWid[CaloGain::LARNGAIN]
unsigned m_nTmaxs[CaloGain::LARNGAIN]
float m_avPedRMSSD[CaloGain::LARNGAIN]
float m_avWidSD[CaloGain::LARNGAIN]
std::vector< float > m_vmedAmpl[CaloGain::LARNGAIN]
float m_medTmax[CaloGain::LARNGAIN]
unsigned m_nWids[CaloGain::LARNGAIN]
float m_avAmpl[CaloGain::LARNGAIN]
std::vector< float > m_vmedPedRMS[CaloGain::LARNGAIN]
float m_medWid[CaloGain::LARNGAIN]
unsigned m_nPed[CaloGain::LARNGAIN]
float m_medPedRMS[CaloGain::LARNGAIN]
float m_avAmplSD[CaloGain::LARNGAIN]
unsigned m_nAmpls[CaloGain::LARNGAIN]
float m_distampTh[CaloGain::LARNGAIN]
float m_highNoiseTh[CaloGain::LARNGAIN]
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
float m_widTh[CaloGain::LARNGAIN]
SG::ReadCondHandleKey< LArBadChannelCont > m_BCKey
const std::string channelDescription(const HWIdentifier &chid, const LArOnOffIdMapping *cabling, const unsigned gain=99) const
float m_amplTh[CaloGain::LARNGAIN]
virtual StatusCode stop ATLAS_NOT_THREAD_SAFE() override
Standard stop method.
virtual StatusCode execute() override
Standard execute method This method has to be emtpy since all the job is done in finalize.
const CaloCell_ID * m_caloId
const LArOnlineID * m_onlineId
LArBadChannelHunter(const std::string &name, ISvcLocator *pSvcLocator)
Regular algorithm constructor.
SG::ReadCondHandleKey< LArCalibLineMapping > m_CLKey
float m_lowNoiseTh[CaloGain::LARNGAIN]
virtual StatusCode initialize() override
Standard initialization method.
unsigned getSymId(const HWIdentifier, const LArOnOffIdMapping *cabling) const
float m_distwidTh[CaloGain::LARNGAIN]
float m_tmaxampTh[CaloGain::LARNGAIN]
~LArBadChannelHunter()
Destructor.
@ LARNGAIN
Definition CaloGain.h:19