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

#include <LArSC2Ntuple.h>

Inheritance diagram for LArSC2Ntuple:
Collaboration diagram for LArSC2Ntuple:

Public Member Functions

 LArSC2Ntuple (const std::string &name, ISvcLocator *pSvcLocator)
virtual ~LArSC2Ntuple ()=default
virtual StatusCode initialize () override
virtual StatusCode execute (const EventContext &ctx) override
 Execute method.
bool fillFromIdentifier (const HWIdentifier &id)
const SG::ReadCondHandleKey< LArOnOffIdMapping > & cablingKey () const
virtual StatusCode sysInitialize () override
 Override sysInitialize.
virtual const DataObjIDColl & extraOutputDeps () const override
 Return the list of extra output dependencies.
bool filterPassed (const EventContext &ctx) const
void setFilterPassed (bool state, const EventContext &ctx) const
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
const EventContext & getContext () const
 Deprecated methods (use the ones with EventContext).
bool filterPassed () const
void setFilterPassed (bool state) const

Protected Types

typedef std::map< HWIdentifier, const LArRawChannel * > rawChanMap_t
enum  { NOT_VALID = -999 }

Protected Member Functions

void fillRODEnergy (HWIdentifier SCId, rawChanMap_t &rawChanMap, const LArOnOffIdMapping *cabling, const LArOnOffIdMapping *cablingROD, bool &acceptMain)
virtual bool isReEntrant () const override final
 Legacy algorithms are not thread-safe.
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.

Protected Attributes

int m_ipass
long m_event
Gaudi::Property< unsigned int > m_Nsamples {this, "NSamples", 32, "number of samples to store"}
Gaudi::Property< std::vector< unsigned int > > m_FTlist {this, "FTlist", {}, "which FT to dump"}
Gaudi::Property< std::vector< unsigned int > > m_Slotlist {this, "Slotlist", {}, "which Slot to dump"}
Gaudi::Property< std::vector< unsigned int > > m_Sidelist {this, "Sidelist", {}, "which side to dump"}
Gaudi::Property< std::vector< unsigned int > > m_BElist {this, "BElist", {}, "which B or E to dump"}
Gaudi::Property< bool > m_fillEMB {this, "FillEMB", true, "if to fill EMB"}
Gaudi::Property< bool > m_fillEndcap {this, "FillEndcap", true, "if to fill Eendcap"}
Gaudi::Property< bool > m_fillBCID {this, "FillBCID", false, "if to fill BCID"}
Gaudi::Property< bool > m_fillLB {this, "FillLB", false, "if to fill LB in Evnt tree"}
NTuple::Item< long > m_ntNsamples
NTuple::Item< short > m_gain
NTuple::Item< short > m_bcid
NTuple::Item< unsigned long > m_ELVL1Id
NTuple::Item< unsigned long long > m_IEvent
NTuple::Array< short > m_samples
NTuple::Array< float > m_mean
NTuple::Array< float > m_RMS
NTuple::Item< unsigned int > m_dac
NTuple::Item< unsigned int > m_delay
NTuple::Item< unsigned int > m_pulsed
NTuple::Tuple * m_evt_nt = nullptr
NTuple::Item< unsigned long long > m_IEventEvt
NTuple::Item< short > m_LB
SG::ReadHandleKey< LArDigitContainerm_contKey {this, "ContainerKey", "", "key for LArDigitContainer"}
SG::ReadHandleKey< LArAccumulatedCalibDigitContainerm_accCalibContKey {this, "AccCalibContainerKey", "", "key for LArAccumulatedCalibDigitDigitContainer"}
SG::ReadHandleKey< LArAccumulatedDigitContainerm_accContKey {this, "AccContainerKey", "", "key for LArAccumulatedDigitDigitContainer"}
SG::ReadHandleKey< LArFebHeaderContainerm_LArFebHeaderContainerKey { this, "LArFebHeaderKey", "LArFebHeader" }
Gaudi::Property< bool > m_addBC {this, "AddBadChannelInfo", true, "dump BadChan info ?"}
Gaudi::Property< bool > m_addFEBTemp {this, "AddFEBTempInfo", false, "dump FEB temperature info ?"}
Gaudi::Property< bool > m_isSC {this, "isSC", false, "are we working with SC?"}
Gaudi::Property< bool > m_isFlat {this, "isFlat", false, "are we working with Flat conditions ?"}
Gaudi::Property< bool > m_OffId {this, "OffId", false, "dump also offline ID ?"}
Gaudi::Property< bool > m_addHash {this, "AddHash", false, "add also ID hash info ?"}
Gaudi::Property< bool > m_addCalib {this, "AddCalib", false, "add also calib line info info ?"}
Gaudi::Property< bool > m_realgeom {this, "RealGeometry", false, "add real geometry values ?"}
Gaudi::Property< bool > m_expandId {this,"ExpandId", true ,"add online Id decoded fields ?"}
Gaudi::Property< int > m_NGains {this,"nGains", CaloGain::LARNGAIN,"Number of gains"}
std::string m_ntpath
std::string m_ntTitle
NTuple::Tuple * m_nt
NTuple::Item< long > m_detector
NTuple::Item< long > m_region
NTuple::Item< long > m_layer
NTuple::Item< long > m_eta
NTuple::Item< long > m_phi
NTuple::Item< long > m_onlChanId
NTuple::Item< long > m_oflChanId
NTuple::Item< long > m_pos_neg
NTuple::Item< long > m_barrel_ec
NTuple::Item< long > m_FT
NTuple::Item< long > m_slot
NTuple::Item< long > m_channel
NTuple::Item< long > m_calibLine
NTuple::Item< long > m_badChanWord
NTuple::Item< long > m_isConnected
NTuple::Item< long > m_chanHash
NTuple::Item< long > m_febHash
NTuple::Item< long > m_oflHash
NTuple::Item< float > m_reta
NTuple::Item< float > m_rphi
NTuple::Item< float > m_FEBTemp1
NTuple::Item< float > m_FEBTemp2
StoreGateSvcm_detStore
const LArEM_Base_IDm_emId
const LArHEC_Base_IDm_hecId
const LArFCAL_Base_IDm_fcalId
const LArOnlineID_Basem_onlineId
const CaloCell_Base_IDm_caloId
ToolHandle< ILArFEBTempToolm_FEBTempTool
SG::ReadCondHandleKey< LArOnOffIdMappingm_cablingKey {this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"}
SG::ReadCondHandleKey< LArOnOffIdMappingm_cablingSCKey {this,"CablingSCKey","LArOnOffIdMapSC","SG Key of LArOnOffIdMapping object"}
SG::ReadCondHandleKey< LArBadChannelContm_BCKey {this, "BadChanKey", "LArBadChannel", "SG bad channels key"}
SG::ReadCondHandleKey< LArCalibLineMappingm_calibMapKey {this,"CalibMapKey","LArCalibLineMap","SG Key of calib line mapping object"}
SG::ReadCondHandleKey< LArCalibLineMappingm_calibMapSCKey {this,"CalibMapSCKey","LArCalibIdMapSC","SG Key of calib line mapping object"}
SG::ReadCondHandleKey< CaloDetDescrManagerm_caloMgrKey {this, "CaloDetDescrManager", "CaloDetDescrManager", "SG Key for CaloDetDescrManager in the Condition Store"}
SG::ReadCondHandleKey< CaloSuperCellDetDescrManagerm_caloSuperCellMgrKey {this, "CaloSuperCellDetDescrManager", "CaloSuperCellDetDescrManager", "SG key of the resulting CaloSuperCellDetDescrManager" }

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

Gaudi::Property< std::vector< std::string > > m_contKeys { this, "SCContainerKeys", {},"which containers to dump"}
Gaudi::Property< bool > m_overwriteEventNumber {this, "OverwriteEventNumber", false, "overwrite the event number from EventInfo ?"}
Gaudi::Property< unsigned int > m_Net {this, "Net", 5, "number of energies to store"}
Gaudi::Property< bool > m_fillRawChan {this, "FillRODEnergy", false, "Trying to fill corresponding cells energies"}
Gaudi::Property< bool > m_fillTType {this, "FillTriggerType", false, "Trying to fill trigger type word"}
Gaudi::Property< std::vector< std::string > > m_trigNames { this, "TrigNames", {"L1_EM3","L1_EM7","L1_EM15"},"which triggers to dump"}
Gaudi::Property< bool > m_fillCaloTT {this, "FillTriggerTowers", false, "Trying to fill also TriggerTowers from ByteStream"}
Gaudi::Property< float > m_ETThresh {this, "ETThreshold", -1., "Threshold for ET to fill info"}
Gaudi::Property< float > m_ETThreshMain {this, "ETThresholdMain", -1., "Threshold for ET from Main to fill info"}
Gaudi::Property< float > m_ADCThresh {this, "ADCThreshold", -1., "Threshold for ADCmax-ADC(0) to fill info"}
SG::ReadCondHandleKey< LArOnOffIdMappingm_cablingKeyAdditional {this,"CablingKeyAdditional","LArOnOffIdMap","SG Key of LArOnOffIdMapping object for standard cells"}
ToolHandle< ICaloSuperCellIDToolm_scidtool {this, "CaloSuperCellIDTool", "CaloSuperCellIDTool", "Offline / SuperCell ID mapping tool"}
ToolHandle< Trig::TrigDecisionToolm_trigDec {this, "TrigDecisionTool", "", "Handle to the TrigDecisionTool"}
SG::ReadHandleKey< xAOD::EventInfom_eventInfoKey {this, "LArStatusFlag", "EventInfo", "Key for EventInfo object"}
SG::ReadDecorHandleKey< xAOD::EventInfom_eventInfoDecorKey {this, "EventInfoDecorKey", m_eventInfoKey, "larFlags"}
SG::ReadHandleKey< LArLATOMEHeaderContainerm_LArLatomeHeaderContainerKey { this, "LArLatomeHeaderKey", "SC_LATOME_HEADER" }
Gaudi::Property< std::string > m_triggerTowerKey {this, "TriggerTowerKey", "TriggerTowers", "Trigger Tower container"}
SG::ReadCondHandleKey< CaloSuperCellDetDescrManagerm_caloSCMgrKey
const CaloSuperCellDetDescrManagerm_caloMgrSC
NTuple::Item< short > m_latomeChannel
NTuple::Array< float > m_ROD_energy
NTuple::Array< float > m_ROD_time
NTuple::Array< float > m_ROD_id
NTuple::Item< unsigned int > m_TType
NTuple::Item< uint16_t > m_bcidLATOMEHEAD
NTuple::Item< uint32_t > m_ntNet
NTuple::Array< unsigned short > m_bcidVec
NTuple::Item< uint32_t > m_latomeSourceId
NTuple::Array< short > m_samples_ADC_BAS
NTuple::Array< unsigned short > m_bcidVec_ADC_BAS
NTuple::Array< int > m_energyVec_ET
NTuple::Array< unsigned short > m_bcidVec_ET
NTuple::Array< bool > m_saturVec_ET
NTuple::Array< int > m_energyVec_ET_ID
NTuple::Array< unsigned short > m_bcidVec_ET_ID
NTuple::Array< bool > m_saturVec_ET_ID
std::map< std::string, NTuple::Item< unsigned int > > m_trigNameMap
NTuple::Item< uint32_t > m_LArEventBits
NTuple::Item< short > m_LArInError
NTuple::Item< uint32_t > m_ntNTT
NTuple::Array< int > m_TTEem
NTuple::Array< int > m_TTEhad
NTuple::Array< double > m_TTeta
NTuple::Array< double > m_TTphi
bool m_initialized
DataObjIDColl m_extendedExtraObjects
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default).
std::vector< SG::VarHandleKeyArray * > m_vhka
bool m_varHandleArraysDeclared

Detailed Description

Definition at line 17 of file LArSC2Ntuple.h.

Member Typedef Documentation

◆ rawChanMap_t

Definition at line 28 of file LArSC2Ntuple.h.

◆ StoreGateSvc_t

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

Definition at line 388 of file AthCommonDataStore.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protectedinherited
Enumerator
NOT_VALID 

Definition at line 65 of file LArCond2NtupleBase.h.

