ATLAS Offline Software
Loading...
Searching...
No Matches
TileDigitsToTTL1 Class Reference

#include <TileDigitsToTTL1.h>

Inheritance diagram for TileDigitsToTTL1:
Collaboration diagram for TileDigitsToTTL1:

Public Member Functions

 TileDigitsToTTL1 (const std::string &name, ISvcLocator *pSvcLocator)
virtual ~TileDigitsToTTL1 ()=default
virtual StatusCode initialize () override
virtual StatusCode execute () override
virtual StatusCode finalize () override
virtual StatusCode sysInitialize () override
 Override sysInitialize.
virtual const DataObjIDColl & extraOutputDeps () const override
 Return the list of extra output dependencies.
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual StatusCode sysStart () override
 Handle START transition.
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles.
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles.
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T, V, H > &t)
void updateVHKA (Gaudi::Details::PropertyBase &)
MsgStream & msg () const
bool msgLvl (const MSG::Level lvl) const

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution
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.

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t

Private Member Functions

Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey>

Private Attributes

SG::ReadHandleKey< TileDigitsContainerm_digitsContainerKey
SG::WriteHandleKey< TileTTL1Containerm_ttl1ContainerKey
StringProperty m_infoName {this,"TileInfoName", "TileInfo","Name of TileInfo object in TES"}
const TileIDm_tileID {}
const TileHWIDm_tileHWID {}
const TileInfom_tileInfo {}
const CaloLVL1_IDm_TT_ID {}
ToolHandle< TileCondToolEmscalem_tileToolEmscale {this,"TileCondToolEmscale","TileCondToolEmscale","Main Tile Calibration tool"}
DataObjIDColl m_extendedExtraObjects
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default)
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
bool m_varHandleArraysDeclared

Detailed Description

Definition at line 52 of file TileDigitsToTTL1.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

◆ TileDigitsToTTL1()

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

Definition at line 60 of file TileDigitsToTTL1.cxx.

61 : AthAlgorithm(name, pSvcLocator)
62{
63}
AthAlgorithm()
Default constructor:

◆ ~TileDigitsToTTL1()

virtual TileDigitsToTTL1::~TileDigitsToTTL1 ( )
virtualdefault

Member Function Documentation

◆ declareGaudiProperty()

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

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

Definition at line 156 of file AthCommonDataStore.h.

158 {
160 hndl.value(),
161 hndl.documentation());
162
163 }
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)

◆ declareProperty()

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

Definition at line 145 of file AthCommonDataStore.h.

145 {
146 typedef typename SG::HandleClassifier<T>::type htype;
148 }
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>

◆ 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.

◆ evtStore()

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.

◆ execute()

StatusCode TileDigitsToTTL1::execute ( )
overridevirtual

Definition at line 93 of file TileDigitsToTTL1.cxx.

