ATLAS Offline Software
TileHitToRawChannel.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 //****************************************************************************
6 // Filename : TileHitToRawChannel.h
7 // Author : UC-ATLAS TileCal group
8 // Created : April 2002
9 //
10 // DESCRIPTION
11 //
12 // To create TileRawChannel from TileHit
13 //
14 // Properties (JobOption Parameters):
15 //
16 // TileHitContainer string Name of container with TileHit to read
17 // TileRawChannelContainer string Name of CaloCellContainer to write
18 // TileInfoName string Name of object in TDS with all parameters
19 //
20 // BUGS:
21 //
22 // History:
23 //
24 //
25 //****************************************************************************
26 
27 #ifndef TILESIMALGS_TILEHITTORAWCHANNEL_H
28 #define TILESIMALGS_TILEHITTORAWCHANNEL_H
29 
30 // Tile includes
39 
40 // Atlas includes
45 
46 // Gaudi includes
47 #include "GaudiKernel/ToolHandle.h"
48 #include "GaudiKernel/ServiceHandle.h"
49 
50 #include "CLHEP/Random/RandomEngine.h"
51 
52 
53 #include <string>
54 #include <vector>
55 
56 
57 class IAthRNGSvc;
58 class TileID;
59 class TileTBID;
60 class TileHWID;
61 class TileInfo;
62 class HWIdentifier;
63 class TileCablingService;
64 
65 
78  public:
79 
80  TileHitToRawChannel(const std::string& name, ISvcLocator* pSvcLocator);
81 
82  virtual ~TileHitToRawChannel();
83 
84  virtual StatusCode initialize() override;
85  virtual StatusCode execute() override;
86  virtual StatusCode finalize() override;
87 
88  private:
89 
90  SG::ReadHandleKey<TileHitContainer> m_hitContainerKey{this,"TileHitContainer","TileHitCnt",
91  "input Tile hit container key"};
92 
94  "TileRawChannelCnt",
95  "Output Tile raw channel container key"};
100  "TileSamplingFraction", "TileSamplingFraction", "Input Tile sampling fraction"};
101 
102 
103  std::string m_infoName;
104  double m_deltaT;
106 
109 
110  const TileID* m_tileID;
115 
116  std::vector<HWIdentifier *> m_all_ids;
117 
118  bool m_tileNoise;
120  double m_threshHi;
121  double m_ampMaxHi;
122 
127  "TileCablingSvc", "TileCablingSvc", "The Tile cabling service"};
128 
129  ServiceHandle<IAthRNGSvc> m_atRndmGenSvc{this, "RndmSvc", "AthRNGSvc", ""};
130  Gaudi::Property<std::string> m_randomStreamName{this, "RandomStreamName", "Tile_DigitsMaker", ""};
132 
137  "TileEMScale", "TileEMScale", "Input Tile EMS calibration constants"};
138 
139  ToolHandle<TileCondToolNoiseSample> m_tileToolNoiseSample{this,
140  "TileCondToolNoiseSample", "TileCondToolNoiseSample", "Tile sample noise tool"};
141 
142 };
143 
144 #endif // TILESIMALGS_TILEHITTORAWCHANNEL_H
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
TileHitToRawChannel::m_calibrateEnergy
bool m_calibrateEnergy
if true, amplitude is converted to pCb
Definition: TileHitToRawChannel.h:105
TileCablingSvc.h
TileEMScale.h
TileHitToRawChannel::m_tileToolNoiseSample
ToolHandle< TileCondToolNoiseSample > m_tileToolNoiseSample
Definition: TileHitToRawChannel.h:139
TileHitToRawChannel::m_rChType
TileFragHash::TYPE m_rChType
Type of TileRawChannels (Digitizar, OF1, OF2, Fit, etc.)(see TileFragHash.h)
Definition: TileHitToRawChannel.h:108
TileHitToRawChannel::m_rawChannelContainerKey
SG::WriteHandleKey< TileRawChannelContainer > m_rawChannelContainerKey
Definition: TileHitToRawChannel.h:93
TileHitToRawChannel::m_tileID
const TileID * m_tileID
Pointer to TileID helper.
Definition: TileHitToRawChannel.h:110
TileHitToRawChannel::m_rChUnit
TileRawChannelUnit::UNIT m_rChUnit
Units used for the TileRawChannels (ADC, pCb, etc.)(see TileInfo.h)
Definition: TileHitToRawChannel.h:107
TileFragHash::TYPE
TYPE
initialize
Definition: TileFragHash.h:33
TileHitToRawChannel::TileHitToRawChannel
TileHitToRawChannel(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Definition: TileHitToRawChannel.cxx:51
TileFragHash.h
TileHitToRawChannel::m_cablingSvc
ServiceHandle< TileCablingSvc > m_cablingSvc
Name of Tile cabling service.
Definition: TileHitToRawChannel.h:126
TileHitToRawChannel::m_infoName
std::string m_infoName
name of the TileInfo object
Definition: TileHitToRawChannel.h:103
TileInfo
Definition: TileInfo.h:49
TileHitToRawChannel::execute
virtual StatusCode execute() override
execute method
Definition: TileHitToRawChannel.cxx:167
TileHitToRawChannel::m_randomStreamName
Gaudi::Property< std::string > m_randomStreamName
Random Stream Name.
Definition: TileHitToRawChannel.h:131
SG::ReadHandleKey< TileHitContainer >
TileHitToRawChannel::m_tileHWID
const TileHWID * m_tileHWID
Pointer to TileHWID helper.
Definition: TileHitToRawChannel.h:112
HWIdentifier
Definition: HWIdentifier.h:13
TileHitToRawChannel::m_threshHi
double m_threshHi
Value of the mimimal amplitude required to do the conversion to raw channel in high gain (not used fo...
Definition: TileHitToRawChannel.h:120
TileHitToRawChannel
This algorithm builds TileRawChannels from TileHits. TileRawChannel amplitude, time and quality are o...
Definition: TileHitToRawChannel.h:77
TileHitToRawChannel::m_emScaleKey
SG::ReadCondHandleKey< TileEMScale > m_emScaleKey
Name of TileEMScale in condition store.
Definition: TileHitToRawChannel.h:136
AthAlgorithm.h
TileRawChannelContainer.h
TileHWID
Helper class for TileCal online (hardware) identifiers.
Definition: TileHWID.h:49
TileHitToRawChannel::m_atRndmGenSvc
ServiceHandle< IAthRNGSvc > m_atRndmGenSvc
Random number generator engine to use.
Definition: TileHitToRawChannel.h:129
TileHitToRawChannel::m_deltaT
double m_deltaT
if true, keep only hits in deltaT range
Definition: TileHitToRawChannel.h:104
TileCondToolNoiseSample.h
SG::WriteHandleKey< TileRawChannelContainer >
TileSamplingFraction.h
TileID
Helper class for TileCal offline identifiers.
Definition: TileID.h:68
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TileHitToRawChannel::m_tileThresh
bool m_tileThresh
If true => apply threshold on the conversion to raw channels.
Definition: TileHitToRawChannel.h:119
TileCablingService
Definition: TileCablingService.h:23
TileHitToRawChannel::m_tileTBID
const TileTBID * m_tileTBID
Pointer to TileID helper.
Definition: TileHitToRawChannel.h:111
TileRawChannelUnit::UNIT
UNIT
Definition: TileRawChannelUnit.h:16
AthAlgorithm
Definition: AthAlgorithm.h:47
TileHitToRawChannel::~TileHitToRawChannel
virtual ~TileHitToRawChannel()
Destructor
Definition: TileHitToRawChannel.cxx:73
ReadCondHandleKey.h
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
TileHitToRawChannel::m_hitContainerKey
SG::ReadHandleKey< TileHitContainer > m_hitContainerKey
Definition: TileHitToRawChannel.h:90
TileHitToRawChannel::m_all_ids
std::vector< HWIdentifier * > m_all_ids
Vector to store all the drawer ids.
Definition: TileHitToRawChannel.h:116
TileRawChannelUnit.h
TileHitContainer.h
SG::ReadCondHandleKey< TileSamplingFraction >
TileHitToRawChannel::m_cabling
const TileCablingService * m_cabling
Pointer to the TileCablingService instance.
Definition: TileHitToRawChannel.h:114
TileHitToRawChannel::m_tileInfo
const TileInfo * m_tileInfo
Pointer to TileInfo.
Definition: TileHitToRawChannel.h:113
TileHitToRawChannel::initialize
virtual StatusCode initialize() override
initialize method
Definition: TileHitToRawChannel.cxx:85
IAthRNGSvc
manage multiple RandomEngines in thread-safe way.
Definition: IAthRNGSvc.h:28
TileHitToRawChannel::m_ampMaxHi
double m_ampMaxHi
Value of the maximum amplitude to be stored as a high gain channel.
Definition: TileHitToRawChannel.h:121
TileTBID
Helper class for TileCal offline identifiers of ancillary testbeam detectors and MBTS.
Definition: Calorimeter/CaloIdentifier/CaloIdentifier/TileTBID.h:65
TileHitToRawChannel::m_samplingFractionKey
SG::ReadCondHandleKey< TileSamplingFraction > m_samplingFractionKey
Name of TileSamplingFraction in condition store.
Definition: TileHitToRawChannel.h:99
TileHitToRawChannel::finalize
virtual StatusCode finalize() override
finalize method
Definition: TileHitToRawChannel.cxx:409
TileHitToRawChannel::m_tileNoise
bool m_tileNoise
If true => generate noise for the TileRawChannel creation.
Definition: TileHitToRawChannel.h:118
ServiceHandle< TileCablingSvc >