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

#include <LArHECNoise.h>

Inheritance 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 (const EventContext &ctx) override
 Execute method.
virtual StatusCode sysInitialize () override
 Override sysInitialize.
virtual bool isClonable () const override
 Specify if the algorithm is clonable.
virtual StatusCode sysExecute (const EventContext &ctx) override
 Execute an algorithm.
virtual const DataObjIDColl & extraOutputDeps () const override
 Return the list of extra output dependencies.
virtual bool filterPassed (const EventContext &ctx) const
 Get filter decision:
virtual void setFilterPassed (bool state, const EventContext &ctx) const
 Set filter decision:
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

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.

Private Types

typedef ServiceHandle< StoreGateSvc > StoreGateSvc_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< LArOnOffIdMapping > m_cablingKey {this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"}
SG::ReadCondHandleKey< ILArPedestal > m_pedKey {this,"PedestalKey","LArPedestal","SG Key of Pedestal obj"}
PublicToolHandle< Trig::TrigDecisionTool > m_trigDec {this, "TrigDecisionTool", "", "Handle to the TrigDecisionTool"}
const LArOnlineID * m_LArOnlineIDHelper
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
const CaloCell_ID * m_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
std::vector< float > m_nt_prescale
std::vector< int > m_nt_trigger
std::vector< std::string > m_TriggerLines
int m_MinDigitADC
int m_MaxDeltaT
DataObjIDColl m_extendedExtraObjects
 Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
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 30 of file LArHECNoise.h.

Member Typedef Documentation

◆ StoreGateSvc_t

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

Definition at line 376 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 27 of file LArHECNoise.cxx.

29 : AthAlgorithm(name, pSvcLocator),
30 m_tree(nullptr),
31 m_LArOnlineIDHelper(nullptr),
32 m_calocell_id(nullptr),
33 m_nt_run(0),
34 m_nt_evtId(0),
36 m_nt_evtTime(0),
38 m_nt_lb(0),
39 m_nt_bcid(0),
40 m_nt_gain(0),
41 m_nt_side(0),
42 m_nt_samp(0),
43 m_nt_reg(0),
44 m_nt_ieta(0),
45 m_nt_iphi(0),
46 m_nt_quality(0),
47 m_nt_digi(),
48 m_nt_max(0),
49 m_nt_min(0),
50 m_nt_OID(0),
51 m_nt_avgMu(0),
52 m_nt_actMu(0),
53 m_nt_e(0),
54 m_nt_t(0),
55 m_nt_eta(0),
56 m_nt_phi(0),
57 m_nt_z(0),
58 m_nt_r(0),
59 m_nt_ped(0),
61 {
62
63 // Trigger
64
66
67 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"});
68
69 declareProperty("MinDigitADC",m_MinDigitADC=20);
70 declareProperty("MaxDeltaT",m_MaxDeltaT=5);
71
72
73 }
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
int m_MinDigitADC
Definition LArHECNoise.h:96
const LArOnlineID * m_LArOnlineIDHelper
Definition LArHECNoise.h:54
short m_nt_digi[32]
Definition LArHECNoise.h:77
float m_nt_ped
Definition LArHECNoise.h:89
float m_nt_actMu
Definition LArHECNoise.h:82
std::vector< std::string > m_TriggerLines
Definition LArHECNoise.h:95
float m_nt_pedRMS
Definition LArHECNoise.h:90
int m_nt_evtCount
Definition LArHECNoise.h:65
float m_nt_avgMu
Definition LArHECNoise.h:81
float m_nt_phi
Definition LArHECNoise.h:86
TTree * m_tree
Definition LArHECNoise.h:45
int m_nt_evtTime_ns
Definition LArHECNoise.h:67
const CaloCell_ID * m_calocell_id
Definition LArHECNoise.h:60
float m_nt_eta
Definition LArHECNoise.h:85

◆ ~LArHECNoise()

LArHECNoise::~LArHECNoise ( )
default

Member Function Documentation

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

◆ 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 LArHECNoise::execute ( const EventContext & ctx)
overridevirtual

Execute method.

Define iterators to loop over Digits containers

Implements AthAlgorithm.

Definition at line 157 of file LArHECNoise.cxx.

157 {
158
159 ATH_MSG_DEBUG ( "in execute()" );
160
161 for(unsigned i=0; i<m_TriggerLines.size(); ++i){
162 m_nt_prescale[i] = m_trigDec->getPrescale(m_TriggerLines[i]);
163 m_nt_trigger[i] = m_trigDec->isPassed(m_TriggerLines[i]);
164 }
165
166 const xAOD::EventInfo* eventInfo = nullptr;
167 ATH_CHECK( evtStore()->retrieve(eventInfo) );
168
169 m_nt_evtCount = 0;
170 const CaloCellContainer* cc = nullptr;
171 const LArRawChannelContainer* lraw = nullptr;
172 if (evtStore()->contains<CaloCellContainer>("AllCalo")) {
173 ATH_CHECK(evtStore()->retrieve(cc, "AllCalo"));
174 } else if (evtStore()->contains<LArRawChannelContainer>("LArRawChannels")){
175 ATH_CHECK(evtStore()->retrieve(lraw, "LArRawChannels"));
176 }
177
178 SG::ReadCondHandle<LArOnOffIdMapping> cablingHdl{m_cablingKey, ctx};
179 const LArOnOffIdMapping* cabling{*cablingHdl};
180 if(!cabling) {
181 ATH_MSG_ERROR("Do not have mapping object " << m_cablingKey.key() );
182 return StatusCode::FAILURE;
183 }
184
185
186 SG::ReadCondHandle<ILArPedestal> pedHdl{m_pedKey, ctx};
187 const ILArPedestal* ped{*pedHdl};
188 if(!ped) {
189 ATH_MSG_ERROR("Do not have pedestal object " << m_pedKey.key() );
190 return StatusCode::FAILURE;
191 }
192
193 SG::ReadCondHandle<CaloDetDescrManager> caloMgrHandle{m_caloMgrKey, ctx};
194 ATH_CHECK(caloMgrHandle.isValid());
195 const CaloDetDescrManager* caloMgr = *caloMgrHandle;
196
197
198 const LArDigitContainer* ld = nullptr;
199 if (evtStore()->contains<LArDigitContainer>("LArDigitContainer")) {
200 ATH_CHECK(evtStore()->retrieve(ld, "LArDigitContainer"));
201 } else if (evtStore()->contains<LArDigitContainer>("LArDigitContainer_Thinned")) {
202 ATH_CHECK(evtStore()->retrieve(ld, "LArDigitContainer_Thinned"));
203 } else if (evtStore()->contains<LArDigitContainer>("FREE")) {
204 ATH_CHECK(evtStore()->retrieve(ld, "FREE"));
205 } else {
206 msg(MSG::WARNING) << "Neither LArDigitContainer nor LArDigitContainer_Thinned nor FREE present, not filling anything "<<endmsg;
207 return StatusCode::SUCCESS;
208 }
210 LArDigitContainer::const_iterator itDig = ld->begin();
211 LArDigitContainer::const_iterator itDig_e= ld->end();
212 const LArDigit* pLArDigit;
213
214 for ( ; itDig!=itDig_e;++itDig) {
215 pLArDigit = *itDig;
216 HWIdentifier hid = pLArDigit->hardwareID();
217 if(! m_LArOnlineIDHelper->isHECchannel(hid)) continue; //and ld.gain() == 2:
218 int sigmax=0;
219 int sigmin=0;
220 int imax=0;
221 int imin=0;
222 short samp0= pLArDigit->samples()[0];
223 for(unsigned i=0; i<(pLArDigit->samples()).size(); ++i){
224 short samp=pLArDigit->samples()[i];
225 if( i < 32) m_nt_digi[i] = samp;
226 if(samp-samp0 > sigmax) {
227 sigmax = samp-samp0;
228 imax=i;
229 }
230 if( samp-samp0 < sigmin) {
231 sigmin = samp-samp0;
232 imin=i;
233 }
234 }
235 if( sigmax > m_MinDigitADC && sigmin < -m_MinDigitADC && ( (imin-imax) < m_MaxDeltaT || imin < imax)) {
236 m_nt_run = eventInfo->runNumber();
237 m_nt_evtId = eventInfo->eventNumber();
238 m_nt_evtTime = eventInfo->timeStamp();
239 m_nt_evtTime_ns = eventInfo->timeStampNSOffset();
240 m_nt_lb = eventInfo->lumiBlock();
241 m_nt_bcid = eventInfo->bcid();
244
245 m_nt_evtCount += 1;
246 m_nt_gain = pLArDigit->gain();
247 Identifier oid = cabling->cnvToIdentifier(hid);
248 m_nt_OID = pLArDigit->channelID().get_compact();
249 m_nt_ped = ped->pedestal(pLArDigit->channelID(),pLArDigit->gain());
250 m_nt_pedRMS = ped->pedestalRMS(pLArDigit->channelID(),pLArDigit->gain());
251 m_nt_side = m_calocell_id->pos_neg(oid);
252 m_nt_samp = m_calocell_id->sampling(oid);
253 m_nt_reg = m_calocell_id->region(oid);
254 m_nt_ieta = m_calocell_id->eta(oid);
255 m_nt_iphi = m_calocell_id->phi(oid);
256 m_nt_max = imax;
257 m_nt_min = imin;
258 IdentifierHash ihash = m_calocell_id->calo_cell_hash(oid);
259 m_nt_e = 0.0;
260 m_nt_t = 0.0;
261 m_nt_quality = 0;
262 if(cc) {
263 const CaloCell *rcell = cc->findCell(ihash);
264 if(rcell->ID() != oid) {
265 msg(MSG::WARNING) <<"Cell iHash does not match ..."<<endmsg;
266 }else{
267 m_nt_e = rcell->e();
268 m_nt_t = rcell->time();
269 m_nt_quality = rcell->quality();
270 }
271 } else if(lraw) {
272 for(unsigned l=0; l<lraw->size(); ++l) {
273 if((*lraw)[l].identify() == hid) {
274 m_nt_e = (*lraw)[l].energy();
275 m_nt_t = (*lraw)[l].time()*1e-3;
276 m_nt_quality = (*lraw)[l].quality();
277 break;
278 }
279 }
280 }
281 const CaloDetDescrElement *cdde = caloMgr->get_element(oid);
282 if(cdde) {
283 m_nt_eta = cdde->eta();
284 m_nt_phi = cdde->phi();
285 m_nt_z = cdde->z();
286 m_nt_r = cdde->r();
287 }
288 m_tree->Fill();
289 }//found our digit
290 }//over digits
291
292 return StatusCode::SUCCESS;
293}
#define endmsg
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_DEBUG(x,...)
#define ATH_MSG_ERROR(x,...)
Athena::TPCnvVers::Current Athena::TPCnvVers::Old Athena::TPCnvVers::Old LArRawChannelContainer
Definition LArTPCnv.cxx:86
size_t size() const
Number of registered mappings.
int imax(int i, int j)
ServiceHandle< StoreGateSvc > & evtStore()
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:861
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:48
PublicToolHandle< Trig::TrigDecisionTool > m_trigDec
Definition LArHECNoise.h:51
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
Definition LArHECNoise.h:55
std::vector< int > m_nt_trigger
Definition LArHECNoise.h:92
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
Definition LArHECNoise.h:47
std::vector< float > m_nt_prescale
Definition LArHECNoise.h:91
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:116
l
Printing final latex table to .tex output file.
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< 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 & AthCommonAlgorithm< Gaudi::Algorithm >::extraOutputDeps ( ) const
overridevirtualinherited

Return the list of extra output dependencies.

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

Definition at line 89 of file AthCommonAlgorithm.cxx.

54{
55 // If we didn't find any symlinks to add, just return the collection
56 // from the base class. Otherwise, return the extended collection.
57 if (!m_extendedExtraObjects.empty()) {
59 }
61}
Common base class for algorithms.

◆ filterPassed()

virtual bool AthCommonAlgorithm< Gaudi::Algorithm >::filterPassed ( const EventContext & ctx) const
inlinevirtualinherited

Get filter decision:

Definition at line 93 of file AthCommonAlgorithm.h.

93 {
94 return execState( ctx ).filterPassed();
95 }
virtual bool filterPassed(const EventContext &ctx) const
Get filter decision:

◆ finalize()

StatusCode LArHECNoise::finalize ( )
overridevirtual

Definition at line 151 of file LArHECNoise.cxx.

151 {
152 ATH_MSG_DEBUG ( "in finalize()" );
153 return StatusCode::SUCCESS;
154}

◆ initialize()

StatusCode LArHECNoise::initialize ( )
overridevirtual

get a handle on the NTuple and histogramming service

Prepare TTree

Definition at line 78 of file LArHECNoise.cxx.

78 {
79
80 ATH_MSG_DEBUG ( "Initializing LArHECNoise" );
81
82 // Trigger Decision Tool
83 CHECK(m_trigDec.retrieve());
84
85 ATH_CHECK( m_cablingKey.initialize() );
86 ATH_CHECK( m_pedKey.initialize() );
87 //resize here, after properties are set
88 m_nt_prescale.resize(m_TriggerLines.size());
89 m_nt_trigger.resize(m_TriggerLines.size());
90
91 // Retrieve online ID helper
92 const LArOnlineID* LArOnlineIDHelper = nullptr;
93 ATH_CHECK( detStore()->retrieve(LArOnlineIDHelper, "LArOnlineID") );
94 m_LArOnlineIDHelper = LArOnlineIDHelper;
95 ATH_MSG_DEBUG( " Found LArOnline Helper");
96
97 // Retrieve ID helpers
98 ATH_CHECK( detStore()->retrieve (m_calocell_id, "CaloCell_ID") );
99 ATH_CHECK(m_caloMgrKey.initialize());
100
102 ATH_CHECK( m_thistSvc.retrieve() );
103
105 m_tree = new TTree( "HECNoise", "HECNoise" );
106
107 // General properties of events
108 m_tree->Branch("iRun",&m_nt_run,"iRun/I");// Event ID
109 m_tree->Branch("iEvent",&m_nt_evtId,"iEvent/I");// Event ID
110 m_tree->Branch("iEventCount",&m_nt_evtCount,"iEventCount/I");
111 m_tree->Branch("iTime",&m_nt_evtTime,"iTime/I");// Event time
112 m_tree->Branch("iTime_ns",&m_nt_evtTime_ns,"iTime_ns/I");// Event time in nanosecond
113 m_tree->Branch("iLB",&m_nt_lb,"iLB/I"); // LB
114 m_tree->Branch("iBCID",&m_nt_bcid,"iBCID/I"); // BCID
115 // prescale and trigger here
116 for(unsigned i=0; i<m_TriggerLines.size(); ++i) {
117 m_tree->Branch((m_TriggerLines[i]+"_Prescale").c_str(),&(m_nt_prescale[i]),(m_TriggerLines[i]+"_Prescale/F").c_str());
118 m_tree->Branch((m_TriggerLines[i]+"_Trigger").c_str(),&(m_nt_trigger[i]),(m_TriggerLines[i]+"_Trigger/I").c_str());
119 }
120 m_tree->Branch("avgMu",&m_nt_avgMu,"avgMu/F");
121 m_tree->Branch("actMu",&m_nt_actMu,"actMu/F");
122 m_tree->Branch("iGain",&m_nt_gain,"iGain/I");
123 m_tree->Branch("iOID",&m_nt_OID,"iOID/L");
124 m_tree->Branch("iSide",&m_nt_side,"iSide/I");
125 m_tree->Branch("iSamp",&m_nt_samp,"iSamp/I");
126 m_tree->Branch("iReg",&m_nt_reg,"iReg/I");
127 m_tree->Branch("iEta",&m_nt_ieta,"iEta/I");
128 m_tree->Branch("iPhi",&m_nt_iphi,"iPhi/I");
129 m_tree->Branch("iQuality",&m_nt_quality,"iQuality/I");
130 m_tree->Branch("e",&m_nt_e,"e/F");
131 m_tree->Branch("t",&m_nt_t,"t/F");
132 m_tree->Branch("eta",&m_nt_eta,"eta/F");
133 m_tree->Branch("phi",&m_nt_phi,"phi/F");
134 m_tree->Branch("z",&m_nt_z,"z/F");
135 m_tree->Branch("r",&m_nt_r,"r/F");
136 m_tree->Branch("Ped",&m_nt_ped,"Ped/F");
137 m_tree->Branch("PedRMS",&m_nt_pedRMS,"PedRMS/F");
138 m_tree->Branch("iDigi",m_nt_digi,"iDigi[32]/S");
139 m_tree->Branch("iMax",&m_nt_max,"iMax/I");
140 m_tree->Branch("iMin",&m_nt_min,"iMin/I");
141
142 std::string treeName = "/HEC/HECNoise" ;
143 ATH_CHECK( m_thistSvc->regTree(treeName, m_tree) );
144
145
146 ATH_MSG_DEBUG ( "End of Initializing LArHECNoise" );
147
148 return StatusCode::SUCCESS;
149}
#define CHECK(...)
Evaluate an expression and check for errors.
const ServiceHandle< StoreGateSvc > & detStore() const
ServiceHandle< ITHistSvc > m_thistSvc
Definition LArHECNoise.h:43

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

◆ isClonable()

virtual bool AthCommonAlgorithm< Gaudi::Algorithm >::isClonable ( ) const
inlineoverridevirtualinherited

Specify if the algorithm is clonable.

Only relevant for non-reentrant algorithms. Actual number of clones needs to be set via the "Cardinality" property.

Reimplemented in AFP_DigiTop, AlgB, AlgT, BCM_Digitization, CscDigitBuilder, CscDigitToCscRDO, G4AtlasAlg, G4RunAlg, HGTD_Digitization, HiveAlgBase, InDet::GNNSeedingTrackMaker, InDet::SCT_Clusterization, InDet::SiSPGNNTrackMaker, InDet::SiSPSeededTrackFinder, InDet::SiTrackerSpacePointFinder, ISF::SimKernelMT, ITk::StripDigitization, ITkPixelCablingAlg, ITkStripCablingAlg, LArHitEMapMaker, LArTTL1Maker, LUCID_DigiTop, LVL1::L1TopoSimulation, MergeCalibHits, MergeGenericMuonSimHitColl, MergeHijingPars, MergeMcEventCollection, MergeTrackRecordCollection, MergeTruthJets, MergeTruthParticles, MuonDigitizer, PileUpMTAlg, PixelDigitization, RoIBResultToxAOD, SCT_ByteStreamErrorsTestAlg, SCT_CablingCondAlgFromCoraCool, SCT_CablingCondAlgFromText, SCT_ConditionsParameterTestAlg, SCT_ConditionsSummaryTestAlg, SCT_ConfigurationConditionsTestAlg, SCT_Digitization, SCT_FlaggedConditionTestAlg, SCT_LinkMaskingTestAlg, SCT_MajorityConditionsTestAlg, SCT_ModuleVetoTestAlg, SCT_MonitorConditionsTestAlg, SCT_PrepDataToxAOD, SCT_RawDataToxAOD, SCT_ReadCalibChipDataTestAlg, SCT_ReadCalibDataTestAlg, SCT_RODVetoTestAlg, SCT_SensorsTestAlg, SCT_SiliconConditionsTestAlg, SCT_StripVetoTestAlg, SCT_TdaqEnabledTestAlg, SCT_TestCablingAlg, SCTEventFlagWriter, SCTRawDataProvider, SCTSiLorentzAngleTestAlg, SCTSiPropertiesTestAlg, SGInputLoader, Simulation::BeamEffectsAlg, TileHitVecToCnt, TileMuonFitter, TilePulseForTileMuonReceiver, TileRawChannelMaker, TRTDigitization, and ZDC_DigiTop.

Definition at line 68 of file AthCommonAlgorithm.h.

68 {
69 return true;
70 }

◆ isReEntrant()

virtual bool AthAlgorithm::isReEntrant ( ) const
inlinefinaloverrideprotectedvirtualinherited

Legacy algorithms are not thread-safe.

Definition at line 47 of file AthAlgorithm.h.

47{ 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 368 of file AthCommonDataStore.h.

369 {
370 h.renounce();
372 }
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 352 of file AthCommonDataStore.h.

352 {
354 }

◆ setFilterPassed()

virtual void AthCommonAlgorithm< Gaudi::Algorithm >::setFilterPassed ( bool state,
const EventContext & ctx ) const
inlinevirtualinherited

Set filter decision:

Definition at line 99 of file AthCommonAlgorithm.h.

99 {
101 }
virtual void setFilterPassed(bool state, const EventContext &ctx) const
Set filter decision:

◆ sysExecute()

StatusCode AthCommonAlgorithm< Gaudi::Algorithm >::sysExecute ( const EventContext & ctx)
overridevirtualinherited

Execute an algorithm.

We override this in order to work around an issue with the Algorithm base class storing the event context in a member variable that can cause crashes in MT jobs.

Reimplemented in AthAnalysisAlgorithm.

Definition at line 80 of file AthCommonAlgorithm.cxx.

41{
42 return BaseAlg::sysExecute (ctx);
43}

◆ sysInitialize()

StatusCode AthCommonAlgorithm< Gaudi::Algorithm >::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, AthHistogramAlgorithm, HypoBase, InputMakerBase, and PyAthena::Alg.

Definition at line 60 of file AthCommonAlgorithm.cxx.

71 {
73
74 if (sc.isFailure()) {
75 return sc;
76 }
77
78 ServiceHandle<ICondSvc> cs("CondSvc",name());
79 for (auto h : outputHandles()) {
80 if (h->isCondition() && h->mode() == Gaudi::DataHandle::Writer) {
81 // do this inside the loop so we don't create the CondSvc until needed
82 if ( cs.retrieve().isFailure() ) {
83 ATH_MSG_WARNING("no CondSvc found: won't autoreg WriteCondHandles");
85 }
86 if (cs->regHandle(this,*h).isFailure()) {
88 ATH_MSG_ERROR("unable to register WriteCondHandle " << h->fullKey()
89 << " with CondSvc");
90 }
91 }
92 }
93 return sc;
94}
#define ATH_MSG_WARNING(x,...)
virtual StatusCode sysInitialize() override
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 298 of file AthCommonDataStore.h.

298 {
299 for (auto &a : m_vhka) {
301 for (auto k : keys) {
302 k->setOwner(this);
303 }
304 }
305 }

Member Data Documentation

◆ m_cablingKey

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

Definition at line 47 of file LArHECNoise.h.

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

◆ m_calocell_id

const CaloCell_ID* LArHECNoise::m_calocell_id
private

Definition at line 60 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 55 of file LArHECNoise.h.

55 { this
56 , "CaloDetDescrManager"
57 , "CaloDetDescrManager"
58 , "SG Key for CaloDetDescrManager in the Condition Store" };

◆ m_detStore

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

Pointer to StoreGate (detector store by default).

Definition at line 381 of file AthCommonDataStore.h.

◆ m_evtStore

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

Pointer to StoreGate (event store by default).

Definition at line 378 of file AthCommonDataStore.h.

◆ m_extendedExtraObjects

DataObjIDColl AthCommonAlgorithm< Gaudi::Algorithm >::m_extendedExtraObjects
privateinherited

Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.

Empty if no symlinks were found.

Definition at line 108 of file AthCommonAlgorithm.h.

◆ m_LArOnlineIDHelper

const LArOnlineID* LArHECNoise::m_LArOnlineIDHelper
private

Definition at line 54 of file LArHECNoise.h.

◆ m_MaxDeltaT

int LArHECNoise::m_MaxDeltaT
private

Definition at line 97 of file LArHECNoise.h.

◆ m_MinDigitADC

int LArHECNoise::m_MinDigitADC
private

Definition at line 96 of file LArHECNoise.h.

◆ m_nt_actMu

float LArHECNoise::m_nt_actMu
private

Definition at line 82 of file LArHECNoise.h.

◆ m_nt_avgMu

float LArHECNoise::m_nt_avgMu
private

Definition at line 81 of file LArHECNoise.h.

◆ m_nt_bcid

int LArHECNoise::m_nt_bcid
private

Definition at line 69 of file LArHECNoise.h.

◆ m_nt_digi

short LArHECNoise::m_nt_digi[32]
private

Definition at line 77 of file LArHECNoise.h.

◆ m_nt_e

float LArHECNoise::m_nt_e
private

Definition at line 83 of file LArHECNoise.h.

◆ m_nt_eta

float LArHECNoise::m_nt_eta
private

Definition at line 85 of file LArHECNoise.h.

◆ m_nt_evtCount

int LArHECNoise::m_nt_evtCount
private

Definition at line 65 of file LArHECNoise.h.

◆ m_nt_evtId

int LArHECNoise::m_nt_evtId
private

Definition at line 64 of file LArHECNoise.h.

◆ m_nt_evtTime

int LArHECNoise::m_nt_evtTime
private

Definition at line 66 of file LArHECNoise.h.

◆ m_nt_evtTime_ns

int LArHECNoise::m_nt_evtTime_ns
private

Definition at line 67 of file LArHECNoise.h.

◆ m_nt_gain

int LArHECNoise::m_nt_gain
private

Definition at line 70 of file LArHECNoise.h.

◆ m_nt_ieta

int LArHECNoise::m_nt_ieta
private

Definition at line 74 of file LArHECNoise.h.

◆ m_nt_iphi

int LArHECNoise::m_nt_iphi
private

Definition at line 75 of file LArHECNoise.h.

◆ m_nt_lb

int LArHECNoise::m_nt_lb
private

Definition at line 68 of file LArHECNoise.h.

◆ m_nt_max

int LArHECNoise::m_nt_max
private

Definition at line 78 of file LArHECNoise.h.

◆ m_nt_min

int LArHECNoise::m_nt_min
private

Definition at line 79 of file LArHECNoise.h.

◆ m_nt_OID

long LArHECNoise::m_nt_OID
private

Definition at line 80 of file LArHECNoise.h.

◆ m_nt_ped

float LArHECNoise::m_nt_ped
private

Definition at line 89 of file LArHECNoise.h.

◆ m_nt_pedRMS

float LArHECNoise::m_nt_pedRMS
private

Definition at line 90 of file LArHECNoise.h.

◆ m_nt_phi

float LArHECNoise::m_nt_phi
private

Definition at line 86 of file LArHECNoise.h.

◆ m_nt_prescale

std::vector<float> LArHECNoise::m_nt_prescale
private

Definition at line 91 of file LArHECNoise.h.

◆ m_nt_quality

int LArHECNoise::m_nt_quality
private

Definition at line 76 of file LArHECNoise.h.

◆ m_nt_r

float LArHECNoise::m_nt_r
private

Definition at line 88 of file LArHECNoise.h.

◆ m_nt_reg

int LArHECNoise::m_nt_reg
private

Definition at line 73 of file LArHECNoise.h.

◆ m_nt_run

int LArHECNoise::m_nt_run
private

Definition at line 63 of file LArHECNoise.h.

◆ m_nt_samp

int LArHECNoise::m_nt_samp
private

Definition at line 72 of file LArHECNoise.h.

◆ m_nt_side

int LArHECNoise::m_nt_side
private

Definition at line 71 of file LArHECNoise.h.

◆ m_nt_t

float LArHECNoise::m_nt_t
private

Definition at line 84 of file LArHECNoise.h.

◆ m_nt_trigger

std::vector<int> LArHECNoise::m_nt_trigger
private

Definition at line 92 of file LArHECNoise.h.

◆ m_nt_z

float LArHECNoise::m_nt_z
private

Definition at line 87 of file LArHECNoise.h.

◆ m_pedKey

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

Definition at line 48 of file LArHECNoise.h.

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

◆ m_thistSvc

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

Definition at line 43 of file LArHECNoise.h.

43{this,"THistSvc","THistSvc"};

◆ m_tree

TTree* LArHECNoise::m_tree {}
private

Definition at line 45 of file LArHECNoise.h.

45{};

◆ m_trigDec

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

Definition at line 51 of file LArHECNoise.h.

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

◆ m_TriggerLines

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

Definition at line 95 of file LArHECNoise.h.

◆ m_varHandleArraysDeclared

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

Definition at line 387 of file AthCommonDataStore.h.

◆ m_vhka

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

Definition at line 386 of file AthCommonDataStore.h.


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