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

#include <LArHECNoise.h>

Inheritance diagram for LArHECNoise:
Collaboration diagram for LArHECNoise:

Public Member Functions

 LArHECNoise (const std::string &name, ISvcLocator *pSvcLocator)
 Constructor.
 ~LArHECNoise ()
virtual StatusCode initialize () override
virtual StatusCode finalize () override
virtual StatusCode execute () 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

ServiceHandle< ITHistSvc > m_thistSvc {this,"THistSvc","THistSvc"}
TTree * m_tree
SG::ReadCondHandleKey< LArOnOffIdMappingm_cablingKey {this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"}
SG::ReadCondHandleKey< ILArPedestalm_pedKey {this,"PedestalKey","LArPedestal","SG Key of Pedestal obj"}
PublicToolHandle< Trig::TrigDecisionToolm_trigDec {this, "TrigDecisionTool", "", "Handle to the TrigDecisionTool"}
const LArOnlineIDm_LArOnlineIDHelper
SG::ReadCondHandleKey< CaloDetDescrManagerm_caloMgrKey
const CaloCell_IDm_calocell_id
int m_nt_run
int m_nt_evtId
int m_nt_evtCount
int m_nt_evtTime
int m_nt_evtTime_ns
int m_nt_lb
int m_nt_bcid
int m_nt_gain
int m_nt_side
int m_nt_samp
int m_nt_reg
int m_nt_ieta
int m_nt_iphi
int m_nt_quality
short m_nt_digi [32]
int m_nt_max
int m_nt_min
long m_nt_OID
float m_nt_avgMu
float m_nt_actMu
float m_nt_e
float m_nt_t
float m_nt_eta
float m_nt_phi
float m_nt_z
float m_nt_r
float m_nt_ped
float m_nt_pedRMS
float * m_nt_prescale
bool * m_nt_trigger
std::vector< std::string > m_TriggerLines
int m_MinDigitADC
int m_MaxDeltaT
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 46 of file LArHECNoise.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

◆ LArHECNoise()

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

Constructor.

switches to control the analysis through job options

Definition at line 57 of file LArHECNoise.cxx.

59 : AthAlgorithm(name, pSvcLocator),
60 m_tree(nullptr),
61 m_LArOnlineIDHelper(nullptr),
62 m_calocell_id(nullptr),
63 m_nt_run(0),
64 m_nt_evtId(0),
66 m_nt_evtTime(0),
68 m_nt_lb(0),
69 m_nt_bcid(0),
70 m_nt_gain(0),
71 m_nt_side(0),
72 m_nt_samp(0),
73 m_nt_reg(0),
74 m_nt_ieta(0),
75 m_nt_iphi(0),
76 m_nt_quality(0),
77 m_nt_digi(),
78 m_nt_max(0),
79 m_nt_min(0),
80 m_nt_OID(0),
81 m_nt_avgMu(0),
82 m_nt_actMu(0),
83 m_nt_e(0),
84 m_nt_t(0),
85 m_nt_eta(0),
86 m_nt_phi(0),
87 m_nt_z(0),
88 m_nt_r(0),
89 m_nt_ped(0),
91 {
92
93 // Trigger
94
96
97 declareProperty("TriggerLines",m_TriggerLines={"L1_J5", "L1_J10", "L1_J12", "L1_J30", "L1_TAU5", "L1_TAU8", "L1_J5_EMPTY", "L1_J10_EMPTY", "L1_J12_EMPTY", "L1_J30_EMPTY", "L1_TAU5_EMPTY", "L1_TAU8_EMPTY", "L1_J5_FIRSTEMPTY", "L1_J10_FIRSTEMPTY", "L1_J12_FIRSTEMPTY", "L1_J30_FIRSTEMPTY", "L1_TAU5_FIRSTEMPTY", "L1_TAU8_FIRSTEMPTY"});
98
99 declareProperty("MinDigitADC",m_MinDigitADC=20);
100 declareProperty("MaxDeltaT",m_MaxDeltaT=5);
101
102 m_nt_prescale = new float[m_TriggerLines.size()];
103 m_nt_trigger = new bool[m_TriggerLines.size()];
104 }
AthAlgorithm()
Default constructor:
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
bool * m_nt_trigger
const LArOnlineID * m_LArOnlineIDHelper
Definition LArHECNoise.h:70
float * m_nt_prescale
short m_nt_digi[32]
Definition LArHECNoise.h:93
float m_nt_actMu
Definition LArHECNoise.h:98
std::vector< std::string > m_TriggerLines
float m_nt_pedRMS
int m_nt_evtCount
Definition LArHECNoise.h:81
float m_nt_avgMu
Definition LArHECNoise.h:97
TTree * m_tree
Definition LArHECNoise.h:61
int m_nt_evtTime_ns
Definition LArHECNoise.h:83
const CaloCell_ID * m_calocell_id
Definition LArHECNoise.h:76

◆ ~LArHECNoise()

LArHECNoise::~LArHECNoise ( )

Definition at line 108 of file LArHECNoise.cxx.

109{
110}

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 }

