Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
TileHitToRawChannel Class Reference

This algorithm builds TileRawChannels from TileHits. TileRawChannel amplitude, time and quality are obtianed from the TileHits. Noise is applied to the amplitude. More...

#include <TileHitToRawChannel.h>

Inheritance diagram for TileHitToRawChannel:
Collaboration diagram for TileHitToRawChannel:

Public Member Functions

 TileHitToRawChannel (const std::string &name, ISvcLocator *pSvcLocator)
 Constructor. More...
 
virtual ~TileHitToRawChannel ()
 Destructor
More...
 
virtual StatusCode initialize () override
 initialize method
More...
 
virtual StatusCode execute () override
 execute method
More...
 
virtual StatusCode finalize () override
 finalize method
More...
 
virtual StatusCode sysInitialize () override
 Override sysInitialize. More...
 
virtual const DataObjIDColl & extraOutputDeps () const override
 Return the list of extra output dependencies. More...
 
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & evtStore () const
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. More...
 
virtual StatusCode sysStart () override
 Handle START transition. More...
 
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles. More...
 
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles. More...
 
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T > &t)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc="none")
 Declare a new Gaudi property. More...
 
void updateVHKA (Gaudi::Details::PropertyBase &)
 
MsgStream & msg () const
 
MsgStream & msg (const MSG::Level lvl) const
 
bool msgLvl (const MSG::Level lvl) const
 

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution More...
 
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
 
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed. More...
 

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &)
 specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &)
 specialization for handling Gaudi::Property<SG::VarHandleBase> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &)
 specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
 

Private Attributes

SG::ReadHandleKey< TileHitContainerm_hitContainerKey
 
SG::WriteHandleKey< TileRawChannelContainerm_rawChannelContainerKey
 
SG::ReadCondHandleKey< TileSamplingFractionm_samplingFractionKey
 Name of TileSamplingFraction in condition store. More...
 
std::string m_infoName
 name of the TileInfo object More...
 
double m_deltaT
 if true, keep only hits in deltaT range More...
 
bool m_calibrateEnergy
 if true, amplitude is converted to pCb More...
 
TileRawChannelUnit::UNIT m_rChUnit
 Units used for the TileRawChannels (ADC, pCb, etc.)(see TileInfo.h) More...
 
TileFragHash::TYPE m_rChType
 Type of TileRawChannels (Digitizar, OF1, OF2, Fit, etc.)(see TileFragHash.h) More...
 
const TileIDm_tileID
 Pointer to TileID helper. More...
 
const TileTBIDm_tileTBID
 Pointer to TileID helper. More...
 
const TileHWIDm_tileHWID
 Pointer to TileHWID helper. More...
 
const TileInfom_tileInfo
 Pointer to TileInfo. More...
 
const TileCablingServicem_cabling
 Pointer to the TileCablingService instance. More...
 
std::vector< HWIdentifier * > m_all_ids
 Vector to store all the drawer ids. More...
 
bool m_tileNoise
 If true => generate noise for the TileRawChannel creation. More...
 
bool m_tileThresh
 If true => apply threshold on the conversion to raw channels. More...
 
double m_threshHi
 Value of the mimimal amplitude required to do the conversion to raw channel in high gain (not used for low gain) More...
 
double m_ampMaxHi
 Value of the maximum amplitude to be stored as a high gain channel. More...
 
ServiceHandle< TileCablingSvcm_cablingSvc
 Name of Tile cabling service. More...
 
ServiceHandle< IAthRNGSvcm_atRndmGenSvc {this, "RndmSvc", "AthRNGSvc", ""}
 Random number generator engine to use. More...
 
Gaudi::Property< std::string > m_randomStreamName {this, "RandomStreamName", "Tile_DigitsMaker", ""}
 Random Stream Name. More...
 
SG::ReadCondHandleKey< TileEMScalem_emScaleKey
 Name of TileEMScale in condition store. More...
 
ToolHandle< TileCondToolNoiseSamplem_tileToolNoiseSample
 
DataObjIDColl m_extendedExtraObjects
 
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default) More...
 
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default) More...
 
std::vector< SG::VarHandleKeyArray * > m_vhka
 
bool m_varHandleArraysDeclared
 

Detailed Description

This algorithm builds TileRawChannels from TileHits. TileRawChannel amplitude, time and quality are obtianed from the TileHits. Noise is applied to the amplitude.

TileHitToRawChannell takes as input the TileRawChanels in a TileRawChannel container and combine them in order to create TileCells (For barrel and ext.barrel, two RawChanels feed into each cell; for the Gap cells, there is only one PMT.) Calibrations constants are applied, and the total energy in the cell, the mean time of the energy deposition, and the quality of the measurement are returned.

Definition at line 77 of file TileHitToRawChannel.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< Algorithm > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ TileHitToRawChannel()

TileHitToRawChannel::TileHitToRawChannel ( const std::string &  name,
ISvcLocator *  pSvcLocator 
)

Constructor.

Definition at line 51 of file TileHitToRawChannel.cxx.

