22#include "GaudiKernel/MsgStream.h"
23#include "Gaudi/Property.h"
24#include "GaudiKernel/TypeNameString.h"
77 return StatusCode::SUCCESS;
92 return StatusCode::FAILURE;
98 return StatusCode::FAILURE;
104 return StatusCode::FAILURE;
108 ATH_MSG_DEBUG (
" Number of LArReadoutModuleIDs= " << roms.size() );
110 std::vector<HWIdentifier>::const_iterator it =
m_onlineID->channel_begin();
111 std::vector<HWIdentifier>::const_iterator it_end =
m_onlineID->channel_end();
113 int ntot = it_end-it;
114 ATH_MSG_DEBUG(
" Total number of online channels from LArOnlineID "
127 if (!
sc.isSuccess() ){
128 ATH_MSG_ERROR (
" Failed to retrieve ILArShape from DetStore");
134 if (!
sc.isSuccess() ){
135 ATH_MSG_ERROR (
" Failed to retrieve ILArNoise from DetStore");
141 if (!
sc.isSuccess() ){
142 ATH_MSG_ERROR (
" Failed to retrieve ILArRamp from DetStore");
147 if (!
sc.isSuccess() ){
148 ATH_MSG_ERROR (
" Failed to retrieve ILArDAC2uA from DetStore");
153 if (!
sc.isSuccess() ){
154 ATH_MSG_ERROR (
" Failed to retrieve ILAruA2MeV from DetStore");
159 if (!
sc.isSuccess() ){
160 ATH_MSG_ERROR (
" Failed to retrieve ILArAutoCorr from DetStore");
165 if (!
sc.isSuccess() ){
166 ATH_MSG_ERROR (
" Failed to retrieve ILArPedestal from DetStore");
171 if (!
sc.isSuccess() ){
172 ATH_MSG_ERROR (
" Failed to retrieve ILArfSampl from DetStore");
178 if (!
sc.isSuccess() ){
179 ATH_MSG_ERROR (
" Failed to retrieve ILArMinBias from DetStore");
183 for(;it!=it_end;++it) {
187 if(! cabling->isOnlineConnected(sid))
200 Identifier id = cabling->cnvToIdentifier(sid);
205 <<
" "<<sid<<
" "<<
m_onlineID->show_to_string(sid)
206 <<
" offline id = "<<
id <<
" "<<
m_onlineID->show_to_string(
id)
207 <<
" sid2 = "<< sid2 <<
" "<<
m_onlineID->show_to_string(sid2)
214 const std::vector<HWIdentifier>&
216 if(calib.size()==0) {
232 float f = puA2MeV->
UA2MEV( sid ) ;
239 f = pDAC2uA->
DAC2UA( sid ) ;
246 f = pNoise->
noise( sid , 0 ) ;
262 if(vShape.size() ==0 || vShapeDer.size() == 0 ) {
264 <<sid.
get_compact() <<
" size = " << vShape.size() <<
" " << vShapeDer.size());
267 if (
msgLvl(MSG::VERBOSE)) {
269 msg()<<MSG::VERBOSE<<
" Shape= " ;
270 for (
unsigned int i=0; i < vShape.size(); ++i){
271 msg()<<
" " << vShape[i] ;
274 msg()<<MSG::VERBOSE<<
" ShapeDer=" ;
275 for (
unsigned int i=0; i < vShapeDer.size(); ++i){
276 msg()<<
" " << vShapeDer[i] ;
284 float vPed = pPedestal->
pedestal( sid,0 ) ;
310 std::string err =
m_onlineID->print_to_string(sid);
315 ATH_MSG_DEBUG (
" Number of Connected Channel ID = " <<nconnected );
317 if(nerr>0)
ATH_MSG_ERROR (
" Number channels with incorrect mapping= " <<nerr );
320 ATH_MSG_DEBUG (
" Number of channels without uA2MeV "<<n_err_uA2MeV);
322 ATH_MSG_DEBUG (
" Number of channels without DAC2uA"<<n_err_DAC2uA);
324 return StatusCode::SUCCESS;
339 return StatusCode::SUCCESS;
341 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_VERBOSE(x)
This file contains an algorithm for testing lar conditions data access.
This file defines the template class used for I/O of conditions data.
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
const ServiceHandle< StoreGateSvc > & detStore() const
bool msgLvl(const MSG::Level lvl) const
This class defines the interface for accessing AutoCorrelation parameters for each channel @stereotyp...
LArVectorProxy AutoCorrRef_t
virtual AutoCorrRef_t autoCorr(const HWIdentifier &CellID, int gain) const =0
virtual const float & DAC2UA(const HWIdentifier &id) const =0
access to DAC2UA conversion factor index by Identifier, and gain setting
virtual const float & minBiasRMS(const HWIdentifier &id) const =0
access to RMS of E in minimum bias events index by Identifier
virtual const float & noise(const HWIdentifier &id, int gain) const =0
virtual float pedestal(const HWIdentifier &id, int gain) const =0
virtual RampRef_t ADC2DAC(const HWIdentifier &id, int gain) const =0
LArVectorProxy RampRef_t
This class defines the interface for accessing Ramp @stereotype Interface.
LArVectorProxy ShapeRef_t
This class defines the interface for accessing Shape (Nsample variable, Dt = 25 ns fixed) @stereotype...
virtual ShapeRef_t Shape(const HWIdentifier &id, int gain, int tbin=0, int mode=0) const =0
virtual ShapeRef_t ShapeDer(const HWIdentifier &id, int gain, int tbin=0, int mode=0) const =0
virtual const float & FSAMPL(const HWIdentifier &id) const =0
virtual const float & UA2MEV(const HWIdentifier &id) const =0
value_type get_compact() const
Get the compact id.
value_type get_compact() const
Get the compact id.
Identifier32 get_identifier32() const
Get the 32-bit version Identifier, will be invalid if >32 bits needed.
const std::vector< HWIdentifier > & calibSlotLine(const HWIdentifier id) const
const LArOnlineID * m_emid
SG::ReadCondHandleKey< LArFebRodMapping > m_RodKey
const LArOnlineID * m_onlineID
SG::ReadCondHandleKey< LArCalibLineMapping > m_CLKey
LArCondDataTest(const std::string &name, ISvcLocator *pSvcLocator)
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
const std::vector< HWIdentifier > & getLArRoModIDvec() const
"iterator" on LArReadoutModuleIDs
Exception class for LAr Identifiers.