diff --git a/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelDCSCondHVAlg.cxx b/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelDCSCondHVAlg.cxx index ba5d9028c046133ec072a50f2e5fca7dc2de07e4..e76b564eeacabeffb069c1ad8fdb306754d71e42 100644 --- a/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelDCSCondHVAlg.cxx +++ b/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelDCSCondHVAlg.cxx @@ -37,7 +37,7 @@ StatusCode PixelDCSCondHVAlg::initialize() { StatusCode PixelDCSCondHVAlg::execute() { ATH_MSG_DEBUG("PixelDCSCondHVAlg::execute()"); - SG::WriteCondHandle<PixelDCSConditionsData> writeHandle(m_writeKey); + SG::WriteCondHandle<PixelModuleData> writeHandle(m_writeKey); if (writeHandle.isValid()) { ATH_MSG_DEBUG("CondHandle " << writeHandle.fullKey() << " is already valid.. In theory this should not be called, but may happen if multiple concurrent events are being processed out of order."); return StatusCode::SUCCESS; @@ -59,7 +59,7 @@ StatusCode PixelDCSCondHVAlg::execute() { ATH_MSG_INFO("Range of input is " << rangeW); // Construct the output Cond Object and fill it in - std::unique_ptr<PixelDCSConditionsData> writeCdo(std::make_unique<PixelDCSConditionsData>()); + std::unique_ptr<PixelModuleData> writeCdo(std::make_unique<PixelModuleData>()); // Read HV info std::string param("HV"); @@ -70,26 +70,26 @@ StatusCode PixelDCSCondHVAlg::execute() { if (payload.exists(param) and not payload[param].isNull()) { float val = payload[param].data<float>(); if (val>1000.0 || val<-1000.0) { - writeCdo -> setValue((int)channelNumber, m_defaultBiasVoltage); + writeCdo -> setBiasVoltage((int)channelNumber, m_defaultBiasVoltage); } else { - writeCdo -> setValue((int)channelNumber, val); + writeCdo -> setBiasVoltage((int)channelNumber, val); } } else { ATH_MSG_WARNING(param << " does not exist for ChanNum " << channelNumber); - writeCdo -> setValue((int)channelNumber, m_defaultBiasVoltage); + writeCdo -> setBiasVoltage((int)channelNumber, m_defaultBiasVoltage); } } } else { for (int i=0; i<(int)m_pixelID->wafer_hash_max(); i++) { - writeCdo->setValue(i, m_defaultBiasVoltage); + writeCdo -> setBiasVoltage(i, m_defaultBiasVoltage); } } if (writeHandle.record(rangeW, std::move(writeCdo)).isFailure()) { - ATH_MSG_FATAL("Could not record PixelDCSConditionsData " << writeHandle.key() << " with EventRange " << rangeW << " into Conditions Store"); + ATH_MSG_FATAL("Could not record PixelModuleData " << writeHandle.key() << " with EventRange " << rangeW << " into Conditions Store"); return StatusCode::FAILURE; } ATH_MSG_INFO("recorded new CDO " << writeHandle.key() << " with range " << rangeW << " into Conditions Store"); diff --git a/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelDCSCondHVAlg.h b/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelDCSCondHVAlg.h index 46bfc1e9f8b5a3576c2a3fe9aa613bb95e88a369..3a4490f4e2b5eaf7cf8c792658eab516d05fb025 100644 --- a/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelDCSCondHVAlg.h +++ b/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelDCSCondHVAlg.h @@ -11,7 +11,7 @@ #include "AthenaPoolUtilities/CondAttrListCollection.h" #include "StoreGate/WriteCondHandleKey.h" -#include "PixelConditionsData/PixelDCSConditionsData.h" +#include "PixelConditionsData/PixelModuleData.h" #include "InDetIdentifier/PixelID.h" @@ -34,7 +34,7 @@ class PixelDCSCondHVAlg : public AthAlgorithm { float m_defaultBiasVoltage; SG::ReadCondHandleKey<CondAttrListCollection> m_readKey{this, "ReadKey", "/PIXEL/DCS/HV", "Key of input (raw) HV conditions folder"}; - SG::WriteCondHandleKey<PixelDCSConditionsData> m_writeKey{this, "WriteKey", "PixelDCSHVCondData", "Key of output (derived) HV conditions data"}; + SG::WriteCondHandleKey<PixelModuleData> m_writeKey{this, "WriteKey", "PixelDCSHVCondData", "Key of output (derived) HV conditions data"}; ServiceHandle<ICondSvc> m_condSvc; }; diff --git a/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelDCSCondTempAlg.cxx b/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelDCSCondTempAlg.cxx index b7e1a4eed18f6ad7505dd8b0efc9afac554d9e5d..e754e7dea80258a7d1d99775e26371585aff3d76 100644 --- a/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelDCSCondTempAlg.cxx +++ b/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelDCSCondTempAlg.cxx @@ -39,7 +39,7 @@ StatusCode PixelDCSCondTempAlg::initialize() { StatusCode PixelDCSCondTempAlg::execute() { ATH_MSG_DEBUG("PixelDCSCondTempAlg::execute()"); - SG::WriteCondHandle<PixelDCSConditionsData> writeHandle(m_writeKey); + SG::WriteCondHandle<PixelModuleData> writeHandle(m_writeKey); // Do we have a valid Write Cond Handle for current time? if (writeHandle.isValid()) { ATH_MSG_DEBUG("CondHandle " << writeHandle.fullKey() << " is already valid.. In theory this should not be called, but may happen if multiple concurrent events are being processed out of order."); @@ -63,7 +63,7 @@ StatusCode PixelDCSCondTempAlg::execute() { ATH_MSG_INFO("Range of input is " << rangeW); // Construct the output Cond Object and fill it in - std::unique_ptr<PixelDCSConditionsData> writeCdo(std::make_unique<PixelDCSConditionsData>()); + std::unique_ptr<PixelModuleData> writeCdo(std::make_unique<PixelModuleData>()); // Read temperature info std::string param{"temperature"}; @@ -74,26 +74,26 @@ StatusCode PixelDCSCondTempAlg::execute() { if (payload.exists(param) and not payload[param].isNull()) { float val = payload[param].data<float>(); if (val>100.0 || val<-80.0) { - writeCdo->setValue((int)channelNumber, m_defaultTemperature); + writeCdo->setTemperature((int)channelNumber, m_defaultTemperature); } else { - writeCdo->setValue((int)channelNumber, val); + writeCdo->setTemperature((int)channelNumber, val); } } else { ATH_MSG_WARNING(param << " does not exist for ChanNum " << channelNumber); - writeCdo->setValue((int)channelNumber, m_defaultTemperature); + writeCdo->setTemperature((int)channelNumber, m_defaultTemperature); } } } else { for (int i=0; i<(int)m_pixelID->wafer_hash_max(); i++) { - writeCdo->setValue(i, m_defaultTemperature); + writeCdo->setTemperature(i, m_defaultTemperature); } } if (writeHandle.record(rangeW, std::move(writeCdo)).isFailure()) { - ATH_MSG_FATAL("Could not record PixelDCSConditionsData " << writeHandle.key() << " with EventRange " << rangeW << " into Conditions Store"); + ATH_MSG_FATAL("Could not record PixelModuleData " << writeHandle.key() << " with EventRange " << rangeW << " into Conditions Store"); return StatusCode::FAILURE; } ATH_MSG_INFO("recorded new CDO " << writeHandle.key() << " with range " << rangeW << " into Conditions Store"); diff --git a/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelDCSCondTempAlg.h b/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelDCSCondTempAlg.h index 5eff0e7de14230a8ea39ced47a33da503fd7536f..d8cace7ce588ecedb0fbb13e1a36607cf4fb1710 100644 --- a/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelDCSCondTempAlg.h +++ b/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelDCSCondTempAlg.h @@ -11,7 +11,7 @@ #include "AthenaPoolUtilities/CondAttrListCollection.h" #include "StoreGate/WriteCondHandleKey.h" -#include "PixelConditionsData/PixelDCSConditionsData.h" +#include "PixelConditionsData/PixelModuleData.h" #include "InDetIdentifier/PixelID.h" @@ -34,7 +34,7 @@ class PixelDCSCondTempAlg : public AthAlgorithm { float m_defaultTemperature; SG::ReadCondHandleKey<CondAttrListCollection> m_readKey{this, "ReadKey", "/PIXEL/DCS/TEMPERATURE", "Key of input (raw) temperature conditions folder"}; - SG::WriteCondHandleKey<PixelDCSConditionsData> m_writeKey{this, "WriteKey", "PixelDCSTempCondData", "Key of output (derived) temperature conditions folder"}; + SG::WriteCondHandleKey<PixelModuleData> m_writeKey{this, "WriteKey", "PixelDCSTempCondData", "Key of output (derived) temperature conditions folder"}; ServiceHandle<ICondSvc> m_condSvc; }; diff --git a/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelSiliconConditionsTestAlg.h b/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelSiliconConditionsTestAlg.h index c8882800d8bb02a4c84bd940ebd7c7334ed586eb..ca43fd8b84049df6058fb6339dd1b83de3fe8a30 100644 --- a/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelSiliconConditionsTestAlg.h +++ b/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelSiliconConditionsTestAlg.h @@ -9,7 +9,6 @@ #include "AthenaBaseComps/AthAlgorithm.h" #include "GaudiKernel/ToolHandle.h" -#include "PixelConditionsData/PixelDCSConditionsData.h" #include "PixelConditionsData/PixelModuleData.h" #include "StoreGate/ReadCondHandleKey.h" @@ -23,11 +22,9 @@ class PixelSiliconConditionsTestAlg : public AthAlgorithm { virtual StatusCode finalize() override; private: - SG::ReadCondHandleKey<PixelDCSConditionsData> m_readKeyTemp{this, "ReadKeyeTemp", "PixelDCSTempCondData", "Key of input sensor temperature conditions folder"}; - SG::ReadCondHandleKey<PixelDCSConditionsData> m_readKeyHV {this, "ReadKeyHV", "PixelDCSHVCondData", "Key of input bias voltage conditions folder"}; - + SG::ReadCondHandleKey<PixelModuleData> m_readKeyTemp{this, "ReadKeyeTemp", "PixelDCSTempCondData", "Key of input sensor temperature conditions folder"}; + SG::ReadCondHandleKey<PixelModuleData> m_readKeyHV {this, "ReadKeyHV", "PixelDCSHVCondData", "Key of input bias voltage conditions folder"}; SG::ReadCondHandleKey<PixelModuleData> m_moduleDataKey{this, "PixelModuleData", "PixelModuleData", "Output key"}; - }; #endif diff --git a/InnerDetector/InDetConditions/PixelConditionsData/PixelConditionsData/PixelDCSConditionsData.h b/InnerDetector/InDetConditions/PixelConditionsData/PixelConditionsData/PixelDCSConditionsData.h deleted file mode 100644 index ca7ea05114294cf31966813582742348f79813f6..0000000000000000000000000000000000000000 --- a/InnerDetector/InDetConditions/PixelConditionsData/PixelConditionsData/PixelDCSConditionsData.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration -*/ - -#ifndef PIXELDCSCONDDATA_H -#define PIXELDCSCONDDATA_H - -#include "AthenaKernel/CLASS_DEF.h" -#include <map> - -class PixelDCSConditionsData { - public: - PixelDCSConditionsData(); - virtual ~PixelDCSConditionsData(); - - void setValue(const int chanNum, const float value); - bool getValue(const int chanNum, float& value) const; - void clear(); - - private: - typedef std::map<int, float> FloatConditions; - FloatConditions m_channelValues; -}; - -CLASS_DEF( PixelDCSConditionsData , 345532773 , 1 ) - -#include "AthenaKernel/CondCont.h" -CONDCONT_DEF( PixelDCSConditionsData, 578786393 ); - -#endif // PIXELDCSCONDDATA_H diff --git a/InnerDetector/InDetConditions/PixelConditionsData/PixelConditionsData/PixelModuleData.h b/InnerDetector/InDetConditions/PixelConditionsData/PixelConditionsData/PixelModuleData.h index 1b8e36aede03fc24d18eb06df31b8b6d5eaea68a..1ace713919d3a82e4f01fa144b4016792333d8f9 100644 --- a/InnerDetector/InDetConditions/PixelConditionsData/PixelConditionsData/PixelModuleData.h +++ b/InnerDetector/InDetConditions/PixelConditionsData/PixelConditionsData/PixelModuleData.h @@ -13,6 +13,12 @@ class PixelModuleData { PixelModuleData(); virtual ~PixelModuleData(); + void setBiasVoltage(const int chanNum, const float value); + float getBiasVoltage(const int chanNum) const; + + void setTemperature(const int chanNum, const float value); + float getTemperature(const int chanNum) const; + void setModuleStatus(const int chanNum, const int value); int getModuleStatus(const int chanNum) const; @@ -64,7 +70,10 @@ class PixelModuleData { void clear(); private: + typedef std::map<int, float> FloatConditions; typedef std::map<int, int> IntConditions; + FloatConditions m_biasVoltage; + FloatConditions m_temperature; IntConditions m_moduleStatus; IntConditions m_chipStatus; diff --git a/InnerDetector/InDetConditions/PixelConditionsData/src/PixelDCSConditionsData.cxx b/InnerDetector/InDetConditions/PixelConditionsData/src/PixelDCSConditionsData.cxx deleted file mode 100644 index a3ba08686b99483f579a43fea4d9770446053489..0000000000000000000000000000000000000000 --- a/InnerDetector/InDetConditions/PixelConditionsData/src/PixelDCSConditionsData.cxx +++ /dev/null @@ -1,30 +0,0 @@ -/* - Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration -*/ - -#include "PixelConditionsData/PixelDCSConditionsData.h" - -PixelDCSConditionsData::PixelDCSConditionsData(): - m_channelValues() -{ -} - -PixelDCSConditionsData::~PixelDCSConditionsData() { } - -void PixelDCSConditionsData::setValue(const int chanNum, const float value) { - m_channelValues[chanNum] = value; -} - -bool PixelDCSConditionsData::getValue(const int chanNum, float& value) const { - auto itr = m_channelValues.find(chanNum); - if (itr!=m_channelValues.end()) { - value = itr->second; - return true; - } - return false; -} - -void PixelDCSConditionsData::clear() { - m_channelValues.clear(); -} - diff --git a/InnerDetector/InDetConditions/PixelConditionsData/src/PixelModuleData.cxx b/InnerDetector/InDetConditions/PixelConditionsData/src/PixelModuleData.cxx index 3802584b839f53b209e11bb124528753f51aecfb..0022842172840a1855c67003eef562f7f2daaf79 100644 --- a/InnerDetector/InDetConditions/PixelConditionsData/src/PixelModuleData.cxx +++ b/InnerDetector/InDetConditions/PixelConditionsData/src/PixelModuleData.cxx @@ -5,6 +5,8 @@ #include "PixelConditionsData/PixelModuleData.h" PixelModuleData::PixelModuleData(): + m_biasVoltage(), + m_temperature(), m_moduleStatus(), m_chipStatus() { @@ -12,6 +14,26 @@ PixelModuleData::PixelModuleData(): PixelModuleData::~PixelModuleData() { } +void PixelModuleData::setBiasVoltage(const int chanNum, const float value) { + m_biasVoltage[chanNum] = value; +} + +float PixelModuleData::getBiasVoltage(const int chanNum) const { + auto itr = m_biasVoltage.find(chanNum); + if (itr!=m_biasVoltage.end()) { return itr->second; } + return 0; +} + +void PixelModuleData::setTemperature(const int chanNum, const float value) { + m_temperature[chanNum] = value; +} + +float PixelModuleData::getTemperature(const int chanNum) const { + auto itr = m_temperature.find(chanNum); + if (itr!=m_temperature.end()) { return itr->second; } + return 0; +} + // Module status void PixelModuleData::setModuleStatus(const int chanNum, const int value) { m_moduleStatus[chanNum] = value; @@ -128,6 +150,8 @@ int PixelModuleData::getIBLOverflowToT() const { } void PixelModuleData::clear() { + m_biasVoltage.clear(); + m_temperature.clear(); m_moduleStatus.clear(); m_chipStatus.clear(); } diff --git a/InnerDetector/InDetConditions/SiLorentzAngleSvc/src/PixelSiLorentzAngleCondAlg.cxx b/InnerDetector/InDetConditions/SiLorentzAngleSvc/src/PixelSiLorentzAngleCondAlg.cxx index a5060adb1b82d05527d663cca6ac2f42a977c791..4606c76161059db9250c2370753eaa08af311341 100644 --- a/InnerDetector/InDetConditions/SiLorentzAngleSvc/src/PixelSiLorentzAngleCondAlg.cxx +++ b/InnerDetector/InDetConditions/SiLorentzAngleSvc/src/PixelSiLorentzAngleCondAlg.cxx @@ -74,8 +74,8 @@ PixelSiLorentzAngleCondAlg::execute() { EventIDRange rangeBField{eidStart, eidStop}; // Read Cond Handle (temperature) - SG::ReadCondHandle<PixelDCSConditionsData> readHandleTemp(m_readKeyTemp); - const PixelDCSConditionsData* readCdoTemp(*readHandleTemp); + SG::ReadCondHandle<PixelModuleData> readHandleTemp(m_readKeyTemp); + const PixelModuleData* readCdoTemp(*readHandleTemp); if (readCdoTemp==nullptr) { ATH_MSG_FATAL("Null pointer to the read conditions object"); return StatusCode::FAILURE; @@ -89,8 +89,8 @@ PixelSiLorentzAngleCondAlg::execute() { ATH_MSG_DEBUG("Input is " << readHandleTemp.fullKey() << " with the range of " << rangeTemp); // Read Cond Handle (HV) - SG::ReadCondHandle<PixelDCSConditionsData> readHandleHV(m_readKeyHV); - const PixelDCSConditionsData* readCdoHV(*readHandleHV); + SG::ReadCondHandle<PixelModuleData> readHandleHV(m_readKeyHV); + const PixelModuleData* readCdoHV(*readHandleHV); if (readCdoHV==nullptr) { ATH_MSG_FATAL("Null pointer to the read conditions object"); return StatusCode::FAILURE; @@ -152,15 +152,9 @@ PixelSiLorentzAngleCondAlg::execute() { for (PixelID::size_type hash=0; hash<wafer_hash_max; hash++) { const IdentifierHash elementHash = static_cast<IdentifierHash::value_type>(hash); - float tempCdo = 0.0; - readCdoTemp->getValue(elementHash,tempCdo); - double temperature = tempCdo+273.15; - + double temperature = readCdoTemp->getTemperature(elementHash)+273.15; double deplVoltage = 0.0*CLHEP::volt; - - float hvCdo = 0.0; - readCdoHV->getValue(elementHash,hvCdo); - double biasVoltage = hvCdo*CLHEP::volt; + double biasVoltage = readCdoHV->getBiasVoltage(elementHash)*CLHEP::volt; ATH_MSG_DEBUG("Pixel Hash = " << elementHash << " Temperature = " << temperature << " [deg K], BiasV = " << biasVoltage << " DeplV = " << deplVoltage); diff --git a/InnerDetector/InDetConditions/SiLorentzAngleSvc/src/PixelSiLorentzAngleCondAlg.h b/InnerDetector/InDetConditions/SiLorentzAngleSvc/src/PixelSiLorentzAngleCondAlg.h index 93830438787aeff9a6e82116da445516989e57da..14c5466c5e7c4d4a6f75af0197025f0188b45827 100644 --- a/InnerDetector/InDetConditions/SiLorentzAngleSvc/src/PixelSiLorentzAngleCondAlg.h +++ b/InnerDetector/InDetConditions/SiLorentzAngleSvc/src/PixelSiLorentzAngleCondAlg.h @@ -10,7 +10,7 @@ #include "StoreGate/ReadCondHandleKey.h" #include "StoreGate/WriteCondHandleKey.h" #include "AthenaPoolUtilities/CondAttrListCollection.h" -#include "PixelConditionsData/PixelDCSConditionsData.h" +#include "PixelConditionsData/PixelModuleData.h" #include "GaudiKernel/ICondSvc.h" #include "SiPropertiesSvc/ISiPropertiesTool.h" @@ -42,10 +42,10 @@ class PixelSiLorentzAngleCondAlg: public AthAlgorithm { ServiceHandle<ICondSvc> m_condSvc; ServiceHandle<MagField::IMagFieldSvc> m_magFieldSvc; - SG::ReadCondHandleKey<PixelDCSConditionsData> m_readKeyTemp{this, "ReadKeyeTemp", "PixelDCSTempCondData", "Key of input sensor temperature conditions folder"}; - SG::ReadCondHandleKey<PixelDCSConditionsData> m_readKeyHV {this, "ReadKeyHV", "PixelDCSHVCondData", "Key of input bias voltage conditions folder"}; - + SG::ReadCondHandleKey<PixelModuleData> m_readKeyTemp{this, "ReadKeyeTemp", "PixelDCSTempCondData", "Key of input sensor temperature conditions folder"}; + SG::ReadCondHandleKey<PixelModuleData> m_readKeyHV {this, "ReadKeyHV", "PixelDCSHVCondData", "Key of input bias voltage conditions folder"}; SG::ReadCondHandleKey<CondAttrListCollection> m_readKeyBFieldSensor{this, "ReadKeyBFieldSensor", "/EXT/DCS/MAGNETS/SENSORDATA", "Key of input B-field sensor"}; + SG::WriteCondHandleKey<SiLorentzAngleCondData> m_writeKey{this, "WriteKey", "PixelSiLorentzAngleCondData", "Key of output SiLorentzAngleCondData"}; ToolHandle<ISiPropertiesTool> m_siPropertiesTool{this, "SiPropertiesTool", "SiPropertiesTool", "Tool to retrieve SiProperties"}; diff --git a/InnerDetector/InDetConditions/SiPropertiesSvc/src/PixelSiPropertiesCondAlg.cxx b/InnerDetector/InDetConditions/SiPropertiesSvc/src/PixelSiPropertiesCondAlg.cxx index c8edf9a86f3025ff564cc5426af3a5d1024f703f..1eddd274b86463c1c1b32bc6017829fabd5d765c 100644 --- a/InnerDetector/InDetConditions/SiPropertiesSvc/src/PixelSiPropertiesCondAlg.cxx +++ b/InnerDetector/InDetConditions/SiPropertiesSvc/src/PixelSiPropertiesCondAlg.cxx @@ -46,8 +46,8 @@ StatusCode PixelSiPropertiesCondAlg::execute() { } // Read Cond Handle (temperature) - SG::ReadCondHandle<PixelDCSConditionsData> readHandleTemp(m_readKeyTemp); - const PixelDCSConditionsData* readCdoTemp(*readHandleTemp); + SG::ReadCondHandle<PixelModuleData> readHandleTemp(m_readKeyTemp); + const PixelModuleData* readCdoTemp(*readHandleTemp); if (readCdoTemp==nullptr) { ATH_MSG_FATAL("Null pointer to the read conditions object"); return StatusCode::FAILURE; @@ -60,8 +60,8 @@ StatusCode PixelSiPropertiesCondAlg::execute() { ATH_MSG_INFO("Input is " << readHandleTemp.fullKey() << " with the range of " << rangeTemp); // Read Cond Handle (HV) - SG::ReadCondHandle<PixelDCSConditionsData> readHandleHV(m_readKeyHV); - const PixelDCSConditionsData* readCdoHV(*readHandleHV); + SG::ReadCondHandle<PixelModuleData> readHandleHV(m_readKeyHV); + const PixelModuleData* readCdoHV(*readHandleHV); if (readCdoHV==nullptr) { ATH_MSG_FATAL("Null pointer to the read conditions object"); return StatusCode::FAILURE; @@ -87,15 +87,9 @@ StatusCode PixelSiPropertiesCondAlg::execute() { for (PixelID::size_type hash=0; hash<wafer_hash_max; hash++) { const IdentifierHash elementHash = static_cast<IdentifierHash::value_type>(hash); - float tempCdo = 0.0; - readCdoTemp->getValue(elementHash,tempCdo); - double temperature = tempCdo+273.15; - + double temperature = readCdoTemp->getTemperature(elementHash)+273.15; double deplVoltage = 0.0*CLHEP::volt; - - float hvCdo = 0.0; - readCdoHV->getValue(elementHash,hvCdo); - double biasVoltage = hvCdo*CLHEP::volt; + double biasVoltage = readCdoHV->getBiasVoltage(elementHash)*CLHEP::volt; const InDetDD::SiDetectorElement* element = m_detManager->getDetectorElement(elementHash); double depletionDepth = element->thickness(); diff --git a/InnerDetector/InDetConditions/SiPropertiesSvc/src/PixelSiPropertiesCondAlg.h b/InnerDetector/InDetConditions/SiPropertiesSvc/src/PixelSiPropertiesCondAlg.h index 421b02721382725c375229673fe175086d699fda..3e0be4071512a7c3535b252c8cf981cf252b4efb 100644 --- a/InnerDetector/InDetConditions/SiPropertiesSvc/src/PixelSiPropertiesCondAlg.h +++ b/InnerDetector/InDetConditions/SiPropertiesSvc/src/PixelSiPropertiesCondAlg.h @@ -9,7 +9,7 @@ #include "StoreGate/ReadCondHandleKey.h" #include "StoreGate/WriteCondHandleKey.h" -#include "PixelConditionsData/PixelDCSConditionsData.h" +#include "PixelConditionsData/PixelModuleData.h" #include "GaudiKernel/ICondSvc.h" #include "SiPropertiesSvc/SiliconPropertiesVector.h" @@ -29,8 +29,9 @@ class PixelSiPropertiesCondAlg : public AthAlgorithm { const InDetDD::PixelDetectorManager * m_detManager; ServiceHandle<ICondSvc> m_condSvc; - SG::ReadCondHandleKey<PixelDCSConditionsData> m_readKeyTemp {this, "ReadKeyeTemp", "PixelDCSTempCondData", "Key of input sensor temperature conditions folder"}; - SG::ReadCondHandleKey<PixelDCSConditionsData> m_readKeyHV {this, "ReadKeyHV", "PixelDCSHVCondData", "Key of input bias voltage conditions folder"}; + + SG::ReadCondHandleKey<PixelModuleData> m_readKeyTemp {this, "ReadKeyeTemp", "PixelDCSTempCondData", "Key of input sensor temperature conditions folder"}; + SG::ReadCondHandleKey<PixelModuleData> m_readKeyHV {this, "ReadKeyHV", "PixelDCSHVCondData", "Key of input bias voltage conditions folder"}; SG::WriteCondHandleKey<InDet::SiliconPropertiesVector> m_writeKey{this, "WriteKey", "PixelSiliconPropertiesVector", "Key of output silicon properties conditions folder"}; }; diff --git a/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/src/PixelPrepDataToxAOD.cxx b/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/src/PixelPrepDataToxAOD.cxx index 58842c43177bf4b66e94139bdb7349475da17796..f643b6928825aa4903200564f788ff9f71ea991f 100644 --- a/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/src/PixelPrepDataToxAOD.cxx +++ b/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/src/PixelPrepDataToxAOD.cxx @@ -229,16 +229,9 @@ StatusCode PixelPrepDataToxAOD::execute() AUXDATA(xprd,int,isBSError) = (int)m_pixelBSErrorsSvc->isActive(moduleHash); AUXDATA(xprd,int,DCSState) = SG::ReadCondHandle<PixelModuleData>(m_condDCSStateKey)->getModuleStatus(moduleHash); - float temperature = 0.0; - SG::ReadCondHandle<PixelDCSConditionsData>(m_readKeyTemp)->getValue(moduleHash,temperature); - float deplVoltage = 0.0; - - float biasVoltage = 0.0; - SG::ReadCondHandle<PixelDCSConditionsData>(m_readKeyHV)->getValue(moduleHash,biasVoltage); - - AUXDATA(xprd,float,BiasVoltage) = biasVoltage; - AUXDATA(xprd,float,Temperature) = temperature; + AUXDATA(xprd,float,BiasVoltage) = SG::ReadCondHandle<PixelModuleData>(m_readKeyHV)->getBiasVoltage(moduleHash); + AUXDATA(xprd,float,Temperature) = SG::ReadCondHandle<PixelModuleData>(m_readKeyTemp)->getTemperature(moduleHash); AUXDATA(xprd,float,DepletionVoltage) = deplVoltage; AUXDATA(xprd,float,LorentzShift) = (float)m_lorentzAngleTool->getLorentzShift(moduleHash); diff --git a/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/src/PixelPrepDataToxAOD.h b/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/src/PixelPrepDataToxAOD.h index 044fc086808ed4c3cff46d2dfaa83e163c71e283..bb5b9b0e86135d6953c895f3218a6c67f6feb619 100644 --- a/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/src/PixelPrepDataToxAOD.h +++ b/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/src/PixelPrepDataToxAOD.h @@ -20,7 +20,6 @@ #include "xAODTracking/TrackMeasurementValidation.h" #include "xAODTracking/TrackMeasurementValidationContainer.h" -#include "PixelConditionsData/PixelDCSConditionsData.h" #include "PixelConditionsData/PixelModuleData.h" #include "InDetCondServices/ISiLorentzAngleTool.h" #include "PixelConditionsServices/IPixelByteStreamErrorsSvc.h" @@ -108,8 +107,8 @@ private: SG::ReadCondHandleKey<PixelModuleData> m_condDCSStateKey{this, "PixelDCSStateCondData", "PixelDCSStateCondData", "Pixel FSM state key"}; SG::ReadCondHandleKey<PixelModuleData> m_condDCSStatusKey{this, "PixelDCSStatusCondData", "PixelDCSStatusCondData", "Pixel FSM status key"}; - SG::ReadCondHandleKey<PixelDCSConditionsData> m_readKeyTemp{this, "ReadKeyeTemp", "PixelDCSTempCondData", "Key of input sensor temperature conditions folder"}; - SG::ReadCondHandleKey<PixelDCSConditionsData> m_readKeyHV {this, "ReadKeyHV", "PixelDCSHVCondData", "Key of input bias voltage conditions folder"}; + SG::ReadCondHandleKey<PixelModuleData> m_readKeyTemp{this, "ReadKeyeTemp", "PixelDCSTempCondData", "Key of input sensor temperature conditions folder"}; + SG::ReadCondHandleKey<PixelModuleData> m_readKeyHV {this, "ReadKeyHV", "PixelDCSHVCondData", "Key of input bias voltage conditions folder"}; ServiceHandle<IPixelByteStreamErrorsSvc> m_pixelBSErrorsSvc; ToolHandle<ISiLorentzAngleTool> m_lorentzAngleTool{this, "LorentzAngleTool", "SiLorentzAngleTool", "Tool to retreive Lorentz angle"};