52  : AthAlgorithm(name, pSvcLocator)
55  , m_tileID(nullptr)
56  , m_tileTBID(nullptr)
57  , m_tileHWID(nullptr)
58  , m_tileInfo(nullptr)
59  , m_cabling(nullptr)
60  , m_tileNoise(false)
61  , m_tileThresh(false)
62  , m_threshHi(0.0)
63  , m_ampMaxHi(0.0)
64 {
65  declareProperty("TileInfoName", m_infoName = "TileInfo");
66  declareProperty("DeltaT", m_deltaT = -1.0); // keep hits only within deltaT;
67  declareProperty("calibrateEnergy", m_calibrateEnergy = false); // convert or not to pCb
68 }

◆ ~TileHitToRawChannel()

TileHitToRawChannel::~TileHitToRawChannel ( )
virtual

Destructor

Definition at line 70 of file TileHitToRawChannel.cxx.

70  {
73 
74  for (; itr != last; ++itr) {
75  delete[] (*itr);
76  }
77 }

Member Function Documentation

◆ declareGaudiProperty() [1/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyArrayType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKeyArray>

Definition at line 170 of file AthCommonDataStore.h.

172  {
173  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
174  hndl.value(),
175  hndl.documentation());
176 
177  }

◆ declareGaudiProperty() [2/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158  {
159  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
160  hndl.value(),
161  hndl.documentation());
162 
163  }

◆ declareGaudiProperty() [3/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleBase>

Definition at line 184 of file AthCommonDataStore.h.

186  {
187  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
188  hndl.value(),
189  hndl.documentation());
190  }