Constructor & Destructor Documentation

◆ LArSC2Ntuple()

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

Definition at line 15 of file LArSC2Ntuple.cxx.

15 :
16 LArDigits2Ntuple(name, pSvcLocator), m_caloMgrSC(nullptr) {
17 m_ntTitle = "SCDigits";
18 m_ntpath = "/NTUPLES/FILE1/SCDIGITS";
19 }
LArDigits2Ntuple(const std::string &name, ISvcLocator *pSvcLocator)
const CaloSuperCellDetDescrManager * m_caloMgrSC

◆ ~LArSC2Ntuple()

virtual LArSC2Ntuple::~LArSC2Ntuple ( )
virtualdefault

Member Function Documentation

◆ cablingKey()

const SG::ReadCondHandleKey< LArOnOffIdMapping > & LArCond2NtupleBase::cablingKey ( ) const
inherited

Definition at line 458 of file LArCond2NtupleBase.cxx.

459{
460 if(m_isSC) return m_cablingSCKey;
461 return m_cablingKey;
462}
Gaudi::Property< bool > m_isSC
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingSCKey
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey

◆ declareGaudiProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< Gaudi::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< Gaudi::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< Gaudi::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< Gaudi::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 LArSC2Ntuple::execute ( const EventContext & ctx)
overridevirtual

Execute method.

Provides access to the EventContext if needed but is non-const as opposed to AthReentrantAlgorithm.

set it here once and no need to set at each SC/cell

set container pointers to nullptr if size is 0 (avoid checking again the size in many places)

Reimplemented from LArDigits2Ntuple.

Definition at line 201 of file LArSC2Ntuple.cxx.

