ATLAS Offline Software
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 {
67 
68  declareProperty("TileInfoName", m_infoName = "TileInfo");
69  declareProperty("DeltaT", m_deltaT = -1.0); // keep hits only within deltaT;
70  declareProperty("calibrateEnergy", m_calibrateEnergy = false); // convert or not to pCb
71 }

◆ ~TileHitToRawChannel()

TileHitToRawChannel::~TileHitToRawChannel ( )
virtual

Destructor

Definition at line 73 of file TileHitToRawChannel.cxx.

73  {
76 
77  for (; itr != last; ++itr) {
78  delete[] (*itr);
79  }
80 }

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 167 of file TileHitToRawChannel.cxx.

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

◆ 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 409 of file TileHitToRawChannel.cxx.

409  {
410 
411  ATH_MSG_INFO( "TileHitToRawChannel::finalize() end." );
412 
413  return StatusCode::SUCCESS;
414 }

◆ initialize()

StatusCode TileHitToRawChannel::initialize ( )
overridevirtual

initialize method

Definition at line 85 of file TileHitToRawChannel.cxx.

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

◆ 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:70
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:228
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)
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:76
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:623
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
TileAANtupleConfig.rawChannelContainer
rawChannelContainer
Definition: TileAANtupleConfig.py:120
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