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