202{
203
205
206
207 SG::ReadHandle<xAOD::EventInfo>evt (m_eventInfoKey, ctx);
208 ATH_CHECK(evt.isValid());
209
210 unsigned long long thisevent = evt->eventNumber();
211 unsigned short thislb = evt->lumiBlock();
212
213 // This should be used for main readout later, once TDAQ fill event headers also in calib. runs properly
214 unsigned long thisbcid = evt->bcid();
215 unsigned long thisELVL1Id = 0;
216 unsigned long thisttype = evt->level1TriggerType();
217 //
219 bool hasDigitContainer=true;
220 const LArDigitContainer *DigitContainer = nullptr;
221 if(!m_contKey.key().empty()) {
222 SG::ReadHandle<LArDigitContainer> hdlDigit(m_contKey, ctx);
223 if(!hdlDigit.isValid()) {
224 ATH_MSG_WARNING( "Unable to retrieve LArDigitContainer with key " << m_contKey << " from DetectorStore. " );
225 hasDigitContainer=false;
226 } else {
227 ATH_MSG_DEBUG( "Got LArDigitContainer with key " << m_contKey.key() );
228 DigitContainer = hdlDigit.cptr();
229 }
230 } else hasDigitContainer=false;
231
232 bool hasAccCalibDigitContainer=true;
233 const LArAccumulatedCalibDigitContainer *AccCalibDigitContainer = nullptr;
234 if(!m_accCalibContKey.key().empty()) {
235 SG::ReadHandle<LArAccumulatedCalibDigitContainer> hdlAccDigit(m_accCalibContKey, ctx);
236 if(!hdlAccDigit.isValid()) {
237 ATH_MSG_WARNING( "Unable to retrieve LArAccumulatedCalibDigitContainer with key " << m_accCalibContKey << " from DetectorStore. " );
238 hasAccCalibDigitContainer=false;
239 } else {
240 ATH_MSG_DEBUG( "Got LArAccumulatedCalibDigitContainer with key " << m_accCalibContKey.key() );
241 AccCalibDigitContainer = hdlAccDigit.cptr();
242 }
243 } else hasAccCalibDigitContainer=false;
244
245 bool hasAccDigitContainer=true;
246 const LArAccumulatedDigitContainer *AccDigitContainer = nullptr;
247 if(!m_accContKey.key().empty()) {
248 SG::ReadHandle<LArAccumulatedDigitContainer> hdlAccDigit(m_accContKey, ctx);
249 if(!hdlAccDigit.isValid()) {
250 ATH_MSG_WARNING( "Unable to retrieve LArAccumulatedDigitContainer with key " << m_accContKey << " from DetectorStore. " );
251 hasAccDigitContainer=false;
252 } else {
253 ATH_MSG_DEBUG( "Got LArAccumulatedDigitContainer with key " << m_accContKey.key() );
254 AccDigitContainer = hdlAccDigit.cptr();
255 }
256 } else hasAccDigitContainer=false;
257
258 const LArDigitContainer* DigitContainer_next = nullptr;
259 const LArRawSCContainer* etcontainer = nullptr;
260 const LArRawSCContainer* etcontainer_next = nullptr;
261 const LArRawChannelContainer* RawChannelContainer = nullptr;
262 const LArLATOMEHeaderContainer*headcontainer = nullptr;
263 std::map<unsigned int, const LArLATOMEHeader*> LATOMEHeadMap;
264 rawChanMap_t rawChannelMap;
265
266 if ((std::find(m_contKeys.begin(), m_contKeys.end(), "LArRawChannels") != m_contKeys.end()) ){
267 sc = evtStore()->retrieve(RawChannelContainer,"LArRawChannels");
268 if (sc.isFailure()) {
269 ATH_MSG_WARNING( "Unable to retrieve LArRawChannelContainer with key LArRawChannels from DetectorStore. " );
270 }
271 else
272 ATH_MSG_DEBUG( "Got LArRawChannelContainer with key LArRawChannels" );
273 }
274
275 if(m_ETThreshMain > 0. && !RawChannelContainer) {
276 ATH_MSG_WARNING( "Asked for ETThresholdMain, but no LArRawChannelContainer, will not apply ! " );
277 m_ETThreshMain = -1.;
278 }
279
280 if ((std::find(m_contKeys.begin(), m_contKeys.end(), "SC_ADC_BAS") != m_contKeys.end()) ){
281 sc = evtStore()->retrieve(DigitContainer_next,"SC_ADC_BAS");
282 if (sc.isFailure()) {
283 ATH_MSG_WARNING( "Unable to retrieve LArDigitContainer with key SC_ADC_BAS from DetectorStore. " );
284 }
285 else
286 ATH_MSG_DEBUG( "Got additional LArDigitContainer with key SC_ADC_BAS " );
287 }
288
289 if ((std::find(m_contKeys.begin(), m_contKeys.end(), "SC_ET") != m_contKeys.end()) ){
290 sc = evtStore()->retrieve(etcontainer,"SC_ET");
291 if (sc.isFailure()) {
292 ATH_MSG_WARNING( "Unable to retrieve LArRawSCContainer with key SC_ET from DetectorStore. " );
293 }
294 else
295 ATH_MSG_DEBUG( "Got LArRawSCContainer with key SC_ET " );
296 }
297
298 if ((std::find(m_contKeys.begin(), m_contKeys.end(), "SC_ET_ID") != m_contKeys.end()) ){
299 sc = evtStore()->retrieve(etcontainer_next,"SC_ET_ID");
300 if (sc.isFailure()) {
301 ATH_MSG_WARNING( "Unable to retrieve LArRawSCContainer with key SC_ET_ID from DetectorStore. " );
302 }
303 else
304 ATH_MSG_DEBUG( "Got LArRawSCContainer with key SC_ET_ID" );
305 }
306
307 SG::ReadHandle<LArLATOMEHeaderContainer> hdrCont(m_LArLatomeHeaderContainerKey, ctx);
308 if (! hdrCont.isValid()) {
309 ATH_MSG_WARNING( "No LArLATOME container found in TDS" );
310 } else {
311 ATH_MSG_DEBUG( "LArLATOME container found");
312 headcontainer=&*hdrCont;
313 if(headcontainer != nullptr && *hdrCont->begin()) thisELVL1Id = (*hdrCont->begin())->L1Id();
314 ATH_MSG_DEBUG( " ELVL1I FROM LATOME HEADER " << thisELVL1Id );
315 }
316
317 if (headcontainer){// loop through header container and fill map
318 for (const LArLATOMEHeader* hit : *headcontainer) {
319 LATOMEHeadMap.try_emplace ( hit->SourceId(), hit );
320 }
321 }
322 if(m_fillRawChan && RawChannelContainer){
323 for (const LArRawChannel& raw : *RawChannelContainer) {
324 rawChannelMap.try_emplace( raw.channelID(), &raw );
325 }
326 }
327 const LArOnOffIdMapping* cabling=nullptr;
328 const LArOnOffIdMapping* cablingROD=nullptr;
329 if(m_fillRawChan){
330 SG::ReadCondHandle<LArOnOffIdMapping> cablingHdl{cablingKey(), ctx};
331 cabling=*cablingHdl;
332 if(!cabling) {
333 ATH_MSG_ERROR( "Do not have cabling for SC!" );
334 return StatusCode::FAILURE;
335 }
336 SG::ReadCondHandle<LArOnOffIdMapping> cablingHdlROD{m_cablingKeyAdditional, ctx};
337 cablingROD=*cablingHdlROD;
338 if(!cablingROD) {
339 ATH_MSG_ERROR( "Do not have cabling for ROD!" );
340 return StatusCode::FAILURE;
341 }
342 }
343
345 if( DigitContainer_next && DigitContainer_next->empty() ) DigitContainer_next = nullptr;
346
347 if( etcontainer && etcontainer->empty() ) etcontainer = nullptr;
348
349 if( etcontainer_next && etcontainer_next->empty() ) etcontainer_next = nullptr;
350
351 int cellsno = 0;
352 if (hasDigitContainer) {
353 if( !DigitContainer->empty() ) cellsno = DigitContainer->size();
354 else {
355 ATH_MSG_WARNING("DigitContainer has zero size, but asked, will be not filled... ");
356 return StatusCode::SUCCESS;
357 }
358 }
359 ATH_MSG_DEBUG("DigitContainer has size: "<<cellsno<<" hasDigitContainer: "<<hasDigitContainer);
360
361 if(m_ETThresh > 0. && !etcontainer && !etcontainer_next) {
362 ATH_MSG_WARNING( "Asked for ETThreshold, but no SC_ET* container, will not apply ! " );
363 m_ETThresh = -1.;
364 }
365
366 if(m_ETThresh > 0. || m_ETThreshMain > 0.) {
367 SG::ReadCondHandle<CaloSuperCellDetDescrManager> caloMgrHandle{m_caloSCMgrKey, ctx};
368 ATH_CHECK(caloMgrHandle.isValid());
369 m_caloMgrSC = *caloMgrHandle;
370 }
371
372 if(m_ADCThresh > 0. && ! DigitContainer&& !DigitContainer_next) {
373 ATH_MSG_WARNING( "Asked for ADCThreshold, but no digits container, will not apply ! " );
374 m_ADCThresh = -1.;
375 }
376
377 if (hasAccCalibDigitContainer) {
378 if( !AccCalibDigitContainer->empty() ) {
379 cellsno = AccCalibDigitContainer->size();
380 ATH_MSG_DEBUG("AccCalibDigitContainer has size: "<<cellsno<<" hasAccCalibDigitContainer: "<<hasAccCalibDigitContainer);
381 } else {
382 ATH_MSG_WARNING("AccCalibDigitContainer has zero size, but asked, will be not filled... ");
383 return StatusCode::SUCCESS;
384 }
385 }
386 if (hasAccDigitContainer) {
387 if( !AccDigitContainer->empty() ) {
388 cellsno = AccDigitContainer->size();
389 ATH_MSG_DEBUG("AccDigitContainer has size: "<<cellsno<<" hasAccDigitContainer: "<<hasAccDigitContainer);
390 } else {
391 ATH_MSG_WARNING("AccDigitContainer has zero size, but asked, will be not filled... ");
392 return StatusCode::SUCCESS;
393 }
394 }
395
396 if (DigitContainer_next){
397 if ( cellsno == 0 ){
398 cellsno = DigitContainer_next->size();
399 }else if(DigitContainer_next->size() != (unsigned)cellsno ){ ATH_MSG_WARNING(" NOOOOOOO! Different number of entries in DigitContainer_next"<< cellsno << " " << DigitContainer_next->size() );
400 return StatusCode::SUCCESS;
401 }
402 }
403 if (etcontainer){
404 if ( cellsno == 0 ){
405 cellsno = etcontainer->size();
406 }else if(etcontainer->size() != (unsigned)cellsno ){ ATH_MSG_WARNING(" NOOOOOOO! Different number of entries in etcontainer"<< cellsno << " " << etcontainer->size() );
407 return StatusCode::SUCCESS;
408 }
409 }
410 if (etcontainer_next){
411 if ( cellsno == 0 ){
412 cellsno = etcontainer_next->size();
413 }else if(etcontainer_next->size() != (unsigned)cellsno ){ ATH_MSG_WARNING(" NOOOOOOO! Different number of entries in etcontainer_next"<< cellsno << " " << etcontainer_next->size() );
414 return StatusCode::SUCCESS;
415 }
416 }
417 unsigned cellCounter = 0;
418 ATH_MSG_DEBUG("cellsno size: "<<cellsno);
419
420 for( int c = 0;c<cellsno;++c ){
421 if(m_fillBCID) m_bcid = thisbcid;
422
423 m_ELVL1Id = thisELVL1Id;
424 m_IEvent = thisevent;
425 if(m_overwriteEventNumber) m_IEvent = ctx.evt();
426
427 bool acceptETMain = true;
428
429 if( hasAccDigitContainer ){
430
431 const LArAccumulatedDigit* digi = AccDigitContainer->at(c);
432 // ======================
433
434
435 unsigned int trueMaxSample = digi->nsample();
436
437 if(trueMaxSample>m_Nsamples){
438 if(!m_ipass){
439 ATH_MSG_DEBUG( "The number of samples in data is larger than the one specified by JO: " << trueMaxSample << " > " << m_Nsamples << " --> only " << m_Nsamples << " will be available in the ntuple " );
440 m_ipass = 1;
441 }
442 trueMaxSample = m_Nsamples;
443 }
444 m_ntNsamples = trueMaxSample;
445
447
448 float adcmax=-1.;
449 for(unsigned i = 0; i<trueMaxSample;++i) {
450 m_mean[i] = digi->mean(i);
451 m_RMS[i] = digi->RMS(i);
452 if(m_ADCThresh > 0 && m_mean[i]>adcmax) adcmax=m_mean[i];
453 }
454 if(m_ADCThresh > 0 && adcmax-m_mean[0] <= m_ADCThresh) continue;
455
456 }//hasAccDigitContainer
457
458 if( hasAccCalibDigitContainer ){
459
460 const LArAccumulatedCalibDigit* digi = AccCalibDigitContainer->at(c);
461 // ======================
462
463
464 unsigned int trueMaxSample = digi->nsamples();
465
466 if(trueMaxSample>m_Nsamples){
467 if(!m_ipass){
468 ATH_MSG_DEBUG( "The number of samples in data is larger than the one specified by JO: " << trueMaxSample << " > " << m_Nsamples << " --> only " << m_Nsamples << " will be available in the ntuple " );
469 m_ipass = 1;
470 }
471 trueMaxSample = m_Nsamples;
472 }
473 m_ntNsamples = trueMaxSample;
474
476
477 float adcmax=-1.;
478 for(unsigned i = 0; i<trueMaxSample;++i) {
479 m_mean[i] = digi->mean(i);
480 m_RMS[i] = digi->RMS(i);
481 if(m_ADCThresh > 0 && m_mean[i]>adcmax) adcmax=m_mean[i];
482 }
483 if(m_ADCThresh > 0 && adcmax-m_mean[0] <= m_ADCThresh) continue;
484 m_dac = digi->DAC();
485 m_delay = digi->delay();
486 m_pulsed = digi->getIsPulsedInt();
487
488 }//hasAccCalibDigitContainer
489
490 if( hasDigitContainer ){
491
492 const LArDigit* digi = DigitContainer->at(c);
493 // ======================
494
495 unsigned int trueMaxSample = digi->nsamples();
496
497 if(trueMaxSample>m_Nsamples){
498 if(!m_ipass){
499 ATH_MSG_DEBUG( "The number of samples in data is larger than the one specified by JO: " << trueMaxSample << " > " << m_Nsamples << " --> only " << m_Nsamples << " will be available in the ntuple " );
500 m_ipass = 1;
501 }
502 trueMaxSample = m_Nsamples;
503 }
504 m_ntNsamples = trueMaxSample;
505
507
508 if(m_FTlist.size() > 0) { // should do a selection
509 if(std::find(std::begin(m_FTlist), std::end(m_FTlist), m_FT) == std::end(m_FTlist)) { // is our FT in list ?
510 continue;
511 }
512 }
513
514 if( m_fillRawChan && RawChannelContainer ){
515 fillRODEnergy(digi->hardwareID(), rawChannelMap, cabling, cablingROD, acceptETMain);
516 if(!acceptETMain) continue; // do not pass the ETThreshMain cut
517 }
518
519 short adcmax=0;
520 for(unsigned i = 0; i<trueMaxSample;++i) {
521 m_samples[i] = digi->samples().at(i);
522 if(m_ADCThresh > 0 && m_samples[i]>adcmax) adcmax=m_samples[i];
523 }
524 if(m_ADCThresh > 0 && adcmax-m_samples[0] <= m_ADCThresh) continue;
525
526 const LArSCDigit* scdigi = dynamic_cast<const LArSCDigit*>(digi);
527 if(!scdigi){
528 ATH_MSG_DEBUG(" Can't cast digi to LArSCDigit*");
529 }else{
530 if (headcontainer){
531 ATH_MSG_DEBUG(" Accessing LATOME header ");
532 const LArLATOMEHeader*headmap = LATOMEHeadMap[scdigi->SourceId()];
533 if(headmap){
534 m_bcidLATOMEHEAD = headmap->BCId();
535 m_ELVL1Id = headmap->L1Id();
536 }
537 }
538 m_latomeChannel = scdigi->Channel();
539 unsigned int trueMaxBcid = trueMaxSample;
540 if(trueMaxBcid > scdigi->BCId().size()) trueMaxBcid=scdigi->BCId().size();
541 for( unsigned i = 0; i<trueMaxBcid; ++i){
542 m_bcidVec[i] = scdigi->BCId().at(i);
543 }
544 m_latomeSourceId = scdigi->SourceId();
545 }
546
547
548 }//hasDigitContainer
549 ATH_MSG_DEBUG("After hasDigitContainer ");
550
551
552 // DigitContainer 1 -> SC_ADC_BAS
553 if( DigitContainer_next ){
554
555 const LArDigit* digi = DigitContainer_next->at(c);
556
557 unsigned int trueMaxSample = digi->nsamples();
558
559 if(trueMaxSample>m_Nsamples){
560 if(!m_ipass){
561 ATH_MSG_DEBUG( "The number of samples in data is larger than the one specified by JO: " << trueMaxSample << " > " << m_Nsamples << " --> only " << m_Nsamples << " will be available in the ntuple " );
562 m_ipass=1;
563 }
564 trueMaxSample = m_Nsamples;
565 }
566 m_ntNsamples = trueMaxSample;
567
568 if( !hasDigitContainer){
570 if( m_fillRawChan && RawChannelContainer ){
571 fillRODEnergy(digi->hardwareID(), rawChannelMap, cabling, cablingROD, acceptETMain);
572 if(!acceptETMain) continue; // do not pass the ETThreshMain cut
573 }
574 }
575
576 short adcmax=0;
577 for(unsigned i = 0; i<trueMaxSample;++i) {
578 m_samples_ADC_BAS[i] = digi->samples().at(i);
579 if(m_ADCThresh > 0 && m_samples_ADC_BAS[i]>adcmax) adcmax=m_samples_ADC_BAS[i];
580 }
581 if(m_ADCThresh > 0 && adcmax-m_samples_ADC_BAS[0] <= m_ADCThresh) continue;
582
583 const LArSCDigit* scdigi = dynamic_cast<const LArSCDigit*>(digi);
584 if(!scdigi){ ATH_MSG_DEBUG(" Can't cast digi to LArSCDigit*");
585 }else{
586 if (headcontainer){
587 const LArLATOMEHeader*headmap = LATOMEHeadMap[scdigi->SourceId()];
588 if(headmap){
589 m_bcidLATOMEHEAD = headmap->BCId();
590 m_ELVL1Id = headmap->L1Id();
591 }
592 }
593 m_latomeChannel = scdigi->Channel();
594 for( unsigned i = 0; i<trueMaxSample;++i){
595 m_bcidVec[i] = scdigi->BCId().at(i);
596 }
597 m_latomeSourceId = scdigi->SourceId();
598 }
599
600 }
601 ATH_MSG_DEBUG("After DigitContainer_next ");
602
603
604
605 // etcontainer -> SC_ET
606 if( etcontainer ){
607 const LArRawSC*rawSC = etcontainer->at(c);
608
609 if ( !hasDigitContainer && !DigitContainer_next ){
611 m_latomeChannel = rawSC->chan();
612 if (headcontainer){
613 const LArLATOMEHeader*headmap = LATOMEHeadMap[rawSC->SourceId()];
614 if(headmap){
615 m_bcidLATOMEHEAD = headmap->BCId();
616 m_ELVL1Id = headmap->L1Id();
617 }
618 }
619 if( m_fillRawChan && RawChannelContainer ){
620 fillRODEnergy(rawSC->hardwareID(), rawChannelMap, cabling, cablingROD, acceptETMain);
621 if(!acceptETMain) continue; // do not pass the ETThreshMain cut
622 }
623 }
624 unsigned int truenet = m_Net;
625 if(truenet > rawSC->bcids().size()) truenet=rawSC->bcids().size();
626 for( unsigned i=0; i<truenet;++i){ // just use the vector directly?
627 m_bcidVec_ET[i] = rawSC->bcids().at(i);
628 }
629 if(truenet > rawSC->energies().size()) truenet=rawSC->energies().size();
630 unsigned i;
631 for( i=0; i<truenet;++i){ // just use the vector directly?
632 m_energyVec_ET[i] = rawSC->energies().at(i);
633 if(rawSC->bcids().size()) {
634 if(m_ETThresh > 0. && m_bcidVec_ET[i] == thisbcid) { // our ET
635 if(m_energyVec_ET[i] < m_ETThresh) break;
636 }
637 } else {
638 if(m_ETThresh > 0. ) { // our ET
639 if(m_energyVec_ET[i] < m_ETThresh) break;
640 }
641 }
642 }
643 if(i<truenet) continue; // energy cut
644
645 if(truenet > rawSC->satur().size()) truenet=rawSC->satur().size();
646 for( unsigned i = 0; i<truenet;++i){ // just use the vector directly?
647 m_saturVec_ET[i] = rawSC->satur().at(i);
648 }
649 m_Net=truenet;
650 m_ntNet=truenet;
651
652 }
653 ATH_MSG_DEBUG("After etcontainer");
654 // etcontainer_next -> SC_ET_ID
655 if( etcontainer_next ){
656 const LArRawSC*rawSC = etcontainer_next->at(c);
657
658 if ( !hasDigitContainer && !DigitContainer_next && !etcontainer ){
660 m_latomeChannel = rawSC->chan();
661 if (headcontainer){
662 const LArLATOMEHeader*headmap = LATOMEHeadMap[rawSC->SourceId()];
663 if(headmap){
664 m_bcidLATOMEHEAD = headmap->BCId();
665 m_ELVL1Id = headmap->L1Id();
666 }
667 }
668 if( m_fillRawChan && RawChannelContainer ){
669 fillRODEnergy(rawSC->hardwareID(), rawChannelMap, cabling, cablingROD, acceptETMain);
670 if(!acceptETMain) continue; // do not pass the ETThreshMain cut
671 }
672 }
673 ATH_MSG_DEBUG("Mid etcontainer_next "<<c);
674 for( unsigned i=0; i<rawSC->bcids().size();++i){ // just use the vector directly?
675 m_bcidVec_ET_ID[i] = rawSC->bcids()[i];
676 }
677 unsigned i;
678 for( i=0; i<rawSC->energies().size();++i){ // just use the vector directly?
679 m_energyVec_ET_ID[i] = rawSC->energies()[i];
680 if(rawSC->bcids().size()) {
681 if(m_ETThresh > 0. && m_bcidVec_ET_ID[i] == thisbcid) { // our ET
682 if(m_energyVec_ET_ID[i] < m_ETThresh) break;
683 }
684 } else {
685 if(m_ETThresh > 0.) { // our ET
686 if(m_energyVec_ET_ID[i] < m_ETThresh) break;
687 }
688 }
689 }
690 if(i<rawSC->energies().size()) {
691 continue; // energy cut
692 }
693
694 for( unsigned i = 0; i<rawSC->satur().size();++i){ // just use the vector directly?
695 m_saturVec_ET_ID[i] = rawSC->satur()[i];
696 }
697 }
698 ATH_MSG_DEBUG("After etcontainer_next");
699
700 sc = ntupleSvc()->writeRecord(m_nt);
701 if (sc != StatusCode::SUCCESS) {
702 ATH_MSG_ERROR( "writeRecord failed" );
703 return sc;
704 }
705 cellCounter++;
706 }// over cells
707
708 if(m_fillTType) {
709 m_TType = thisttype;
710 m_IEventEvt = thisevent;
712 m_LB = thislb;
713
714 for (auto const & x : m_trigNames) {
715 if( ! m_trigDec->getListOfTriggers(x).empty() ){
716 m_trigNameMap[x] = m_trigDec->isPassedBits( x );
717 }
718 }
720 m_LArInError = 0;
723
724 }
725
726 if(m_fillCaloTT){
727 const DataVector<LVL1::TriggerTower>* TTVector = nullptr;
728 if ( evtStore()->retrieve(TTVector,m_triggerTowerKey).isFailure() ) {
729 ATH_MSG_WARNING("Could not get the Calo TTs, will not fill...");
730 } else {
731 unsigned count=0;
732 ATH_MSG_INFO("Got TT vector of the sixe " << TTVector->size());
734 for ( x = TTVector->begin(); x < TTVector->end(); ++x ){
735 m_TTeta[count]=(*x)->eta();
736 m_TTphi[count]=(*x)->phi();
737 m_TTEem[count]=(*x)->emEnergy();
738 m_TTEhad[count]=(*x)->hadEnergy();
739 ++count;
740 if(count==20000) break;
741 }
743 }
744 }
745
747 sc = ntupleSvc()->writeRecord(m_evt_nt);
748 if (sc != StatusCode::SUCCESS) {
749 ATH_MSG_ERROR( "writeRecord failed" );
750 return sc;
751 }
752 }
753
754 ATH_MSG_DEBUG( "LArSC2Ntuple has finished, filled " << cellCounter << " cells");
755 return StatusCode::SUCCESS;
756}// end execute-method.
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_ERROR(x)
#define ATH_MSG_INFO(x)
#define ATH_MSG_WARNING(x)
#define ATH_MSG_DEBUG(x)
static Double_t sc
Athena::TPCnvVers::Current Athena::TPCnvVers::Old Athena::TPCnvVers::Old LArRawChannelContainer
Definition LArTPCnv.cxx:86
Athena::TPCnvVers::Current Athena::TPCnvVers::Old Athena::TPCnvVers::Old Athena::TPCnvVers::Old Athena::TPCnvVers::Old LArLATOMEHeaderContainer
Definition LArTPCnv.cxx:106
INTupleSvc * ntupleSvc()
size_t size() const
Number of registered mappings.
#define x
DataModel_detail::const_iterator< DataVector > const_iterator
Standard const_iterator.
Definition DataVector.h:838
const T * at(size_type n) const
Access an element, as an rvalue.
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
size_type size() const noexcept
Returns the number of elements in the collection.
bool empty() const noexcept
Returns true if the collection is empty.
int delay() const
return the setting of the delay
const HWIdentifier & hardwareID() const
Return HWIdentifier.
uint16_t getIsPulsedInt() const
get the four bit int that tells which lines pulsed
int DAC() const
return the number of samples
std::vector< float > RMS() const
Calculates and returns the RMS value of each ADC sample.
std::vector< float > mean() const
Calculates and returns the Mean value of each ADC sample.
size_t nsamples() const
return number of samples
const HWIdentifier & hardwareID() const
Return HWIdentifier.
float RMS(int n_min=-1, int n_max=-1) const
Calculates and returns the RMS value of ADC samples.
float mean(int n_min=-1, int n_max=-1) const
Calculates and returns the Mean value of ADC samples.
int nsample() const
return number of samples
const SG::ReadCondHandleKey< LArOnOffIdMapping > & cablingKey() const
NTuple::Item< long > m_FT
bool fillFromIdentifier(const HWIdentifier &id)
const HWIdentifier & hardwareID() const
Definition LArDigit.h:66
int nsamples() const
Definition LArDigit.h:75
const std::vector< short > & samples() const
Definition LArDigit.h:78
NTuple::Array< short > m_samples
Gaudi::Property< bool > m_fillBCID
NTuple::Item< unsigned int > m_delay
SG::ReadHandleKey< LArDigitContainer > m_contKey
NTuple::Array< float > m_RMS
NTuple::Item< short > m_LB
NTuple::Array< float > m_mean
Gaudi::Property< std::vector< unsigned int > > m_FTlist
Gaudi::Property< unsigned int > m_Nsamples
NTuple::Item< long > m_ntNsamples
NTuple::Item< short > m_bcid
NTuple::Item< unsigned long long > m_IEvent
SG::ReadHandleKey< LArAccumulatedDigitContainer > m_accContKey
NTuple::Item< unsigned long > m_ELVL1Id
NTuple::Item< unsigned int > m_pulsed
NTuple::Tuple * m_evt_nt
SG::ReadHandleKey< LArAccumulatedCalibDigitContainer > m_accCalibContKey
NTuple::Item< unsigned long long > m_IEventEvt
NTuple::Item< unsigned int > m_dac
uint32_t L1Id() const
get the L1 Id
uint16_t BCId() const
get the Bunch Crossing IDs
unsigned int SourceId() const
Definition LArRawSC.h:95
short chan() const
Definition LArRawSC.h:92
const std::vector< bool > & satur() const
Definition LArRawSC.h:107
const std::vector< unsigned short > & bcids() const
Definition LArRawSC.h:104
const std::vector< int > & energies() const
Definition LArRawSC.h:101
const HWIdentifier & hardwareID() const
Definition LArRawSC.h:89
NTuple::Array< bool > m_saturVec_ET_ID
Gaudi::Property< float > m_ETThresh
NTuple::Array< int > m_energyVec_ET_ID
std::map< std::string, NTuple::Item< unsigned int > > m_trigNameMap
NTuple::Array< bool > m_saturVec_ET
std::map< HWIdentifier, const LArRawChannel * > rawChanMap_t
NTuple::Array< unsigned short > m_bcidVec_ET
Gaudi::Property< std::string > m_triggerTowerKey
Gaudi::Property< bool > m_fillRawChan
Gaudi::Property< bool > m_fillTType
NTuple::Array< short > m_samples_ADC_BAS
NTuple::Array< unsigned short > m_bcidVec
Gaudi::Property< std::vector< std::string > > m_contKeys
void fillRODEnergy(HWIdentifier SCId, rawChanMap_t &rawChanMap, const LArOnOffIdMapping *cabling, const LArOnOffIdMapping *cablingROD, bool &acceptMain)
NTuple::Item< uint32_t > m_latomeSourceId
Gaudi::Property< float > m_ETThreshMain
NTuple::Item< short > m_LArInError
NTuple::Array< int > m_TTEem
SG::ReadCondHandleKey< CaloSuperCellDetDescrManager > m_caloSCMgrKey
NTuple::Item< uint32_t > m_ntNTT
Gaudi::Property< float > m_ADCThresh
Gaudi::Property< bool > m_fillCaloTT
Gaudi::Property< std::vector< std::string > > m_trigNames
NTuple::Item< unsigned int > m_TType
NTuple::Array< double > m_TTeta
SG::ReadHandleKey< LArLATOMEHeaderContainer > m_LArLatomeHeaderContainerKey
NTuple::Array< unsigned short > m_bcidVec_ET_ID
Gaudi::Property< bool > m_overwriteEventNumber
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
Gaudi::Property< unsigned int > m_Net
NTuple::Item< uint32_t > m_LArEventBits
NTuple::Array< double > m_TTphi
NTuple::Array< int > m_TTEhad
NTuple::Item< short > m_latomeChannel
NTuple::Array< int > m_energyVec_ET
NTuple::Item< uint32_t > m_ntNet
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKeyAdditional
ToolHandle< Trig::TrigDecisionTool > m_trigDec
NTuple::Item< uint16_t > m_bcidLATOMEHEAD
unsigned int SourceId() const
Definition LArSCDigit.h:47
const std::vector< unsigned short > & BCId() const
Definition LArSCDigit.h:50
short Channel() const
Definition LArSCDigit.h:44
@ LAr
The LAr calorimeter.
@ Warning
The sub-detector issued a warning.
@ Error
The sub-detector issued an error.
int count(std::string s, const std::string &regx)
count how many occurances of a regx are in a string
Definition hcg.cxx:148
::StatusCode StatusCode
StatusCode definition for legacy code.

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< Gaudi::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