◆ 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 LArHECNoise::execute ( )
overridevirtual

Define iterators to loop over Digits containers

Definition at line 192 of file LArHECNoise.cxx.

192 {
193
194 ATH_MSG_DEBUG ( "in execute()" );
195
196 for(unsigned i=0; i<m_TriggerLines.size(); ++i){
197 m_nt_prescale[i] = m_trigDec->getPrescale(m_TriggerLines[i]);
198 if (m_trigDec->isPassed(m_TriggerLines[i])){
199 m_nt_trigger[i] = true;
200 } else {
201 m_nt_trigger[i] = false;
202 }
203 }
204
205 const xAOD::EventInfo* eventInfo = nullptr;
206 ATH_CHECK( evtStore()->retrieve(eventInfo) );
207
208 m_nt_evtCount = 0;
209 const CaloCellContainer* cc = nullptr;
210 const LArRawChannelContainer* lraw = nullptr;
211 if (evtStore()->contains<CaloCellContainer>("AllCalo")) {
212 ATH_CHECK(evtStore()->retrieve(cc, "AllCalo"));
213 } else if (evtStore()->contains<LArRawChannelContainer>("LArRawChannels")){
214 ATH_CHECK(evtStore()->retrieve(lraw, "LArRawChannels"));
215 }
216
217 SG::ReadCondHandle<LArOnOffIdMapping> cablingHdl{m_cablingKey};
218 const LArOnOffIdMapping* cabling{*cablingHdl};
219 if(!cabling) {
220 ATH_MSG_ERROR("Do not have mapping object " << m_cablingKey.key() );
221 return StatusCode::FAILURE;
222 }
223
224
225 SG::ReadCondHandle<ILArPedestal> pedHdl{m_pedKey};
226 const ILArPedestal* ped{*pedHdl};
227 if(!ped) {
228 ATH_MSG_ERROR("Do not have pedestal object " << m_pedKey.key() );
229 return StatusCode::FAILURE;
230 }
231
232 SG::ReadCondHandle<CaloDetDescrManager> caloMgrHandle{m_caloMgrKey};
233 ATH_CHECK(caloMgrHandle.isValid());
234 const CaloDetDescrManager* caloMgr = *caloMgrHandle;
235
236
237 const LArDigitContainer* ld = nullptr;
238 if (evtStore()->contains<LArDigitContainer>("LArDigitContainer")) {
239 ATH_CHECK(evtStore()->retrieve(ld, "LArDigitContainer"));
240 } else if (evtStore()->contains<LArDigitContainer>("LArDigitContainer_Thinned")) {
241 ATH_CHECK(evtStore()->retrieve(ld, "LArDigitContainer_Thinned"));
242 } else if (evtStore()->contains<LArDigitContainer>("FREE")) {
243 ATH_CHECK(evtStore()->retrieve(ld, "FREE"));
244 } else {
245 msg(MSG::WARNING) << "Neither LArDigitContainer nor LArDigitContainer_Thinned nor FREE present, not filling anything "<<endmsg;
246 return StatusCode::SUCCESS;
247 }
249 LArDigitContainer::const_iterator itDig = ld->begin();
250 LArDigitContainer::const_iterator itDig_e= ld->end();
251 const LArDigit* pLArDigit;
252
253 for ( ; itDig!=itDig_e;++itDig) {
254 pLArDigit = *itDig;
255 HWIdentifier hid = pLArDigit->hardwareID();
256 if(! m_LArOnlineIDHelper->isHECchannel(hid)) continue; //and ld.gain() == 2:
257 int sigmax=0;
258 int sigmin=0;
259 int imax=0;
260 int imin=0;
261 short samp0= pLArDigit->samples()[0];
262 for(unsigned i=0; i<(pLArDigit->samples()).size(); ++i){
263 short samp=pLArDigit->samples()[i];
264 if( i < 32) m_nt_digi[i] = samp;
265 if(samp-samp0 > sigmax) {
266 sigmax = samp-samp0;
267 imax=i;
268 }
269 if( samp-samp0 < sigmin) {
270 sigmin = samp-samp0;
271 imin=i;
272 }
273 }
274 if( sigmax > m_MinDigitADC && sigmin < -m_MinDigitADC && ( (imin-imax) < m_MaxDeltaT || imin < imax)) {
275 m_nt_run = eventInfo->runNumber();
276 m_nt_evtId = eventInfo->eventNumber();
277 m_nt_evtTime = eventInfo->timeStamp();
278 m_nt_evtTime_ns = eventInfo->timeStampNSOffset();
279 m_nt_lb = eventInfo->lumiBlock();
280 m_nt_bcid = eventInfo->bcid();
283
284 m_nt_evtCount += 1;
285 m_nt_gain = pLArDigit->gain();
286 Identifier oid = cabling->cnvToIdentifier(hid);
287 m_nt_OID = pLArDigit->channelID().get_compact();
288 m_nt_ped = ped->pedestal(pLArDigit->channelID(),pLArDigit->gain());
289 m_nt_pedRMS = ped->pedestalRMS(pLArDigit->channelID(),pLArDigit->gain());
290 m_nt_side = m_calocell_id->pos_neg(oid);
291 m_nt_samp = m_calocell_id->sampling(oid);
292 m_nt_reg = m_calocell_id->region(oid);
293 m_nt_ieta = m_calocell_id->eta(oid);
294 m_nt_iphi = m_calocell_id->phi(oid);
295 m_nt_max = imax;
296 m_nt_min = imin;
297 IdentifierHash ihash = m_calocell_id->calo_cell_hash(oid);
298 m_nt_e = 0.0;
299 m_nt_t = 0.0;
300 m_nt_quality = 0;
301 if(cc) {
302 const CaloCell *rcell = cc->findCell(ihash);
303 if(rcell->ID() != oid) {
304 msg(MSG::WARNING) <<"Cell iHash does not match ..."<<endmsg;
305 }else{
306 m_nt_e = rcell->e();
307 m_nt_t = rcell->time();
308 m_nt_quality = rcell->quality();
309 }
310 } else if(lraw) {
311 for(unsigned l=0; l<lraw->size(); ++l) {
312 if((*lraw)[l].identify() == hid) {
313 m_nt_e = (*lraw)[l].energy();
314 m_nt_t = (*lraw)[l].time()*1e-3;
315 m_nt_quality = (*lraw)[l].quality();
316 break;
317 }
318 }
319 }
320 const CaloDetDescrElement *cdde = caloMgr->get_element(oid);
321 if(cdde) {
322 m_nt_eta = cdde->eta();
323 m_nt_phi = cdde->phi();
324 m_nt_z = cdde->z();
325 m_nt_r = cdde->r();
326 }
327 m_tree->Fill();
328 }//found our digit
329 }//over digits
330
331 return StatusCode::SUCCESS;
332}
#define endmsg
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_ERROR(x)
#define ATH_MSG_DEBUG(x)
Athena::TPCnvVers::Current Athena::TPCnvVers::Old Athena::TPCnvVers::Old LArRawChannelContainer
Definition LArTPCnv.cxx:86
int imax(int i, int j)
MsgStream & msg() const
float time() const
get time (data member)
Definition CaloCell.h:368
virtual double e() const override final
get energy (data member) (synonym to method energy()
Definition CaloCell.h:333
uint16_t quality() const
get quality (data member)
Definition CaloCell.h:348
Identifier ID() const
get ID (from cached data member) non-virtual and inline for fast access
Definition CaloCell.h:295
const CaloDetDescrElement * get_element(const Identifier &cellId) const
get element by its identifier
DataModel_detail::const_iterator< DataVector > const_iterator
Definition DataVector.h:838
value_type get_compact() const
Get the compact id.
CaloGain::CaloGain gain() const
Definition LArDigit.h:72
const HWIdentifier & hardwareID() const
Definition LArDigit.h:66
const std::vector< short > & samples() const
Definition LArDigit.h:78
const HWIdentifier & channelID() const
Definition LArDigit.h:69
SG::ReadCondHandleKey< ILArPedestal > m_pedKey
Definition LArHECNoise.h:64
PublicToolHandle< Trig::TrigDecisionTool > m_trigDec
Definition LArHECNoise.h:67
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
Definition LArHECNoise.h:71
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
Definition LArHECNoise.h:63
uint32_t lumiBlock() const
The current event's luminosity block number.
uint32_t bcid() const
The bunch crossing ID of the event.
float averageInteractionsPerCrossing() const
Average interactions per crossing for all BCIDs - for out-of-time pile-up.
float actualInteractionsPerCrossing() const
Average interactions per crossing for the current BCID - for in-time pile-up.
uint32_t timeStamp() const
POSIX time in seconds from 1970. January 1st.
uint32_t runNumber() const
The current event's run number.
uint32_t timeStampNSOffset() const
Nanosecond time offset wrt. the time stamp.
uint64_t eventNumber() const
The current event's event number.
bool contains(const std::string &s, const std::string &regx)
does a string contain the substring
Definition hcg.cxx:114
l
Printing final latex table to .tex output file.
retrieve(aClass, aKey=None)
Definition PyKernel.py:110
EventInfo_v1 EventInfo
Definition of the latest event info version.
const Identifier & identify(const UncalibratedMeasurement *meas)
Returns the associated identifier from the muon measurement.

◆ 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 LArHECNoise::finalize ( )
overridevirtual

Definition at line 186 of file LArHECNoise.cxx.

186 {
187 ATH_MSG_DEBUG ( "in finalize()" );
188 return StatusCode::SUCCESS;
189}

◆ initialize()

StatusCode LArHECNoise::initialize ( )
overridevirtual

get a handle on the NTuple and histogramming service

Prepare TTree

Definition at line 112 of file LArHECNoise.cxx.

112 {
113
114 ATH_MSG_DEBUG ( "Initializing LArHECNoise" );
115
116 // Trigger Decision Tool
117 CHECK(m_trigDec.retrieve());
118
119 ATH_CHECK( m_cablingKey.initialize() );
120 ATH_CHECK( m_pedKey.initialize() );
121
122 // Retrieve online ID helper
123 const LArOnlineID* LArOnlineIDHelper = nullptr;
124 ATH_CHECK( detStore()->retrieve(LArOnlineIDHelper, "LArOnlineID") );
125 m_LArOnlineIDHelper = LArOnlineIDHelper;
126 ATH_MSG_DEBUG( " Found LArOnline Helper");
127
128 // Retrieve ID helpers
129 ATH_CHECK( detStore()->retrieve (m_calocell_id, "CaloCell_ID") );
130 ATH_CHECK(m_caloMgrKey.initialize());
131
133 ATH_CHECK( m_thistSvc.retrieve() );
134
136 m_tree = new TTree( "HECNoise", "HECNoise" );
137
138 // General properties of events
139 m_tree->Branch("iRun",&m_nt_run,"iRun/I");// Event ID
140 m_tree->Branch("iEvent",&m_nt_evtId,"iEvent/I");// Event ID
141 m_tree->Branch("iEventCount",&m_nt_evtCount,"iEventCount/I");
142 m_tree->Branch("iTime",&m_nt_evtTime,"iTime/I");// Event time
143 m_tree->Branch("iTime_ns",&m_nt_evtTime_ns,"iTime_ns/I");// Event time in nanosecond
144 m_tree->Branch("iLB",&m_nt_lb,"iLB/I"); // LB
145 m_tree->Branch("iBCID",&m_nt_bcid,"iBCID/I"); // BCID
146 // prescale and trigger here
147 //const std::vector<float> &tp = m_nt_prescale;
148 //const std::vector<bool> &tt = m_nt_trigger;
149 for(unsigned i=0; i<m_TriggerLines.size(); ++i) {
150 //m_tree->Branch((m_TriggerLines[i]+"_Prescale").c_str(),&(tp[i]),(m_TriggerLines[i]+"_Prescale/F").c_str());
151 //m_tree->Branch((m_TriggerLines[i]+"_Trigger").c_str(),tt[i],(m_TriggerLines[i]+"_Trigger/O").c_str());
152 m_tree->Branch((m_TriggerLines[i]+"_Prescale").c_str(),&(m_nt_prescale[i]),(m_TriggerLines[i]+"_Prescale/F").c_str());
153 m_tree->Branch((m_TriggerLines[i]+"_Trigger").c_str(),&(m_nt_trigger[i]),(m_TriggerLines[i]+"_Trigger/I").c_str());
154 }
155 m_tree->Branch("avgMu",&m_nt_avgMu,"avgMu/F");
156 m_tree->Branch("actMu",&m_nt_actMu,"actMu/F");
157 m_tree->Branch("iGain",&m_nt_gain,"iGain/I");
158 m_tree->Branch("iOID",&m_nt_OID,"iOID/L");
159 m_tree->Branch("iSide",&m_nt_side,"iSide/I");
160 m_tree->Branch("iSamp",&m_nt_samp,"iSamp/I");
161 m_tree->Branch("iReg",&m_nt_reg,"iReg/I");
162 m_tree->Branch("iEta",&m_nt_ieta,"iEta/I");
163 m_tree->Branch("iPhi",&m_nt_iphi,"iPhi/I");
164 m_tree->Branch("iQuality",&m_nt_quality,"iQuality/I");
165 m_tree->Branch("e",&m_nt_e,"e/F");
166 m_tree->Branch("t",&m_nt_t,"t/F");
167 m_tree->Branch("eta",&m_nt_eta,"eta/F");
168 m_tree->Branch("phi",&m_nt_phi,"phi/F");
169 m_tree->Branch("z",&m_nt_z,"z/F");
170 m_tree->Branch("r",&m_nt_r,"r/F");
171 m_tree->Branch("Ped",&m_nt_ped,"Ped/F");
172 m_tree->Branch("PedRMS",&m_nt_pedRMS,"PedRMS/F");
173 m_tree->Branch("iDigi",m_nt_digi,"iDigi[32]/S");
174 m_tree->Branch("iMax",&m_nt_max,"iMax/I");
175 m_tree->Branch("iMin",&m_nt_min,"iMin/I");
176
177 std::string treeName = "/HEC/HECNoise" ;
178 ATH_CHECK( m_thistSvc->regTree(treeName, m_tree) );
179
180
181 ATH_MSG_DEBUG ( "End of Initializing LArHECNoise" );
182
183 return StatusCode::SUCCESS;
184}
#define CHECK(...)
Evaluate an expression and check for errors.
const ServiceHandle< StoreGateSvc > & detStore() const
ServiceHandle< ITHistSvc > m_thistSvc
Definition LArHECNoise.h:59

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

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

Definition at line 63 of file LArHECNoise.h.

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

◆ m_calocell_id

const CaloCell_ID* LArHECNoise::m_calocell_id
private

Definition at line 76 of file LArHECNoise.h.

◆ m_caloMgrKey

SG::ReadCondHandleKey<CaloDetDescrManager> LArHECNoise::m_caloMgrKey
private
Initial value:
{ this
, "CaloDetDescrManager"
, "CaloDetDescrManager"
, "SG Key for CaloDetDescrManager in the Condition Store" }

Definition at line 71 of file LArHECNoise.h.

71 { this
72 , "CaloDetDescrManager"
73 , "CaloDetDescrManager"
74 , "SG Key for CaloDetDescrManager in the Condition Store" };

◆ 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_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_LArOnlineIDHelper

const LArOnlineID* LArHECNoise::m_LArOnlineIDHelper
private

Definition at line 70 of file LArHECNoise.h.

◆ m_MaxDeltaT

int LArHECNoise::m_MaxDeltaT
private

Definition at line 113 of file LArHECNoise.h.

◆ m_MinDigitADC

int LArHECNoise::m_MinDigitADC
private

Definition at line 112 of file LArHECNoise.h.

◆ m_nt_actMu

float LArHECNoise::m_nt_actMu
private

Definition at line 98 of file LArHECNoise.h.

◆ m_nt_avgMu

float LArHECNoise::m_nt_avgMu
private

Definition at line 97 of file LArHECNoise.h.

◆ m_nt_bcid

int LArHECNoise::m_nt_bcid
private

Definition at line 85 of file LArHECNoise.h.

◆ m_nt_digi

short LArHECNoise::m_nt_digi[32]
private

Definition at line 93 of file LArHECNoise.h.

◆ m_nt_e

float LArHECNoise::m_nt_e
private

Definition at line 99 of file LArHECNoise.h.

◆ m_nt_eta

float LArHECNoise::m_nt_eta
private

Definition at line 101 of file LArHECNoise.h.

◆ m_nt_evtCount

int LArHECNoise::m_nt_evtCount
private

Definition at line 81 of file LArHECNoise.h.

◆ m_nt_evtId

int LArHECNoise::m_nt_evtId
private

Definition at line 80 of file LArHECNoise.h.

◆ m_nt_evtTime

int LArHECNoise::m_nt_evtTime
private

Definition at line 82 of file LArHECNoise.h.

◆ m_nt_evtTime_ns

int LArHECNoise::m_nt_evtTime_ns
private

Definition at line 83 of file LArHECNoise.h.

◆ m_nt_gain

int LArHECNoise::m_nt_gain
private

Definition at line 86 of file LArHECNoise.h.

◆ m_nt_ieta

int LArHECNoise::m_nt_ieta
private

Definition at line 90 of file LArHECNoise.h.

◆ m_nt_iphi

int LArHECNoise::m_nt_iphi
private

Definition at line 91 of file LArHECNoise.h.

◆ m_nt_lb

int LArHECNoise::m_nt_lb
private

Definition at line 84 of file LArHECNoise.h.

◆ m_nt_max

int LArHECNoise::m_nt_max
private

Definition at line 94 of file LArHECNoise.h.

◆ m_nt_min

int LArHECNoise::m_nt_min
private

Definition at line 95 of file LArHECNoise.h.

◆ m_nt_OID

long LArHECNoise::m_nt_OID
private

Definition at line 96 of file LArHECNoise.h.

◆ m_nt_ped

float LArHECNoise::m_nt_ped
private

Definition at line 105 of file LArHECNoise.h.

◆ m_nt_pedRMS

float LArHECNoise::m_nt_pedRMS
private

Definition at line 106 of file LArHECNoise.h.

◆ m_nt_phi

float LArHECNoise::m_nt_phi
private

Definition at line 102 of file LArHECNoise.h.

◆ m_nt_prescale

float* LArHECNoise::m_nt_prescale
private

Definition at line 107 of file LArHECNoise.h.

◆ m_nt_quality

int LArHECNoise::m_nt_quality
private

Definition at line 92 of file LArHECNoise.h.

◆ m_nt_r

float LArHECNoise::m_nt_r
private

Definition at line 104 of file LArHECNoise.h.

◆ m_nt_reg

int LArHECNoise::m_nt_reg
private

Definition at line 89 of file LArHECNoise.h.

◆ m_nt_run

int LArHECNoise::m_nt_run
private

Definition at line 79 of file LArHECNoise.h.

◆ m_nt_samp

int LArHECNoise::m_nt_samp
private

Definition at line 88 of file LArHECNoise.h.

◆ m_nt_side

int LArHECNoise::m_nt_side
private

Definition at line 87 of file LArHECNoise.h.

◆ m_nt_t

float LArHECNoise::m_nt_t
private

Definition at line 100 of file LArHECNoise.h.

◆ m_nt_trigger

bool* LArHECNoise::m_nt_trigger
private

Definition at line 108 of file LArHECNoise.h.

◆ m_nt_z

float LArHECNoise::m_nt_z
private

Definition at line 103 of file LArHECNoise.h.

◆ m_pedKey

SG::ReadCondHandleKey<ILArPedestal> LArHECNoise::m_pedKey {this,"PedestalKey","LArPedestal","SG Key of Pedestal obj"}
private

Definition at line 64 of file LArHECNoise.h.

64{this,"PedestalKey","LArPedestal","SG Key of Pedestal obj"};

◆ m_thistSvc

ServiceHandle<ITHistSvc> LArHECNoise::m_thistSvc {this,"THistSvc","THistSvc"}
private

Definition at line 59 of file LArHECNoise.h.

59{this,"THistSvc","THistSvc"};

◆ m_tree

TTree* LArHECNoise::m_tree
private

Definition at line 61 of file LArHECNoise.h.

◆ m_trigDec

PublicToolHandle< Trig::TrigDecisionTool > LArHECNoise::m_trigDec {this, "TrigDecisionTool", "", "Handle to the TrigDecisionTool"}
private

Definition at line 67 of file LArHECNoise.h.

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

◆ m_TriggerLines

std::vector<std::string> LArHECNoise::m_TriggerLines
private

Definition at line 111 of file LArHECNoise.h.

◆ m_varHandleArraysDeclared

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

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

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

Definition at line 398 of file AthCommonDataStore.h.


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