ATLAS Offline Software
LArCellCont.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 
8 #include "GaudiKernel/IToolSvc.h"
13 #include "GaudiKernel/EventContext.h"
16 #include <iostream>
17 
18 LArCellCont::LArCellCont() : m_event(0), m_lumi_block(0), m_bcid(5000), m_bcidEvt(5000), m_BCIDcache(false)
19 {}
20 
23  const LArOnOffIdMapping& onOffMap,
24  const LArMCSym& mcsym,
25  const LArFebRodMapping& febrod,
26  const LArBadChannelCont& badchannel,
27  const CaloDetDescrManager& man) {
28 
29 #ifdef TRIGLARCELLDEBUG
30 std::cout << "LArCellCont \t\t DEBUG \t in initialize" << std::endl;
31 #endif
32 
33  ServiceHandle<IToolSvc> toolSvc("ToolSvc", "LArCellCont");
34  CHECK_WITH_CONTEXT( toolSvc.retrieve(), "LArCellCont");
35 
36  ServiceHandle<StoreGateSvc> detStore("DetectorStore", "LArCellCont");
37  CHECK_WITH_CONTEXT( detStore.retrieve(), "LArCellCont");
38 
39  const LArOnlineID* onlineId = nullptr;
40  CHECK_WITH_CONTEXT( detStore->retrieve(onlineId,"LArOnlineID"), "LArCellCont" );
41 
42  CHECK_WITH_CONTEXT( m_conv.initialize(febrod), "LArCellCont" );
43  m_hash.initialize(0, febrod.getLArRoModIDvec() );
44 
45  HWIdentifier larrodid(0);
46  for(int i=0;i<m_hash.max();i++){
47 #ifdef TRIGLARCELLDEBUG
48  std::cout << "LArCellCont\t\t DEBUG \t"
49  << i << " " << std::hex << m_hash.identifier(i) << std::dec
50  << std::endl;
51 #endif
52  // A collection per ROD/ROB/HashId
53  LArCellCollection* mycoll = new LArCellCollection(larrodid);
54  mycoll->reserve(256);
55  this->push_back(mycoll);
56  m_second.push_back(HWIdentifier(0));
57  m_eventNumber.push_back(0xFFFFFFFF);
58  } // end of for id
59  // Not anymore necessary
60  //delete larrodid;
61 
62 std::vector<const CaloCellCorrection*> LArCellCorrTools;
63 
64 MakeLArCellFromRaw makeCell;
65 makeCell.setThreshold(-100);
66 makeCell.initialize( roiMap, onOffMap, man, &LArCellCorrTools, 0 );
67 
68 StatusCode sc = toolSvc->retrieveTool("LArBadFebMasker", m_badFebMasker);
69 bool toolAvailable = sc.isSuccess();
70 
71 if(!toolAvailable) //not a critical error. LArCellCont can proceed as usual, without masking.
72  REPORT_MESSAGE_WITH_CONTEXT(MSG::INFO, "LArCellCont") <<
73  "Failed to retrieve LArBadFebMasker - no masking will be done." << endmsg;
74 
75 std::vector<uint32_t> RobsFromMissingFeb;
76 
77 int count = 0;
78 std::vector<HWIdentifier>::const_iterator beg = onlineId->channel_begin();
79 std::vector<HWIdentifier>::const_iterator end = onlineId->channel_end ();
80 for( ; beg != end; ++beg ){
81  HWIdentifier hwid = mcsym.ZPhiSymOnl(*beg);
82  if ( m_indexset.try_emplace (hwid, count).second ) {
83  ++count;
84  }
85 } // end of loop over online IDs
86 int indexsetmax = m_indexset.size();
87 // the extra indexsetmax is used for invalid cells
88 m_corrBCID.resize(indexsetmax+1,0.0);
89 
90 for(unsigned int i=0; i< m_hashSym.size(); ++i) (m_hashSym[i]).clear();
91 m_hashSym.clear();
92 m_hashSym.resize(onlineId->febHashMax());
93  for (unsigned iFeb=0;iFeb<onlineId->febHashMax();++iFeb) {
94  const HWIdentifier& febid=onlineId->feb_Id(IdentifierHash(iFeb));
95  if( (toolAvailable && (m_badFebMasker->febMissing(febid)) ) || !toolAvailable ){
96  RobsFromMissingFeb.push_back( m_conv.getRobID( m_conv.getRodID( febrod, febid ) ) );
97  }
98  if( (toolAvailable && !(m_badFebMasker->febMissing(febid)) ) || !toolAvailable ){
99  // get RodID associated with the collection
100  const HWIdentifier& rodId = febrod.getReadoutModuleID(febid);
101  unsigned int rodId32 = m_conv.getRodIDFromROM(rodId);
102  // index in the collection vector
103  int idx = m_hash(rodId32);
104 #ifdef TRIGLARCELLDEBUG
105  std::cout << "LArCellCont\t\t DEBUG \t"
106  << idx << " " << std::hex << m_hash.identifier(idx) << std::dec
107  << std::endl;
108 #endif
109  // get all channels for a FEB
110  std::map<LArRoIMap::TT_ID,std::vector<LArCell* > > collMap;
111  if ( (*this)[idx]->size() != 0 ) { // This is the second FEB
112  m_second[idx] = febid;
113  }
114  std::vector<int>& hashTab = m_hashSym[idx];
115  hashTab.reserve(256);
116  unsigned int febidcomp = febid.get_identifier32().get_compact();
117  for(int ch=0;ch<128;ch++){
118  LArRoIMap::TT_ID ttId;
119  LArCell* larcell = makeCell.getLArCell(febidcomp,ch,0,0,0,ttId);
120  if ( larcell ) { // if it is a good cell
121  // Fixes default value
122  larcell->setGain(CaloGain::LARHIGHGAIN);
123  (*this)[idx]->push_back(larcell);
124  LArBadChannel bc = badchannel.offlineStatus(larcell->ID());
125  bool good(true);
126  if (! bc.good() ){
127  // cell has some specific problems
128  if ( bc.unstable() ) good=false;
129  if ( bc.highNoiseHG() ) good=false;
130  if ( bc.highNoiseMG() ) good=false;
131  if ( bc.highNoiseLG() ) good=false;
132  if ( bc.problematicForUnknownReason() ) good=false;
133  }
134  if ( good ) collMap[ttId].push_back(larcell); // cell masked if not know to be good
135  HWIdentifier hwsym = mcsym.ZPhiSymOnl(onlineId->channel_Id(febid,ch));
136  if ( m_indexset.find( hwsym ) != m_indexset.end() ){
137  int index = (m_indexset.find( hwsym ))->second;
138  hashTab.push_back( index );
139  } else hashTab.push_back(indexsetmax);
140 #ifdef TRIGLARCELLDEBUG
141  std::cout << "Cell registered at Collection "
142  << std::hex << febid.get_identifier32().get_compact() << std::dec <<
143  " Channel " << ch << " TTId " << (unsigned int)ttId
144  << std::endl;
145 #endif
146  }
147  else {// add a dummy cell
148 #ifdef TRIGLARCELLDEBUG
149  std::cout << "Cell not existing" << std::endl;
150 #endif
151  LArCell* larcell = new LArCell();
152  (*this)[idx]->push_back(larcell);
153  hashTab.push_back( indexsetmax);
154  } // end of if bad cell
155  } // end of for ch loop
156  for (const auto& [ttid, cells] : collMap) {
157  // Ones needs to dump the mapped vector to an allocated vector
159  vec->reserve(cells.size());
160  for(LArCell* c : cells)
161  {
162  // if(doCellMasking && m_masker->cellShouldBeMasked(c->ID()) )
163  vec->push_back(c);
164  }
165  (*this)[idx]->setTT(ttid,vec->begin(),vec->end());
166  m_vecs.push_back(vec);
167  }//End of loop over the map
168  } // End of check for missing FEB
169 } // end of FEB for
170 
171 m_MissingROBs.clear();
172 for(size_t i = 0 ; i < RobsFromMissingFeb.size() ; i++)
173 for(size_t j = i+1 ; j < RobsFromMissingFeb.size() ; j++)
174 if ( RobsFromMissingFeb[i] == RobsFromMissingFeb[j] )
175 m_MissingROBs.push_back(RobsFromMissingFeb[i]);
176 RobsFromMissingFeb.clear();
177 
178 return StatusCode::SUCCESS;
179 }
180 
182 int number_of_col = m_hash.max();
183 for(int i=0;i<number_of_col;i++){
184  int number_of_cell = ((*this)[i])->size();
185  for(int j=0;j<number_of_cell;j++)
186  delete ((*((*this)[i]))[j]);
187  if ((*this)[i] != NULL)
188  delete ((*this)[i]);
189 } // End of for m_hash.max()
190 // Destroy also the vector of vectors to TT maps.
191 for(size_t i=0;i<m_vecs.size();i++){
192  delete m_vecs[i];
193 }
194 for(unsigned int i=0; i< m_hashSym.size(); ++i) (m_hashSym[i]).clear();
195 m_hashSym.clear();
196 return StatusCode::SUCCESS;
197 } // end of finalize
198 
199 // This WILL NOT trigger BSCNV. This assumes BSCNV was done before
200 const std::vector<LArCellCollection*>::const_iterator
201 LArCellCont::find(const HWIdentifier& rodid) const{
202  int idx = m_hash(m_conv.getRodIDFromROM (rodid));
203  return (std::vector<LArCellCollection*>::const_iterator)((*this).begin()+idx);
204 }
205 
206 // This WILL NOT trigger BSCNV. This assumes BSCNV was done before
207 const std::vector<LArCellCollection*>::const_iterator
208 LArCellCont::find(const unsigned int& rodid) {
209  int idx = m_hash(rodid);
210  if ( m_eventNumber[idx] != m_event ) { // Decoding a new event
212  return (std::vector<LArCellCollection*>::const_iterator)((*this).begin()+idx);
213  // Keep track of last decoded number
214  } else { // Event already decoded. Return Null
215  return (std::vector<LArCellCollection*>::const_iterator)((*this).end());
216  }
217 }
218 
219 void LArCellCont::applyBCIDCorrection(const unsigned int& rodid){
220  int idx = m_hash(rodid);
221  std::vector<LArCellCollection*>::const_iterator it = (std::vector<LArCellCollection*>::const_iterator)((*this).begin()+idx);
222  LArCellCollection* col = (*it);
223  unsigned int itsize = col->size();
224  std::vector<int>& hashTab = m_hashSym[idx];
225  for(unsigned int i=0; i< itsize; ++i){
226  float cor = m_corrBCID[ hashTab[i] ];
227  LArCell* cell = col->operator[](i);
228 #ifdef TRIGLARCELLDEBUG
229  std::cout << "LArCellId= " << cell->ID() << " Ecorr= " << cor << " MeV " << std::endl;
230 #endif
231  float cellenergy = cell->energy();
232  cell->setEnergyFast( cellenergy - cor );
233  }
234  return;
235 }
236 
238 LArCellCont::findsec(const unsigned int& rodid) const{
239  int idx = m_hash(rodid);
240  return m_second[idx];
241 }
242 
243 void LArCellCont::lumiBlock_BCID(const unsigned int lumi_block, const unsigned int BCID){
244  if ( m_bcid != BCID ) {
245 #ifdef TRIGLARCELLDEBUG
246  std::cout << "Update : CURRENT lumi_block, BCID = " << lumi_block << ", " << BCID << " <--> PREVIOUS lumi_block = " << m_lumi_block << ", " << m_bcid << std::endl;
247 #endif
248  m_lumi_block = lumi_block; m_bcid = BCID;
249  m_BCIDcache=false;
250  }
251 }
252 
254 
255  std::map<HWIdentifier,int>::const_iterator end = m_indexset.end ();
256 
257  std::map<HWIdentifier,int>::const_iterator beg = m_indexset.begin();
258  for( ; beg != end ; ++beg ) {
259  HWIdentifier hwid = (*beg).first;
260  int idx = (*beg).second;
261  if ( idx < (int)m_corrBCID.size() ){
262  Identifier id = onoff.cnvToIdentifier(hwid);
263  float corr = avg.average(id);
264  m_corrBCID[idx] = corr;
265  }
266  } // end of HWID
267  return;
268 }
269 
270 bool LArCellCont::lumiBCIDCheck( const EventContext& context ) {
271  uint32_t bcid = context.eventID().bunch_crossing_id();
272  if ( bcid == m_bcid ) return false;
273  EventIDBase::event_number_t evN = context.eventID().event_number();
274  if ( evN == m_bcidEvt ) return false;
275  m_bcid = bcid;
276  m_bcidEvt = evN;
277  return true;
278 }
DataVector::reserve
void reserve(size_type n)
Attempt to preallocate enough memory for a specified number of elements.
LArFebRodMapping
Definition: LArFebRodMapping.h:17
Hid2RESrcID::getRobID
uint32_t getRobID(uint32_t rod_id) const
Make a ROB Source ID from a ROD source ID.
Definition: Hid2RESrcID.cxx:100
RunTileCalibRec.cells
cells
Definition: RunTileCalibRec.py:271
python.SystemOfUnits.second
int second
Definition: SystemOfUnits.py:120
LArBadChannel::good
bool good() const
Returns true if no problems at all (all bits at zero)
Definition: LArBadChannel.h:90
sendEI_SPB.ch
ch
Definition: sendEI_SPB.py:35
MakeLArCellFromRaw::getLArCell
LArCell * getLArCell(unsigned int feb, unsigned int chan, int e, int t, int q, CaloGain::CaloGain caloGain, unsigned int &ttId) const
access by Identifier
Definition: MakeLArCellFromRaw.cxx:272
CHECK_WITH_CONTEXT
#define CHECK_WITH_CONTEXT(...)
Evaluate an expression and check for errors, with an explicitly specified context name.
Definition: Control/AthenaKernel/AthenaKernel/errorcheck.h:396
LArCellCont::m_hash
LArRodIdHash m_hash
Hash ID Identifier mapping to collection index.
Definition: LArCellCont.h:99
ReadCellNoiseFromCool.cell
cell
Definition: ReadCellNoiseFromCool.py:53
LArCellCont.h
LArOnlineID_Base::febHashMax
size_type febHashMax(void) const
define feb hash tables max size
Definition: LArOnlineID_Base.cxx:1892
LArFebRodMapping::getReadoutModuleID
HWIdentifier getReadoutModuleID(const HWIdentifier &id) const
Definition: LArFebRodMapping.cxx:15
LArRodIdHash::initialize
void initialize(int offset, const std::vector< HWIdentifier > &roms)
Initialize.
Definition: LArRodIdHash.cxx:20
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
LArCellCont::m_BCIDcache
bool m_BCIDcache
flag to only update cache when trying to apply corrections
Definition: LArCellCont.h:130
SG::VIEW_ELEMENTS
@ VIEW_ELEMENTS
this data object is a view, it does not own its elmts
Definition: OwnershipPolicy.h:18
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
LArRodIdHash::identifier
ID identifier(int i) const
reverse conversion
Definition: LArRodIdHash.cxx:65
index
Definition: index.py:1
LArCellCont::m_second
std::vector< HWIdentifier > m_second
FEB Hardware Identifier for second FEBs in a Collection.
Definition: LArCellCont.h:104
LArCellCont::lumiBCIDCheck
bool lumiBCIDCheck(const EventContext &context)
Definition: LArCellCont.cxx:270
LArBadXCont
Conditions-Data class holding LAr Bad Channel or Bad Feb information.
Definition: LArBadChannelCont.h:28
Hid2RESrcID::getRodID
uint32_t getRodID(const LArFebRodMapping &rodMapping, const HWIdentifier &hid) const
make a ROD SrcID for a HWIdentifier
Definition: Hid2RESrcID.cxx:88
LArCellCont::find
const std::vector< LArCellCollection * >::const_iterator find(const HWIdentifier &id) const
Finds a collection by its LArReadoutModuleID.
Definition: LArCellCont.cxx:201
MakeLArCellFromRaw
Building LArCell objects from LArRawChannel.
Definition: MakeLArCellFromRaw.h:31
skel.it
it
Definition: skel.GENtoEVGEN.py:396
ILArBadFebMasker::febMissing
virtual bool febMissing(const HWIdentifier &febId) const =0
Identifier::get_identifier32
Identifier32 get_identifier32() const
Get the 32-bit version Identifier, will be invalid if >32 bits needed.
LArCellCont::m_eventNumber
std::vector< unsigned int > m_eventNumber
eventNumber of a given Collection
Definition: LArCellCont.h:106
vec
std::vector< size_t > vec
Definition: CombinationsGeneratorTest.cxx:12
LArBadChannel::highNoiseHG
bool highNoiseHG() const
Definition: LArBadChannel.h:116
LArCellCont::findsec
HWIdentifier findsec(const unsigned int &id) const
Each Collection contains data from 2 FEBs.
Definition: LArCellCont.cxx:238
HWIdentifier
Definition: HWIdentifier.h:13
LArBadXCont::offlineStatus
LArBC_t offlineStatus(const Identifier id) const
Query the status of a particular channel by offline ID This is the main client access method.
LArRoIMap.h
Mapping between calorimeter trigger id to offline/online Identifier.
LArOnlineID_Base::channel_end
id_iterator channel_end() const
Definition: LArOnlineID_Base.cxx:1927
LArBadFebMasker.h
Identifier32::get_compact
value_type get_compact() const
Get the compact id.
Definition: Identifier32.h:44
XMLtoHeader.count
count
Definition: XMLtoHeader.py:85
CaloDetDescrManager.h
Definition of CaloDetDescrManager.
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
mergePhysValFiles.end
end
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:93
MakeLArCellFromRaw::initialize
void initialize(const LArRoIMap &roiMap, const LArOnOffIdMapping &onOffMap, const CaloDetDescrManager &man, const std::vector< const CaloCellCorrection * > *pCorr, unsigned int poolMaxSize=190000)
initialize the internal map
Definition: MakeLArCellFromRaw.cxx:45
PixelByteStreamErrors::BCID
@ BCID
Definition: PixelByteStreamErrors.h:13
CaloCellCorrection.h
python.setupRTTAlg.size
int size
Definition: setupRTTAlg.py:39
event_number_t
EventIDBase::event_number_t event_number_t
Definition: IEvtIdModifierSvc.h:30
LArCellCont::applyBCIDCorrection
void applyBCIDCorrection(const unsigned int &rodid)
method to apply correction based on the luminosity to the energy
Definition: LArCellCont.cxx:219
LArMCSym
Helper class to handle z-phi symmetry of calibration constants in MC.
Definition: LArMCSym.h:19
MakeLArCellFromRaw.h
lumiFormat.i
int i
Definition: lumiFormat.py:85
LArCellCont::m_lumi_block
float m_lumi_block
current lumi_block
Definition: LArCellCont.h:125
python.LArBadChannelDBAlg.xFFFFFFFF
xFFFFFFFF
Definition: LArBadChannelDBAlg.py:73
LArCellCont::m_event
unsigned int m_event
this event number
Definition: LArCellCont.h:108
LArBadChannel::problematicForUnknownReason
bool problematicForUnknownReason() const
Definition: LArBadChannel.h:126
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
Recovery.avg
def avg(a, b)
Definition: Recovery.py:79
Hid2RESrcID::initialize
StatusCode initialize(const LArFebRodMapping &rodMapping)
Definition: Hid2RESrcID.cxx:38
LArCellCont::m_bcidEvt
EventIDBase::event_number_t m_bcidEvt
Definition: LArCellCont.h:127
LArBadChannel
Definition: LArBadChannel.h:10
LArOnlineID_Base::channel_Id
HWIdentifier channel_Id(int barrel_ec, int pos_neg, int feedthrough, int slot, int channel) const
create channel identifier from fields
Definition: LArOnlineID_Base.cxx:1565
LArMCSym::ZPhiSymOnl
HWIdentifier ZPhiSymOnl(const HWIdentifier notSymOnlId) const
Find the symmetric HWID for an online channel identifier.
Definition: LArMCSym.h:91
CaloBCIDAverage
Definition: CaloBCIDAverage.h:16
CaloCell::setGain
void setGain(CaloGain::CaloGain gain=CaloGain::INVALIDGAIN)
set gain
Definition: CaloCell.cxx:173
DataVector< LArCell >
LArCellCont::m_badFebMasker
const ILArBadFebMasker * m_badFebMasker
A tool to help mask cells.
Definition: LArCellCont.h:115
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:1479
REPORT_MESSAGE_WITH_CONTEXT
#define REPORT_MESSAGE_WITH_CONTEXT(LVL, CONTEXT_NAME)
Report a message, with an explicitly specified context name.
Definition: Control/AthenaKernel/AthenaKernel/errorcheck.h:345
python.PyKernel.detStore
detStore
Definition: PyKernel.py:41
LArFebRodMapping::getLArRoModIDvec
const std::vector< HWIdentifier > & getLArRoModIDvec() const
"iterator" on LArReadoutModuleIDs
Definition: LArFebRodMapping.h:46
LArCellCollection
Container Class for LArCell in a ROB used by EF.
Definition: LArCellCollection.h:28
WriteBchToCool.beg
beg
Definition: WriteBchToCool.py:69
LArCellCont::m_corrBCID
std::vector< float > m_corrBCID
corrections for a given BCID
Definition: LArCellCont.h:121
Hid2RESrcID::getRodIDFromROM
uint32_t getRodIDFromROM(const COLLECTION_ID &hid) const
make a ROD SrcID for a COLLECTION_ID
Definition: Hid2RESrcID.cxx:75
errorcheck.h
Helpers for checking error return status codes and reporting errors.
LArCellCont::initialize
StatusCode initialize(const LArRoIMap &roiMap, const LArOnOffIdMapping &onOffMap, const LArMCSym &mcsym, const LArFebRodMapping &febrod, const LArBadChannelCont &badchannel, const CaloDetDescrManager &ddm)
initialize method.
Definition: LArCellCont.cxx:22
LArOnlineID
Definition: LArOnlineID.h:20
LArCell
Data object for LAr calorimeter readout cell.
Definition: LArCell.h:53
xAOD::bcid
setEventNumber setTimeStamp bcid
Definition: EventInfo_v1.cxx:133
LArBadChannel::highNoiseLG
bool highNoiseLG() const
Definition: LArBadChannel.h:122
CaloCell::ID
Identifier ID() const
get ID (from cached data member) non-virtual and inline for fast access
Definition: CaloCell.h:279
LArCellCont::m_conv
Hid2RESrcID m_conv
Hardware to Source ID conversion.
Definition: LArCellCont.h:101
CaloGain::LARHIGHGAIN
@ LARHIGHGAIN
Definition: CaloGain.h:18
LArCellCont::updateBCID
void updateBCID(const CaloBCIDAverage &, const LArOnOffIdMapping &)
update BCID dependent correction table for MT case
Definition: LArCellCont.cxx:253
query_example.col
col
Definition: query_example.py:7
LArRodIdHash::max
int max() const
return maximum number of IDs
Definition: LArRodIdHash.cxx:82
LArCellCont::m_bcid
unsigned int m_bcid
Definition: LArCellCont.h:126
LArCellCont::LArCellCont
LArCellCont()
Constructor.
Definition: LArCellCont.cxx:18
MakeLArCellFromRaw::setThreshold
void setThreshold(float t)
Definition: MakeLArCellFromRaw.cxx:341
CaloBCIDAverage.h
LArCellCont::lumiBlock_BCID
void lumiBlock_BCID(const unsigned int lumi_block, const unsigned int BCID)
sets LumiBlock and BCID
Definition: LArCellCont.cxx:243
ReadBchFromCool.good
good
Definition: ReadBchFromCool.py:433
LArCellCont::m_vecs
std::vector< DataVector< LArCell > * > m_vecs
One needs to destroy the TT vectors.
Definition: LArCellCont.h:110
CaloDetDescrManager
This class provides the client interface for accessing the detector description information common to...
Definition: CaloDetDescrManager.h:473
LArBadChannel::unstable
bool unstable() const
Definition: LArBadChannel.h:113
LArOnOffIdMapping::cnvToIdentifier
Identifier cnvToIdentifier(const HWIdentifier &sid) const
create an Identifier from a HWIdentifier (inline)
Definition: LArOnOffIdMapping.h:116
LArCellCont::m_indexset
std::map< HWIdentifier, int > m_indexset
index table
Definition: LArCellCont.h:123
LArRoIMap::TT_ID
unsigned int TT_ID
Definition: LArRoIMap.h:34
LArRoIMap
Mapping between calorimeter trigger id to offline/online Identifier.
Definition: LArRoIMap.h:31
LArNewCalib_DelayDump_OFC_Cali.idx
idx
Definition: LArNewCalib_DelayDump_OFC_Cali.py:69
LArBadChannel::highNoiseMG
bool highNoiseMG() const
Definition: LArBadChannel.h:119
LArCellCont::m_MissingROBs
std::vector< uint32_t > m_MissingROBs
List of Missing ROBs to be disabled at the RS.
Definition: LArCellCont.h:117
LArCellCont::m_hashSym
std::vector< std::vector< int > > m_hashSym
hash references to BCID
Definition: LArCellCont.h:119
IdentifierHash
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
Definition: IdentifierHash.h:25
python.compressB64.c
def c
Definition: compressB64.py:93
LArOnlineID_Base::channel_begin
id_iterator channel_begin() const
Returns an iterator pointing to a channel identifier collection.
Definition: LArOnlineID_Base.cxx:1922
ServiceHandle< IToolSvc >
LArOnOffIdMapping
Definition: LArOnOffIdMapping.h:20
LArCellCont::finalize
StatusCode finalize(void)
finalize method.
Definition: LArCellCont.cxx:181
Identifier
Definition: IdentifierFieldParser.cxx:14