ATLAS Offline Software
LArDigitFillerTool.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 
15 #include "LArDigitFillerTool.h"
16 
17 #include "StoreGate/StoreGateSvc.h"
18 #include "LArRawEvent/LArDigit.h"
19 #include "GaudiKernel/IToolSvc.h"
27 #include <vector>
28 
30 #include <sstream>
31 
32 
33 namespace D3PD {
34 
35  /*
36 LArDigitFillerTool::SortDigits::SortDigits(const LArOnlineID* onlineHelper)
37 {
38  m_onlineHelper=onlineHelper;
39 }
40  */
41 
42 
50  (const std::string& type,
51  const std::string& name,
52  const IInterface* parent)
54  m_savesca(false),
55  //m_maxchannels(24000),
56  m_savedigit(true),
57  m_CaloType("EMHECFCAL"),
58  m_storeId(false),
59  m_em(false),
60  m_hec(false),
61  m_fcal(false),
62  //m_dump_cut(4096),
63  m_dump_gain("HIGHMEDIUMLOW"),
64  m_dumpIter(false),
65  //m_dumpDisc(false),
66  m_onlineHelper(0),
67  m_emId(0),
68  m_hecId(0),
69  m_fcalId(0),
70  m_cellIndex(0)
71 {
72  declareProperty("SaveDigit",m_savedigit);
73  declareProperty("SaveId",m_storeId);
74  declareProperty("SaveSCAAddress",m_savesca);
75  declareProperty("DumpIterResults",m_dumpIter);
76 
77  //declareProperty("DumpDisconnected",m_dumpDisc);
78  //declareProperty("DumpGains",m_dump_gain);
79  //declareProperty("DumpCut",m_dump_cut);
80  //declareProperty("MaxChannels",m_maxChannels);
81  //declareProperty("Calo",m_CaloType);
82 
83  for (int i = 0; i < CaloGain::LARNGAIN; i++)
84  m_gains[i] = false;
85 
86  m_layer = 0;
87  m_eta = 0;
88  m_phi = 0;
89  m_gain = 0;
90  m_calo = 0;
91  m_barrel_ec = 0;
92  m_pos_neg = 0;
93  m_FT = 0;
94  m_slot = 0;
95  m_channel = 0;
96  m_samples = 0;
97  m_sca = 0;
98  m_offId = 0;
99  m_Itervalid = 0;
100  m_Iterconverged = 0;
101  m_IterNIter = 0;
102  m_IterAmpl = 0;
103  m_IterTau = 0;
104  m_IterPeakSample = 0;
105  m_IterDelay = 0;
106  m_IterQual = 0;
107  m_IterIdx = 0;
108 }
109 
110 
115 {
116  ATH_MSG_DEBUG( "in book()" );
117 
118  const CaloCell_ID* idHelper = nullptr;
119  ATH_CHECK( detStore()->retrieve (idHelper, "CaloCell_ID") );
120  m_emId=idHelper->em_idHelper();
121  m_hecId=idHelper->hec_idHelper();
122  m_fcalId=idHelper->fcal_idHelper();
123 
124 
126 
127  CHECK( detStore()->retrieve(m_onlineHelper, "LArOnlineID") );
128 
129 
130  // CHECK(addVariable ("icell",m_cellIndex));
131  if (m_savedigit){
132  CHECK(addVariable ("layer", m_layer));
133  CHECK(addVariable ("ieta",m_eta));
134  CHECK(addVariable ("calo", m_calo));
135  CHECK(addVariable ("iphi", m_phi));
136  CHECK(addVariable ("barrel_ec",m_barrel_ec));
137  CHECK(addVariable ("pos_neg", m_pos_neg));
138  CHECK(addVariable ("FT", m_FT));
139  CHECK(addVariable ("slot", m_slot));
140  CHECK(addVariable ("channel", m_channel));
141  CHECK(addVariable ("gain",m_gain));
142  CHECK(addVariable ("Samples", m_samples));
143  }
144 
145  if ( m_savesca == true ){
146  CHECK(addVariable ("sca_add", m_sca));
147  }
148  if ( m_storeId ) {
149  CHECK(addVariable ("offlineId", m_offId));
150  }
151 
152  if (m_dumpIter) {
153  CHECK(addVariable("iter_valid" , m_Itervalid));
154  CHECK(addVariable("iter_converged" , m_Iterconverged));
155  CHECK(addVariable("iter_nIter" , m_IterNIter));
156  CHECK(addVariable("iter_ampl" , m_IterAmpl));
157  CHECK(addVariable("iter_tau" , m_IterTau));
158  CHECK(addVariable("iter_peakSample" , m_IterPeakSample));
159  CHECK(addVariable("iter_delay" , m_IterDelay));
160  CHECK(addVariable("iter_qual" , m_IterQual));
161  CHECK(addVariable("iter_index",m_IterIdx));
162  }
163 
164  std::transform(m_CaloType.begin(), m_CaloType.end(), m_CaloType.begin(), toupper);
165  if(m_CaloType.find("EM") < m_CaloType.size()) m_em = true;
166  if(m_CaloType.find("HEC") < m_CaloType.size()) m_hec = true;
167  if(m_CaloType.find("FCAL") < m_CaloType.size()) m_fcal = true;
168 
169  std::transform(m_dump_gain.begin(), m_dump_gain.end(), m_dump_gain.begin(), toupper);
170 
171  if(m_dump_gain.find("HIGH")!=std::string::npos)
173  else
175 
176  if(m_dump_gain.find("MEDIUM")!=std::string::npos)
178  else
180 
181  if(m_dump_gain.find("LOW")!=std::string::npos)
183  else
185 
186  return StatusCode::SUCCESS;
187 
188 }
189 
190 
191 
193 {
194  ATH_MSG_DEBUG( "in fill()" );
195 
196  //if (m_NEvents!=-1 && ++m_count>m_NEvents ) return StatusCode::SUCCESS;
197 
198  const LArFebHeaderContainer *larFebHeaderContainer=NULL;
199  if (m_savesca == true){
200  StatusCode sc = evtStore()->retrieve(larFebHeaderContainer);
201  if (sc.isFailure() || !larFebHeaderContainer) {
202  ATH_MSG_DEBUG( "Cannot read LArFebHeaderContainer from StoreGate! SCA address not saved." );
203  larFebHeaderContainer=NULL;
204  }
205  }
206 
207  const LArOFIterResultsContainer *larOFIterCont=NULL;
208  if (m_dumpIter) {
209  StatusCode sc =evtStore()->retrieve(larOFIterCont);
210  if (sc.isFailure()) {
211  ATH_MSG_DEBUG( "Can't retrieve LArOFIterResultsContainer from StoreGate." );
212  larOFIterCont=NULL;
213  }
214  ATH_MSG_DEBUG( "Got LArOFIterResultsContainer from StoreGate." );
215  }
216 
217 
218  m_cellIndex=0;
219  //size_t digitContIdx=0;
220  size_t febHeaderContIdx=0;
221  size_t ofcIterContIdx=0;
222  size_t ofcIterContIdx_temp=0;
223 
224  //There are various restrictions when to write channel to CBNT:
225 
226  //Check gain
227  const long gain=digit.gain();
228 
230  const LArOnOffIdMapping* cabling{*cablingHdl};
231  if(!cabling){
232  ATH_MSG_ERROR("Do not have mapping object " << m_cablingKey.key() );
233  return StatusCode::FAILURE;
234  }
270  const std::vector<short>& vSamples=digit.samples();
271  const HWIdentifier chid=digit.hardwareID();
272  size_t n=vSamples.size();
273  int nsamples=vSamples.size();
274  const bool connected=cabling->isOnlineConnected(chid);
275  ATH_MSG_DEBUG( " is connected " <<connected );
276 
277 
278  if (m_savedigit){
279 
280  (*m_samples).resize(n);
281  for (size_t i=0;i<n;++i) {
282  (*m_samples)[i] = vSamples[i] ; //Convert short -> long
283  }
284 
285  //Add samples to ntuple
286  // *m_samples = vSamples;
287 
288  //Add offline ID
289  if (connected) {
290  const Identifier id=cabling->cnvToIdentifier(chid);
291  if(m_storeId) *m_offId = id.get_identifier32().get_compact() ;
292  if (m_emId->is_lar_em(id)) {
293  *m_calo = 0;
294  *m_eta = m_emId->eta(id);
295  *m_phi = m_emId->phi(id);
296  *m_layer = m_emId->sampling(id);
297  }
298  else if (m_hecId->is_lar_hec(id)) {
299  *m_calo= 1;
300  *m_eta = m_hecId->eta(id);
301  *m_phi = m_hecId->phi(id);
302  *m_layer = m_hecId->sampling(id);
303  }
304  else if (m_fcalId->is_lar_fcal(id)) {
305  *m_calo = 2;
306  *m_eta = m_fcalId->eta(id);
307  *m_phi = m_fcalId->phi(id);
308  *m_layer = m_fcalId->module(id);
309  }
310  else {
311  ATH_MSG_WARNING( "LArDigit Id "<< MSG::hex << id.get_compact() << MSG::dec
312  << " (FT: " << m_onlineHelper->feedthrough(chid) << " FEBSlot: " << m_onlineHelper->slot(chid) << " Chan: " << m_onlineHelper->channel(chid)
313  << ") appears to be neither EM nor HEC nor FCAL." );
314  *m_calo = -998;
315  }
316  }
317  else {
318  if(m_storeId) *m_offId= 0;
319  *m_calo= -998;
320  *m_eta= -998;
321  *m_phi= -998;
322  *m_layer= -998;
323  } // end else disconnected
324 
325  //Add online ID
327  *m_pos_neg = m_onlineHelper->pos_neg(chid);
328  *m_FT = m_onlineHelper->feedthrough(chid);
329  *m_slot= m_onlineHelper->slot(chid);
330  *m_channel = m_onlineHelper->channel(chid);
331  *m_gain = gain;
332  m_cellIndex++;
333  }
334 
335  ATH_MSG_DEBUG( " m_savesca and FebHead, OFIterCont " << m_savesca <<" " << larFebHeaderContainer << " " <<larOFIterCont );
336 
337  //Add SCA info if needed
338  if (m_savesca)
339  {
340  if (larFebHeaderContainer ){
341  const HWIdentifier chanFebId=m_onlineHelper->feb_Id(chid); //FebId of current channel
342  const size_t febHead_s=larFebHeaderContainer->size();
343 
344  //Search for the right element in the FEB header container
345  for(;febHeaderContIdx<febHead_s && chanFebId!=larFebHeaderContainer->at(febHeaderContIdx)->FEBId();
346  ++febHeaderContIdx)
347  ;
348 
349  if (febHeaderContIdx<febHead_s) {
350  const std::vector<unsigned short>& sca=larFebHeaderContainer->at(febHeaderContIdx)->SCA();
351  n=sca.size();
352  if ((long)n!=nsamples){
353  ATH_MSG_WARNING( "Inconsistent number of SCA entries" );
354  }
355 
356  /* addSamples.resize(n);
357  for (size_t i=0;i<n;++i)
358  addSamples[i]=sca[i];//Convert short -> long
359  */
360 
361  (*m_sca).resize(n);
362  for (size_t i=0;i<n;++i) {
363  (*m_sca)[i]=sca[i];
364  }
365 
366  // *m_sca= sca;
367 
368  }
369  else {
370  ATH_MSG_ERROR( "LArDigitContainer and LArFebHeaderContainer out of sync!" );
371  ATH_MSG_WARNING( "Can't find FEB with id = "<< std::hex << chanFebId.get_compact() << std::dec );
372  }
373  }
374  else
375  {
376  (*m_sca).clear();
377  }
378  }
379 
380  // Add OFC Iter results if needed
381  ATH_MSG_DEBUG( " m_dumpIter, OFIterCont " << m_dumpIter<< " " << larOFIterCont );
382  if (m_dumpIter) {
383  if (larOFIterCont) {
384 
385  const size_t iterRes_s=larOFIterCont->size();
386 
387  ofcIterContIdx_temp = ofcIterContIdx;
388  //Search the right element of the results container
389  for(;ofcIterContIdx<iterRes_s && chid!=larOFIterCont->at(ofcIterContIdx).getChannelID();++ofcIterContIdx)
390  ;
391 
392  // Check No Missing Iteration Result
393  if( ofcIterContIdx>=iterRes_s) {// && (ofcIterContIdx - ofcIterContIdx_temp)!=1){
394 
395  ATH_MSG_DEBUG( "Could not get iteration results for channel with id " << chid.get_compact() << std::dec
396  <<" in LArOFIterResultsContainer. CellIndex="<< m_cellIndex );
397 
398  ofcIterContIdx = ofcIterContIdx_temp;
399  *m_Itervalid= 0 ;
400  *m_Iterconverged= 0 ;
401  *m_IterNIter= -999 ;
402  *m_IterAmpl= -999 ;
403  *m_IterTau= -999 ;
404  *m_IterPeakSample= -999 ;
405  *m_IterDelay= -999 ;
406  *m_IterQual= -999 ;
407  *m_IterIdx= -999;
408  }
409  else{
410  const LArOFIterResults& iterRes=larOFIterCont->at(ofcIterContIdx);
411  //std::cout << chid << "\t" << iterRes.getChannelID() << std::endl;
412  if (chid!=iterRes.getChannelID()) {
413  ATH_MSG_ERROR( "Channel IDs don't match" );
414  return StatusCode::FAILURE;
415  }
416  *m_Itervalid= iterRes.getValid();
417  *m_Iterconverged= iterRes.getConverged();
418  *m_IterNIter= iterRes.getNIterPerf();
419  *m_IterAmpl= iterRes.getAmplitude();
420  *m_IterTau= iterRes.getTau();
422  *m_IterDelay= iterRes.getDelay_final();
423  *m_IterQual= iterRes.getQuality();
424  *m_IterIdx= iterRes.getOFCIndex();
425  }
426 
427  }
428  else
429  {
430  *m_Itervalid= 0 ;
431  *m_Iterconverged= 0 ;
432  *m_IterNIter= -999 ;
433  *m_IterAmpl= -999 ;
434  *m_IterTau= -999 ;
435  *m_IterPeakSample= -999 ;
436  *m_IterDelay= -999 ;
437  *m_IterQual= -999 ;
438  *m_IterIdx= -999;
439  }
440  }
441 
442  return StatusCode::SUCCESS ;
443 
444 }
445 
446 
447 } // end of D3PD namespace
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
D3PD::LArDigitFillerTool::fill
virtual StatusCode fill(const LArDigit &p)
Fill one block — type-safe version.
Definition: LArDigitFillerTool.cxx:192
D3PD::LArDigitFillerTool::m_hecId
const LArHEC_ID * m_hecId
Definition: LArDigitFillerTool.h:85
D3PD::LArDigitFillerTool::m_IterIdx
short * m_IterIdx
Definition: LArDigitFillerTool.h:118
D3PD::LArDigitFillerTool::m_onlineHelper
const LArOnlineID * m_onlineHelper
Definition: LArDigitFillerTool.h:83
LArOFIterResults::getNIterPerf
int getNIterPerf() const
Definition: LArOFIterResults.h:165
LArEM_Base_ID::phi
int phi(const Identifier id) const
return phi according to :
D3PD::LArDigitFillerTool::book
virtual StatusCode book()
Book variables for this block.
Definition: LArDigitFillerTool.cxx:114
LArEM_ID.h
LArHEC_Base_ID::eta
int eta(const Identifier id) const
return eta [0,9] outer part [0,3] inner part
SG::ReadCondHandle
Definition: ReadCondHandle.h:44
LArOFIterResults::getOFCIndex
unsigned getOFCIndex() const
Definition: LArOFIterResults.h:193
CaloCell_ID::em_idHelper
const LArEM_ID * em_idHelper() const
access to EM idHelper
Definition: CaloCell_ID.h:63
AtlasDetectorID::is_lar_fcal
bool is_lar_fcal(Identifier id) const
Definition: AtlasDetectorID.h:839
D3PD::LArDigitFillerTool::m_Itervalid
bool * m_Itervalid
Definition: LArDigitFillerTool.h:110
D3PD::LArDigitFillerTool::m_sca
std::vector< unsigned int > * m_sca
Definition: LArDigitFillerTool.h:106
D3PD::LArDigitFillerTool::m_IterQual
float * m_IterQual
Definition: LArDigitFillerTool.h:117
D3PD::LArDigitFillerTool::m_emId
const LArEM_ID * m_emId
Definition: LArDigitFillerTool.h:84
CaloCondBlobAlgs_fillNoiseFromASCII.gain
gain
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:110
ReadCellNoiseFromCool.cabling
cabling
Definition: ReadCellNoiseFromCool.py:154
LArOnlineID_Base::slot
int slot(const HWIdentifier id) const
Return the slot number of a hardware cell identifier: slot = [1,15] Slot-ID in top part of the crat...
Definition: LArOnlineID_Base.cxx:1961
LArFCAL_Base_ID::module
int module(const Identifier id) const
module [1,3]
D3PD::LArDigitFillerTool::m_storeId
bool m_storeId
Definition: LArDigitFillerTool.h:69
LArEM_Base_ID::sampling
int sampling(const Identifier id) const
return sampling according to :
D3PD::AddVariable::addVariable
virtual StatusCode addVariable(const std::string &name, const std::type_info &ti, void *&ptr, const std::string &docstring="", const void *defval=0)
Add a variable to the tuple.
Definition: AddVariable.cxx:85
SG::VarHandleKey::key
const std::string & key() const
Return the StoreGate ID for the referenced object.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:141
D3PD::LArDigitFillerTool::m_IterDelay
float * m_IterDelay
Definition: LArDigitFillerTool.h:116
LArOFIterResults::getDelay_final
float getDelay_final() const
Definition: LArOFIterResults.h:185
checkRpcDigits.digit
digit
Definition: checkRpcDigits.py:186
LArHEC_ID.h
HWIdentifier
Definition: HWIdentifier.h:13
CaloGain::LARNGAIN
@ LARNGAIN
Definition: CaloGain.h:19
LArOnlineID_Base::barrel_ec
int barrel_ec(const HWIdentifier id) const
Return the position barrel or endcap of a hardware cell identifier: barrel_ec = [0,...
Definition: LArOnlineID_Base.cxx:1942
D3PD::LArDigitFillerTool::m_phi
int * m_phi
Definition: LArDigitFillerTool.h:94
LArOFIterResults::getQuality
float getQuality() const
Definition: LArOFIterResults.h:189
D3PD::LArDigitFillerTool::m_barrel_ec
int * m_barrel_ec
Definition: LArDigitFillerTool.h:97
LArOFIterResults::getTau
float getTau() const
Definition: LArOFIterResults.h:173
LArOFIterResults::getValid
bool getValid() const
Definition: LArOFIterResults.h:157
D3PD::LArDigitFillerTool::m_IterPeakSample
short * m_IterPeakSample
Definition: LArDigitFillerTool.h:115
LArEM_Base_ID::eta
int eta(const Identifier id) const
return eta according to :
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
LArFCAL_Base_ID::eta
int eta(const Identifier id) const
eta [0,63] module 1 ; [0,31] module 2 ; [0,15] module 3
LArOFIterResultsContainer.h
CaloCell_ID.h
CaloCell_ID::hec_idHelper
const LArHEC_ID * hec_idHelper() const
access to HEC idHelper
Definition: CaloCell_ID.h:69
D3PD::LArDigitFillerTool::m_IterNIter
short * m_IterNIter
Definition: LArDigitFillerTool.h:112
D3PD::LArDigitFillerTool::m_eta
int * m_eta
Definition: LArDigitFillerTool.h:93
LArFCAL_Base_ID::phi
int phi(const Identifier id) const
phi [0,15]
D3PD::LArDigitFillerTool::m_hec
bool m_hec
Definition: LArDigitFillerTool.h:72
D3PD::LArDigitFillerTool::m_fcalId
const LArFCAL_ID * m_fcalId
Definition: LArDigitFillerTool.h:86
D3PD
Block filler tool for noisy FEB information.
Definition: InnerDetector/InDetMonitoring/InDetGlobalMonitoring/macros/EnhancedPrimaryVertexMonitoring/TrigD3PD/ChainGroup.h:21
LArOnlineID_Base::channel
int channel(const HWIdentifier id) const
Return the channel number of a hardware cell identifier channel = [0,127] in all FEB.
Definition: LArOnlineID_Base.cxx:1967
LArFebHeader::SCA
const std::vector< uint16_t > & SCA() const
get the SCA's
Definition: LArFebHeader.h:92
D3PD::LArDigitFillerTool::m_FT
int * m_FT
Definition: LArDigitFillerTool.h:99
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
LArDigit.h
D3PD::LArDigitFillerTool::m_em
bool m_em
Definition: LArDigitFillerTool.h:71
LArDigit
Liquid Argon digit base class.
Definition: LArDigit.h:25
lumiFormat.i
int i
Definition: lumiFormat.py:92
LArOFIterResults::getPeakSample_final
unsigned getPeakSample_final() const
Definition: LArOFIterResults.h:181
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
beamspotman.n
n
Definition: beamspotman.py:731
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
D3PD::LArDigitFillerTool::m_dumpIter
bool m_dumpIter
Definition: LArDigitFillerTool.h:78
LArOFIterResultsContainer
Definition: LArOFIterResultsContainer.h:14
D3PD::LArDigitFillerTool::m_samples
std::vector< int > * m_samples
Definition: LArDigitFillerTool.h:105
D3PD::LArDigitFillerTool::m_calo
int * m_calo
Definition: LArDigitFillerTool.h:96
D3PD::LArDigitFillerTool::m_slot
int * m_slot
Definition: LArDigitFillerTool.h:100
Amg::transform
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
Definition: GeoPrimitivesHelpers.h:156
D3PD::LArDigitFillerTool::m_pos_neg
int * m_pos_neg
Definition: LArDigitFillerTool.h:98
D3PD::LArDigitFillerTool::m_savesca
bool m_savesca
Definition: LArDigitFillerTool.h:65
test_pyathena.parent
parent
Definition: test_pyathena.py:15
LArOnlineID_Base::pos_neg
int pos_neg(const HWIdentifier id) const
Return the side of a hardware cell identifier pos_neg = [0,1] positive-side or negative-side Barrel...
Definition: LArOnlineID_Base.cxx:1954
D3PD::BlockFillerTool
Type-safe wrapper for block filler tools.
Definition: BlockFillerTool.h:68
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
D3PD::LArDigitFillerTool::m_IterTau
float * m_IterTau
Definition: LArDigitFillerTool.h:114
D3PD::LArDigitFillerTool::m_CaloType
std::string m_CaloType
Definition: LArDigitFillerTool.h:68
AtlasDetectorID::is_lar_hec
bool is_lar_hec(Identifier id) const
Definition: AtlasDetectorID.h:829
CaloCell_ID
Helper class for offline cell identifiers.
Definition: CaloCell_ID.h:34
D3PD::LArDigitFillerTool::m_fcal
bool m_fcal
Definition: LArDigitFillerTool.h:73
D3PD::LArDigitFillerTool::m_cellIndex
long m_cellIndex
Definition: LArDigitFillerTool.h:89
D3PD::LArDigitFillerTool::m_offId
unsigned int * m_offId
Definition: LArDigitFillerTool.h:108
LArOnlineID_Base::feb_Id
HWIdentifier feb_Id(int barrel_ec, int pos_neg, int feedthrough, int slot) const
Create feb_Id from fields.
Definition: LArOnlineID_Base.cxx:1483
LArDigitFillerTool.h
Block filler tool for CaloCell, implementing similar features of CBNTAA_CaloCell.
LArOFIterResults::getAmplitude
float getAmplitude() const
Definition: LArOFIterResults.h:169
python.PyKernel.detStore
detStore
Definition: PyKernel.py:41
LArFebHeaderContainer.h
LArOFIterResults::getConverged
bool getConverged() const
Definition: LArOFIterResults.h:161
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
errorcheck.h
Helpers for checking error return status codes and reporting errors.
D3PD::LArDigitFillerTool::m_channel
int * m_channel
Definition: LArDigitFillerTool.h:101
SG::CondHandleKey::initialize
StatusCode initialize(bool used=true)
D3PD::LArDigitFillerTool::m_gain
int * m_gain
Definition: LArDigitFillerTool.h:95
D3PD::LArDigitFillerTool::m_gains
bool m_gains[CaloGain::LARNGAIN]
Definition: LArDigitFillerTool.h:77
CaloGain::LARHIGHGAIN
@ LARHIGHGAIN
Definition: CaloGain.h:18
ReadOfcFromCool.nsamples
nsamples
Definition: ReadOfcFromCool.py:115
LArFCAL_ID.h
CaloGain::LARMEDIUMGAIN
@ LARMEDIUMGAIN
Definition: CaloGain.h:18
LArOnlineID_Base::feedthrough
int feedthrough(const HWIdentifier id) const
Return the feedthrough of a hardware cell identifier : feedthrough = [0,31] Barrel - A/C side or H/...
Definition: LArOnlineID_Base.cxx:1948
D3PD::LArDigitFillerTool::m_cablingKey
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
Definition: LArDigitFillerTool.h:62
Identifier::get_compact
value_type get_compact(void) const
Get the compact id.
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
LArHEC_Base_ID::sampling
int sampling(const Identifier id) const
return sampling [0,3] (only 0 for supercells)
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
LArFebHeaderContainer
Container class for LArFebHeader.
Definition: LArFebHeaderContainer.h:20
DataVector::at
const T * at(size_type n) const
Access an element, as an rvalue.
D3PD::LArDigitFillerTool::m_layer
int * m_layer
Definition: LArDigitFillerTool.h:92
LArOFIterResults::getChannelID
HWIdentifier getChannelID() const
Definition: LArOFIterResults.h:149
D3PD::LArDigitFillerTool::m_Iterconverged
bool * m_Iterconverged
Definition: LArDigitFillerTool.h:111
CaloGain::LARLOWGAIN
@ LARLOWGAIN
Definition: CaloGain.h:18
D3PD::LArDigitFillerTool::m_IterAmpl
float * m_IterAmpl
Definition: LArDigitFillerTool.h:113
D3PD::LArDigitFillerTool::m_dump_gain
std::string m_dump_gain
Definition: LArDigitFillerTool.h:76
StoreGateSvc.h
AtlasDetectorID::is_lar_em
bool is_lar_em(Identifier id) const
Definition: AtlasDetectorID.h:818
DataVector::size
size_type size() const noexcept
Returns the number of elements in the collection.
D3PD::LArDigitFillerTool::m_savedigit
bool m_savedigit
Definition: LArDigitFillerTool.h:66
CaloCell_ID::fcal_idHelper
const LArFCAL_ID * fcal_idHelper() const
access to FCAL idHelper
Definition: CaloCell_ID.h:75
LArOnlineID.h
D3PD::LArDigitFillerTool::LArDigitFillerTool
LArDigitFillerTool(const std::string &type, const std::string &name, const IInterface *parent)
Standard Gaudi tool constructor.
Definition: LArDigitFillerTool.cxx:50
LArOFIterResults
Definition: LArOFIterResults.h:15
LArHEC_Base_ID::phi
int phi(const Identifier id) const
return phi[0,63] outer part [0,31] inner part
LArOnOffIdMapping
Definition: LArOnOffIdMapping.h:20