ATLAS Offline Software
LArHECNoise.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #include "GaudiKernel/MsgStream.h"
6 #include "GaudiKernel/IToolSvc.h"
7 
9 
17 
19 
20 #include "Identifier/Range.h"
23 
25 
27 #include "LArRawEvent/LArDigit.h"
30 
33 
37 
38 #include "TTree.h"
39 
41 
43 
44 #include "LArCafJobs/LArHECNoise.h"
45 
46 #include <algorithm>
47 #include <math.h>
48 #include <functional>
49 #include <iostream>
50 
51 using namespace std;
52 using xAOD::EventInfo;
53 
56 
57 LArHECNoise::LArHECNoise(const std::string& name,
58  ISvcLocator* pSvcLocator)
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),
65  m_nt_evtCount(0),
66  m_nt_evtTime(0),
67  m_nt_evtTime_ns(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),
90  m_nt_pedRMS(0)
91  {
92 
93  // Trigger
94 
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  }
105 
106 // An out-of-line dtor keeps cppcheck from warning about the memory
107 // allocations in the ctor.
109 {
110 }
111 
113 
114  ATH_MSG_DEBUG ( "Initializing LArHECNoise" );
115 
116  // Trigger Decision Tool
117  CHECK(m_trigDec.retrieve());
118 
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") );
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 }
185 
187  ATH_MSG_DEBUG ( "in finalize()" );
188  return StatusCode::SUCCESS;
189 }
190 
191 
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 
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 
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 
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 }
333 
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
LArHECNoise::m_nt_OID
long m_nt_OID
Definition: LArHECNoise.h:96
AllowedVariables::e
e
Definition: AsgElectronSelectorTool.cxx:37
LArHECNoise::m_nt_e
float m_nt_e
Definition: LArHECNoise.h:99
xAOD::identify
const Identifier & identify(const UncalibratedMeasurement *meas)
Returns the associated identifier from the muon measurement.
Definition: MuonSpectrometer/MuonPhaseII/Event/xAOD/xAODMuonPrepData/Root/UtilFunctions.cxx:61
DataModel_detail::const_iterator
Const iterator class for DataVector/DataList.
Definition: DVLIterator.h:82
LArEM_ID.h
LArHECNoise::m_LArOnlineIDHelper
const LArOnlineID * m_LArOnlineIDHelper
Definition: LArHECNoise.h:70
LArHECNoise::m_nt_ped
float m_nt_ped
Definition: LArHECNoise.h:105
xAOD::EventInfo
EventInfo_v1 EventInfo
Definition of the latest event info version.
Definition: IEventInfoCnvTool.h:17
CondAttrListCollection.h
This file defines the class for a collection of AttributeLists where each one is associated with a ch...
SG::ReadCondHandle
Definition: ReadCondHandle.h:44
xAOD::EventInfo_v1::eventNumber
uint64_t eventNumber() const
The current event's event number.
AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
ILArPedestal
Definition: ILArPedestal.h:12
LArHECNoise::m_thistSvc
ServiceHandle< ITHistSvc > m_thistSvc
Definition: LArHECNoise.h:59
CaloDetDescrElement
This class groups all DetDescr information related to a CaloCell. Provides a generic interface for al...
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:66
LArID_Exception.h
CaloDetDescrManager_Base::get_element
const CaloDetDescrElement * get_element(const Identifier &cellId) const
get element by its identifier
Definition: CaloDetDescrManager.cxx:159
Range.h
ReadCellNoiseFromCool.cabling
cabling
Definition: ReadCellNoiseFromCool.py:154
LArHECNoise::m_nt_reg
int m_nt_reg
Definition: LArHECNoise.h:89
LArDigit::samples
const std::vector< short > & samples() const
Definition: LArDigit.h:78
LArDigit::hardwareID
const HWIdentifier & hardwareID() const
Definition: LArDigit.h:66
LArHECNoise::m_caloMgrKey
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
Definition: LArHECNoise.h:71
CaloCell::e
virtual double e() const override final
get energy (data member) (synonym to method energy()
Definition: CaloCell.h:317
LArHECNoise::m_nt_t
float m_nt_t
Definition: LArHECNoise.h:100
LArHECNoise.h
UploadAMITag.l
list l
Definition: UploadAMITag.larcaf.py:158
LArHECNoise::m_nt_phi
float m_nt_phi
Definition: LArHECNoise.h:102
LArHECNoise::m_nt_min
int m_nt_min
Definition: LArHECNoise.h:95
SG::VarHandleKey::key
const std::string & key() const
Return the StoreGate ID for the referenced object.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:141
xAOD::EventInfo_v1::timeStampNSOffset
uint32_t timeStampNSOffset() const
Nanosecond time offset wrt. the time stamp.
LArHEC_ID.h
CaloCell::time
float time() const
get time (data member)
Definition: CaloCell.h:352
LArHECNoise::m_nt_bcid
int m_nt_bcid
Definition: LArHECNoise.h:85
AthenaAttributeList.h
LArHECNoise::m_TriggerLines
std::vector< std::string > m_TriggerLines
Definition: LArHECNoise.h:111
xAOD::EventInfo_v1::runNumber
uint32_t runNumber() const
The current event's run number.
CaloDetDescrManager.h
Definition of CaloDetDescrManager.
LArEventBitInfo.h
LArHECNoise::m_nt_evtTime_ns
int m_nt_evtTime_ns
Definition: LArHECNoise.h:83
CaloCell_ID.h
AthCommonDataStore< AthCommonMsg< Algorithm > >::detStore
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:95
LArHECNoise::initialize
virtual StatusCode initialize() override
Definition: LArHECNoise.cxx:112
AthCommonDataStore< AthCommonMsg< Algorithm > >::evtStore
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:85
LArHECNoise::m_tree
TTree * m_tree
Definition: LArHECNoise.h:61
LArHECNoise::m_nt_gain
int m_nt_gain
Definition: LArHECNoise.h:86
LArHECNoise::m_nt_ieta
int m_nt_ieta
Definition: LArHECNoise.h:90
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
LArDigit.h
LArHECNoise::m_pedKey
SG::ReadCondHandleKey< ILArPedestal > m_pedKey
Definition: LArHECNoise.h:64
LArHECNoise::m_nt_z
float m_nt_z
Definition: LArHECNoise.h:103
LArHECNoise::finalize
virtual StatusCode finalize() override
Definition: LArHECNoise.cxx:186
LArHECNoise::m_nt_r
float m_nt_r
Definition: LArHECNoise.h:104
LArDigit
Liquid Argon digit base class.
Definition: LArDigit.h:25
lumiFormat.i
int i
Definition: lumiFormat.py:85
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
INavigable4MomentumCollection.h
LArHECNoise::LArHECNoise
LArHECNoise(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Definition: LArHECNoise.cxx:57
LArHECNoise::m_nt_evtTime
int m_nt_evtTime
Definition: LArHECNoise.h:82
dumpFileToPlots.treeName
string treeName
Definition: dumpFileToPlots.py:20
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
CHECK
#define CHECK(...)
Evaluate an expression and check for errors.
Definition: Control/AthenaKernel/AthenaKernel/errorcheck.h:422
imax
int imax(int i, int j)
Definition: TileLaserTimingTool.cxx:33
xAOD::EventInfo_v1::lumiBlock
uint32_t lumiBlock() const
The current event's luminosity block number.
CaloDM_ID.h
AthAlgorithm
Definition: AthAlgorithm.h:47
CaloCell::quality
uint16_t quality() const
get quality (data member)
Definition: CaloCell.h:332
LArHECNoise::m_nt_avgMu
float m_nt_avgMu
Definition: LArHECNoise.h:97
xAOD::EventInfo_v1::averageInteractionsPerCrossing
float averageInteractionsPerCrossing() const
Average interactions per crossing for all BCIDs - for out-of-time pile-up.
Definition: EventInfo_v1.cxx:397
HWIdentifier.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
IdentifierHash.h
LArHECNoise::m_nt_evtCount
int m_nt_evtCount
Definition: LArHECNoise.h:81
SG::CondHandleKey::initialize
StatusCode initialize(bool used=true)
LArOnlineID
Definition: LArOnlineID.h:20
CaloCell::ID
Identifier ID() const
get ID (from cached data member) non-virtual and inline for fast access
Definition: CaloCell.h:279
LArHECNoise::m_nt_lb
int m_nt_lb
Definition: LArHECNoise.h:84
LArDigitContainer.h
CaloCellContainer.h
CaloCellContainer
Container class for CaloCell.
Definition: CaloCellContainer.h:55
EventInfo.h
LArHECNoise::m_MaxDeltaT
int m_MaxDeltaT
Definition: LArHECNoise.h:113
xAOD::EventInfo_v1
Class describing the basic event information.
Definition: EventInfo_v1.h:43
LArHECNoise::m_nt_eta
float m_nt_eta
Definition: LArHECNoise.h:101
Example_ReadSampleNoise.ped
ped
Definition: Example_ReadSampleNoise.py:45
LArHECNoise::m_nt_side
int m_nt_side
Definition: LArHECNoise.h:87
LArHECNoise::m_nt_run
int m_nt_run
Definition: LArHECNoise.h:79
LArHECNoise::m_MinDigitADC
int m_MinDigitADC
Definition: LArHECNoise.h:112
LArFCAL_ID.h
LArHECNoise::m_nt_iphi
int m_nt_iphi
Definition: LArHECNoise.h:91
LArDigit::gain
CaloGain::CaloGain gain() const
Definition: LArDigit.h:72
LArHECNoise::m_nt_pedRMS
float m_nt_pedRMS
Definition: LArHECNoise.h:106
CaloLVL1_ID.h
CaloDetDescrManager
This class provides the client interface for accessing the detector description information common to...
Definition: CaloDetDescrManager.h:473
CaloCell
Data object for each calorimeter readout cell.
Definition: CaloCell.h:57
LArHECNoise::m_calocell_id
const CaloCell_ID * m_calocell_id
Definition: LArHECNoise.h:76
LArHECNoise::m_trigDec
PublicToolHandle< Trig::TrigDecisionTool > m_trigDec
Definition: LArHECNoise.h:67
CaloDetDescrElement::z
float z() const
cell z
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:367
LArHECNoise::m_nt_max
int m_nt_max
Definition: LArHECNoise.h:94
AthCommonMsg< Algorithm >::msg
MsgStream & msg() const
Definition: AthCommonMsg.h:24
LArDigitContainer
Container class for LArDigit.
Definition: LArDigitContainer.h:24
xAOD::EventInfo_v1::timeStamp
uint32_t timeStamp() const
POSIX time in seconds from 1970. January 1st.
LArHECNoise::execute
virtual StatusCode execute() override
Definition: LArHECNoise.cxx:192
IParticleContainer.h
LArDigit::channelID
const HWIdentifier & channelID() const
Definition: LArDigit.h:69
CaloDetDescrElement::eta
float eta() const
cell eta
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:344
LArHECNoise::m_nt_evtId
int m_nt_evtId
Definition: LArHECNoise.h:80
CaloDetDescrElement::phi
float phi() const
cell phi
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:346
LArHECNoise::m_nt_digi
short m_nt_digi[32]
Definition: LArHECNoise.h:93
LArOnlineID::isHECchannel
bool isHECchannel(const HWIdentifier id) const override final
Definition: LArOnlineID.cxx:723
CaloDetDescrElement::r
float r() const
cell r
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:348
LArHECNoise::m_nt_quality
int m_nt_quality
Definition: LArHECNoise.h:92
LArHECNoise::m_nt_actMu
float m_nt_actMu
Definition: LArHECNoise.h:98
LArHECNoise::m_nt_trigger
bool * m_nt_trigger
Definition: LArHECNoise.h:108
xAOD::EventInfo_v1::bcid
uint32_t bcid() const
The bunch crossing ID of the event.
LArHECNoise::~LArHECNoise
~LArHECNoise()
Definition: LArHECNoise.cxx:108
StoreGateSvc.h
LArHECNoise::m_nt_samp
int m_nt_samp
Definition: LArHECNoise.h:88
geometry_dat_to_json.ld
ld
Definition: geometry_dat_to_json.py:32
LArHECNoise::m_nt_prescale
float * m_nt_prescale
Definition: LArHECNoise.h:107
LArRawChannelContainer.h
CaloDetectorElements.h
Calo Subsystem specific Detector Elements + Dummy element for testing.
LArOnlineID.h
python.handimod.cc
int cc
Definition: handimod.py:523
LArHECNoise::m_cablingKey
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
Definition: LArHECNoise.h:63
LArRawChannelContainer
Container for LArRawChannel (IDC using LArRawChannelCollection)
Definition: LArRawChannelContainer.h:26
xAOD::EventInfo_v1::actualInteractionsPerCrossing
float actualInteractionsPerCrossing() const
Average interactions per crossing for the current BCID - for in-time pile-up.
Definition: EventInfo_v1.cxx:380
Identifier
Definition: IdentifierFieldParser.cxx:14