◆ fillFromIdentifier()

bool LArCond2NtupleBase::fillFromIdentifier ( const HWIdentifier & id)
inherited

Definition at line 290 of file LArCond2NtupleBase.cxx.

290 {
291
292 ATH_MSG_VERBOSE("Starting fillFromIdentifier");
293 const LArBadChannelCont *bcCont = nullptr;
294 if ( m_addBC) {
295 SG::ReadCondHandle<LArBadChannelCont> readHandle{m_BCKey};
296 bcCont =*readHandle;
297 if( !bcCont) {
298 ATH_MSG_WARNING( "Do not have Bad chan container " << m_BCKey.key() );
299 return false;
300 }
301 }
302
303 const LArCalibLineMapping *clCont=nullptr;
304 if(m_addCalib) {
305 if(m_isSC){
306 SG::ReadCondHandle<LArCalibLineMapping> clHdl{m_calibMapSCKey};
307 clCont={*clHdl};
308 }
309 else{
310 SG::ReadCondHandle<LArCalibLineMapping> clHdl{m_calibMapKey};
311 clCont={*clHdl};
312 }
313 if(!clCont) {
314 ATH_MSG_WARNING( "Do not have calib line mapping !!!" );
315 return false;
316 }
317 }
318
319 const LArOnOffIdMapping* cabling=nullptr;
320 if(m_isSC){
321 SG::ReadCondHandle<LArOnOffIdMapping> cablingHdl{m_cablingSCKey};
322 cabling=*cablingHdl;
323 }
324 else{
325 SG::ReadCondHandle<LArOnOffIdMapping> cablingHdl{m_cablingKey};
326 cabling=*cablingHdl;
327 }
328
329 if(!cabling) {
330 ATH_MSG_WARNING( "Do not have cabling !" );
331 return false;
332 }
333
334 m_onlChanId = hwid.get_identifier32().get_compact();
335
336 if(m_expandId) {
337 m_barrel_ec = m_onlineId->barrel_ec(hwid);
338 m_pos_neg = m_onlineId->pos_neg(hwid);
339 m_FT = m_onlineId->feedthrough(hwid);
340 m_slot = m_onlineId->slot(hwid);
341 m_channel = m_onlineId->channel(hwid);
342 }
343
344 if (m_addHash) {
345 m_chanHash=m_onlineId->channel_Hash(hwid);
346 m_febHash=m_onlineId->feb_Hash(m_onlineId->feb_Id(hwid));
347 }
348
349 if(m_addCalib) {
351 const std::vector<HWIdentifier>& calibLineV=clCont->calibSlotLine(hwid);
352 if(!calibLineV.empty()) {
353 if(m_isSC) {
354 //FIXME - that is hacky, but do not have legacy helper in case of SC
355 m_calibLine = ((hwid.get_identifier32().get_compact())>>8)&0x7F;
356 } else {
357 m_calibLine = m_onlineId->channel(calibLineV[0]);
358 }
359 }
360 }
361
362
363 if ( m_OffId ) {
368
369 if(m_realgeom){
372 }
376 }
377
378 if (m_addBC) m_badChanWord=0;
379 bool connected=false;
380
381 const CaloDetDescrManager_Base* dd_man = nullptr;
382 if (m_realgeom) {
383 if(m_isSC) {
384 SG::ReadCondHandle<CaloSuperCellDetDescrManager> caloSuperCellMgrHandle{m_caloSuperCellMgrKey};
385 dd_man = *caloSuperCellMgrHandle;
386 }
387 else {
388 SG::ReadCondHandle<CaloDetDescrManager> caloMgrHandle{m_caloMgrKey};
389 dd_man = *caloMgrHandle;
390 }
391 }
392
393 try {
394 if (cabling->isOnlineConnected(hwid)) {
395 Identifier id=cabling->cnvToIdentifier(hwid);
396 if ( m_OffId ) {
397 m_oflChanId = id.get_identifier32().get_compact();
398 if (m_addHash) m_oflHash=m_caloId->calo_cell_hash(id);
399
400 if (dd_man) {
401 const CaloDetDescrElement *elem = dd_man->get_element(id);
402 if(!elem) {
403 ATH_MSG_WARNING("Do not have CDDE for "<<id.getString());
404 } else {
405 m_reta = elem->eta_raw();
406 m_rphi = elem->phi_raw();
407 }
408 }
409
410 if (m_emId->is_lar_em(id)) {
411 m_eta = m_emId->eta(id);
412 m_phi = m_emId->phi(id);
413 m_layer = m_emId->sampling(id);
414 m_region = m_emId->region(id);
415 m_detector = std::abs(m_emId->barrel_ec(id)) - 1; //0-barrel, 1-EMEC-OW, 2-EMEC-IW
416 }
417 else if (m_hecId->is_lar_hec(id)) {
418 m_eta = m_hecId->eta(id);
419 m_phi = m_hecId->phi(id);
420 m_layer = m_hecId->sampling(id);
421 m_region = m_hecId->region(id);
422 m_detector = 3;
423 }
424 else if (m_fcalId->is_lar_fcal(id)) {
425 m_eta = m_fcalId->eta(id);
426 m_phi = m_fcalId->phi(id);
427 m_layer = m_fcalId->module(id);
428 m_region = 0;
429 m_detector = 4;
430 }
431 } // m_OffId
432 connected=true;
433 }//end if is connected
434 }catch (LArID_Exception & except) {}
435
436 //bad-channel word
437 if (m_addBC) m_badChanWord=bcCont->status(hwid).packedData();
438 // FEB temperatures
439 if (m_addFEBTemp) {
440 FEBTemp tv = m_FEBTempTool->getFebTemp(hwid);
441 if( !tv.empty() ) {
442 FEBTemp::const_iterator itb = tv.begin();
443 FEBTemp::const_iterator ite = tv.end();
444 for(;itb!=ite;++itb) {
445 m_FEBTemp1 = (*itb).first;
446 m_FEBTemp2 = (*itb).second;
447 }
448 }
449 }
450
451 if(m_addCalib) m_isConnected = (long)connected;
452
453 return connected;
454}
#define ATH_MSG_VERBOSE(x)
std::vector< std::pair< float, float > > FEBTemp
LArBadXCont< LArBadChannel > LArBadChannelCont
const CaloDetDescrElement * get_element(const Identifier &cellId) const
get element by its identifier
BitWord packedData() const
LArBC_t status(const HWIdentifier channel) const
Query the status of a particular channel or FEB This is the main client access method.
const std::vector< HWIdentifier > & calibSlotLine(const HWIdentifier id) const
NTuple::Item< long > m_isConnected
SG::ReadCondHandleKey< LArBadChannelCont > m_BCKey
const CaloCell_Base_ID * m_caloId
NTuple::Item< long > m_calibLine
NTuple::Item< long > m_region
NTuple::Item< long > m_layer
NTuple::Item< long > m_chanHash
Gaudi::Property< bool > m_addCalib
NTuple::Item< float > m_reta
const LArEM_Base_ID * m_emId
NTuple::Item< long > m_onlChanId
SG::ReadCondHandleKey< LArCalibLineMapping > m_calibMapKey
Gaudi::Property< bool > m_addHash
NTuple::Item< long > m_eta
ToolHandle< ILArFEBTempTool > m_FEBTempTool
NTuple::Item< long > m_barrel_ec
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
const LArHEC_Base_ID * m_hecId
NTuple::Item< long > m_oflHash
NTuple::Item< float > m_rphi
Gaudi::Property< bool > m_realgeom
NTuple::Item< long > m_slot
NTuple::Item< long > m_febHash
NTuple::Item< long > m_detector
NTuple::Item< float > m_FEBTemp1
NTuple::Item< long > m_oflChanId
NTuple::Item< float > m_FEBTemp2
SG::ReadCondHandleKey< CaloSuperCellDetDescrManager > m_caloSuperCellMgrKey
NTuple::Item< long > m_phi
NTuple::Item< long > m_badChanWord
const LArOnlineID_Base * m_onlineId
Gaudi::Property< bool > m_addBC
NTuple::Item< long > m_channel
const LArFCAL_Base_ID * m_fcalId
NTuple::Item< long > m_pos_neg
SG::ReadCondHandleKey< LArCalibLineMapping > m_calibMapSCKey
Gaudi::Property< bool > m_expandId
Gaudi::Property< bool > m_addFEBTemp
Gaudi::Property< bool > m_OffId

