|
ATLAS Offline Software
|
#include <L1CaloPprPhos4ShapeMaker.h>
|
| L1CaloPprPhos4ShapeMaker (const std::string &name, ISvcLocator *pSvcLocator) |
|
virtual StatusCode | initialize () override |
|
virtual StatusCode | execute () override |
|
virtual StatusCode finalize | ATLAS_NOT_THREAD_SAFE () 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 60 of file L1CaloPprPhos4ShapeMaker.h.
◆ Itr_tt
◆ StoreGateSvc_t
◆ L1CaloPprPhos4ShapeMaker() [1/3]
L1CaloPprPhos4ShapeMaker::L1CaloPprPhos4ShapeMaker |
( |
const std::string & |
name, |
|
|
ISvcLocator * |
pSvcLocator |
|
) |
| |
◆ L1CaloPprPhos4ShapeMaker() [2/3]
L1CaloPprPhos4ShapeMaker::L1CaloPprPhos4ShapeMaker |
( |
| ) |
|
|
private |
◆ L1CaloPprPhos4ShapeMaker() [3/3]
◆ ATLAS_NOT_THREAD_SAFE()
virtual StatusCode finalize L1CaloPprPhos4ShapeMaker::ATLAS_NOT_THREAD_SAFE |
( |
| ) |
|
|
overridevirtual |
◆ 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);
◆ 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.
◆ 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.
◆ 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 L1CaloPprPhos4ShapeMaker::execute |
( |
| ) |
|
|
overridevirtual |
Definition at line 105 of file L1CaloPprPhos4ShapeMaker.cxx.
109 const EventContext& ctx = Gaudi::Hive::currentContext();
118 uint64_t eventNum = ctx.eventID().event_number();
140 for(;attrListCollItr !=
m_attrList->
end();++attrListCollItr){
161 for(;attrListCollItr !=
m_attrList->
end();++attrListCollItr){
183 for(;attrListCollItr !=
m_attrList->
end();++attrListCollItr){
201 ATH_MSG_INFO(
" Could not determine Tile or LAr so all channels will be processed." );
222 for(;attrListCollItr !=
m_attrList->
end();++attrListCollItr){
224 const unsigned int coolId = attrListCollItr->first;
233 ATH_MSG_INFO(
"Failed to set FullDelayData from database to channel 0x" << std::hex << coolId << std::dec );
236 unsigned int tempPedValue = (*attrList)[
m_pedValueName].data<
unsigned int>();
241 ATH_MSG_INFO(
"Failed to set PedValue from database to channel 0x" << std::hex << coolId << std::dec );
248 ATH_MSG_INFO(
"Failed to set L1aFadcSlice from database to channel 0x" << std::hex << coolId << std::dec );
257 ATH_MSG_INFO(
"Failed to set ValidChannel from database to channel 0x" << std::hex << coolId << std::dec );
272 for(;attrListCollItr !=
m_attrList->
end();++attrListCollItr){
273 const unsigned int coolId = attrListCollItr->first;
277 unsigned int tempErrorCode = (*attrList)[
m_errorCodeName].data<
unsigned int>();
279 if(tempErrorCode & 0xf) enabled =
false;
283 ATH_MSG_INFO(
"Failed to set ChannelEnabled from database to channel 0x" << std::hex << coolId << std::dec );
297 return StatusCode::SUCCESS;
303 ATH_MSG_FATAL(
"Failed to get the trigger tower collection so stopping." );
304 return StatusCode::FAILURE;
309 ATH_MSG_FATAL(
"Failed to get the ROD Header so stopping." );
310 return StatusCode::FAILURE;
321 for(;towerItr != towerEnd;++towerItr){
326 const unsigned int scanStepNumber = (
unsigned int)(*rodItr)->stepNumber();
330 const unsigned int phos4step = scanStepNumber % 25;
334 double eta = (*towerItr)->eta();
335 double phi = (*towerItr)->phi();
340 unsigned int layer = 0;
343 const std::vector<int> adcs = (*towerItr)->emADC();
356 for(
unsigned int j=0;j<adcs.size();++j)
357 itr->second->Fill(phos4step+j*25,adcs[j]);
367 ATH_MSG_WARNING(
"Failed to set L1aFadcSlice from Em data to channel 0x" << std::hex << coolId << std::dec );
370 ATH_MSG_WARNING(
"Failed to set ChannelEtaPhiLayer from Em data to channel 0x" << std::hex << coolId << std::dec );
379 unsigned int layer = 1;
382 const std::vector<int> adcs = (*towerItr)->hadADC();
396 for(
unsigned int j=0;j<adcs.size();++j){
397 itr->second->Fill(phos4step+j*25,adcs[j]);
409 ATH_MSG_WARNING(
"Failed to set L1aFadcSlice from HAD data to channel 0x" << std::hex << coolId << std::dec );
412 ATH_MSG_WARNING(
"Failed to set ChannelEtaPhiLayer from HAD data to channel 0x" << std::hex << coolId << std::dec );
424 return StatusCode::SUCCESS;
◆ 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();
◆ GetCoolId()
◆ GetDatabaseHandle()
StatusCode L1CaloPprPhos4ShapeMaker::GetDatabaseHandle |
( |
const std::string & |
folderName | ) |
|
|
private |
◆ GetRODHeader()
StatusCode L1CaloPprPhos4ShapeMaker::GetRODHeader |
( |
| ) |
|
|
private |
◆ GetTriggerTowers()
StatusCode L1CaloPprPhos4ShapeMaker::GetTriggerTowers |
( |
| ) |
|
|
private |
◆ initialize()
StatusCode L1CaloPprPhos4ShapeMaker::initialize |
( |
| ) |
|
|
overridevirtual |
◆ 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.
◆ IsCoolIdValid()
◆ loadAthenaObjects()
StatusCode L1CaloPprPhos4ShapeMaker::loadAthenaObjects |
( |
| ) |
|
|
private |
Definition at line 469 of file L1CaloPprPhos4ShapeMaker.cxx.
473 if (
sc.isFailure()) {
474 ATH_MSG_ERROR(
"Unable to retrieve CaloIdManager from DetectorStore");
475 return StatusCode::FAILURE;
478 ATH_MSG_INFO(
"CaloIdManager retrieved successfully." );
483 return StatusCode::FAILURE;
491 return StatusCode::FAILURE;
497 if (
sc.isFailure()) {
498 ATH_MSG_ERROR(
"Could not retrieve TrigT1CaloLWHistogramTool" );
499 return StatusCode::FAILURE;
502 ATH_MSG_INFO(
"TrigT1CaloLWHistogramTool retrieved successfully." );
511 sc = service(
"ToolSvc",toolSvc );
522 sc = toolSvc->retrieveTool(
"CaloTriggerTowerService",
m_ttSvc);
531 return StatusCode::SUCCESS;
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ operator=()
◆ 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()
◆ SetAtlasStyle()
void L1CaloPprPhos4ShapeMaker::SetAtlasStyle |
( |
void |
| ) |
|
|
private |
◆ SetTimingRegime()
void L1CaloPprPhos4ShapeMaker::SetTimingRegime |
( |
const std::string & |
regime | ) |
|
|
private |
Definition at line 595 of file L1CaloPprPhos4ShapeMaker.cxx.
598 if(regime !=
"Physics" && regime !=
"Calib1" && regime !=
"Calib2"){
599 ATH_MSG_WARNING(
"Timing Regime is expected to be Physics, Calib1, or Calib2, but is actually: " << regime <<
", using Calib1 as default." );
◆ 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_attrList
◆ m_caloMgr
◆ m_currentDatabaseMapsFilled
bool L1CaloPprPhos4ShapeMaker::m_currentDatabaseMapsFilled |
|
private |
◆ m_currentFullDelayDataMap
std::map<unsigned int,unsigned int> L1CaloPprPhos4ShapeMaker::m_currentFullDelayDataMap |
|
private |
◆ m_currentPedValueMap
std::map<unsigned int,unsigned int> L1CaloPprPhos4ShapeMaker::m_currentPedValueMap |
|
private |
◆ m_detStore
◆ m_errorCodeName
std::string L1CaloPprPhos4ShapeMaker::m_errorCodeName |
|
private |
◆ m_evtStore
◆ m_extendedExtraObjects
DataObjIDColl AthAlgorithm::m_extendedExtraObjects |
|
privateinherited |
◆ m_firstEvent
bool L1CaloPprPhos4ShapeMaker::m_firstEvent |
|
private |
◆ m_fullDataDelayName
std::string L1CaloPprPhos4ShapeMaker::m_fullDataDelayName |
|
private |
◆ m_histosForSelectedCoolIds
std::map<unsigned int,TH2F*> L1CaloPprPhos4ShapeMaker::m_histosForSelectedCoolIds |
|
private |
◆ m_histTool
◆ m_isLAr
bool L1CaloPprPhos4ShapeMaker::m_isLAr |
|
private |
◆ m_isTile
bool L1CaloPprPhos4ShapeMaker::m_isTile |
|
private |
◆ m_l1aFadcSlice
unsigned int L1CaloPprPhos4ShapeMaker::m_l1aFadcSlice |
|
private |
◆ m_l1aFadcSliceName
std::string L1CaloPprPhos4ShapeMaker::m_l1aFadcSliceName |
|
private |
◆ m_l1caloDerivedRunParsFolderName
std::string L1CaloPprPhos4ShapeMaker::m_l1caloDerivedRunParsFolderName |
|
private |
◆ m_l1caloRunParametersFolderName
std::string L1CaloPprPhos4ShapeMaker::m_l1caloRunParametersFolderName |
|
private |
◆ m_l1CaloTTIdTools
◆ m_lvl1Helper
◆ m_maxSelectedCoolIds
const unsigned short int L1CaloPprPhos4ShapeMaker::m_maxSelectedCoolIds = 50 |
|
staticprivate |
◆ m_minSignalHeight
unsigned int L1CaloPprPhos4ShapeMaker::m_minSignalHeight |
|
private |
◆ m_outputDirectory
std::string L1CaloPprPhos4ShapeMaker::m_outputDirectory |
|
private |
◆ m_pedValueName
std::string L1CaloPprPhos4ShapeMaker::m_pedValueName |
|
private |
◆ m_ppmDeadChannelsFolderName
std::string L1CaloPprPhos4ShapeMaker::m_ppmDeadChannelsFolderName |
|
private |
◆ m_pprChanCalibFolderName
std::string L1CaloPprPhos4ShapeMaker::m_pprChanCalibFolderName |
|
private |
◆ m_readoutConfigFolderName
std::string L1CaloPprPhos4ShapeMaker::m_readoutConfigFolderName |
|
private |
◆ m_rodHeader
◆ m_runNumber
unsigned int L1CaloPprPhos4ShapeMaker::m_runNumber |
|
private |
◆ m_selectedCoolIds
std::vector<unsigned int> L1CaloPprPhos4ShapeMaker::m_selectedCoolIds |
|
private |
◆ m_signalProfiles
std::map<unsigned int,TProfile*>* L1CaloPprPhos4ShapeMaker::m_signalProfiles |
|
private |
◆ m_signalShapes
◆ m_timingRegime
std::string L1CaloPprPhos4ShapeMaker::m_timingRegime |
|
private |
◆ m_timingRegimeName
std::string L1CaloPprPhos4ShapeMaker::m_timingRegimeName |
|
private |
◆ m_triggerTowers
◆ m_ttcConfiguration
std::string L1CaloPprPhos4ShapeMaker::m_ttcConfiguration |
|
private |
◆ m_ttcConfigurationName
std::string L1CaloPprPhos4ShapeMaker::m_ttcConfigurationName |
|
private |
◆ m_ttOnlineIdHelper
◆ m_ttSvc
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
JetConstituentVector::iterator iterator
void SetTileRun(bool value=true)
StatusCode SetPedValue(const L1CaloCoolChannelId &coolId, unsigned int value)
const_iterator end() const
std::map< unsigned int, unsigned int > m_currentFullDelayDataMap
std::string m_outputDirectory
bool SetChannelEtaPhiLayer(const L1CaloCoolChannelId &coolId, const float eta, const float phi, const L1CaloPprPhos4Shape::CaloLayer layer)
const CaloIdManager * m_caloMgr
Scalar phi() const
phi method
Exception class for Calo Identifiers.
StatusCode GetRODHeader()
std::string m_l1aFadcSliceName
Scalar eta() const
pseudorapidity method
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
void SetTimingRegime(const std::string ®ime)
ToolHandle< LVL1::IL1CaloTTIdTools > m_l1CaloTTIdTools
std::string m_timingRegime
StatusCode GetDatabaseHandle(const std::string &folderName)
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
L1CaloPprPhos4ShapeCollection * m_signalShapes
std::vector< SG::VarHandleKeyArray * > m_vhka
void SetMinimumSignalHeight(const unsigned int min)
const_iterator begin() const
Access to Chan/AttributeList pairs via iterators.
void SetHistogramTool(ToolHandle< LVL1::TrigT1CaloLWHistogramTool > &histTool)
unsigned int crate() const
StatusCode SetChannelEnabled(const L1CaloCoolChannelId &coolId, bool enabled)
def TH2F(name, title, nxbins, bins_par2, bins_par3, bins_par4, bins_par5=None, bins_par6=None, path='', **kwargs)
bool IsCoolIdValid(const L1CaloCoolChannelId coolId)
std::string m_timingRegimeName
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual void setOwner(IDataHandleHolder *o)=0
HWIdentifier createTTChannelID(const Identifier &id, bool bQuiet=false) const
create a TT HWIdentifier from a TT Identifier
std::string m_ppmDeadChannelsFolderName
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
unsigned int m_l1aFadcSlice
virtual StatusCode sysInitialize() override
Override sysInitialize.
StatusCode SetL1aFadcSlice(const L1CaloCoolChannelId &coolId, unsigned int slice)
const DataVector< LVL1::RODHeader > * m_rodHeader
unsigned int m_minSignalHeight
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
unsigned int channel() const
void SetTimingRegime(const std::string ®ime)
::StatusCode StatusCode
StatusCode definition for legacy code.
StatusCode SetValidChannel(const L1CaloCoolChannelId &coolId, bool validity)
const CondAttrListCollection * m_attrList
L1CaloCoolChannelId GetCoolId(const double eta, const double phi, const unsigned int layer)
std::map< unsigned int, unsigned int > m_currentPedValueMap
const CaloLVL1_ID * getLVL1_ID(void) const
bool m_currentDatabaseMapsFilled
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
std::string m_pprChanCalibFolderName
void SetLArRun(bool value=true)
virtual void renounce()=0
CaloTriggerTowerService * m_ttSvc
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
std::string m_errorCodeName
std::vector< unsigned int > m_selectedCoolIds
TriggerTowerCollection::const_iterator Itr_tt
StatusCode loadAthenaObjects()
StatusCode SetCurrentFullDelayData(const L1CaloCoolChannelId &coolId, unsigned int delay)
std::string m_l1caloRunParametersFolderName
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
DataObjIDColl m_extendedExtraObjects
void SetOutputDirectoryName(const std::string &name)
std::string m_readoutConfigFolderName
ToolHandle< LVL1::TrigT1CaloLWHistogramTool > m_histTool
void SetRunNumber(const unsigned int runNumber)
#define ATH_MSG_WARNING(x)
ChanAttrListMap::const_iterator const_iterator
StatusCode Fill(const L1CaloCoolChannelId &coolId, const unsigned int ns_step, const unsigned int adc)
L1CaloCoolChannelId createL1CoolChannelId(const HWIdentifier &id) const
create a CoolChannelId (used by TDAQ framework) from a HWIdentifier
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
HWIdentifier channelId(int crate, int module, int submodule, int channel) const
(1) create towerId from fields
const TriggerTowerCollection * m_triggerTowers
const TTOnlineID * getTTOnlineID(void) const
AthAlgorithm()
Default constructor:
std::string m_ttcConfigurationName
const CaloLVL1_ID * m_lvl1Helper
std::string m_fullDataDelayName
std::string m_ttcConfiguration
Identifier tower_id(int pos_neg_z, int sampling, int region, int eta, int phi) const
build a tower identifier
size_type size() const noexcept
Returns the number of elements in the collection.
std::string m_l1caloDerivedRunParsFolderName
std::map< unsigned int, TProfile * > * m_signalProfiles
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
const TTOnlineID * m_ttOnlineIdHelper
std::map< unsigned int, TH2F * > m_histosForSelectedCoolIds
unsigned int subModule() const
StatusCode GetTriggerTowers()
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
static const unsigned short int m_maxSelectedCoolIds
std::string m_pedValueName
unsigned int module(bool logical=true) const