◆ declareGaudiProperty() [4/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareGaudiProperty ( Gaudi::Property< T > &  t,
const SG::NotHandleType  
)
inlineprivateinherited

specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>

Definition at line 199 of file AthCommonDataStore.h.

200  {
201  return PBASE::declareProperty(t);
202  }

◆ declareProperty() [1/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
SG::VarHandleBase hndl,
const std::string &  doc,
const SG::VarHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleBase. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 245 of file AthCommonDataStore.h.

249  {
250  this->declare(hndl.vhKey());
251  hndl.vhKey().setOwner(this);
252 
253  return PBASE::declareProperty(name,hndl,doc);
254  }

◆ declareProperty() [2/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
SG::VarHandleKey hndl,
const std::string &  doc,
const SG::VarHandleKeyType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleKey. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 221 of file AthCommonDataStore.h.

225  {
226  this->declare(hndl);
227  hndl.setOwner(this);
228 
229  return PBASE::declareProperty(name,hndl,doc);
230  }

◆ declareProperty() [3/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
SG::VarHandleKeyArray hndArr,
const std::string &  doc,
const SG::VarHandleKeyArrayType  
)
inlineinherited

Definition at line 259 of file AthCommonDataStore.h.

263  {
264 
265  // std::ostringstream ost;
266  // ost << Algorithm::name() << " VHKA declareProp: " << name
267  // << " size: " << hndArr.keys().size()
268  // << " mode: " << hndArr.mode()
269  // << " vhka size: " << m_vhka.size()
270  // << "\n";
271  // debug() << ost.str() << endmsg;
272 
273  hndArr.setOwner(this);
274  m_vhka.push_back(&hndArr);
275 
276  Gaudi::Details::PropertyBase* p = PBASE::declareProperty(name, hndArr, doc);
277  if (p != 0) {
278  p->declareUpdateHandler(&AthCommonDataStore<PBASE>::updateVHKA, this);
279  } else {
280  ATH_MSG_ERROR("unable to call declareProperty on VarHandleKeyArray "
281  << name);
282  }
283 
284  return p;
285 
286  }

◆ declareProperty() [4/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc,
const SG::NotHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This is the generic version, for types that do not derive from SG::VarHandleKey. It just forwards to the base class version of declareProperty.

Definition at line 333 of file AthCommonDataStore.h.

337  {
338  return PBASE::declareProperty(name, property, doc);
339  }

◆ declareProperty() [5/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc = "none" 
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This dispatches to either the generic declareProperty or the one for VarHandle/Key/KeyArray.

Definition at line 352 of file AthCommonDataStore.h.

355  {
356  typedef typename SG::HandleClassifier<T>::type htype;
357  return declareProperty (name, property, doc, htype());
358  }

◆ declareProperty() [6/6]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( Gaudi::Property< T > &  t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145  {
146  typedef typename SG::HandleClassifier<T>::type htype;
148  }

◆ detStore()

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< Algorithm > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

95 { return m_detStore; }

◆ evtStore() [1/2]

ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< Algorithm > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

85 { return m_evtStore; }

◆ evtStore() [2/2]

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< Algorithm > >::evtStore ( ) const
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 90 of file AthCommonDataStore.h.

90 { return m_evtStore; }

◆ execute()

StatusCode TileHitToRawChannel::execute ( )
overridevirtual

execute method

Definition at line 164 of file TileHitToRawChannel.cxx.

164  {
165 
166  ATH_MSG_DEBUG( "Executing TileHitToRawChannel" );
167 
168  const EventContext& ctx = Gaudi::Hive::currentContext();
169 
170  ATHRNG::RNGWrapper* rngWrapper = m_atRndmGenSvc->getEngine(this, m_randomStreamName);
171  rngWrapper->setSeed( m_randomStreamName, ctx );
172 
174  ATH_CHECK( samplingFraction.isValid() );
175 
177  ATH_CHECK( emScale.isValid() );
178 
179  // step1: read hits from TES
181  ATH_CHECK( hitContainer.isValid() );
182 
183  //Zero sums for monitoring.
184  int nChan = 0;
185  int nChLG = 0;
186  int nChHG = 0;
187  double eHitTot = 0.;
188  double eCh = 0.;
189  double eChLG = 0.;
190  double eChHG = 0.;
191 
192  // prepare arrays for all channels in one drawer (collection)
193  const int nChMax = 48;
194  double random[nChMax];
195  memset(random, 0, sizeof(random));
196  HWIdentifier * adc_ids;
197  int adc_gain[nChMax];
198  double adc_ampl[nChMax];
199  double adc_time[nChMax];
200  double adc_qual[nChMax];
201 
202  IdContext drawer_context = m_tileHWID->drawer_context();
203 
204  // step2: form raw channels, and put them in container
205  auto rawChannelContainer = std::make_unique<TileMutableRawChannelContainer>(true, m_rChType, m_rChUnit);
206  ATH_CHECK( rawChannelContainer->status() );
207 
208  // iterate over all collections in a container
209  for (const TileHitCollection* hitCollection : *hitContainer) {
210 
211  HWIdentifier drawer_id = m_tileHWID->drawer_id(hitCollection->identify());
212  int ros = m_tileHWID->ros(drawer_id);
213  int drawer = m_tileHWID->drawer(drawer_id);
214  int drawerIdx = TileCalibUtils::getDrawerIdx(ros, drawer);
215  if (m_cabling->connected(ros, drawer)) {
216  ATH_MSG_VERBOSE( "ROS " << ros
217  << " drawer " << drawer
218  << " is connected" );
219  } else {
220  continue;
221  }
222  int ch;
223 
224  ATH_MSG_VERBOSE( MSG::hex
225  << "Collection = 0x" << hitCollection->identify() << MSG::dec
226  << " : ROS=" << ros
227  << ", drawer=" << drawer );
228 
229  IdentifierHash idhash;
230  /* int result = */m_tileHWID->get_hash(drawer_id, idhash, &drawer_context);
231  adc_ids = m_all_ids[idhash];
232 
233  // If tileNoise is requested, generate random numbers to give noise
234  if (m_tileNoise) {
235 
236  RandGaussQ::shootArray(*rngWrapper, nChMax, random, 0.0, 1.0);
237 
238  for (ch = 0; ch < nChMax; ++ch) {
239  adc_gain[ch] = TileID::HIGHGAIN;
240  adc_ampl[ch] = random[ch] * m_tileToolNoiseSample->getHfn(drawerIdx, ch, TileID::HIGHGAIN, TileRawChannelUnit::ADCcounts, ctx)
242 
243  }
244  } else {
245  memset(adc_gain, -1, sizeof(adc_gain)); /* TileID::INVALID */
246  memset(adc_ampl, 0, sizeof(adc_ampl));
247  }
248 
249  memset(adc_time, 0, sizeof(adc_time));
250  memset(adc_qual, 0, sizeof(adc_qual));
251 
252  // iterate over all hits in a collection
253  for (const TileHit* tile_hit : *hitCollection) {
254 
255  // Get hit Identifier (= identifier of pmt)
256  Identifier pmt_id = tile_hit->pmt_ID();
257  HWIdentifier channel_id = tile_hit->pmt_HWID();
258 
259  // index for array is the channel number
261 
262  /* Get hit amplitude and convert to energy (cell-dependent) */
263  double e_hit = tile_hit->energy();
264  double time = tile_hit->time();
265  if (m_deltaT > 0.0) {
266  if (fabs(time) >= m_deltaT) { // reset first hit if it's outside deltaT window
267  e_hit = 0.0;
268  time = 0.0;
269  }
270  double etime = e_hit * time;
271  for (int i = tile_hit->size() - 1; i > 0; --i) { // don't use first hit (i=0)
272  double en = tile_hit->energy(i);
273  double ti = tile_hit->time(i);
274  if (fabs(ti) < m_deltaT && en > 0.0) {
275  e_hit += en;
276  etime += en * ti;
277  }
278  }
279  if (e_hit > 0.0)
280  time = etime / e_hit;
281  else
282  continue; // go to next hit, do not create channels with zero energy
283  }
284  adc_time[ch] = time;
285  double hit_calib = samplingFraction->getSamplingFraction(drawerIdx, ch);
286  double e_ch = e_hit * hit_calib;
287 
288  /* Convert to amplitude of channel (assuming high gain) */
289  /* need to divide here, because "calib" converts amp to energy */
290  int gain = TileID::HIGHGAIN;
291  double amp_ch = e_ch / emScale->calibrateChannel(drawerIdx, ch, gain, 1., m_rChUnit
293  double noise;
294  // If high saturates, convert adc_id to low-gain value and recalculate.
295  if (adc_ampl[ch] + amp_ch + m_tileToolNoiseSample->getPed(drawerIdx, ch, gain, TileRawChannelUnit::ADCcounts, ctx) > m_ampMaxHi) {
296 
298  amp_ch = e_ch / emScale->calibrateChannel(drawerIdx, ch, gain, 1., m_rChUnit
300 
301  // If Noise is requested,
302  // recalculate noise using the SAME random number as for high.
303  if (m_tileNoise) {
304  adc_ampl[ch] = random[ch] * m_tileToolNoiseSample->getHfn(drawerIdx, ch, TileID::LOWGAIN, TileRawChannelUnit::ADCcounts, ctx)
306  }
307  }
308 
309  adc_gain[ch] = gain;
310  noise = adc_ampl[ch];
311  adc_ampl[ch] += amp_ch; // add real amplitude to the noise
312 
313  ATH_MSG_VERBOSE( "ch=" << ch << ((gain == TileID::HIGHGAIN) ? " Hi" :" Lo")
314  << " pmt=" << m_tileID->to_string(pmt_id, -1)
315  << " adc=" << m_tileHWID->to_string(channel_id, -1) << "/" << gain
316  << " noise=" << noise
317  << " amp=" << amp_ch
318  << " tot=" << adc_ampl[ch]);
319 
320  ++nChan;
321  eHitTot += e_hit;
322  eCh += e_ch;
323  }
324 
325  // store raw channels for one drawer
326 
327  for (int ch = 0; ch < nChMax; ++ch) {
328 
329  int gain = adc_gain[ch];
330 
331  // without noise most of channels do not exist
332  // select only valid channels
333  if (gain != -1) {
334 
335  HWIdentifier adc_id = adc_ids[ch];
336  double amp = adc_ampl[ch];
337 
338  bool lrcGood = true;
339  double thresh = -99999;
340 
341  if (TileID::HIGHGAIN != gain) {
342  // change ADC ID (channel switched to low gain)
343  adc_id = m_tileHWID->adc_id(m_tileHWID->channel_id(adc_id), gain);
344 
345  } else {
346  // Apply threshold cut to small signals (always high gain)
347  if (m_tileThresh) {
348  thresh = m_threshHi;
349  if (thresh < 0) {
350  if (fabs(amp) < fabs(thresh))
351  lrcGood = false;
352  } else {
353  if (amp < thresh)
354  lrcGood = false;
355  }
356  }
357  }
358 
359  if (lrcGood) {
360 
361  auto rawChannel = std::make_unique<TileRawChannel>(adc_id, amp, adc_time[ch], adc_qual[ch]);
362  ATH_CHECK( rawChannelContainer->push_back(std::move(rawChannel)) );
363 
364  if (TileID::HIGHGAIN == gain) {
365  ++nChHG;
366  eChHG += amp;
367  } else {
368  ++nChLG;
369  eChLG += amp;
370  }
371 
372  ATH_MSG_VERBOSE( "Accept RC thr=" << ((thresh < 0) ? "+" : "" ) << thresh
373  << ", id=" << m_tileHWID->to_string(adc_id)
374  << ", amp=" << amp );
375 
376  } else {
377 
378  ATH_MSG_VERBOSE( "Reject RC thr=" << ((thresh < 0) ? "+" : "") << thresh
379  << ", id=" << m_tileHWID->to_string(adc_id)
380  << ", amp=" << amp );
381  }
382  }
383  }
384  }
385 
386 
387  // Execution completed.
388  if (msgLvl(MSG::DEBUG)) {
389  msg(MSG::DEBUG) << "TileHitToRawChannel execution completed." << endmsg;
390  msg(MSG::DEBUG) << " nChan=" << nChan
391  << " eHitTot=" << eHitTot
392  << " eneTot=" << eCh
393  << " nchLG=" << nChLG
394  << " eChLG=" << eChLG
395  << " nchHG=" << nChHG
396  << " eChHG=" << eChHG << endmsg;
397  }
398 
399 
401  ATH_CHECK( rawChannelCnt.record(std::move(rawChannelContainer)) );
402 
403  return StatusCode::SUCCESS;
404 }

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase &  ExtraDeps)
protectedinherited

Add StoreName to extra input/output deps as needed.

use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given

◆ extraOutputDeps()

const DataObjIDColl & AthAlgorithm::extraOutputDeps ( ) const
overridevirtualinherited

Return the list of extra output dependencies.

This list is extended to include symlinks implied by inheritance relations.

Definition at line 50 of file AthAlgorithm.cxx.

51 {
52  // If we didn't find any symlinks to add, just return the collection
53  // from the base class. Otherwise, return the extended collection.
54  if (!m_extendedExtraObjects.empty()) {
56  }
57  return Algorithm::extraOutputDeps();
58 }

◆ finalize()

StatusCode TileHitToRawChannel::finalize ( )
overridevirtual

finalize method

Definition at line 406 of file TileHitToRawChannel.cxx.

406  {
407 
408  ATH_MSG_INFO( "TileHitToRawChannel::finalize() end." );
409 
410  return StatusCode::SUCCESS;
411 }

◆ initialize()

StatusCode TileHitToRawChannel::initialize ( )
overridevirtual

initialize method

Definition at line 82 of file TileHitToRawChannel.cxx.

82  {
86 
87  // retrieve TileID helper and TileInfo from det store
88 
90 
92 
94 
96 
99 
100  ATH_CHECK( m_tileToolNoiseSample.retrieve() );
101 
102  if (m_tileNoise) {
103  ATH_CHECK(m_atRndmGenSvc.retrieve());
104  }
105 
106  ATH_CHECK( m_cablingSvc.retrieve() );
107  m_cabling = m_cablingSvc->cablingService();
108 
109  // Get needed parameters from TileInfo
111 
112  /* Get TileNoise flag from TileInfo
113  (true => generate noise in RC's). */
115 
116  /* Get TileZeroSuppress flag from TileInfo
117  (true => apply threshold cut for RC's). */
119 
121 
122  if (m_tileThresh) {
123  ATH_MSG_INFO( "ampMaxHi=" << m_ampMaxHi
124  << ", tileNoise=" << ((m_tileNoise) ? "true" : "false")
125  << ", tileThresh=" << "true, thresh_hi=" << m_threshHi );
126  } else {
127  ATH_MSG_INFO( "ampMaxHi=" << m_ampMaxHi
128  << ", tileNoise=" << ((m_tileNoise) ? "true" : "false")
129  << ", tileThresh=" << "false" );
130  }
131 
132 
133  IdContext drawer_context = m_tileHWID->drawer_context();
134  int ndrawers = m_tileHWID->drawer_hash_max();
135  int nchannels = 48;
136 
137  m_all_ids.reserve(ndrawers);
138 
139  for (int dr = 0; dr < ndrawers; ++dr) {
140 
141  HWIdentifier drawer_id;
142  /* int result = */m_tileHWID->get_id(dr, drawer_id, &drawer_context);
143 
144  HWIdentifier * adc_ids = new HWIdentifier[nchannels];
145  if (m_tileHWID->ros(drawer_id) > 0) { // protection against BEAM ROD
146  for (int ch = 0; ch < nchannels; ++ch) {
147  adc_ids[ch] = m_tileHWID->adc_id(drawer_id, ch, TileID::HIGHGAIN);
148  }
149  }
150  m_all_ids.push_back(adc_ids);
151  }
152 
155 
156  ATH_MSG_INFO( "TileHitToRawChannel initialization completed" );
157 
158  return StatusCode::SUCCESS;
159 }

◆ inputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< Algorithm > >::inputHandles ( ) const
overridevirtualinherited

Return this algorithm's input handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ msg() [1/2]

MsgStream& AthCommonMsg< Algorithm >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24  {
25  return this->msgStream();
26  }

◆ msg() [2/2]

MsgStream& AthCommonMsg< Algorithm >::msg ( const MSG::Level  lvl) const
inlineinherited

Definition at line 27 of file AthCommonMsg.h.

27  {
28  return this->msgStream(lvl);
29  }

◆ msgLvl()

bool AthCommonMsg< Algorithm >::msgLvl ( const MSG::Level  lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30  {
31  return this->msgLevel(lvl);
32  }

◆ outputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< Algorithm > >::outputHandles ( ) const
overridevirtualinherited

Return this algorithm's output handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ renounce()

std::enable_if_t<std::is_void_v<std::result_of_t<decltype(&T::renounce)(T)> > && !std::is_base_of_v<SG::VarHandleKeyArray, T> && std::is_base_of_v<Gaudi::DataHandle, T>, void> AthCommonDataStore< AthCommonMsg< Algorithm > >::renounce ( T &  h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381  {
382  h.renounce();
383  PBASE::renounce (h);
384  }

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::renounceArray ( SG::VarHandleKeyArray handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364  {
365  handlesArray.renounce();
366  }

◆ sysInitialize()

StatusCode AthAlgorithm::sysInitialize ( )
overridevirtualinherited

Override sysInitialize.

Override sysInitialize from the base class.

Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc

Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc

Reimplemented from AthCommonDataStore< AthCommonMsg< Algorithm > >.

Reimplemented in AthAnalysisAlgorithm, AthFilterAlgorithm, PyAthena::Alg, and AthHistogramAlgorithm.

Definition at line 66 of file AthAlgorithm.cxx.

66  {
68 
69  if (sc.isFailure()) {
70  return sc;
71  }
72  ServiceHandle<ICondSvc> cs("CondSvc",name());
73  for (auto h : outputHandles()) {
74  if (h->isCondition() && h->mode() == Gaudi::DataHandle::Writer) {
75  // do this inside the loop so we don't create the CondSvc until needed
76  if ( cs.retrieve().isFailure() ) {
77  ATH_MSG_WARNING("no CondSvc found: won't autoreg WriteCondHandles");
78  return StatusCode::SUCCESS;
79  }
80  if (cs->regHandle(this,*h).isFailure()) {
81  sc = StatusCode::FAILURE;
82  ATH_MSG_ERROR("unable to register WriteCondHandle " << h->fullKey()
83  << " with CondSvc");
84  }
85  }
86  }
87  return sc;
88 }

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< Algorithm > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::updateVHKA ( Gaudi::Details::PropertyBase &  )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308  {
309  // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310  // << " size: " << m_vhka.size() << endmsg;
311  for (auto &a : m_vhka) {
312  std::vector<SG::VarHandleKey*> keys = a->keys();
313  for (auto k : keys) {
314  k->setOwner(this);
315  }
316  }
317  }

Member Data Documentation

◆ m_all_ids

std::vector<HWIdentifier *> TileHitToRawChannel::m_all_ids
private

Vector to store all the drawer ids.

Definition at line 116 of file TileHitToRawChannel.h.

◆ m_ampMaxHi

double TileHitToRawChannel::m_ampMaxHi
private

Value of the maximum amplitude to be stored as a high gain channel.

For larger amplitudes, the channel is converted to low gain

Definition at line 121 of file TileHitToRawChannel.h.

◆ m_atRndmGenSvc

ServiceHandle<IAthRNGSvc> TileHitToRawChannel::m_atRndmGenSvc {this, "RndmSvc", "AthRNGSvc", ""}
private

Random number generator engine to use.

Definition at line 129 of file TileHitToRawChannel.h.

◆ m_cabling

const TileCablingService* TileHitToRawChannel::m_cabling
private

Pointer to the TileCablingService instance.

Definition at line 114 of file TileHitToRawChannel.h.

◆ m_cablingSvc

ServiceHandle<TileCablingSvc> TileHitToRawChannel::m_cablingSvc
private
Initial value:
{ this,
"TileCablingSvc", "TileCablingSvc", "The Tile cabling service"}

Name of Tile cabling service.

Definition at line 126 of file TileHitToRawChannel.h.

◆ m_calibrateEnergy

bool TileHitToRawChannel::m_calibrateEnergy
private

if true, amplitude is converted to pCb

Definition at line 105 of file TileHitToRawChannel.h.

◆ m_deltaT

double TileHitToRawChannel::m_deltaT
private

if true, keep only hits in deltaT range

Definition at line 104 of file TileHitToRawChannel.h.

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Algorithm > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_emScaleKey

SG::ReadCondHandleKey<TileEMScale> TileHitToRawChannel::m_emScaleKey
private
Initial value:
{this,
"TileEMScale", "TileEMScale", "Input Tile EMS calibration constants"}

Name of TileEMScale in condition store.

Definition at line 136 of file TileHitToRawChannel.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Algorithm > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_extendedExtraObjects

DataObjIDColl AthAlgorithm::m_extendedExtraObjects
privateinherited

Definition at line 79 of file AthAlgorithm.h.

◆ m_hitContainerKey

SG::ReadHandleKey<TileHitContainer> TileHitToRawChannel::m_hitContainerKey
private
Initial value:
{this,"TileHitContainer","TileHitCnt",
"input Tile hit container key"}

Definition at line 90 of file TileHitToRawChannel.h.

◆ m_infoName

std::string TileHitToRawChannel::m_infoName
private

name of the TileInfo object

Definition at line 103 of file TileHitToRawChannel.h.

◆ m_randomStreamName

Gaudi::Property<std::string> TileHitToRawChannel::m_randomStreamName {this, "RandomStreamName", "Tile_DigitsMaker", ""}
private

Random Stream Name.

Definition at line 131 of file TileHitToRawChannel.h.

◆ m_rawChannelContainerKey

SG::WriteHandleKey<TileRawChannelContainer> TileHitToRawChannel::m_rawChannelContainerKey
private
Initial value:
{this,"TileRawChannelContainer",
"TileRawChannelCnt",
"Output Tile raw channel container key"}

Definition at line 93 of file TileHitToRawChannel.h.

◆ m_rChType

TileFragHash::TYPE TileHitToRawChannel::m_rChType
private

Type of TileRawChannels (Digitizar, OF1, OF2, Fit, etc.)(see TileFragHash.h)

Definition at line 108 of file TileHitToRawChannel.h.

◆ m_rChUnit

TileRawChannelUnit::UNIT TileHitToRawChannel::m_rChUnit
private

Units used for the TileRawChannels (ADC, pCb, etc.)(see TileInfo.h)

Definition at line 107 of file TileHitToRawChannel.h.

◆ m_samplingFractionKey

SG::ReadCondHandleKey<TileSamplingFraction> TileHitToRawChannel::m_samplingFractionKey
private
Initial value:
{this,
"TileSamplingFraction", "TileSamplingFraction", "Input Tile sampling fraction"}

Name of TileSamplingFraction in condition store.

Definition at line 99 of file TileHitToRawChannel.h.

◆ m_threshHi

double TileHitToRawChannel::m_threshHi
private

Value of the mimimal amplitude required to do the conversion to raw channel in high gain (not used for low gain)

Definition at line 120 of file TileHitToRawChannel.h.

◆ m_tileHWID

const TileHWID* TileHitToRawChannel::m_tileHWID
private

Pointer to TileHWID helper.

Definition at line 112 of file TileHitToRawChannel.h.

◆ m_tileID

const TileID* TileHitToRawChannel::m_tileID
private

Pointer to TileID helper.

Definition at line 110 of file TileHitToRawChannel.h.

◆ m_tileInfo

const TileInfo* TileHitToRawChannel::m_tileInfo
private

Pointer to TileInfo.

Definition at line 113 of file TileHitToRawChannel.h.

◆ m_tileNoise

bool TileHitToRawChannel::m_tileNoise
private

If true => generate noise for the TileRawChannel creation.

Definition at line 118 of file TileHitToRawChannel.h.

◆ m_tileTBID

const TileTBID* TileHitToRawChannel::m_tileTBID
private

Pointer to TileID helper.

Definition at line 111 of file TileHitToRawChannel.h.

◆ m_tileThresh

bool TileHitToRawChannel::m_tileThresh
private

If true => apply threshold on the conversion to raw channels.

Definition at line 119 of file TileHitToRawChannel.h.

◆ m_tileToolNoiseSample

ToolHandle<TileCondToolNoiseSample> TileHitToRawChannel::m_tileToolNoiseSample
private
Initial value:
{this,
"TileCondToolNoiseSample", "TileCondToolNoiseSample", "Tile sample noise tool"}

Definition at line 139 of file TileHitToRawChannel.h.

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< Algorithm > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< Algorithm > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.


The documentation for this class was generated from the following files:
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
ATHRNG::RNGWrapper::setSeed
void setSeed(const std::string &algName, const EventContext &ctx)
Set the random seed using a string (e.g.
Definition: RNGWrapper.h:169
TileHitToRawChannel::m_calibrateEnergy
bool m_calibrateEnergy
if true, amplitude is converted to pCb
Definition: TileHitToRawChannel.h:105
sendEI_SPB.ch
ch
Definition: sendEI_SPB.py:35
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
SG::ReadCondHandle
Definition: ReadCondHandle.h:44
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
TileHWID::get_id
virtual int get_id(const IdentifierHash &hash_id, HWIdentifier &id, const IdContext *context=0) const
create compact HW ID from hash id (return == 0 for OK)
Definition: TileHWID.cxx:491
TileHitToRawChannel::m_tileID
const TileID * m_tileID
Pointer to TileID helper.
Definition: TileHitToRawChannel.h:110
physval_make_web_display.thresh
thresh
Definition: physval_make_web_display.py:36
TileHitToRawChannel::m_rChUnit
TileRawChannelUnit::UNIT m_rChUnit
Units used for the TileRawChannels (ADC, pCb, etc.)(see TileInfo.h)
Definition: TileHitToRawChannel.h:107
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:67
AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
CaloCondBlobAlgs_fillNoiseFromASCII.gain
gain
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:110
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
AthCommonMsg< Algorithm >::msgLvl
bool msgLvl(const MSG::Level lvl) const
Definition: AthCommonMsg.h:30
TileHitToRawChannel::m_cablingSvc
ServiceHandle< TileCablingSvc > m_cablingSvc
Name of Tile cabling service.
Definition: TileHitToRawChannel.h:126
Tile_Base_ID::HIGHGAIN
@ HIGHGAIN
Definition: Tile_Base_ID.h:57
TileHWID::drawer_hash_max
size_type drawer_hash_max(void) const
drawer hash table max size
Definition: TileHWID.h:268
TileHitToRawChannel::m_infoName
std::string m_infoName
name of the TileInfo object
Definition: TileHitToRawChannel.h:103
python.TurnDataReader.dr
dr
Definition: TurnDataReader.py:112
TileHWID::drawer_context
IdContext drawer_context(void) const
idContext for drawers
Definition: TileHWID.cxx:471
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
TileHitToRawChannel::m_randomStreamName
Gaudi::Property< std::string > m_randomStreamName
Random Stream Name.
Definition: TileHitToRawChannel.h:131
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition: AthMsgStreamMacros.h:28
TileHitCollection
Definition: TileHitCollection.h:12
TileRawChannelUnit::PicoCoulombs
@ PicoCoulombs
Definition: TileRawChannelUnit.h:18
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
Example_ReadSampleNoise.drawer
drawer
Definition: Example_ReadSampleNoise.py:39
TileHWID::channel
int channel(const HWIdentifier &id) const
extract channel field from HW identifier
Definition: TileHWID.h:189
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
AthCommonDataStore< AthCommonMsg< Algorithm > >::detStore
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:95
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
TileHWID::ros
int ros(const HWIdentifier &id) const
extract ros field from HW identifier
Definition: TileHWID.h:167
TileHitToRawChannel::m_emScaleKey
SG::ReadCondHandleKey< TileEMScale > m_emScaleKey
Name of TileEMScale in condition store.
Definition: TileHitToRawChannel.h:136
IDTPMcnv.htype
htype
Definition: IDTPMcnv.py:29
TileInfo::ThresholdRawChannel
double ThresholdRawChannel(int) const
Return the threshold value for good (filtered) TileRawChannels.
Definition: TileInfo.h:98
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
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
AthCommonDataStore
Definition: AthCommonDataStore.h:52
AthAlgorithm::sysInitialize
virtual StatusCode sysInitialize() override
Override sysInitialize.
Definition: AthAlgorithm.cxx:66
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
AthCommonDataStore< AthCommonMsg< Algorithm > >::outputHandles
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
lumiFormat.i
int i
Definition: lumiFormat.py:85
TileHWID::get_hash
virtual IdentifierHash get_hash(const HWIdentifier &id) const
create hash id from compact ADC id without error checking
Definition: TileHWID.cxx:544
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
TileHitToRawChannel::m_tileThresh
bool m_tileThresh
If true => apply threshold on the conversion to raw channels.
Definition: TileHitToRawChannel.h:119
createCoolChannelIdFile.channel_id
channel_id
Definition: createCoolChannelIdFile.py:52
TileRawChannelUnit::MegaElectronVolts
@ MegaElectronVolts
Definition: TileRawChannelUnit.h:20
TileInfo::getNoiseScaleFactor
float getNoiseScaleFactor(void) const
Conversion from ADC sigma noise to OF sigma noise.
Definition: TileInfo.h:399
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
Tile_Base_ID::LOWGAIN
@ LOWGAIN
Definition: Tile_Base_ID.h:57
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
SG::VarHandleKey::initialize
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:103
maskDeadModules.ros
ros
Definition: maskDeadModules.py:35
TileHitToRawChannel::m_tileTBID
const TileTBID * m_tileTBID
Pointer to TileID helper.
Definition: TileHitToRawChannel.h:111
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
TileHWID::drawer_id
HWIdentifier drawer_id(int frag) const
ROS HWIdentifer.
Definition: TileHWID.cxx:187
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
ATHRNG::RNGWrapper
A wrapper class for event-slot-local random engines.
Definition: RNGWrapper.h:56
TileHWID::channel_id
HWIdentifier channel_id(int ros, int drawer, int channel) const
channel HWIdentifer
Definition: TileHWID.cxx:199
PlotCalibFromCool.en
en
Definition: PlotCalibFromCool.py:399
SG::CondHandleKey::initialize
StatusCode initialize(bool used=true)
RunTileCalibRec.rawChannelContainer
rawChannelContainer
Definition: RunTileCalibRec.py:320
TileHitToRawChannel::m_hitContainerKey
SG::ReadHandleKey< TileHitContainer > m_hitContainerKey
Definition: TileHitToRawChannel.h:90
TileHit
Definition: TileSimEvent/TileSimEvent/TileHit.h:30
TileHitToRawChannel::m_all_ids
std::vector< HWIdentifier * > m_all_ids
Vector to store all the drawer ids.
Definition: TileHitToRawChannel.h:116
TileInfo::TileNoise
bool TileNoise() const
Noise switched on/off?
Definition: TileInfo.h:87
TileHitToRawChannel::m_cabling
const TileCablingService * m_cabling
Pointer to the TileCablingService instance.
Definition: TileHitToRawChannel.h:114
TileHWID::adc_id
HWIdentifier adc_id(int ros, int drawer, int channel, int adc) const
adc HWIdentifer
Definition: TileHWID.cxx:229
SG::WriteHandle
Definition: StoreGate/StoreGate/WriteHandle.h:73
AthAlgorithm::m_extendedExtraObjects
DataObjIDColl m_extendedExtraObjects
Definition: AthAlgorithm.h:79
a
TList * a
Definition: liststreamerinfos.cxx:10
h
TileInfo::TileZeroSuppress
bool TileZeroSuppress() const
Zero suppression switched on/off?
Definition: TileInfo.h:91
TileHWID::drawer
int drawer(const HWIdentifier &id) const
extract drawer field from HW identifier
Definition: TileHWID.h:171
CaloSwCorrections.time
def time(flags, cells_name, *args, **kw)
Definition: CaloSwCorrections.py:242
Tile_Base_ID::to_string
std::string to_string(const Identifier &id, int level=0) const
Definition: Tile_Base_ID.cxx:52
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
TileHitToRawChannel::m_tileInfo
const TileInfo * m_tileInfo
Pointer to TileInfo.
Definition: TileHitToRawChannel.h:113
TileCablingService::connected
bool connected(int ros, int drawer) const
Definition: TileCablingService.h:275
DEBUG
#define DEBUG
Definition: page_access.h:11
AthCommonMsg< Algorithm >::msg
MsgStream & msg() const
Definition: AthCommonMsg.h:24
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:629
TileHitToRawChannel::m_ampMaxHi
double m_ampMaxHi
Value of the maximum amplitude to be stored as a high gain channel.
Definition: TileHitToRawChannel.h:121
AthAlgorithm::AthAlgorithm
AthAlgorithm()
Default constructor:
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:798
TileCalibUtils::getDrawerIdx
static unsigned int getDrawerIdx(unsigned int ros, unsigned int drawer)
Returns a drawer hash.
Definition: TileCalibUtils.cxx:60
LHEF::Writer
Pythia8::Writer Writer
Definition: Prophecy4fMerger.cxx:12
TileHWID::to_string
std::string to_string(const HWIdentifier &id, int level=0) const
extract all fields from HW identifier HWIdentifier get_all_fields ( const HWIdentifier & id,...
Definition: TileHWID.cxx:50
IdentifierHash
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
Definition: IdentifierHash.h:25
TileHitToRawChannel::m_samplingFractionKey
SG::ReadCondHandleKey< TileSamplingFraction > m_samplingFractionKey
Name of TileSamplingFraction in condition store.
Definition: TileHitToRawChannel.h:99
IdContext
This class saves the "context" of an expanded identifier (ExpandedIdentifier) for compact or hash ver...
Definition: IdContext.h:26
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
TileInfo::ADCmax
int ADCmax() const
Returns the maximum ADC output (10 bits --> 1023)
Definition: TileInfo.h:71
TileFragHash::Default
@ Default
Definition: TileFragHash.h:33
TileHitToRawChannel::m_tileNoise
bool m_tileNoise
If true => generate noise for the TileRawChannel creation.
Definition: TileHitToRawChannel.h:118
WriteCellNoiseToCool.noise
noise
Definition: WriteCellNoiseToCool.py:380
TileRawChannelUnit::ADCcounts
@ ADCcounts
Definition: TileRawChannelUnit.h:17
fitman.k
k
Definition: fitman.py:528
ServiceHandle< ICondSvc >
Identifier
Definition: IdentifierFieldParser.cxx:14