93 {
94
95 ATH_MSG_DEBUG( "Executing TileDigitsToTTL1" );
96
97 /*......................................................*/
98 // Step 2: Get all global parameters that will be needed for processing.
99 int nSamp = m_tileInfo->NdigitSamples(); // number of time slices for each chan
100 int iTrig = m_tileInfo->ItrigSample(); // index of the triggering time slice
101
102 /* Get TileNoise flag from TileInfo (true => generate noise in TileDigits) */
103 bool tileNoise = m_tileInfo->TileNoise();
104 /* Get TileZeroSuppress flag from TileInfo
105 (true => apply threshold to Digits) */
106 bool tileThresh = m_tileInfo->TileZeroSuppress();
107 // declare array for random number generation for noise in samples.
108 double Rndm[16]; // Can't use variable size array
109
110 ATH_MSG_DEBUG( "nSamp=" << nSamp
111 << ", iTrig=" << iTrig
112 << ", tileNoise=" << ((tileNoise) ? "true" : "false")
113 << ", tileThresh=" << ((tileThresh) ? "true" : "false") );
114
115 /*......................................................*/
116 // step 3: Get digit container from TES and create TTL1 container
117 /* Note that digit container has 256 collections (one for each drawer),
118 but TTL1 container has no collections and no structure. */
119 SG::ReadHandle<TileDigitsContainer> digitsContainer(m_digitsContainerKey);
120 ATH_CHECK( digitsContainer.isValid() );
121
122 SG::WriteHandle<TileTTL1Container> ttl1Container(m_ttl1ContainerKey);
123 ATH_CHECK( ttl1Container.record(std::make_unique<TileTTL1Container>()) );
124 ATH_MSG_DEBUG( "TileTTL1Container registered successfully (" << m_ttl1ContainerKey.key() << ")" );
125
126 /*......................................................*/
127 // Step 4: Create temporary arrays for processing signals.
128 /* Create array for all TT amplitudes in a single drawer. */
129 Identifier ttId[16]; // array of TT identifiers in a single drawer
130 bool ttDigit[16]; // array of TT occupancy in a single drawer
131 int nTT; // number of digit towers in this drawer.
132 int nDigit; // number of digits in this drawer.
133 int nIgnore; // number of ignored digits in this drawer.
134 int nTTTot = 0; // total number of digit towers.
135 int nDigitTot = 0; // total number of digits.
136 int nIgnoreTot = 0; // total number of ignored digits.
137 float ttAmpTot = 0; // total energy in good level-1 towers.
138 float ttAmpTotIg = 0.; // total energy in "ignored" level-1 towers.
139 int minieta, maxieta, posneg;
140
141 /* Create array for the nSamp time-samples of a single tower. */
142 std::vector<float> ttL1samples(nSamp);
143
144 /*......................................................*/
145 // Step 5: Begin loop over all collections (collection = electronic drawer).
146 for (const TileDigitsCollection* digitsCollection : *digitsContainer) {
147
148 HWIdentifier drawer_id = m_tileHWID->drawer_id(digitsCollection->identify());
149 int ros = m_tileHWID->ros(drawer_id);
150 int drawer = m_tileHWID->drawer(drawer_id);
151 int drawerIdx = TileCalibUtils::getDrawerIdx(ros, drawer);
152
153 switch (ros) {
155 posneg = +1;
156 minieta = 0;
157 maxieta = 8;
158 break;
160 posneg = -1;
161 minieta = 0;
162 maxieta = 8;
163 break;
165 posneg = +1;
166 minieta = 9;
167 maxieta = 14;
168 break;
170 posneg = -1;
171 minieta = 9;
172 maxieta = 14;
173 break;
174 default:
175 posneg = minieta = maxieta = 0;
176 }
177
178 /* Zero temporary array of trigger tower amplitudes (TTL1amp) for this collection. */
179 memset(ttDigit, 0, sizeof(ttDigit));
180 std::vector<std::vector<float> > myttAmp(16);
181 for (int ii = 0; ii < 16; ++ii)
182 myttAmp[ii].resize(nSamp);
183
184 nTT = nIgnore = nDigit = 0;
185
186 /*......................................................*/
187 // Step 6: Iterate over all digits in this collection, summing amps for each tower.
188 for (const TileDigits* tile_digits : *digitsCollection) {
189
190 // get digits
191 std::vector<float> samples = tile_digits->samples();
192 // get number of time samples & compare with
193 // int nSamp = m_tileInfo->NdigitSamples();
194 int nSamp2 = samples.size();
195 if (nSamp2 != nSamp) {
196 ATH_MSG_ERROR( "nSamp from TileInfo=" << nSamp
197 << " nSamp from digits= " << nSamp2 );
198 }
199 /* Get digit HWIdentifier (= channel_id) */
200 HWIdentifier adcId = tile_digits->adc_HWID();
201 int channel = m_tileHWID->channel(adcId);
202 int adc = m_tileHWID->adc(adcId);
203 // Subtract pedestal, that is samples[0] and convert from ADC counts to pCb.
204 float pedestal = samples[0];
205 for (int jsamp = 0; jsamp < nSamp; ++jsamp) {
206
207 samples[jsamp] = m_tileToolEmscale->channelCalib(drawerIdx, channel, adc,
209
210 }
211 Identifier pmt_id = tile_digits->pmt_ID();
212 if (pmt_id.is_valid()) {
213
214 /* Get TT Identifier for this pmt */
215 Identifier tt_id = tile_digits->tt_ID();
216 /* Get eta-phi indices of TTL1 for this channel. */
217 int ieta = m_TT_ID->eta(tt_id);
218 int iphi = m_TT_ID->phi(tt_id); // (same as module).
219 if (iphi != drawer)
220 ATH_MSG_ERROR( "drawer=" << drawer << ", iphi=" << iphi );
221
222 if (ttDigit[ieta]) { // already exists - just add charge for each sample
223 for (int jsamp = 0; jsamp < nSamp; ++jsamp) {
224 myttAmp[ieta][jsamp] += samples[jsamp];
225 }
226 } else { // digit in new TT
227 ttId[ieta] = tt_id;
228 ttDigit[ieta] = true;
229 for (int jsamp = 0; jsamp < nSamp; ++jsamp) {
230 myttAmp[ieta][jsamp] = samples[jsamp];
231 }
232 if (ieta >= minieta && ieta <= maxieta)
233 ++nTT; // count only valid TT
234 }
235 ++nDigit;
236 if (ieta < minieta || ieta > maxieta)
237 ++nIgnore;
238
239 //Sum cell energy for comparison to other algos.
240 // convert pCb to MeV
241 float e = m_tileToolEmscale->channelCalib(drawerIdx, channel, adc,
243
244 if (ieta >= minieta && ieta <= maxieta) {
245 ttAmpTot += e;
246 } else {
247 ttAmpTotIg += e;
248 }
249
250 if (msgLvl(MSG::VERBOSE)) {
251 /* Diagnostic checks: */
252 int side = m_tileID->side(pmt_id);
253 int tower = m_tileID->tower(pmt_id);
254 int sample = m_tileID->sample(pmt_id);
255 int pmt = m_tileID->pmt(pmt_id);
256 int channel = m_tileHWID->channel(adcId);
257
258 msg(MSG::VERBOSE) << "New Digit:"
259 << " ros=" << ros
260 << ", drawer=" << drawer
261 << ", ch=" << channel
262 << ", side=" << side
263 << ", tower=" << tower
264 << ", sample=" << sample
265 << ", pmt=" << pmt
266 << ", e=" << e
267 << ", ie=" << ieta
268 << ", ip=" << iphi;
269
270 if (ieta >= minieta && ieta <= maxieta)
271 msg(MSG::VERBOSE) << endmsg;
272 else
273 msg(MSG::VERBOSE) << " Outside limits" << endmsg;
274 }
275
276 } else {
277 ATH_MSG_VERBOSE( "Tile Channel with no tt_id" );
278 }
279 } // end loop over digits in this drawer.
280
281 nTTTot += nTT;
282 nDigitTot += nDigit;
283 nIgnoreTot += nIgnore;
284
285 ATH_MSG_VERBOSE( " Statistics for"
286 << " ROS=" << ros
287 << ", drawer=" << drawer
288 << "; posneg=" << posneg
289 << ", minieta=" << minieta
290 << ", maxieta=" << maxieta
291 << "; nTT=" << nTT
292 << ", nDigit=" << nDigit
293 << ", nIgnore=" << nIgnore );
294
295 /*......................................................*/
296 // Step 7: We now have all the TTL1 amplitudes for this drawer.
297 // Loop over towers to produce the electronics signals (= time samples).
298 // If tileNoise is requested, generate random numbers to give noise
299 for (int ieta = minieta; ieta <= maxieta; ++ieta) {
300 int iphi = drawer;
301 bool Good = ttDigit[ieta];
302 if (tileNoise)
303 Good = true;
304
305 if (Good) {
306 if (!ttDigit[ieta])
307 ttId[ieta] = m_TT_ID->tower_id(posneg, 1, 0, ieta, drawer);
308
309 float ttL1Calib = m_tileInfo->TTL1Calib(ttId[ieta]);
310 for (int jsamp = 0; jsamp < nSamp; ++jsamp) {
311 myttAmp[ieta][jsamp] *= ttL1Calib; // convert pCb to mV
312 }
313
314 /* Include shaping fuction, pedestal, and noise. */
315 if (tileNoise)
316 CLHEP::RandGauss::shootArray(nSamp, Rndm);
317 float ttL1Ped = m_tileInfo->TTL1Ped(ttId[ieta]);
318 float ttL1NoiseSigma = m_tileInfo->TTL1NoiseSigma(ttId[ieta]);
319 for (int jsamp = 0; jsamp < nSamp; ++jsamp) {
320 ttL1samples[jsamp] = myttAmp[ieta][jsamp] + ttL1Ped;
321 if (tileNoise)
322 ttL1samples[jsamp] += ttL1NoiseSigma * Rndm[jsamp];
323 } // end loop over samples
324 if (tileThresh) {
325 float ttL1Thresh = m_tileInfo->TTL1Thresh(ttId[ieta]);
326 if (ttL1samples[iTrig] - ttL1Ped < ttL1Thresh)
327 Good = false;
328 }
329 } // end first "Good" section.
330 /* Create the new TTL1 object and store in TTL1Container. */
331 if (Good) {
332 ATH_MSG_DEBUG( " TTL1: "
333 << " ros=" << ros
334 << ", ieta=" << ieta
335 << ", iphi=" << iphi
336 << ", digitTrue=" << ttDigit[ieta]
337 << ", Good=" << Good
338 << ", amp0=" << myttAmp[ieta][iTrig]
339 << ", digitIn=" << ttL1samples[iTrig] );
340
341 /*
342 The following lines are commented out.
343
344 if (msgLvl(MSG::VERBOSE)) {
345 msg(MSG::VERBOSE) << " ttL1Digits=";
346 for (int jsamp = 0; jsamp < nSamp; ++jsamp) {
347 msg(MSG::VERBOSE) << ttL1samples[jsamp] << " ";
348 }
349 msg(MSG::VERBOSE) << endmsg;
350
351 msg(MSG::VERBOSE) << " Rndm=";
352 for (int jsamp = 0; jsamp < nSamp; ++jsamp) {
353 msg(MSG::VERBOSE) << Rndm[jsamp] << " ";
354 }
355 msg(MSG::VERBOSE) << endmsg;
356 }
357 The preceding lines are commented out.
358 */
359
360 ttl1Container->push_back(std::make_unique<TileTTL1>(ttId[ieta], ttL1samples));
361 } // end second "Good" section.
362 } // end loop over towers
363 } // end loop over collections
364
365
366 // Execution completed.
367 ATH_MSG_DEBUG( "TileDigitsToTTL1 execution completed." );
368 ATH_MSG_DEBUG( " nTTTot=" << nTTTot
369 << " nDigitTot=" << nDigitTot
370 << " nIgnoreTot=" << nIgnoreTot
371 << " ttAmpTot=" << ttAmpTot
372 << " ttAmpTotIg=" << ttAmpTotIg
373 << " =>eneTot=" << ttAmpTot + ttAmpTotIg );
374
375 return StatusCode::SUCCESS;
376}
#define endmsg
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_ERROR(x)
#define ATH_MSG_VERBOSE(x)
#define ATH_MSG_DEBUG(x)
bool msgLvl(const MSG::Level lvl) const
MsgStream & msg() const
bool is_valid() const
Check if id is in a valid state.
static unsigned int getDrawerIdx(unsigned int ros, unsigned int drawer)
Returns a drawer hash.
const TileHWID * m_tileHWID
ToolHandle< TileCondToolEmscale > m_tileToolEmscale
SG::ReadHandleKey< TileDigitsContainer > m_digitsContainerKey
const CaloLVL1_ID * m_TT_ID
const TileID * m_tileID
const TileInfo * m_tileInfo
SG::WriteHandleKey< TileTTL1Container > m_ttl1ContainerKey
@ BARREL_POS
Definition TileHWID.h:68
@ EXTBAR_NEG
Definition TileHWID.h:71
@ BARREL_NEG
Definition TileHWID.h:69
@ EXTBAR_POS
Definition TileHWID.h:70

◆ 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}
DataObjIDColl m_extendedExtraObjects

◆ finalize()

StatusCode TileDigitsToTTL1::finalize ( )
overridevirtual

Definition at line 378 of file TileDigitsToTTL1.cxx.

378 {
379
380 ATH_MSG_INFO( "TileDigitsToTTL1::finalize() end" );
381
382 return StatusCode::SUCCESS;
383}
#define ATH_MSG_INFO(x)

◆ initialize()

StatusCode TileDigitsToTTL1::initialize ( )
overridevirtual

Definition at line 68 of file TileDigitsToTTL1.cxx.

68 {
69
70 // retrieve CaloLVL1_ID, TileID, TileHWID helpers and TileIfno from det store
71
75
76 //=== get TileCondToolEmscale
77 CHECK( m_tileToolEmscale.retrieve() );
78
80
81 ATH_CHECK(m_digitsContainerKey.initialize());
82 ATH_CHECK(m_ttl1ContainerKey.initialize());
83
84 ATH_MSG_INFO( "TileDigitsToTTL1 initialisation completed" );
85
86 return StatusCode::SUCCESS;
87}
#define CHECK(...)
Evaluate an expression and check for errors.
const ServiceHandle< StoreGateSvc > & detStore() const
StringProperty m_infoName
retrieve(aClass, aKey=None)
Definition PyKernel.py:110

◆ 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()

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

Definition at line 24 of file AthCommonMsg.h.

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

◆ 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();
384 }
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)

