ATLAS Offline Software
TileTimeBCOffsetFilter.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TILERECUTILS_ITILETIMEBCOFFSETFILTER_H
6 #define TILERECUTILS_ITILETIMEBCOFFSETFILTER_H
7 
8 /********************************************************************
9  *
10  * NAME: TileTileBCOffsetFilter
11  * PACKAGE: TileCalorimeter/TileRecUtils
12  *
13  * AUTHOR : T. Davidek, A. Solodkov
14  * CREATED: Feb 2019
15  *
16  * PURPOSE: mask the time offsets by +/-1 or +/-2 bunch crossings in the given
17  * Tile DMU
18  *
19  * Input: TileRawChannelContainer
20  * Output: TileRawChannelContainer is modified
21  * Parameters: none
22  *
23  ********************************************************************/
24 
25 // Tile includes
31 #include "TileEvent/TileDQstatus.h"
33 
34 // Atlas includes
37 #include "GaudiKernel/ToolHandle.h"
38 #include "GaudiKernel/ServiceHandle.h"
39 
40 #include <vector>
41 #include <cmath>
42 
43 // forward declarations
44 class TileHWID;
45 class TileRawChannel;
48 class TileCablingService;
49 
54 class TileTimeBCOffsetFilter: public extends<AthAlgTool, ITileRawChannelTool> {
55 
56  public:
57 
58  TileTimeBCOffsetFilter(const std::string& type, const std::string& name,
59  const IInterface* parent);
60 
62 
63  virtual StatusCode initialize() override;
64  virtual StatusCode finalize() override;
65 
66  virtual StatusCode process (TileMutableRawChannelContainer& rchCont, const EventContext& ctx) const override;
67 
68  private:
69 
70  int find_partner(int ros, int channel) const;
71  bool drawer_ok(int ros, int drawer, const TileBadChannels* badChannels,
72  std::vector<int> & channel_time_ok, std::vector<int> & bad_dmu) const;
73  bool ch_masked_or_empty(int ros, int drawer, int channel, int gain, const TileBchStatus& chStatus,
74  const TileDQstatus* DQstatus, const TileDCSState* dcsState) const;
75  float ref_digits_maxmindiff(int ros, int drawer, int ref_channel) const;
76 
78 
80 
82  "TileCablingSvc", "TileCablingSvc", "The Tile cabling service"};
83 
88  "TileDCS", "TileDCS", "Input Tile DCS status"};
89 
94  "TileEMScale", "TileEMScale", "Input Tile EMS calibration constants"};
95 
100  "TileBadChannels", "TileBadChannels", "Input Tile bad channel status"};
101 
102  // name of TDS container with TileDigits
103  SG::ReadHandleKey<TileDigitsContainer> m_digitsContainerKey{this,"TileDigitsContainer","TileDigitsCnt",
104  "Input Tile digits container key"};
105 
106  // properties
108  "TileDQstatus",
109  "TileDQstatus key"};
110 
119 
120 };
121 #endif
122 
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
TileDCSState.h
TileRawChannelContainer
Definition: TileRawChannelContainer.h:13
TileCablingSvc.h
TileTimeBCOffsetFilter::find_partner
int find_partner(int ros, int channel) const
Definition: TileTimeBCOffsetFilter.cxx:400
TileEMScale.h
plotting.yearwise_efficiency.channel
channel
Definition: yearwise_efficiency.py:28
TileTimeBCOffsetFilter::m_cabling
const TileCablingService * m_cabling
TileCabling instance.
Definition: TileTimeBCOffsetFilter.h:79
ITileRawChannelTool.h
TileTimeBCOffsetFilter::drawer_ok
bool drawer_ok(int ros, int drawer, const TileBadChannels *badChannels, std::vector< int > &channel_time_ok, std::vector< int > &bad_dmu) const
Definition: TileTimeBCOffsetFilter.cxx:351
CaloCondBlobAlgs_fillNoiseFromASCII.gain
gain
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:110
TileBchStatus
Class holding bad channel problems.
Definition: TileBchStatus.h:20
TileTimeBCOffsetFilter::m_ene_threshold_3chan
float m_ene_threshold_3chan
Definition: TileTimeBCOffsetFilter.h:111
TileTimeBCOffsetFilter::m_DCSStateKey
SG::ReadCondHandleKey< TileDCSState > m_DCSStateKey
Name of TileDCSState object in condition store.
Definition: TileTimeBCOffsetFilter.h:87
TileTimeBCOffsetFilter::m_emScaleKey
SG::ReadCondHandleKey< TileEMScale > m_emScaleKey
Name of TileEMScale in condition store.
Definition: TileTimeBCOffsetFilter.h:93
TileTimeBCOffsetFilter::m_time_threshold_ref_ch
float m_time_threshold_ref_ch
Definition: TileTimeBCOffsetFilter.h:114
TileTimeBCOffsetFilter::TileTimeBCOffsetFilter
TileTimeBCOffsetFilter(const std::string &type, const std::string &name, const IInterface *parent)
Definition: TileTimeBCOffsetFilter.cxx:39
SG::ReadHandleKey< TileDigitsContainer >
Example_ReadSampleNoise.drawer
drawer
Definition: Example_ReadSampleNoise.py:39
TileTimeBCOffsetFilter
This tool sets bad status for channels with 25ns or 50ns timing jump.
Definition: TileTimeBCOffsetFilter.h:54
TileTimeBCOffsetFilter::ref_digits_maxmindiff
float ref_digits_maxmindiff(int ros, int drawer, int ref_channel) const
Definition: TileTimeBCOffsetFilter.cxx:427
TileTimeBCOffsetFilter::~TileTimeBCOffsetFilter
virtual ~TileTimeBCOffsetFilter()
Definition: TileTimeBCOffsetFilter.h:61
TileHWID
Helper class for TileCal online (hardware) identifiers.
Definition: TileHWID.h:49
TileDQstatus
Class that holds Data Quality fragment information and provides functions to extract the data quality...
Definition: TileDQstatus.h:49
TileTimeBCOffsetFilter::m_ene_threshold_1chan
float m_ene_threshold_1chan
Definition: TileTimeBCOffsetFilter.h:112
TileDigitsContainer.h
TileTimeBCOffsetFilter::m_sample_diffmaxmin_threshold_lg
float m_sample_diffmaxmin_threshold_lg
Definition: TileTimeBCOffsetFilter.h:117
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TileMutableDataContainer
Helper for holding non-const raw data prior to recording in SG.
Definition: TileMutableDataContainer.h:52
TileTimeBCOffsetFilter::m_DQstatusKey
SG::ReadHandleKey< TileDQstatus > m_DQstatusKey
Definition: TileTimeBCOffsetFilter.h:107
AthAlgTool.h
TileRawChannel
Definition: TileRawChannel.h:35
test_pyathena.parent
parent
Definition: test_pyathena.py:15
TileTimeBCOffsetFilter::m_sample_diffmaxmin_threshold_hg
float m_sample_diffmaxmin_threshold_hg
Definition: TileTimeBCOffsetFilter.h:116
maskDeadModules.ros
ros
Definition: maskDeadModules.py:35
TileCablingService
Definition: TileCablingService.h:23
TileTimeBCOffsetFilter::m_cablingSvc
ServiceHandle< TileCablingSvc > m_cablingSvc
Definition: TileTimeBCOffsetFilter.h:81
TileTimeBCOffsetFilter::process
virtual StatusCode process(TileMutableRawChannelContainer &rchCont, const EventContext &ctx) const override
Definition: TileTimeBCOffsetFilter.cxx:101
TileDQstatus.h
Information produced by TileDQstatusAlg (used to be done by TileBeamInfoProvider).
TileTimeBCOffsetFilter::m_digitsContainerKey
SG::ReadHandleKey< TileDigitsContainer > m_digitsContainerKey
Definition: TileTimeBCOffsetFilter.h:103
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
TileBadChannels
Condition object to keep Tile channel and ADC status.
Definition: TileBadChannels.h:24
TileRawChannelCollection
Definition: TileRawChannelCollection.h:12
SG::ReadCondHandleKey< TileDCSState >
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
TileTimeBCOffsetFilter::m_badChannelsKey
SG::ReadCondHandleKey< TileBadChannels > m_badChannelsKey
Name of TileBadChannels in condition store.
Definition: TileTimeBCOffsetFilter.h:99
TileTimeBCOffsetFilter::m_tileHWID
const TileHWID * m_tileHWID
Pointer to TileHWID.
Definition: TileTimeBCOffsetFilter.h:77
TileDCSState
Condition object to keep Tile DCS status from DB.
Definition: TileDCSState.h:24
TileTimeBCOffsetFilter::m_time_threshold_diff
float m_time_threshold_diff
Definition: TileTimeBCOffsetFilter.h:113
TileBadChannels.h
TileTimeBCOffsetFilter::initialize
virtual StatusCode initialize() override
Definition: TileTimeBCOffsetFilter.cxx:56
TileTimeBCOffsetFilter::m_ene_threshold_aver_time
float m_ene_threshold_aver_time
Definition: TileTimeBCOffsetFilter.h:115
TileTimeBCOffsetFilter::finalize
virtual StatusCode finalize() override
Definition: TileTimeBCOffsetFilter.cxx:96
TileTimeBCOffsetFilter::ch_masked_or_empty
bool ch_masked_or_empty(int ros, int drawer, int channel, int gain, const TileBchStatus &chStatus, const TileDQstatus *DQstatus, const TileDCSState *dcsState) const
Definition: TileTimeBCOffsetFilter.cxx:382
TileTimeBCOffsetFilter::m_checkDCS
bool m_checkDCS
Definition: TileTimeBCOffsetFilter.h:118
ServiceHandle< TileCablingSvc >