ATLAS Offline Software
LArCond2NtupleBaseEB.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
13 #include "CaloDetDescr/CaloDetDescrElement.h"
14 
15 LArCond2NtupleBaseEB::LArCond2NtupleBaseEB(const std::string& name, ISvcLocator* pSvcLocator)
16  : AthAlgorithm(name, pSvcLocator)
17  , m_initialized(false)
18  , m_nt(nullptr)
19  , m_detStore(nullptr)
20  , m_emId(nullptr)
21  , m_hecId(nullptr)
22  , m_fcalId(nullptr)
23  , m_onlineId(nullptr)
24  , m_caloId(nullptr)
25  , m_FEBTempTool("LArFEBTempTool")
26 {
27 }
28 
30 
31  ATH_MSG_DEBUG("Initializing LArCond2Ntuple base class");
32 
33  if (m_ntpath.empty() || m_ntTitle.empty()) {
34  ATH_MSG_ERROR( "Need to set variable 'm_ntpath' and 'm_ntTitle' in constructor of deriving class!" );
35  return StatusCode::FAILURE;
36  }
37 
38  size_t i=m_ntpath.rfind('/');
39  if (i==std::string::npos) {
40  ATH_MSG_ERROR( "Expected at least on '/' in path " << m_ntpath );
41  return StatusCode::FAILURE;
42  }
43  std::string basepath(m_ntpath.begin(),m_ntpath.begin()+i);
44 
45  NTupleFilePtr file1(ntupleSvc(),basepath);
46  if (!file1){
47  ATH_MSG_ERROR( "Could not get NTupleFilePtr with path " << basepath << " failed" );
48  return StatusCode::FAILURE;
49  }
50  NTuplePtr nt(ntupleSvc(),m_ntpath);
51  if (!nt) {
52  nt=ntupleSvc()->book(m_ntpath,CLID_ColumnWiseTuple,m_ntTitle);
53  }
54  if (!nt){
55  ATH_MSG_ERROR( "Booking of NTuple at "<< m_ntpath << " and name " << m_ntTitle << " failed" );
56  return StatusCode::FAILURE;
57  }
58 
59  m_nt=nt;
60 
61  m_detStore= &(*detStore()); //for backward compatiblity
62 
63  const CaloIdManager* calo_id_manager;
64  ATH_CHECK(detStore()->retrieve(calo_id_manager,"CaloIdManager"));
65 
66  StatusCode sc;
69  if ( m_isSC ){
71  sc = detStore()->retrieve(ll, "LArOnline_SuperCellID");
72  if (sc.isFailure()) {
73  ATH_MSG_ERROR( "Could not get LArOnlineID helper !" );
74  return StatusCode::FAILURE;
75  } else {
76  m_onlineId = ll;
77  ATH_MSG_DEBUG("Found the LArOnlineID helper");
78  }
79  m_caloId = calo_id_manager->getCaloCell_SuperCell_ID();
80  } else { // m_isSC
81  const LArOnlineID* ll;
82  sc = detStore()->retrieve(ll, "LArOnlineID");
83  if (sc.isFailure()) {
84  msg(MSG::ERROR) << "Could not get LArOnlineID helper !" << endmsg;
85  return StatusCode::FAILURE;
86  } else {
87  m_onlineId = ll;
88  ATH_MSG_DEBUG(" Found the LArOnlineID helper. ");
89  }
90  m_caloId = calo_id_manager->getCaloCell_ID();
91  } // end of m_isSC if
92 
96 
97  if (!m_emId) {
98  ATH_MSG_ERROR( "Could not access lar EM ID helper" );
99  return StatusCode::FAILURE;
100  }
101  if (!m_fcalId) {
102  ATH_MSG_ERROR( "Could not access lar FCAL ID helper" );
103  return StatusCode::FAILURE;
104  }
105  if (!m_hecId) {
106  ATH_MSG_ERROR( "Could not access lar HEC ID helper" );
107  return StatusCode::FAILURE;
108  }
109 
110 
111  if (m_addFEBTemp) {
112  sc = m_FEBTempTool.retrieve();
113  if (sc!=StatusCode::SUCCESS) {
114  ATH_MSG_ERROR( " Can't get FEBTempTool." );
115  return sc;
116  }
117  }
118 
119  ATH_CHECK( m_BCKey.initialize() );
125 
126  //Online-identifier variables
127  sc=nt->addItem("channelId",m_SC,m_onlChanId,0x38000000,0x3A000000);
128  if (sc!=StatusCode::SUCCESS) {
129  ATH_MSG_ERROR( "addItem 'channelId' failed" );
130  return StatusCode::FAILURE;
131  }
132 
133  if(m_expandId) {
134 
135  sc=nt->addItem("barrel_ec",m_SC,m_barrel_ec,0,1);
136  if (sc!=StatusCode::SUCCESS) {
137  ATH_MSG_ERROR( "addItem 'barrel_ec' failed" );
138  return StatusCode::FAILURE;
139  }
140 
141  sc=nt->addItem("pos_neg",m_SC,m_pos_neg,0,1);
142  if (sc!=StatusCode::SUCCESS) {
143  ATH_MSG_ERROR( "addItem 'pos_neg' failed" );
144  return StatusCode::FAILURE;
145  }
146 
147  sc=nt->addItem("FT",m_SC,m_FT,0,32);
148  if (sc!=StatusCode::SUCCESS) {
149  ATH_MSG_ERROR( "addItem 'FT' failed" );
150  return StatusCode::FAILURE;
151  }
152 
153  sc=nt->addItem("slot",m_SC,m_slot,1,15);
154  if (sc!=StatusCode::SUCCESS) {
155  ATH_MSG_ERROR( "addItem 'slot' failed" );
156  return StatusCode::FAILURE;
157  }
158 
159  sc=nt->addItem("channel",m_SC,m_channel,0,127);
160  if (sc!=StatusCode::SUCCESS){
161  ATH_MSG_ERROR( "addItem 'channel' failed" );
162  return StatusCode::FAILURE;
163  }
164  }//m_expandId
165 
166  if(m_addCalib) {
167  sc=nt->addItem("calibLine",m_SC,m_calibLine,0,127);
168  if (sc!=StatusCode::SUCCESS) {
169  ATH_MSG_ERROR( "addItem 'calibLine' failed" );
170  return StatusCode::FAILURE;
171  }
172 
173 
174  sc=nt->addItem("isConnected",m_SC,m_isConnected,0,1);
175  if (sc!=StatusCode::SUCCESS) {
176  ATH_MSG_ERROR( "addItem 'isConnected' failed" );
177  return StatusCode::FAILURE;
178  }
179  }//m_addCalib
180 
181 
182  if (m_addHash) {
183  sc=nt->addItem("channelHash",m_SC,m_chanHash,0,200000);
184  if (sc!=StatusCode::SUCCESS) {
185  ATH_MSG_ERROR( "addItem 'channelHash' failed" );
186  return StatusCode::FAILURE;
187  }
188 
189  sc=nt->addItem("febHash",m_SC,m_febHash,0,2000);
190  if (sc!=StatusCode::SUCCESS) {
191  ATH_MSG_ERROR( "addItem 'febHash' failed" );
192  return StatusCode::FAILURE;
193  }
194 
195  if (m_OffId) {
196  sc=m_nt->addItem("oflHash",m_SC,m_oflHash,0,200000);
197  if (sc!=StatusCode::SUCCESS) {
198  ATH_MSG_ERROR( "addItem 'oflHash' failed" );
199  return StatusCode::FAILURE;
200  }
201  }
202  }//m_addHash
203 
204 
205  //Offline-identifier variables
206  if ( m_OffId ) {
207  sc=nt->addItem("offlineId",m_SC,m_oflChanId,0x20000000,0x40000000);
208  if (sc!=StatusCode::SUCCESS) {
209  ATH_MSG_ERROR( "addItem 'channelId' failed" );
210  return StatusCode::FAILURE;
211  }
212 
213  sc=nt->addItem("layer",m_SC,m_layer,0,4);
214  if (sc!=StatusCode::SUCCESS) {
215  ATH_MSG_ERROR( "addItem 'layer' failed" );
216  return StatusCode::FAILURE;
217  }
218 
219  if(m_realgeom) {
220  sc=nt->addItem("eta",m_SC,m_reta);
221  if (sc!=StatusCode::SUCCESS) {
222  ATH_MSG_ERROR( "addItem 'eta' failed" );
223  return StatusCode::FAILURE;
224  }
225  sc=nt->addItem("phi",m_SC,m_rphi);
226  if (sc!=StatusCode::SUCCESS) {
227  ATH_MSG_ERROR( "addItem 'phi' failed" );
228  return StatusCode::FAILURE;
229  }
230  }
231  sc=nt->addItem("ieta",m_SC,m_eta,0,510);
232  if (sc!=StatusCode::SUCCESS) {
233  ATH_MSG_ERROR( "addItem 'ieta' failed" );
234  return StatusCode::FAILURE;
235  }
236  sc=nt->addItem("iphi",m_SC,m_phi,0,1023);
237  if (sc!=StatusCode::SUCCESS) {
238  ATH_MSG_ERROR( "addItem 'iphi' failed" );
239  return StatusCode::FAILURE;
240  }
241 
242  sc=nt->addItem("region",m_SC,m_region,0,5);
243  if (sc!=StatusCode::SUCCESS) {
244  ATH_MSG_ERROR( "addItem 'region' failed" );
245  return StatusCode::FAILURE;
246  }
247  sc=nt->addItem("detector",m_SC,m_detector,0,2);
248  if (sc!=StatusCode::SUCCESS) {
249  ATH_MSG_ERROR( "addItem 'detector' failed" );
250  return StatusCode::FAILURE;
251 
252  }
253  }// m_OffId
254 
255  if (m_addBC) {
256  sc=nt->addItem("badChan",m_SC,m_badChanWord);
257  if (sc!=StatusCode::SUCCESS) {
258  ATH_MSG_ERROR( "addItem 'badChan' failed" );
259  return StatusCode::FAILURE;
260  }
261  }
262 
263  if (m_addFEBTemp) {
264  sc=nt->addItem("FEBTemp1",m_SC,m_FEBTemp1);
265  if (sc!=StatusCode::SUCCESS) {
266  ATH_MSG_ERROR( "addItem 'FEBTemp1' failed" );
267  return StatusCode::FAILURE;
268  }
269  sc=nt->addItem("FEBTemp2",m_SC,m_FEBTemp2);
270  if (sc!=StatusCode::SUCCESS) {
271  ATH_MSG_ERROR( "addItem 'FEBTemp2' failed" );
272  return StatusCode::FAILURE;
273  }
274  }
275 
276  m_initialized=true;
277  return StatusCode::SUCCESS;
278 }
279 
281 
282  ATH_MSG_DEBUG("Starting fillFromIdentifier");
283  const LArBadChannelCont *bcCont = nullptr;
284  if ( m_addBC ) {
286  bcCont =*readHandle;
287  if( !bcCont) {
288  ATH_MSG_WARNING( "Do not have Bad chan container " << m_BCKey.key() );
289  return false;
290  }
291  }
292 
293  const LArCalibLineMapping *clCont=nullptr;
294  if(m_addCalib) {
295  if(m_isSC){
297  clCont={*clHdl};
298  }
299  else{
301  clCont={*clHdl};
302  }
303  if(!clCont) {
304  ATH_MSG_WARNING( "Do not have calib line mapping !!!" );
305  return false;
306  }
307  }
308 
309  const LArOnOffIdMapping* cabling=nullptr;
310  if(m_isSC){
312  cabling=*cablingHdl;
313  }
314  else{
316  cabling=*cablingHdl;
317  }
318 
319  if(!cabling) {
320  ATH_MSG_WARNING( "Do not have cabling !" );
321  return false;
322  }
323 
325 
326  if(m_expandId) {
327  m_barrel_ec[C] = m_onlineId->barrel_ec(hwid);
328  m_pos_neg[C] = m_onlineId->pos_neg(hwid);
329  m_FT[C] = m_onlineId->feedthrough(hwid);
330  m_slot[C] = m_onlineId->slot(hwid);
331  m_channel[C] = m_onlineId->channel(hwid);
332  }
333 
334  if (m_addHash) {
337  }
338 
339  if(m_addCalib) {
341  const std::vector<HWIdentifier>& calibLineV=clCont->calibSlotLine(hwid);
342  if(!calibLineV.empty()) m_calibLine[C] = m_onlineId->channel(calibLineV[0]);
343  }
344 
345 
346  if ( m_OffId ) {
349  m_eta[C]=NOT_VALID;
350  m_phi[C]=NOT_VALID;
351 
352  if(m_realgeom){
353  m_reta[C]=NOT_VALID;
354  m_rphi[C]=NOT_VALID;
355  }
359  }
360 
361  if (m_addBC) m_badChanWord[C]=0;
362  bool connected=false;
363 
364  const CaloDetDescrManager_Base* dd_man = nullptr;
365  if (m_realgeom) {
366  if(m_isSC) {
368  dd_man = *caloSuperCellMgrHandle;
369  }
370  else {
372  dd_man = *caloMgrHandle;
373  }
374  }
375 
376  try {
377  if (cabling->isOnlineConnected(hwid)) {
378  Identifier id=cabling->cnvToIdentifier(hwid);
379  if ( m_OffId ) {
380  m_oflChanId[C] = id.get_identifier32().get_compact();
382 
383  if (dd_man) {
384  const CaloDetDescrElement *elem = dd_man->get_element(id);
385  if(!elem) {
386  ATH_MSG_WARNING("Do not have CDDE for "<<id.getString());
387  } else {
388  m_reta[C] = elem->eta_raw();
389  m_rphi[C] = elem->phi_raw();
390  }
391  }
392 
393  if (m_emId->is_lar_em(id)) {
394  m_eta[C] = m_emId->eta(id);
395  m_phi[C] = m_emId->phi(id);
396  m_layer[C] = m_emId->sampling(id);
397  m_region[C] = m_emId->region(id);
398  m_detector[C] = std::abs(m_emId->barrel_ec(id)) - 1; //0-barrel, 1-EMEC-OW, 2-EMEC-IW
399  }
400  else if (m_hecId->is_lar_hec(id)) {
401  m_eta[C] = m_hecId->eta(id);
402  m_phi[C] = m_hecId->phi(id);
403  m_layer[C] = m_hecId->sampling(id);
404  m_region[C] = m_hecId->region(id);
405  m_detector[C] = 3;
406  }
407  else if (m_fcalId->is_lar_fcal(id)) {
408  m_eta[C] = m_fcalId->eta(id);
409  m_phi[C] = m_fcalId->phi(id);
410  m_layer[C] = m_fcalId->module(id);
411  m_region[C] = 0;
412  m_detector[C] = 4;
413  }
414  } // m_OffId
415  connected=true;
416  }//end if is connected
417  }catch (LArID_Exception & except) {}
418 
419  //bad-channel word
420  if (m_addBC) m_badChanWord[C]=bcCont->status(hwid).packedData();
421  // FEB temperatures
422  if (m_addFEBTemp) {
423  FEBTemp tv = m_FEBTempTool->getFebTemp(hwid);
424  if( !tv.empty() ) {
425  FEBTemp::const_iterator itb = tv.begin();
426  FEBTemp::const_iterator ite = tv.end();
427  for(;itb!=ite;++itb) {
428  m_FEBTemp1[C] = (*itb).first;
429  m_FEBTemp2[C] = (*itb).second;
430  }
431  }
432  }
433 
434  if(m_addCalib) m_isConnected[C] = (long)connected;
435 
436  return connected;
437 }
438 
439 
442 {
443  if(m_isSC) return m_cablingSCKey;
444  return m_cablingKey;
445 }
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
LArCond2NtupleBaseEB::m_phi
NTuple::Array< double > m_phi
Definition: LArCond2NtupleBaseEB.h:69
LArCond2NtupleBaseEB::m_ntTitle
std::string m_ntTitle
Definition: LArCond2NtupleBaseEB.h:63
LArCond2NtupleBaseEB::m_region
NTuple::Array< double > m_region
Definition: LArCond2NtupleBaseEB.h:69
LArEM_Base_ID::phi
int phi(const Identifier id) const
return phi according to :
LArCond2NtupleBaseEB::m_layer
NTuple::Array< double > m_layer
Definition: LArCond2NtupleBaseEB.h:69
LArOnlineID_Base::channel_Hash
IdentifierHash channel_Hash(HWIdentifier channelId) const
Create channel_hash from channel_Id.
Definition: LArOnlineID_Base.cxx:1636
CaloCell_Base_ID::calo_cell_hash
IdentifierHash calo_cell_hash(const Identifier cellId) const
create hash id from 'global' cell id
LArCond2NtupleBaseEB::m_detStore
StoreGateSvc * m_detStore
Definition: LArCond2NtupleBaseEB.h:82
LArCond2NtupleBaseEB::m_fcalId
const LArFCAL_Base_ID * m_fcalId
Definition: LArCond2NtupleBaseEB.h:85
LArHEC_Base_ID::eta
int eta(const Identifier id) const
return eta [0,9] outer part [0,3] inner part
LArCond2NtupleBaseEB::m_oflHash
NTuple::Array< double > m_oflHash
Definition: LArCond2NtupleBaseEB.h:73
SG::ReadCondHandle
Definition: ReadCondHandle.h:44
LArCond2NtupleBaseEB::m_chanHash
NTuple::Array< double > m_chanHash
Definition: LArCond2NtupleBaseEB.h:73
AtlasDetectorID::is_lar_fcal
bool is_lar_fcal(Identifier id) const
Definition: AtlasDetectorID.h:839
LArCond2NtupleBaseEB::m_cablingKey
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
Definition: LArCond2NtupleBaseEB.h:90
LArCond2NtupleBaseEB::m_slot
NTuple::Array< double > m_slot
Definition: LArCond2NtupleBaseEB.h:70
LArCond2NtupleBaseEB::m_FT
NTuple::Array< double > m_FT
Definition: LArCond2NtupleBaseEB.h:70
LArBadXCont
Conditions-Data class holding LAr Bad Channel or Bad Feb information.
Definition: LArBadChannelCont.h:28
LArCalibLineMapping::calibSlotLine
const std::vector< HWIdentifier > & calibSlotLine(const HWIdentifier id) const
Definition: LArCalibLineMapping.cxx:15
LArCond2NtupleBaseEB::m_OffId
Gaudi::Property< bool > m_OffId
Definition: LArCond2NtupleBaseEB.h:55
CaloDetDescrElement
This class groups all DetDescr information related to a CaloCell. Provides a generic interface for al...
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:66
LArCalibLineMapping
Definition: LArCalibLineMapping.h:17
DMTest::C
C_v1 C
Definition: C.h:26
CaloDetDescrManager_Base::get_element
const CaloDetDescrElement * get_element(const Identifier &cellId) const
get element by its identifier
Definition: CaloDetDescrManager.cxx:159
ReadCellNoiseFromCool.cabling
cabling
Definition: ReadCellNoiseFromCool.py:154
LArCond2NtupleBaseEB::m_eta
NTuple::Array< double > m_eta
Definition: LArCond2NtupleBaseEB.h:69
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]
LArCond2NtupleBaseEB::NOT_VALID
@ NOT_VALID
Definition: LArCond2NtupleBaseEB.h:61
LArCond2NtupleBaseEB::initialize
StatusCode initialize()
Definition: LArCond2NtupleBaseEB.cxx:29
LArEM_Base_ID::region
int region(const Identifier id) const
return region according to :
LArCond2NtupleBaseEB::m_SC
const int m_SC
Definition: LArCond2NtupleBaseEB.h:80
LArEM_Base_ID::sampling
int sampling(const Identifier id) const
return sampling according to :
CaloDetDescrManager_Base
Definition: CaloDetDescrManager.h:147
LArCond2NtupleBaseEB::m_caloSuperCellMgrKey
SG::ReadCondHandleKey< CaloSuperCellDetDescrManager > m_caloSuperCellMgrKey
Definition: LArCond2NtupleBaseEB.h:98
LArCond2NtupleBaseEB::m_ntpath
std::string m_ntpath
Definition: LArCond2NtupleBaseEB.h:63
HWIdentifier
Definition: HWIdentifier.h:13
LArCond2NtupleBaseEB::m_rphi
NTuple::Array< float > m_rphi
Definition: LArCond2NtupleBaseEB.h:75
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
LArCond2NtupleBaseEB::m_badChanWord
NTuple::Array< double > m_badChanWord
Definition: LArCond2NtupleBaseEB.h:71
LArBadXCont::status
LArBC_t status(const HWIdentifier channel) const
Query the status of a particular channel or FEB This is the main client access method.
LArCond2NtupleBaseEB::m_expandId
Gaudi::Property< bool > m_expandId
Definition: LArCond2NtupleBaseEB.h:59
CaloDetDescrManager.h
Definition of CaloDetDescrManager.
LArEM_Base_ID::eta
int eta(const Identifier id) const
return eta according to :
FEBTemp
std::vector< std::pair< float, float > > FEBTemp
Definition: ILArFEBTempTool.h:27
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
CaloDetDescrElement::eta_raw
float eta_raw() const
cell eta_raw
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:350
CaloCell_ID.h
CaloCell_Base_ID::fcal_idHelper
const LArFCAL_Base_ID * fcal_idHelper() const
access to FCAL idHelper
Definition: CaloCell_Base_ID.h:343
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
LArCond2NtupleBaseEB::m_calibMapSCKey
SG::ReadCondHandleKey< LArCalibLineMapping > m_calibMapSCKey
Definition: LArCond2NtupleBaseEB.h:95
LArFCAL_Base_ID::phi
int phi(const Identifier id) const
phi [0,15]
LArCond2NtupleBaseEB::m_addBC
Gaudi::Property< bool > m_addBC
Definition: LArCond2NtupleBaseEB.h:51
CaloCell_Base_ID::em_idHelper
const LArEM_Base_ID * em_idHelper() const
access to EM idHelper
Definition: CaloCell_Base_ID.h:332
LArCond2NtupleBaseEB::m_cablingSCKey
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingSCKey
Definition: LArCond2NtupleBaseEB.h:91
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
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
CaloIdManager
This class initializes the Calo (LAr and Tile) offline identifiers.
Definition: CaloIdManager.h:45
Identifier32::get_compact
value_type get_compact(void) const
Get the compact id.
Definition: Identifier32.h:171
LArCond2NtupleBaseEB.h
LArCond2NtupleBaseEB::m_FEBTempTool
ToolHandle< ILArFEBTempTool > m_FEBTempTool
Definition: LArCond2NtupleBaseEB.h:88
lumiFormat.i
int i
Definition: lumiFormat.py:92
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
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
LArCond2NtupleBaseEB::m_onlineId
const LArOnlineID_Base * m_onlineId
Definition: LArCond2NtupleBaseEB.h:86
LArCond2NtupleBaseEB::m_febHash
NTuple::Array< double > m_febHash
Definition: LArCond2NtupleBaseEB.h:73
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
CaloCell_SuperCell_ID.h
Helper class for offline supercell identifiers.
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
LArCond2NtupleBaseEB::m_FEBTemp2
NTuple::Array< float > m_FEBTemp2
Definition: LArCond2NtupleBaseEB.h:76
LArCond2NtupleBaseEB::m_detector
NTuple::Array< double > m_detector
Definition: LArCond2NtupleBaseEB.h:69
AtlasDetectorID::is_lar_hec
bool is_lar_hec(Identifier id) const
Definition: AtlasDetectorID.h:829
LArCond2NtupleBaseEB::m_channel
NTuple::Array< double > m_channel
Definition: LArCond2NtupleBaseEB.h:70
LArCond2NtupleBaseEB::fillFromIdentifier
bool fillFromIdentifier(const HWIdentifier &id, int C)
Definition: LArCond2NtupleBaseEB.cxx:280
AthAlgorithm
Definition: AthAlgorithm.h:47
LArCond2NtupleBaseEB::m_addFEBTemp
Gaudi::Property< bool > m_addFEBTemp
Definition: LArCond2NtupleBaseEB.h:52
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
beamspotman.basepath
string basepath
Definition: beamspotman.py:1018
LArCond2NtupleBaseEB::cablingKey
const SG::ReadCondHandleKey< LArOnOffIdMapping > & cablingKey() const
Definition: LArCond2NtupleBaseEB.cxx:441
LArCond2NtupleBaseEB::m_nt
NTuple::Tuple * m_nt
Definition: LArCond2NtupleBaseEB.h:66
LArCond2NtupleBaseEB::m_barrel_ec
NTuple::Array< double > m_barrel_ec
Definition: LArCond2NtupleBaseEB.h:70
LArCond2NtupleBaseEB::m_BCKey
SG::ReadCondHandleKey< LArBadChannelCont > m_BCKey
Definition: LArCond2NtupleBaseEB.h:93
LArCond2NtupleBaseEB::m_FEBTemp1
NTuple::Array< float > m_FEBTemp1
Definition: LArCond2NtupleBaseEB.h:76
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
CaloIdManager::getCaloCell_ID
const CaloCell_ID * getCaloCell_ID(void) const
Access to IdHelper.
Definition: CaloIdManager.cxx:63
LArEM_Base_ID::barrel_ec
int barrel_ec(const Identifier id) const
return barrel_ec according to :
SG::CondHandleKey::initialize
StatusCode initialize(bool used=true)
LArCond2NtupleBaseEB::LArCond2NtupleBaseEB
LArCond2NtupleBaseEB(const std::string &name, ISvcLocator *pSvcLocator)
Definition: LArCond2NtupleBaseEB.cxx:15
LArOnlineID
Definition: LArOnlineID.h:20
LArCond2NtupleBaseEB::m_oflChanId
NTuple::Array< double > m_oflChanId
Definition: LArCond2NtupleBaseEB.h:69
LArOnline_SuperCellID
Definition: LArOnline_SuperCellID.h:20
LArCond2NtupleBaseEB::m_emId
const LArEM_Base_ID * m_emId
Definition: LArCond2NtupleBaseEB.h:83
SG::ReadCondHandleKey< LArOnOffIdMapping >
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
LArCond2NtupleBaseEB::m_initialized
bool m_initialized
Definition: LArCond2NtupleBaseEB.h:47
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
LArCond2NtupleBaseEB::m_caloId
const CaloCell_Base_ID * m_caloId
Definition: LArCond2NtupleBaseEB.h:87
LArHEC_Base_ID::sampling
int sampling(const Identifier id) const
return sampling [0,3] (only 0 for supercells)
AthCommonMsg< Algorithm >::msg
MsgStream & msg() const
Definition: AthCommonMsg.h:24
CaloIdManager::getCaloCell_SuperCell_ID
const CaloCell_SuperCell_ID * getCaloCell_SuperCell_ID(void) const
Definition: CaloIdManager.cxx:110
LArOnline_SuperCellID.h
CaloIdManager.h
LArCond2NtupleBaseEB::m_reta
NTuple::Array< float > m_reta
Definition: LArCond2NtupleBaseEB.h:75
LArCond2NtupleBaseEB::m_caloMgrKey
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
Definition: LArCond2NtupleBaseEB.h:97
LArCond2NtupleBaseEB::m_onlChanId
NTuple::Array< double > m_onlChanId
Definition: LArCond2NtupleBaseEB.h:69
LArCond2NtupleBaseEB::m_calibLine
NTuple::Array< double > m_calibLine
Definition: LArCond2NtupleBaseEB.h:71
beamspotnt.nt
def nt
Definition: bin/beamspotnt.py:1063
Identifier::get_identifier32
Identifier32 get_identifier32(void) const
Get the 32-bit version Identifier, will be invalid if >32 bits needed.
LArCond2NtupleBaseEB::m_isConnected
NTuple::Array< double > m_isConnected
Definition: LArCond2NtupleBaseEB.h:72
LArCond2NtupleBaseEB::m_addCalib
Gaudi::Property< bool > m_addCalib
Definition: LArCond2NtupleBaseEB.h:57
ntupleSvc
INTupleSvc * ntupleSvc()
Definition: ServiceAccessor.h:14
LArHEC_Base_ID::region
int region(const Identifier id) const
return region [0,1]
AtlasDetectorID::is_lar_em
bool is_lar_em(Identifier id) const
Definition: AtlasDetectorID.h:818
LArCond2NtupleBaseEB::m_realgeom
Gaudi::Property< bool > m_realgeom
Definition: LArCond2NtupleBaseEB.h:58
LArCond2NtupleBaseEB::m_pos_neg
NTuple::Array< double > m_pos_neg
Definition: LArCond2NtupleBaseEB.h:70
LArID_Exception
Exception class for LAr Identifiers.
Definition: LArID_Exception.h:20
LArOnlineID_Base::feb_Hash
IdentifierHash feb_Hash(HWIdentifier febId) const
Create feb hash identifiers from feb identifiers.
Definition: LArOnlineID_Base.cxx:1516
LArCond2NtupleBaseEB::m_hecId
const LArHEC_Base_ID * m_hecId
Definition: LArCond2NtupleBaseEB.h:84
LArCond2NtupleBaseEB::m_addHash
Gaudi::Property< bool > m_addHash
Definition: LArCond2NtupleBaseEB.h:56
LArOnlineID.h
CaloDetDescrElement::phi_raw
float phi_raw() const
cell phi_raw
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:352
LArCond2NtupleBaseEB::m_calibMapKey
SG::ReadCondHandleKey< LArCalibLineMapping > m_calibMapKey
Definition: LArCond2NtupleBaseEB.h:94
CaloCell_Base_ID::hec_idHelper
const LArHEC_Base_ID * hec_idHelper() const
access to HEC idHelper
Definition: CaloCell_Base_ID.h:337
DiTauMassTools::TauTypes::ll
@ ll
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:49
LArHEC_Base_ID::phi
int phi(const Identifier id) const
return phi[0,63] outer part [0,31] inner part
LArCond2NtupleBaseEB::m_isSC
Gaudi::Property< bool > m_isSC
Definition: LArCond2NtupleBaseEB.h:53
LArOnOffIdMapping
Definition: LArOnOffIdMapping.h:20