◆ fillRODEnergy()

void LArSC2Ntuple::fillRODEnergy ( HWIdentifier SCId,
rawChanMap_t & rawChanMap,
const LArOnOffIdMapping * cabling,
const LArOnOffIdMapping * cablingROD,
bool & acceptMain )
protected

Definition at line 758 of file LArSC2Ntuple.cxx.

759{
760 const Identifier offId = cabling->cnvToIdentifier(SCId);
761 const std::vector<Identifier> cellIds = m_scidtool->superCellToOfflineID(offId);
762 std::fill(m_ROD_energy.begin(), m_ROD_energy.end(), 0.);
763 std::fill(m_ROD_time.begin(), m_ROD_time.end(), 0.);
764 std::fill(m_ROD_id.begin(), m_ROD_id.end(), 0.);
765 for(unsigned i=0; i<cellIds.size(); ++i ) {
766 const HWIdentifier hwcell=cablingROD->createSignalChannelID(cellIds[i]);
767 if (hwcell.is_valid() && (rawChanMap.count(hwcell) != 0) ) {
768 m_ROD_energy[i] = rawChanMap[hwcell]->energy();
769 m_ROD_time[i] = rawChanMap[hwcell]->time();
770 m_ROD_id[i] = rawChanMap[hwcell]->hardwareID().get_identifier32().get_compact();
771 } else {
772 ATH_MSG_DEBUG(i<<"-th cell invalid Id");
773 }
774 }
775 if(acceptETMain && m_ETThreshMain > 0. && m_caloMgrSC) { // check if cell is above threshold
776 auto result = std::reduce(m_ROD_energy.begin(), m_ROD_energy.end());
777 auto dde = m_caloMgrSC->get_element(offId);
778 if(dde && result / cosh(dde->eta()) < m_ETThreshMain) acceptETMain = false;
779 }
780}
bool is_valid() const
Check if id is in a valid state.
HWIdentifier createSignalChannelID(const Identifier &id) const
create a HWIdentifier from an Identifier (not inline)
ToolHandle< ICaloSuperCellIDTool > m_scidtool
NTuple::Array< float > m_ROD_id
NTuple::Array< float > m_ROD_energy
NTuple::Array< float > m_ROD_time

◆ filterPassed() [1/2]

bool AthAlgorithm::filterPassed ( ) const
inherited

Definition at line 94 of file AthAlgorithm.cxx.

94 {
95 return filterPassed( Gaudi::Hive::currentContext() );
96}
bool filterPassed() const

◆ filterPassed() [2/2]

bool AthAlgorithm::filterPassed ( const EventContext & ctx) const
inherited

Definition at line 98 of file AthAlgorithm.cxx.

98 {
99 return execState( ctx ).filterPassed();
100}

◆ getContext()

const EventContext & AthAlgorithm::getContext ( ) const
inherited

Deprecated methods (use the ones with EventContext).

Definition at line 90 of file AthAlgorithm.cxx.

90 {
91 return Gaudi::Hive::currentContext();
92}

◆ initialize()

StatusCode LArSC2Ntuple::initialize ( )
overridevirtual

Reimplemented from LArDigits2Ntuple.

Definition at line 21 of file LArSC2Ntuple.cxx.