◆ 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 {
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, AthHistogramAlgorithm, and PyAthena::Alg.

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}
#define ATH_MSG_WARNING(x)
static Double_t sc
virtual StatusCode sysInitialize() override
Override sysInitialize.
AthCommonDataStore(const std::string &name, T... args)
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
::StatusCode StatusCode
StatusCode definition for legacy code.

◆ 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) {
313 for (auto k : keys) {
314 k->setOwner(this);
315 }
316 }
317 }
std::vector< SG::VarHandleKeyArray * > m_vhka

Member Data Documentation

◆ 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_digitsContainerKey

SG::ReadHandleKey<TileDigitsContainer> TileDigitsToTTL1::m_digitsContainerKey
private
Initial value:
{this,"TileDigitsContainer",
"TileDigitsCnt", "Input Tile digits container key"}

Definition at line 67 of file TileDigitsToTTL1.h.

67 {this,"TileDigitsContainer",
68 "TileDigitsCnt", "Input Tile digits container key"};

◆ 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_infoName

StringProperty TileDigitsToTTL1::m_infoName {this,"TileInfoName", "TileInfo","Name of TileInfo object in TES"}
private

Definition at line 73 of file TileDigitsToTTL1.h.

73{this,"TileInfoName", "TileInfo","Name of TileInfo object in TES"};

