|
ATLAS Offline Software
|
#include <CaloCellCalcEnergyCorr.h>
|
| CaloCellCalcEnergyCorr (const std::string &name, ISvcLocator *pSvcLocator) |
| Constructor with parameters: More...
|
|
virtual | ~CaloCellCalcEnergyCorr () |
| Destructor: More...
|
|
virtual StatusCode | initialize () override |
|
virtual StatusCode | execute () override |
|
virtual StatusCode | finalize () override |
|
virtual StatusCode | stop () override |
|
virtual StatusCode | sysInitialize () override |
| Override sysInitialize. More...
|
|
virtual const DataObjIDColl & | extraOutputDeps () const override |
| Return the list of extra output dependencies. More...
|
|
ServiceHandle< StoreGateSvc > & | evtStore () |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | evtStore () const |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | detStore () const |
| The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
virtual StatusCode | sysStart () override |
| Handle START transition. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. More...
|
|
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T > &t) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc="none") |
| Declare a new Gaudi property. More...
|
|
void | updateVHKA (Gaudi::Details::PropertyBase &) |
|
MsgStream & | msg () const |
|
MsgStream & | msg (const MSG::Level lvl) const |
|
bool | msgLvl (const MSG::Level lvl) const |
|
Definition at line 23 of file CaloCellCalcEnergyCorr.h.
◆ StoreGateSvc_t
◆ CaloCellCalcEnergyCorr()
CaloCellCalcEnergyCorr::CaloCellCalcEnergyCorr |
( |
const std::string & |
name, |
|
|
ISvcLocator * |
pSvcLocator |
|
) |
| |
Constructor with parameters:
Definition at line 70 of file CaloCellCalcEnergyCorr.cxx.
78 std::vector<int>
ivec;
ivec.push_back(-1);
80 std::vector<float> fvec; fvec.push_back(1.0);
82 std::vector<int> iivec; iivec.push_back(-1);
84 std::vector<float> ffvec; ffvec.push_back(1.0);
◆ ~CaloCellCalcEnergyCorr()
CaloCellCalcEnergyCorr::~CaloCellCalcEnergyCorr |
( |
| ) |
|
|
virtualdefault |
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
253 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
229 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey
. It just forwards to the base class version of declareProperty
.
Definition at line 333 of file AthCommonDataStore.h.
338 return PBASE::declareProperty(
name, property,
doc);
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This dispatches to either the generic declareProperty
or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
◆ declareProperty() [6/6]
◆ detStore()
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ execute()
StatusCode CaloCellCalcEnergyCorr::execute |
( |
| ) |
|
|
overridevirtual |
◆ extraDeps_update_handler()
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
◆ extraOutputDeps()
const DataObjIDColl & AthAlgorithm::extraOutputDeps |
( |
| ) |
const |
|
overridevirtualinherited |
Return the list of extra output dependencies.
This list is extended to include symlinks implied by inheritance relations.
Definition at line 50 of file AthAlgorithm.cxx.
57 return Algorithm::extraOutputDeps();
◆ finalize()
StatusCode CaloCellCalcEnergyCorr::finalize |
( |
| ) |
|
|
overridevirtual |
◆ GetHVLines()
Definition at line 238 of file CaloCellCalcEnergyCorr.cxx.
247 if (!embElement) std::abort();
249 unsigned int nelec =
cell->getNumElectrodes();
250 for (
unsigned int i=0;
i<nelec;
i++) {
252 for (
unsigned int igap=0;igap<2;igap++) hv.insert(hvdata.m_hvdata_EMB.hvLineNo (electrode, igap));
256 if (!emecElement) std::abort();
258 unsigned int nelec =
cell->getNumElectrodes();
259 for (
unsigned int i=0;
i<nelec;
i++) {
263 hvdata.m_hvdata_EMEC_IN :
264 hvdata.m_hvdata_EMEC_OUT ;
265 for (
unsigned int igap=0;igap<2;igap++) {
266 hv.insert(hvdata_EMEC.
hvLineNo (electrode, igap));
272 if (!hecElement) std::abort();
274 unsigned int nsubgaps =
cell->getNumSubgaps();
275 for (
unsigned int igap=0;igap<nsubgaps;igap++) {
277 hv.insert(hvdata.m_hvdata_HEC.hvLineNo (subgap));
281 if (!fcalElement) std::abort();
283 unsigned int nlines =
tile->getNumHVLines();
284 for (
unsigned int i=0;
i<nlines;
i++) {
286 if(
line) hv.insert(hvdata.m_hvdata_FCAL.hvLineNo (*
line));
291 if (!embElement) std::abort();
294 for (
unsigned int igap=0;igap<2;igap++) hv.insert(hvdata.m_hvdata_EMBPS.hvLineNo (hvmodule, igap));
297 if (!emecElement) std::abort();
300 for (
unsigned int igap=0;igap<2;igap++) hv.insert(hvdata.m_hvdata_EMECPS.hvLineNo (hvmodule, igap));
304 std::vector<int> hvlines;
◆ initialize()
StatusCode CaloCellCalcEnergyCorr::initialize |
( |
| ) |
|
|
overridevirtual |
Definition at line 93 of file CaloCellCalcEnergyCorr.cxx.
96 ATH_MSG_ERROR(
"CaloSamples and SampleValues vectors not equal length !!! " );
97 return StatusCode::FAILURE;
100 ATH_MSG_ERROR(
"HVLines and HVvalues vectors not equal length !!! " );
101 return StatusCode::FAILURE;
117 return StatusCode::SUCCESS;
◆ inputHandles()
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ outputHandles()
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ renounce()
◆ renounceArray()
◆ stop()
StatusCode CaloCellCalcEnergyCorr::stop |
( |
| ) |
|
|
overridevirtual |
Definition at line 130 of file CaloCellCalcEnergyCorr.cxx.
154 if(maxsubcalo < 0 ) {
156 return StatusCode::FAILURE;
162 ATH_MSG_INFO(
"Working on hash range 0 to " << hashMax );
164 coral::AttributeListSpecification*
spec =
new coral::AttributeListSpecification();
165 spec->extend(
"CaloCondBlob16M",
"blob");
174 std::vector<std::vector<float> >
defVec;
183 const EventContext& ctx = Gaudi::Hive::currentContext();
185 std::vector<const CondAttrListCollection*> attrvec;
188 attrvec.push_back (*dcsHdl);
191 HVData hvdata (*
manager, **hvCabling, attrvec);
197 std::vector<float> setVec(1,1);
200 for(
unsigned h=0;
h<hashMax;++
h) {
202 std::vector<int>::const_iterator
pos;
211 std::vector<int> hvlineId =
GetHVLines(hvdata, offId, caloMgr);
214 std::vector<int>::const_iterator poshv;
215 for(
unsigned i=0;
i<hvlineId.size(); ++
i) {
221 if(nfound == (
int)hvlineId.size()) {
228 flt->setData(
h,0,setVec);
231 ATH_MSG_INFO(
"Found " << nSet <<
" channels which have a sample correction. " );
232 ATH_MSG_INFO(
"Found " << nSetHV <<
" channels which have a HV correction. " );
234 return StatusCode::SUCCESS;
◆ sysInitialize()
StatusCode AthAlgorithm::sysInitialize |
( |
| ) |
|
|
overridevirtualinherited |
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ updateVHKA()
◆ m_caloMgrKey
◆ m_calosample
std::vector<int> CaloCellCalcEnergyCorr::m_calosample |
|
private |
◆ m_DCSFolderKeys
Initial value:{ this, "DCSFolderNames", {"/LAR/DCS/HV/BARREl/I16", "/LAR/DCS/HV/BARREL/I8"},
"DCS folders with HV values"}
Definition at line 57 of file CaloCellCalcEnergyCorr.h.
◆ m_detStore
◆ m_evtStore
◆ m_extendedExtraObjects
DataObjIDColl AthAlgorithm::m_extendedExtraObjects |
|
privateinherited |
◆ m_folder
std::string CaloCellCalcEnergyCorr::m_folder |
|
private |
◆ m_hvCablingKey
◆ m_hvlines
std::vector<int> CaloCellCalcEnergyCorr::m_hvlines |
|
private |
◆ m_hvvalue
std::vector<float> CaloCellCalcEnergyCorr::m_hvvalue |
|
private |
◆ m_larem_id
◆ m_larfcal_id
◆ m_larhec_id
◆ m_value
std::vector<float> CaloCellCalcEnergyCorr::m_value |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
def retrieve(aClass, aKey=None)
JetConstituentVector::iterator iterator
EMECHVModule::IOType getWheelIndex() const
GeoIntrusivePtr< const HECCell > HECCellConstLink
@Class: HECCellConstLink
LAr EMEC Detector Element.
Smart Pointer to EMEC Cells. This reference counted link allocates on demand. It audits the total poi...
std::string find(const std::string &s)
return a remapped string
Class for storing a number of floats (Flt) and functions on those.
bool is_lar_fcal(Identifier id) const
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
const CaloDetDescrElement * get_element(const Identifier &cellId) const
get element by its identifier
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
int sampling(const Identifier id) const
return sampling according to :
std::vector< int > m_hvlines
int calo_sample(const Identifier id) const
returns an int taken from Sampling enum and describing the subCalo to which the Id belongs.
const FCALTile * getFCALTile() const
FCAL Tile description from LArReadoutGeometry.
EMECCellConstLink getEMECCell() const
EMEC Cell description from LArReadoutGeometry.
LAr EMB Detector Element.
std::vector< float > m_hvvalue
GeoIntrusivePtr< const EMBCell > EMBCellConstLink
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
SG::ReadCondHandleKey< LArHVIdMapping > m_hvCablingKey
virtual void setOwner(IDataHandleHolder *o)=0
LAr HEC Detector Element.
std::vector< float > m_value
const LArFCAL_ID * m_larfcal_id
A tile of the forward calorimeter readout geometry.
int hvLineNo(const EMECHVElectrode &electrode, const int &iGap) const
virtual StatusCode sysInitialize() override
Override sysInitialize.
This class initializes the Calo (LAr and Tile) offline identifiers.
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
void calo_cell_hash_range(const Identifier id, IdentifierHash &caloCellMin, IdentifierHash &caloCellMax) const
to loop on 'global' cell hashes of one sub-calorimeter alone
::StatusCode StatusCode
StatusCode definition for legacy code.
LAr FCAL Detector Element.
An AttributeList represents a logical row of attributes in a metadata table. The name and type of eac...
#define CHECK(...)
Evaluate an expression and check for errors.
bool is_lar_hec(Identifier id) const
Helper class for offline cell identifiers.
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
int barrel_ec(const Identifier id) const
return barrel_ec according to :
SG::ReadCondHandleKeyArray< CondAttrListCollection > m_DCSFolderKeys
StatusCode initialize(bool used=true)
const EMECHVModule & getModule() const
EMBCellConstLink getEMBCell() const
EMB Cell description from LArReadoutGeometry.
Identifier cell_id(const int subCalo, const int barec_or_posneg, const int sampling_or_fcalmodule, const int region_or_dummy, const int eta, const int phi) const
Make a cell (== channel) ID from constituting fields and subCalo index; for (Mini)FCAL,...
DataObjIDColl m_extendedExtraObjects
std::vector< int > m_calosample
This class provides access to the High Voltage throughout the LAr. High voltage conditions can also b...
This class provides the client interface for accessing the detector description information common to...
static CaloCondBlobFlt * getInstance(coral::Blob &blob)
Returns a pointer to a non-const CaloCondBlobFlt.
#define ATH_MSG_WARNING(x)
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
Describes one HV Module within the EMEc Presampler.
AthAlgorithm()
Default constructor:
std::vector< int > GetHVLines(const HVData &hvdata, const Identifier &id, const CaloDetDescrManager *caloMgr)
HECCellConstLink getHECCell() const
HEC Cell description from LArReadoutGeometry.
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
vec_fb< typename boost::int_t< sizeof(T) *8 >::exact, N > ivec
bool is_lar_em(Identifier id) const
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Describes one HV Module within the EMB Presampler.
const LArHEC_ID * m_larhec_id
const LArEM_ID * m_larem_id