21 {
22
23 ATH_MSG_DEBUG( "LArSC2Ntuple in initialize" );
24
25 m_isSC = true;
26 if(m_fillTType && (! m_fillLB)) m_fillLB = true;
27 if(m_fillCaloTT && (! m_fillLB)) m_fillLB = true;
28
30 ATH_CHECK( m_scidtool.retrieve() );
31
33 ATH_CHECK( m_eventInfoKey.initialize() );
34 ATH_CHECK( m_eventInfoDecorKey.initialize() );
35
37
38 ATH_CHECK( m_caloSCMgrKey.initialize(m_ETThresh > 0. || m_ETThreshMain > 0.) );
39
40 StatusCode sc=m_nt->addItem("latomeChannel",m_latomeChannel);
41 if (sc.isFailure()) {
42 ATH_MSG_ERROR( "addItem 'latomeChannel' failed" );
43 return sc;
44 }
45
46 sc = m_nt->addItem("bcidVec",m_Nsamples, m_bcidVec);//here - > define length?
47 if (sc.isFailure()) {
48 ATH_MSG_ERROR( "addItem 'bcidVec' failed" );
49 return sc;
50 }
51 sc = m_nt->addItem("latomeSourceId",m_latomeSourceId);
52 if (sc.isFailure()) {
53 ATH_MSG_ERROR( "addItem 'latomeSourceId' failed" );
54 return sc;
55 }
56 sc = m_nt->addItem("Net",m_ntNet);
57 if (sc.isFailure()) {
58 ATH_MSG_ERROR( "addItem 'Net' failed" );
59 return sc;
60 }
61
62 // Loop over container keys
63 for ( const std::string &ck : m_contKeys ){
64 if ( ck.find("SC") == std::string::npos){ // main readout only
65 if ( m_fillRawChan && ck == "LArRawChannels" ){
66 sc = m_nt->addItem("ROD_energy", 16, m_ROD_energy);
67 if (sc.isFailure()) {
68 ATH_MSG_ERROR( "addItem 'ROD_energy' failed" );
69 return sc;
70 }
71 sc = m_nt->addItem("ROD_time", 16, m_ROD_time);
72 if (sc.isFailure()) {
73 ATH_MSG_ERROR( "addItem 'ROD_time' failed" );
74 return sc;
75 }
76 sc = m_nt->addItem("ROD_id", 16, m_ROD_id);
77 if (sc.isFailure()) {
78 ATH_MSG_ERROR( "addItem 'ROD_id' failed" );
79 return sc;
80 }
81 }
82
83 }else if ( ck == "SC_ADC_BAS" ){ // SC_ADC_BAS DigitContainer
84 sc = m_nt->addItem("samples_ADC_BAS",m_Nsamples,m_samples_ADC_BAS);
85 if (sc.isFailure()) {
86 ATH_MSG_ERROR( "addItem 'samples_ADC_BAS' failed" );
87 return sc;
88 }
89
90 sc = m_nt->addItem("bcidVec_ADC_BAS",m_Nsamples, m_bcidVec_ADC_BAS);//here - > define length?
91 if (sc.isFailure()) {
92 ATH_MSG_ERROR( "addItem 'bcidVec_ADC_BAS' failed" );
93 return sc;
94 }
95
96 }else if ( ck == "SC_ET" ){ // SC_ET RawSCContainer
97 sc = m_nt->addItem("energyVec_ET", m_Net, m_energyVec_ET);
98 if (sc.isFailure()) {
99 ATH_MSG_ERROR( "addItem 'energyVec_ET' failed" );
100 return sc;
101 }
102 sc = m_nt->addItem("bcidVec_ET", m_Net, m_bcidVec_ET);
103 if (sc.isFailure()) {
104 ATH_MSG_ERROR( "addItem 'bcidVec_ET' failed" );
105 return sc;
106 }
107 sc = m_nt->addItem("saturVec_ET", m_Net, m_saturVec_ET);
108 if (sc.isFailure()) {
109 ATH_MSG_ERROR( "addItem 'saturVec_ET' failed" );
110 return sc;
111 }
112
113 }else if ( ck == "SC_ET_ID" ){ // SC_ET_ID RawSCContainer
114
115 sc = m_nt->addItem("energyVec_ET_ID", m_Net, m_energyVec_ET_ID);
116 if (sc.isFailure()) {
117 ATH_MSG_ERROR( "addItem 'energyVec_ET_ID' failed" );
118 return sc;
119 }
120 sc = m_nt->addItem("bcidVec_ET_ID", m_Net, m_bcidVec_ET_ID);
121 if (sc.isFailure()) {
122 ATH_MSG_ERROR( "addItem 'bcidVec_ET_ID' failed" );
123 return sc;
124 }
125 sc = m_nt->addItem("saturVec_ET_ID", m_Net, m_saturVec_ET_ID);
126 if (sc.isFailure()) {
127 ATH_MSG_ERROR( "addItem 'saturVec_ET_ID' failed" );
128 return sc;
129 }
130 }
131
132 }// end container key loop
133
134 sc = m_nt->addItem("bcidLATOMEHEAD",m_bcidLATOMEHEAD);
135 if (sc.isFailure()) {
136 ATH_MSG_ERROR( "addItem 'bcidLATOMEHEAD' failed" );
137 return sc;
138 }
139
140 if(m_fillTType) {
141 sc = m_evt_nt->addItem("TType", m_TType);
142 if (sc.isFailure()) {
143 ATH_MSG_ERROR( "addItem 'TType' failed" );
144 return sc;
145 }
146
147 sc = m_evt_nt->addItem("LArEventBits", m_LArEventBits);
148 if (sc.isFailure()) {
149 ATH_MSG_ERROR( "addItem 'LArEventBits' failed" );
150 return sc;
151 }
152 sc = m_evt_nt->addItem("LArError", m_LArInError);
153 if (sc.isFailure()) {
154 ATH_MSG_ERROR( "addItem 'LArError' failed" );
155 return sc;
156 }
157 //Adding trigger decision bit branches
158 CHECK( m_trigDec.retrieve() );
159 for ( const std::string &tn : m_trigNames ){
160 sc = m_evt_nt->addItem(tn,m_trigNameMap[tn]);
161 if (sc.isFailure()) {
162 ATH_MSG_ERROR( "addItem '"+tn+"' failed" );
163 return sc;
164 }
165 }
166
167 }//m_fillTType
168
169 if(m_fillCaloTT) {
170 sc = m_evt_nt->addItem("NTT",m_ntNTT,0,20000);
171 if (sc.isFailure()) {
172 ATH_MSG_ERROR( "addItem 'Net' failed" );
173 return sc;
174 }
175 sc = m_evt_nt->addItem("TTeta", m_ntNTT, m_TTeta);
176 if (sc.isFailure()) {
177 ATH_MSG_ERROR( "addItem 'TTeta' failed" );
178 return sc;
179 }
180 sc = m_evt_nt->addItem("TTphi", m_ntNTT, m_TTphi);
181 if (sc.isFailure()) {
182 ATH_MSG_ERROR( "addItem 'TTphi' failed" );
183 return sc;
184 }
185 sc = m_evt_nt->addItem("TTEem", m_ntNTT, m_TTEem);
186 if (sc.isFailure()) {
187 ATH_MSG_ERROR( "addItem 'TTEem' failed" );
188 return sc;
189 }
190 sc = m_evt_nt->addItem("TTEhad", m_ntNTT, m_TTEhad);
191 if (sc.isFailure()) {
192 ATH_MSG_ERROR( "addItem 'TTEhad' failed" );
193 return sc;
194 }
195 } // end m_fillCaloTT
196
197 return StatusCode::SUCCESS;
198
199}
#define CHECK(...)
Evaluate an expression and check for errors.
Gaudi::Property< bool > m_fillLB
virtual StatusCode initialize()
SG::ReadDecorHandleKey< xAOD::EventInfo > m_eventInfoDecorKey
NTuple::Array< unsigned short > m_bcidVec_ADC_BAS

◆ inputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< Gaudi::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.

◆ isReEntrant()

virtual bool AthAlgorithm::isReEntrant ( ) const
inlinefinaloverrideprotectedvirtualinherited

Legacy algorithms are not thread-safe.

Definition at line 111 of file AthAlgorithm.h.

111{ return false; }

◆ msg()

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

Definition at line 24 of file AthCommonMsg.h.

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

◆ msgLvl()

bool AthCommonMsg< Gaudi::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< Gaudi::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< Gaudi::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< Gaudi::Algorithm > >::renounceArray ( SG::VarHandleKeyArray & handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364 {
366 }

◆ setFilterPassed() [1/2]

void AthAlgorithm::setFilterPassed ( bool state) const
inherited

Definition at line 102 of file AthAlgorithm.cxx.

102 {
103 setFilterPassed( state, Gaudi::Hive::currentContext() );
104}
void setFilterPassed(bool state) const

◆ setFilterPassed() [2/2]

void AthAlgorithm::setFilterPassed ( bool state,
const EventContext & ctx ) const
inherited

Definition at line 106 of file AthAlgorithm.cxx.

106 {
107 execState( ctx ).setFilterPassed(state);
108}

◆ 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< Gaudi::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}
virtual StatusCode sysInitialize() override
Override sysInitialize.
AthCommonDataStore(const std::string &name, T... args)
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< Gaudi::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< Gaudi::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 }

Member Data Documentation

◆ m_accCalibContKey

SG::ReadHandleKey<LArAccumulatedCalibDigitContainer> LArDigits2Ntuple::m_accCalibContKey {this, "AccCalibContainerKey", "", "key for LArAccumulatedCalibDigitDigitContainer"}
protectedinherited

Definition at line 62 of file LArDigits2Ntuple.h.

62{this, "AccCalibContainerKey", "", "key for LArAccumulatedCalibDigitDigitContainer"};

◆ m_accContKey

SG::ReadHandleKey<LArAccumulatedDigitContainer> LArDigits2Ntuple::m_accContKey {this, "AccContainerKey", "", "key for LArAccumulatedDigitDigitContainer"}
protectedinherited

Definition at line 63 of file LArDigits2Ntuple.h.

63{this, "AccContainerKey", "", "key for LArAccumulatedDigitDigitContainer"};

◆ m_ADCThresh

Gaudi::Property< float > LArSC2Ntuple::m_ADCThresh {this, "ADCThreshold", -1., "Threshold for ADCmax-ADC(0) to fill info"}
private

Definition at line 44 of file LArSC2Ntuple.h.

44{this, "ADCThreshold", -1., "Threshold for ADCmax-ADC(0) to fill info"};

◆ m_addBC

Gaudi::Property< bool > LArCond2NtupleBase::m_addBC {this, "AddBadChannelInfo", true, "dump BadChan info ?"}
protectedinherited

Definition at line 54 of file LArCond2NtupleBase.h.

54{this, "AddBadChannelInfo", true, "dump BadChan info ?"};

◆ m_addCalib

Gaudi::Property< bool > LArCond2NtupleBase::m_addCalib {this, "AddCalib", false, "add also calib line info info ?"}
protectedinherited

Definition at line 60 of file LArCond2NtupleBase.h.

60{this, "AddCalib", false, "add also calib line info info ?"};

◆ m_addFEBTemp

Gaudi::Property< bool > LArCond2NtupleBase::m_addFEBTemp {this, "AddFEBTempInfo", false, "dump FEB temperature info ?"}
protectedinherited

Definition at line 55 of file LArCond2NtupleBase.h.

55{this, "AddFEBTempInfo", false, "dump FEB temperature info ?"};

◆ m_addHash

Gaudi::Property< bool > LArCond2NtupleBase::m_addHash {this, "AddHash", false, "add also ID hash info ?"}
protectedinherited

Definition at line 59 of file LArCond2NtupleBase.h.

59{this, "AddHash", false, "add also ID hash info ?"};

◆ m_badChanWord

NTuple::Item<long> LArCond2NtupleBase::m_badChanWord
protectedinherited

Definition at line 75 of file LArCond2NtupleBase.h.

◆ m_barrel_ec

NTuple::Item<long> LArCond2NtupleBase::m_barrel_ec
protectedinherited

Definition at line 74 of file LArCond2NtupleBase.h.

◆ m_bcid

NTuple::Item<short> LArDigits2Ntuple::m_bcid
protectedinherited

Definition at line 43 of file LArDigits2Ntuple.h.

◆ m_bcidLATOMEHEAD

NTuple::Item<uint16_t> LArSC2Ntuple::m_bcidLATOMEHEAD
private

Definition at line 70 of file LArSC2Ntuple.h.

◆ m_bcidVec

NTuple::Array<unsigned short> LArSC2Ntuple::m_bcidVec
private

Definition at line 75 of file LArSC2Ntuple.h.

◆ m_bcidVec_ADC_BAS

NTuple::Array<unsigned short> LArSC2Ntuple::m_bcidVec_ADC_BAS
private

Definition at line 78 of file LArSC2Ntuple.h.

◆ m_bcidVec_ET

NTuple::Array<unsigned short> LArSC2Ntuple::m_bcidVec_ET
private

Definition at line 81 of file LArSC2Ntuple.h.

◆ m_bcidVec_ET_ID

NTuple::Array<unsigned short> LArSC2Ntuple::m_bcidVec_ET_ID
private

Definition at line 85 of file LArSC2Ntuple.h.

◆ m_BCKey

SG::ReadCondHandleKey<LArBadChannelCont> LArCond2NtupleBase::m_BCKey {this, "BadChanKey", "LArBadChannel", "SG bad channels key"}
protectedinherited

Definition at line 94 of file LArCond2NtupleBase.h.

94{this, "BadChanKey", "LArBadChannel", "SG bad channels key"};

◆ m_BElist

Gaudi::Property< std::vector<unsigned int> > LArDigits2Ntuple::m_BElist {this, "BElist", {}, "which B or E to dump"}
protectedinherited

Definition at line 35 of file LArDigits2Ntuple.h.

35{this, "BElist", {}, "which B or E to dump"};

◆ m_cablingKey