◆ m_tileHWID

const TileHWID* TileDigitsToTTL1::m_tileHWID {}
private

Definition at line 76 of file TileDigitsToTTL1.h.

76{};

◆ m_tileID

const TileID* TileDigitsToTTL1::m_tileID {}
private

Definition at line 75 of file TileDigitsToTTL1.h.

75{};

◆ m_tileInfo

const TileInfo* TileDigitsToTTL1::m_tileInfo {}
private

Definition at line 77 of file TileDigitsToTTL1.h.

77{};

◆ m_tileToolEmscale

ToolHandle<TileCondToolEmscale> TileDigitsToTTL1::m_tileToolEmscale {this,"TileCondToolEmscale","TileCondToolEmscale","Main Tile Calibration tool"}
private

Definition at line 80 of file TileDigitsToTTL1.h.

80{this,"TileCondToolEmscale","TileCondToolEmscale","Main Tile Calibration tool"};

◆ m_TT_ID

const CaloLVL1_ID* TileDigitsToTTL1::m_TT_ID {}
private

Definition at line 78 of file TileDigitsToTTL1.h.

78{};

◆ m_ttl1ContainerKey

SG::WriteHandleKey<TileTTL1Container> TileDigitsToTTL1::m_ttl1ContainerKey
private
Initial value:
{this,"TileTTL1Container",
"TileTTL1Container","Output Tile TTL1 container key"}

Definition at line 70 of file TileDigitsToTTL1.h.

70 {this,"TileTTL1Container",
71 "TileTTL1Container","Output Tile TTL1 container key"};

◆ 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: