![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
11 #include "CaloDetDescr/CaloDetDescrElement.h"
19 #include "GaudiKernel/ThreadLocalContext.h"
33 m_calocell_id(nullptr)
36 declareInterface<IDataRetriever>(
this);
38 declareInterface<IDataRetriever>(
this);
64 return StatusCode::SUCCESS;
87 return StatusCode::SUCCESS;
98 const EventContext& ctx = Gaudi::Hive::currentContext();
107 DataVect feedThrough; feedThrough.reserve(cellContainer->
size());
110 DataVect cellTimeVec; cellTimeVec.reserve(cellContainer->
size());
112 DataVect cellPedestal; cellPedestal.reserve(cellContainer->
size());
113 DataVect adc2Mev; adc2Mev.reserve(cellContainer->
size());
114 DataVect BadCell; BadCell.reserve(cellContainer->
size());
132 ATH_MSG_ERROR(
"in getHECData(), Could not retrieve LAr Pedestal" );
138 ATH_MSG_ERROR(
"in getHECData(),Could not get LArOnlineID!" );
147 double energyGeV,cellTime;
148 double energyAllLArHEC = 0.;
153 if((*it1)->badcell()){ BadCell.push_back(1); }
154 else{ BadCell.push_back(-1); }
159 HWIdentifier LArhwid =
cabling->createSignalChannelIDFromHash((*it1)->caloDDE()->calo_hash());
163 bool maskChannel =
false;
170 if (maskChannel)
continue;
173 energyGeV = (*it1)->energy()*(1./
GeV);
175 energyAllLArHEC += energyGeV;
185 cellTime = (*it1)->time();
189 int hecgain = (*it1)->gain();
190 float pedestal=larPedestal->
pedestal(LArhwid,hecgain);
194 cellPedestal.push_back(
DataType(pedvalue));
197 if (polynom_adc2mev.size()==0){ adc2Mev.push_back(
DataType(-1)); }
198 else{ adc2Mev.push_back(
DataType(polynom_adc2mev[1])); }
202 ATH_MSG_DEBUG(
" Total energy in HEC (LAr) in GeV : " << energyAllLArHEC );
210 DataMap[
"feedThrough"] = feedThrough;
218 DataMap[
"cellTime"] = cellTimeVec;
220 DataMap[
"cellPedestal"] = cellPedestal;
225 <<
" retrieved with " <<
phi.size() <<
" entries" );
IDENTIFIER_TYPE value_type
virtual float pedestal(const HWIdentifier &id, int gain) const =0
bool m_doMaskLArChannelsM5
char data[hepevt_bytes_allocation_ATLAS]
const LArVectorProxy ADC2MEV(const HWIdentifier &id, int gain) const
virtual StatusCode retrieve(ToolHandle< IFormatTool > &FormatTool)
Retrieve all the data.
Const iterator class for DataVector/DataList.
CaloHECRetriever(const std::string &type, const std::string &name, const IInterface *parent)
Standard Constructor.
Scalar phi() const
phi method
Scalar eta() const
pseudorapidity method
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
std::vector< DataType > DataVect
Defines a map with a key and a vector of DataType objects e.g.
CaloCellContainer::const_iterator beginConstCalo(CaloCell_ID::SUBCALO caloNum) const
get const iterators on cell of just one calo
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...
virtual std::string dataTypeName() const
Return the name of the data type.
const CaloCell_ID * m_calocell_id
const std::string & key() const
Return the StoreGate ID for the referenced object.
std::map< std::string, DataVect > DataMap
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
const DataMap getHECData(const CaloCellContainer *cellContainer)
Retrieve HEC cell location and details.
int channel(const HWIdentifier id) const
Return the channel number of a hardware cell identifier channel = [0,127] in all FEB.
std::vector< HWIdentifier >::iterator it1
::StatusCode StatusCode
StatusCode definition for legacy code.
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
std::vector< Identifier::value_type > m_LArChannelsToIgnoreM5
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
virtual bool isValid() override final
Can the handle be successfully dereferenced?
This header is shared inbetween the C-style server thread and the C++ Athena ServerSvc.
StatusCode initialize(bool used=true)
Wrapper to avoid constant divisions when using units.
Container class for CaloCell.
int feedthrough(const HWIdentifier id) const
Return the feedthrough of a hardware cell identifier : feedthrough = [0,31] Barrel - A/C side or H/...
SG::ReadCondHandleKey< LArADC2MeV > m_adc2mevKey
SG::ReadHandleKey< CaloCellContainer > m_sgKey
for properties
#define ATH_MSG_WARNING(x)
StatusCode initialize()
Default AthAlgTool methods.
CaloCellContainer::const_iterator endConstCalo(CaloCell_ID::SUBCALO caloNum) const
size_type size() const noexcept
Returns the number of elements in the collection.
Proxy for accessing a range of float values like a vector.