SG::ReadCondHandleKey<LArOnOffIdMapping> LArCond2NtupleBase::m_cablingKey {this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"}
protectedinherited

Definition at line 91 of file LArCond2NtupleBase.h.

91{this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"};

◆ m_cablingKeyAdditional

SG::ReadCondHandleKey<LArOnOffIdMapping> LArSC2Ntuple::m_cablingKeyAdditional {this,"CablingKeyAdditional","LArOnOffIdMap","SG Key of LArOnOffIdMapping object for standard cells"}
private

Definition at line 46 of file LArSC2Ntuple.h.

46{this,"CablingKeyAdditional","LArOnOffIdMap","SG Key of LArOnOffIdMapping object for standard cells"};

◆ m_cablingSCKey

SG::ReadCondHandleKey<LArOnOffIdMapping> LArCond2NtupleBase::m_cablingSCKey {this,"CablingSCKey","LArOnOffIdMapSC","SG Key of LArOnOffIdMapping object"}
protectedinherited

Definition at line 92 of file LArCond2NtupleBase.h.

92{this,"CablingSCKey","LArOnOffIdMapSC","SG Key of LArOnOffIdMapping object"};

◆ m_calibLine

NTuple::Item<long> LArCond2NtupleBase::m_calibLine
protectedinherited

Definition at line 75 of file LArCond2NtupleBase.h.

◆ m_calibMapKey

SG::ReadCondHandleKey<LArCalibLineMapping> LArCond2NtupleBase::m_calibMapKey {this,"CalibMapKey","LArCalibLineMap","SG Key of calib line mapping object"}
protectedinherited

Definition at line 95 of file LArCond2NtupleBase.h.

95{this,"CalibMapKey","LArCalibLineMap","SG Key of calib line mapping object"};

◆ m_calibMapSCKey

SG::ReadCondHandleKey<LArCalibLineMapping> LArCond2NtupleBase::m_calibMapSCKey {this,"CalibMapSCKey","LArCalibIdMapSC","SG Key of calib line mapping object"}
protectedinherited

Definition at line 96 of file LArCond2NtupleBase.h.

96{this,"CalibMapSCKey","LArCalibIdMapSC","SG Key of calib line mapping object"};

◆ m_caloId

const CaloCell_Base_ID* LArCond2NtupleBase::m_caloId
protectedinherited

Definition at line 88 of file LArCond2NtupleBase.h.

◆ m_caloMgrKey

SG::ReadCondHandleKey<CaloDetDescrManager> LArCond2NtupleBase::m_caloMgrKey {this, "CaloDetDescrManager", "CaloDetDescrManager", "SG Key for CaloDetDescrManager in the Condition Store"}
protectedinherited

Definition at line 98 of file LArCond2NtupleBase.h.

98{this, "CaloDetDescrManager", "CaloDetDescrManager", "SG Key for CaloDetDescrManager in the Condition Store"};

◆ m_caloMgrSC

const CaloSuperCellDetDescrManager* LArSC2Ntuple::m_caloMgrSC
private

Definition at line 58 of file LArSC2Ntuple.h.

◆ m_caloSCMgrKey

SG::ReadCondHandleKey<CaloSuperCellDetDescrManager> LArSC2Ntuple::m_caloSCMgrKey
private
Initial value:
{this, "CaloSCDetDescrManager", "CaloSuperCellDetDescrManager",
"SG key of the resulting CaloSuperCellDetDescrManager" }

Definition at line 56 of file LArSC2Ntuple.h.

56 {this, "CaloSCDetDescrManager", "CaloSuperCellDetDescrManager",
57 "SG key of the resulting CaloSuperCellDetDescrManager" };

◆ m_caloSuperCellMgrKey

SG::ReadCondHandleKey<CaloSuperCellDetDescrManager> LArCond2NtupleBase::m_caloSuperCellMgrKey {this, "CaloSuperCellDetDescrManager", "CaloSuperCellDetDescrManager", "SG key of the resulting CaloSuperCellDetDescrManager" }
protectedinherited

Definition at line 99 of file LArCond2NtupleBase.h.

99{this, "CaloSuperCellDetDescrManager", "CaloSuperCellDetDescrManager", "SG key of the resulting CaloSuperCellDetDescrManager" };

◆ m_chanHash

NTuple::Item<long> LArCond2NtupleBase::m_chanHash
protectedinherited

Definition at line 77 of file LArCond2NtupleBase.h.

◆ m_channel

NTuple::Item<long> LArCond2NtupleBase::m_channel
protectedinherited

Definition at line 74 of file LArCond2NtupleBase.h.

◆ m_contKey

SG::ReadHandleKey<LArDigitContainer> LArDigits2Ntuple::m_contKey {this, "ContainerKey", "", "key for LArDigitContainer"}
protectedinherited

Definition at line 61 of file LArDigits2Ntuple.h.

61{this, "ContainerKey", "", "key for LArDigitContainer"};

◆ m_contKeys

Gaudi::Property< std::vector<std::string> > LArSC2Ntuple::m_contKeys { this, "SCContainerKeys", {},"which containers to dump"}
private

Definition at line 35 of file LArSC2Ntuple.h.

35{ this, "SCContainerKeys", {},"which containers to dump"};

◆ m_dac

NTuple::Item<unsigned int> LArDigits2Ntuple::m_dac
protectedinherited

Definition at line 50 of file LArDigits2Ntuple.h.

◆ m_delay

NTuple::Item<unsigned int> LArDigits2Ntuple::m_delay
protectedinherited

Definition at line 51 of file LArDigits2Ntuple.h.

◆ m_detector

NTuple::Item<long> LArCond2NtupleBase::m_detector
protectedinherited

Definition at line 73 of file LArCond2NtupleBase.h.

◆ m_detStore

StoreGateSvc* LArCond2NtupleBase::m_detStore
protectedinherited

Definition at line 83 of file LArCond2NtupleBase.h.

◆ m_ELVL1Id

NTuple::Item<unsigned long> LArDigits2Ntuple::m_ELVL1Id
protectedinherited

Definition at line 44 of file LArDigits2Ntuple.h.

◆ m_emId

const LArEM_Base_ID* LArCond2NtupleBase::m_emId
protectedinherited

Definition at line 84 of file LArCond2NtupleBase.h.

◆ m_energyVec_ET

NTuple::Array<int> LArSC2Ntuple::m_energyVec_ET
private

Definition at line 80 of file LArSC2Ntuple.h.

◆ m_energyVec_ET_ID

NTuple::Array<int> LArSC2Ntuple::m_energyVec_ET_ID
private

Definition at line 84 of file LArSC2Ntuple.h.

◆ m_eta

NTuple::Item<long> LArCond2NtupleBase::m_eta
protectedinherited

Definition at line 73 of file LArCond2NtupleBase.h.

◆ m_ETThresh

Gaudi::Property< float > LArSC2Ntuple::m_ETThresh {this, "ETThreshold", -1., "Threshold for ET to fill info"}
private

Definition at line 42 of file LArSC2Ntuple.h.

42{this, "ETThreshold", -1., "Threshold for ET to fill info"};

◆ m_ETThreshMain

Gaudi::Property< float > LArSC2Ntuple::m_ETThreshMain {this, "ETThresholdMain", -1., "Threshold for ET from Main to fill info"}
private

Definition at line 43 of file LArSC2Ntuple.h.

43{this, "ETThresholdMain", -1., "Threshold for ET from Main to fill info"};

◆ m_event

long LArDigits2Ntuple::m_event
protectedinherited

Definition at line 29 of file LArDigits2Ntuple.h.

◆ m_eventInfoDecorKey

SG::ReadDecorHandleKey<xAOD::EventInfo> LArSC2Ntuple::m_eventInfoDecorKey {this, "EventInfoDecorKey", m_eventInfoKey, "larFlags"}
private

Definition at line 51 of file LArSC2Ntuple.h.

51{this, "EventInfoDecorKey", m_eventInfoKey, "larFlags"};

◆ m_eventInfoKey

SG::ReadHandleKey<xAOD::EventInfo> LArSC2Ntuple::m_eventInfoKey {this, "LArStatusFlag", "EventInfo", "Key for EventInfo object"}
private

Definition at line 50 of file LArSC2Ntuple.h.

50{this, "LArStatusFlag", "EventInfo", "Key for EventInfo object"};

◆ m_evt_nt

NTuple::Tuple* LArDigits2Ntuple::m_evt_nt = nullptr
protectedinherited

Definition at line 56 of file LArDigits2Ntuple.h.

◆ m_evtStore

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

Pointer to StoreGate (event store by default).

Definition at line 390 of file AthCommonDataStore.h.

◆ m_expandId

Gaudi::Property< bool > LArCond2NtupleBase::m_expandId {this,"ExpandId", true ,"add online Id decoded fields ?"}
protectedinherited

Definition at line 62 of file LArCond2NtupleBase.h.

62{this,"ExpandId", true ,"add online Id decoded fields ?"};

◆ m_extendedExtraObjects

DataObjIDColl AthAlgorithm::m_extendedExtraObjects
privateinherited

Definition at line 114 of file AthAlgorithm.h.

◆ m_fcalId

const LArFCAL_Base_ID* LArCond2NtupleBase::m_fcalId
protectedinherited

Definition at line 86 of file LArCond2NtupleBase.h.

◆ m_febHash

NTuple::Item<long> LArCond2NtupleBase::m_febHash
protectedinherited

Definition at line 77 of file LArCond2NtupleBase.h.

◆ m_FEBTemp1

NTuple::Item<float> LArCond2NtupleBase::m_FEBTemp1
protectedinherited

Definition at line 80 of file LArCond2NtupleBase.h.

◆ m_FEBTemp2

NTuple::Item<float> LArCond2NtupleBase::m_FEBTemp2
protectedinherited

Definition at line 80 of file LArCond2NtupleBase.h.

◆ m_FEBTempTool

ToolHandle<ILArFEBTempTool> LArCond2NtupleBase::m_FEBTempTool
protectedinherited

Definition at line 89 of file LArCond2NtupleBase.h.

◆ m_fillBCID

Gaudi::Property< bool > LArDigits2Ntuple::m_fillBCID {this, "FillBCID", false, "if to fill BCID"}
protectedinherited

Definition at line 38 of file LArDigits2Ntuple.h.

38{this, "FillBCID", false, "if to fill BCID"};

◆ m_fillCaloTT

Gaudi::Property< bool > LArSC2Ntuple::m_fillCaloTT {this, "FillTriggerTowers", false, "Trying to fill also TriggerTowers from ByteStream"}
private

Definition at line 41 of file LArSC2Ntuple.h.

41{this, "FillTriggerTowers", false, "Trying to fill also TriggerTowers from ByteStream"};

◆ m_fillEMB

Gaudi::Property< bool > LArDigits2Ntuple::m_fillEMB {this, "FillEMB", true, "if to fill EMB"}
protectedinherited

Definition at line 36 of file LArDigits2Ntuple.h.

36{this, "FillEMB", true, "if to fill EMB"};

◆ m_fillEndcap

Gaudi::Property< bool > LArDigits2Ntuple::m_fillEndcap {this, "FillEndcap", true, "if to fill Eendcap"}
protectedinherited

Definition at line 37 of file LArDigits2Ntuple.h.

37{this, "FillEndcap", true, "if to fill Eendcap"};

◆ m_fillLB

Gaudi::Property< bool > LArDigits2Ntuple::m_fillLB {this, "FillLB", false, "if to fill LB in Evnt tree"}
protectedinherited

Definition at line 39 of file LArDigits2Ntuple.h.

39{this, "FillLB", false, "if to fill LB in Evnt tree"};

◆ m_fillRawChan

Gaudi::Property< bool > LArSC2Ntuple::m_fillRawChan {this, "FillRODEnergy", false, "Trying to fill corresponding cells energies"}
private

Definition at line 38 of file LArSC2Ntuple.h.

38{this, "FillRODEnergy", false, "Trying to fill corresponding cells energies"};

◆ m_fillTType

Gaudi::Property< bool > LArSC2Ntuple::m_fillTType {this, "FillTriggerType", false, "Trying to fill trigger type word"}
private

Definition at line 39 of file LArSC2Ntuple.h.

39{this, "FillTriggerType", false, "Trying to fill trigger type word"};

◆ m_FT

NTuple::Item<long> LArCond2NtupleBase::m_FT
protectedinherited

Definition at line 74 of file LArCond2NtupleBase.h.

◆ m_FTlist

Gaudi::Property< std::vector<unsigned int> > LArDigits2Ntuple::m_FTlist {this, "FTlist", {}, "which FT to dump"}
protectedinherited

Definition at line 32 of file LArDigits2Ntuple.h.

32{this, "FTlist", {}, "which FT to dump"};

◆ m_gain

NTuple::Item<short> LArDigits2Ntuple::m_gain
protectedinherited

Definition at line 42 of file LArDigits2Ntuple.h.

◆ m_hecId

const LArHEC_Base_ID* LArCond2NtupleBase::m_hecId
protectedinherited

Definition at line 85 of file LArCond2NtupleBase.h.

◆ m_IEvent

NTuple::Item<unsigned long long> LArDigits2Ntuple::m_IEvent
protectedinherited

Definition at line 45 of file LArDigits2Ntuple.h.

◆ m_IEventEvt

NTuple::Item<unsigned long long> LArDigits2Ntuple::m_IEventEvt
protectedinherited

Definition at line 58 of file LArDigits2Ntuple.h.

◆ m_initialized

bool LArCond2NtupleBase::m_initialized
privateinherited

Definition at line 51 of file LArCond2NtupleBase.h.

◆ m_ipass

int LArDigits2Ntuple::m_ipass
protectedinherited

Definition at line 28 of file LArDigits2Ntuple.h.

◆ m_isConnected

NTuple::Item<long> LArCond2NtupleBase::m_isConnected
protectedinherited

Definition at line 76 of file LArCond2NtupleBase.h.

◆ m_isFlat

Gaudi::Property< bool > LArCond2NtupleBase::m_isFlat {this, "isFlat", false, "are we working with Flat conditions ?"}
protectedinherited

Definition at line 57 of file LArCond2NtupleBase.h.

57{this, "isFlat", false, "are we working with Flat conditions ?"};

◆ m_isSC

Gaudi::Property< bool > LArCond2NtupleBase::m_isSC {this, "isSC", false, "are we working with SC?"}
protectedinherited

Definition at line 56 of file LArCond2NtupleBase.h.

56{this, "isSC", false, "are we working with SC?"};

◆ m_LArEventBits

NTuple::Item<uint32_t> LArSC2Ntuple::m_LArEventBits
private

Definition at line 89 of file LArSC2Ntuple.h.

◆ m_LArFebHeaderContainerKey

SG::ReadHandleKey<LArFebHeaderContainer> LArDigits2Ntuple::m_LArFebHeaderContainerKey { this, "LArFebHeaderKey", "LArFebHeader" }
protectedinherited

Definition at line 64 of file LArDigits2Ntuple.h.

64{ this, "LArFebHeaderKey", "LArFebHeader" };

◆ m_LArInError

NTuple::Item<short> LArSC2Ntuple::m_LArInError
private

Definition at line 90 of file LArSC2Ntuple.h.

◆ m_LArLatomeHeaderContainerKey

SG::ReadHandleKey<LArLATOMEHeaderContainer> LArSC2Ntuple::m_LArLatomeHeaderContainerKey { this, "LArLatomeHeaderKey", "SC_LATOME_HEADER" }
private

Definition at line 53 of file LArSC2Ntuple.h.

53{ this, "LArLatomeHeaderKey", "SC_LATOME_HEADER" };

◆ m_latomeChannel

NTuple::Item<short> LArSC2Ntuple::m_latomeChannel
private

Definition at line 60 of file LArSC2Ntuple.h.

◆ m_latomeSourceId

NTuple::Item<uint32_t> LArSC2Ntuple::m_latomeSourceId
private

Definition at line 76 of file LArSC2Ntuple.h.

◆ m_layer

NTuple::Item<long> LArCond2NtupleBase::m_layer
protectedinherited

Definition at line 73 of file LArCond2NtupleBase.h.

◆ m_LB

NTuple::Item<short> LArDigits2Ntuple::m_LB
protectedinherited

Definition at line 59 of file LArDigits2Ntuple.h.

◆ m_mean

NTuple::Array<float> LArDigits2Ntuple::m_mean
protectedinherited

Definition at line 48 of file LArDigits2Ntuple.h.

◆ m_Net

Gaudi::Property< unsigned int > LArSC2Ntuple::m_Net {this, "Net", 5, "number of energies to store"}
private

Definition at line 37 of file LArSC2Ntuple.h.

37{this, "Net", 5, "number of energies to store"};

◆ m_NGains

Gaudi::Property< int > LArCond2NtupleBase::m_NGains {this,"nGains", CaloGain::LARNGAIN,"Number of gains"}
protectedinherited

Definition at line 63 of file LArCond2NtupleBase.h.

63{this,"nGains", CaloGain::LARNGAIN,"Number of gains"};
@ LARNGAIN
Definition CaloGain.h:19

◆ m_Nsamples

Gaudi::Property< unsigned int > LArDigits2Ntuple::m_Nsamples {this, "NSamples", 32, "number of samples to store"}
protectedinherited

Definition at line 31 of file LArDigits2Ntuple.h.

31{this, "NSamples", 32, "number of samples to store"};

◆ m_nt

NTuple::Tuple* LArCond2NtupleBase::m_nt
protectedinherited

Definition at line 70 of file LArCond2NtupleBase.h.

◆ m_ntNet

NTuple::Item<uint32_t> LArSC2Ntuple::m_ntNet
private

Definition at line 72 of file LArSC2Ntuple.h.

◆ m_ntNsamples

NTuple::Item<long> LArDigits2Ntuple::m_ntNsamples
protectedinherited

Definition at line 41 of file LArDigits2Ntuple.h.

◆ m_ntNTT

NTuple::Item<uint32_t> LArSC2Ntuple::m_ntNTT
private

Definition at line 92 of file LArSC2Ntuple.h.

◆ m_ntpath

std::string LArCond2NtupleBase::m_ntpath
protectedinherited

Definition at line 67 of file LArCond2NtupleBase.h.

◆ m_ntTitle

std::string LArCond2NtupleBase::m_ntTitle
protectedinherited

Definition at line 67 of file LArCond2NtupleBase.h.

◆ m_OffId

Gaudi::Property< bool > LArCond2NtupleBase::m_OffId {this, "OffId", false, "dump also offline ID ?"}
protectedinherited

Definition at line 58 of file LArCond2NtupleBase.h.

58{this, "OffId", false, "dump also offline ID ?"};

◆ m_oflChanId

NTuple::Item<long> LArCond2NtupleBase::m_oflChanId
protectedinherited

Definition at line 73 of file LArCond2NtupleBase.h.

◆ m_oflHash

NTuple::Item<long> LArCond2NtupleBase::m_oflHash
protectedinherited

Definition at line 77 of file LArCond2NtupleBase.h.

◆ m_onlChanId

NTuple::Item<long> LArCond2NtupleBase::m_onlChanId
protectedinherited

Definition at line 73 of file LArCond2NtupleBase.h.

◆ m_onlineId

const LArOnlineID_Base* LArCond2NtupleBase::m_onlineId
protectedinherited

Definition at line 87 of file LArCond2NtupleBase.h.

◆ m_overwriteEventNumber

Gaudi::Property< bool > LArSC2Ntuple::m_overwriteEventNumber {this, "OverwriteEventNumber", false, "overwrite the event number from EventInfo ?"}
private

Definition at line 36 of file LArSC2Ntuple.h.

36{this, "OverwriteEventNumber", false, "overwrite the event number from EventInfo ?"};

◆ m_phi

NTuple::Item<long> LArCond2NtupleBase::m_phi
protectedinherited

Definition at line 73 of file LArCond2NtupleBase.h.

◆ m_pos_neg

NTuple::Item<long> LArCond2NtupleBase::m_pos_neg
protectedinherited

Definition at line 74 of file LArCond2NtupleBase.h.

◆ m_pulsed

NTuple::Item<unsigned int> LArDigits2Ntuple::m_pulsed
protectedinherited

Definition at line 52 of file LArDigits2Ntuple.h.

◆ m_realgeom

Gaudi::Property< bool > LArCond2NtupleBase::m_realgeom {this, "RealGeometry", false, "add real geometry values ?"}
protectedinherited

Definition at line 61 of file LArCond2NtupleBase.h.

61{this, "RealGeometry", false, "add real geometry values ?"};

◆ m_region

NTuple::Item<long> LArCond2NtupleBase::m_region
protectedinherited

Definition at line 73 of file LArCond2NtupleBase.h.

◆ m_reta

NTuple::Item<float> LArCond2NtupleBase::m_reta
protectedinherited

Definition at line 79 of file LArCond2NtupleBase.h.

◆ m_RMS

NTuple::Array<float> LArDigits2Ntuple::m_RMS
protectedinherited

Definition at line 49 of file LArDigits2Ntuple.h.

◆ m_ROD_energy

NTuple::Array<float> LArSC2Ntuple::m_ROD_energy
private

Definition at line 62 of file LArSC2Ntuple.h.

◆ m_ROD_id

NTuple::Array<float> LArSC2Ntuple::m_ROD_id
private

Definition at line 64 of file LArSC2Ntuple.h.

◆ m_ROD_time

NTuple::Array<float> LArSC2Ntuple::m_ROD_time
private

Definition at line 63 of file LArSC2Ntuple.h.

◆ m_rphi

NTuple::Item<float> LArCond2NtupleBase::m_rphi
protectedinherited

Definition at line 79 of file LArCond2NtupleBase.h.

◆ m_samples

NTuple::Array<short> LArDigits2Ntuple::m_samples
protectedinherited

Definition at line 46 of file LArDigits2Ntuple.h.

◆ m_samples_ADC_BAS

NTuple::Array<short> LArSC2Ntuple::m_samples_ADC_BAS
private

Definition at line 77 of file LArSC2Ntuple.h.

◆ m_saturVec_ET

NTuple::Array<bool> LArSC2Ntuple::m_saturVec_ET
private

Definition at line 82 of file LArSC2Ntuple.h.

◆ m_saturVec_ET_ID

NTuple::Array<bool> LArSC2Ntuple::m_saturVec_ET_ID
private

Definition at line 86 of file LArSC2Ntuple.h.

◆ m_scidtool

ToolHandle<ICaloSuperCellIDTool> LArSC2Ntuple::m_scidtool {this, "CaloSuperCellIDTool", "CaloSuperCellIDTool", "Offline / SuperCell ID mapping tool"}
private

Definition at line 47 of file LArSC2Ntuple.h.

47{this, "CaloSuperCellIDTool", "CaloSuperCellIDTool", "Offline / SuperCell ID mapping tool"};

◆ m_Sidelist

Gaudi::Property< std::vector<unsigned int> > LArDigits2Ntuple::m_Sidelist {this, "Sidelist", {}, "which side to dump"}
protectedinherited

Definition at line 34 of file LArDigits2Ntuple.h.

34{this, "Sidelist", {}, "which side to dump"};

◆ m_slot

NTuple::Item<long> LArCond2NtupleBase::m_slot
protectedinherited

Definition at line 74 of file LArCond2NtupleBase.h.

◆ m_Slotlist

Gaudi::Property< std::vector<unsigned int> > LArDigits2Ntuple::m_Slotlist {this, "Slotlist", {}, "which Slot to dump"}
protectedinherited

Definition at line 33 of file LArDigits2Ntuple.h.

33{this, "Slotlist", {}, "which Slot to dump"};

◆ m_trigDec

ToolHandle< Trig::TrigDecisionTool > LArSC2Ntuple::m_trigDec {this, "TrigDecisionTool", "", "Handle to the TrigDecisionTool"}
private

Definition at line 48 of file LArSC2Ntuple.h.

48{this, "TrigDecisionTool", "", "Handle to the TrigDecisionTool"};

◆ m_triggerTowerKey

Gaudi::Property< std::string > LArSC2Ntuple::m_triggerTowerKey {this, "TriggerTowerKey", "TriggerTowers", "Trigger Tower container"}
private

Definition at line 54 of file LArSC2Ntuple.h.

54{this, "TriggerTowerKey", "TriggerTowers", "Trigger Tower container"};

◆ m_trigNameMap

std::map<std::string, NTuple::Item<unsigned int> > LArSC2Ntuple::m_trigNameMap
private

Definition at line 88 of file LArSC2Ntuple.h.

◆ m_trigNames

Gaudi::Property< std::vector<std::string> > LArSC2Ntuple::m_trigNames { this, "TrigNames", {"L1_EM3","L1_EM7","L1_EM15"},"which triggers to dump"}
private

Definition at line 40 of file LArSC2Ntuple.h.

40{ this, "TrigNames", {"L1_EM3","L1_EM7","L1_EM15"},"which triggers to dump"};

◆ m_TTEem

NTuple::Array<int> LArSC2Ntuple::m_TTEem
private

Definition at line 93 of file LArSC2Ntuple.h.

◆ m_TTEhad

NTuple::Array<int> LArSC2Ntuple::m_TTEhad
private

Definition at line 94 of file LArSC2Ntuple.h.

◆ m_TTeta

NTuple::Array<double> LArSC2Ntuple::m_TTeta
private

Definition at line 95 of file LArSC2Ntuple.h.

◆ m_TTphi

NTuple::Array<double> LArSC2Ntuple::m_TTphi
private

Definition at line 96 of file LArSC2Ntuple.h.

◆ m_TType

NTuple::Item<unsigned int> LArSC2Ntuple::m_TType
private

Definition at line 66 of file LArSC2Ntuple.h.

◆ m_varHandleArraysDeclared

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

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

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

Definition at line 398 of file AthCommonDataStore.h.


The documentation for this class was generated from the following files: