|
ATLAS Offline Software
|
#include <LArDSPThresholdFillInline.h>
|
| LArDSPThresholdFillInline (const std::string &name, ISvcLocator *pSvcLocator) |
|
virtual | ~LArDSPThresholdFillInline () |
|
virtual StatusCode | initialize () override |
|
virtual StatusCode | execute () 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 |
|
|
SG::ReadCondHandleKey< LArOnOffIdMapping > | m_cablingKey {this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"} |
|
SG::ReadCondHandleKey< CaloDetDescrManager > | m_caloMgrKey {this,"CaloDetDescrManager","CaloDetDescrManager","SG Key for CaloDetDescrManager in the Condition Store" } |
|
const LArOnlineID * | m_onlineID |
|
std::string | m_nameOfSet |
|
std::string | m_key |
|
std::string | m_mode |
|
std::vector< std::string > | m_cellGroupStr |
|
float | m_tqThrsh |
|
float | m_samplesThrsh |
|
float | m_maskedtqThrsh |
|
float | m_maskedsamplesThrsh |
|
float | m_sigmaNoiseSamples = 0.0F |
|
float | m_sigmaNoiseQt = 0.0F |
|
bool | m_usePileupNoiseSamples = false |
|
bool | m_usePileupNoiseQt = false |
|
bool | m_dump |
|
bool | m_maskBadChannels |
|
std::string | m_outFileName |
|
std::string | m_inFileName |
|
bool | m_fill |
|
SG::ReadCondHandleKey< CaloNoise > | m_totalNoiseKey { this, "TotalNoiseKey", "totalNoise", "SG key for total noise" } |
|
SG::ReadCondHandleKey< CaloNoise > | m_elecNoiseKey { this, "ElecNoiseKey", "electronicNoise", "SG key for electronic noise" } |
|
LArBadChannelMask | m_bcMask |
| Handle to bad-channel mask. More...
|
|
SG::ReadCondHandleKey< LArBadChannelCont > | m_bcContKey {this, "BadChanKey", "LArBadChannel", "SG key for LArBadChan object"} |
|
Gaudi::Property< std::vector< std::string > > | m_problemsToMask {this,"ProblemsToMask",{}, "Bad-Channel categories to mask"} |
|
Gaudi::Property< float > | m_scaleIW {this,"ScaleIW",0.,"if >0 scale EMEC IW and FCAL thresholds with this factor"} |
|
mode_t | m_workmode |
|
CaloCellGroupList | m_thrPerCell |
|
DataObjIDColl | m_extendedExtraObjects |
|
StoreGateSvc_t | m_evtStore |
| Pointer to StoreGate (event store by default) More...
|
|
StoreGateSvc_t | m_detStore |
| Pointer to StoreGate (detector store by default) More...
|
|
std::vector< SG::VarHandleKeyArray * > | m_vhka |
|
bool | m_varHandleArraysDeclared |
|
Definition at line 20 of file LArDSPThresholdFillInline.h.
◆ StoreGateSvc_t
◆ mode_t
◆ LArDSPThresholdFillInline()
LArDSPThresholdFillInline::LArDSPThresholdFillInline |
( |
const std::string & |
name, |
|
|
ISvcLocator * |
pSvcLocator |
|
) |
| |
◆ ~LArDSPThresholdFillInline()
LArDSPThresholdFillInline::~LArDSPThresholdFillInline |
( |
| ) |
|
|
virtual |
◆ 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()
virtual StatusCode LArDSPThresholdFillInline::execute |
( |
| ) |
|
|
inlineoverridevirtual |
◆ 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();
◆ initialize()
StatusCode LArDSPThresholdFillInline::initialize |
( |
| ) |
|
|
overridevirtual |
Definition at line 63 of file LArDSPThresholdFillInline.cxx.
75 if (
m_mode.compare(
"fixed")==0) {
78 <<
name() <<
".tQThreshold and "
79 <<
name() <<
".samplesThreshold for DSP thresholds" );
81 else if (
m_mode.compare(
"group")==0) {
83 ATH_MSG_INFO (
"Will used cell groups defined in jobO " <<
name() <<
".CellGroup for DSP thresholds" );
88 return StatusCode::FAILURE;
93 return StatusCode::FAILURE;
96 else if (
m_mode.compare(
"noise")==0) {
100 ATH_MSG_INFO (
"Will used ICaloCellTool::totalNoiseRMS times " <<
name() <<
".sigmaNoiseSamples and" );
102 ATH_MSG_INFO (
"Will used ICaloCellTool::elecNoiseRMS times " <<
name() <<
".sigmaNoiseSamples and" );
105 ATH_MSG_INFO (
"ICaloCellTool::totalNoiseRMS times " <<
name() <<
".sigmaNoiseQt for DSP thresholds" );
107 ATH_MSG_INFO (
"ICaloCellTool::elecNoiseRMS times " <<
name() <<
".sigmaNoiseQt for DSP thresholds" );
114 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 LArDSPThresholdFillInline::stop |
( |
| ) |
|
|
overridevirtual |
Definition at line 117 of file LArDSPThresholdFillInline.cxx.
121 const EventContext& ctx = Gaudi::Hive::currentContext();
129 coral::AttributeListSpecification*
spec =
new coral::AttributeListSpecification();
131 spec->extend(
"tQThr",
"blob");
132 spec->extend(
"samplesThr",
"blob");
133 spec->extend(
"trigSumThr",
"blob");
134 spec->extend(
"Name",
"string");
144 tQThrBlob.resize(hashMax*
sizeof(
float));
145 samplesThrBlob.resize(hashMax*
sizeof(
float));
146 trigSumThrBlob.resize(hashMax*
sizeof(
float));
148 float* ptQThrBlob=
static_cast<float*
>(tQThrBlob.startingAddress());
149 float* psamplesBlob=
static_cast<float*
>(samplesThrBlob.startingAddress());
150 float* ptrigSumBlob=
static_cast<float*
>(trigSumThrBlob.startingAddress());
163 return StatusCode::FAILURE;
170 totalNoise = totalNoiseH.cptr();
172 elecNoise = elecNoiseH.cptr();
183 for (
unsigned hs=0;
hs<hashMax;++
hs) {
188 if(!
cabling->isOnlineConnected(chid)){
189 ATH_MSG_DEBUG (
"cell id: " <<
id <<
" not connected channel, skip " );
213 if(thrs.size()!=2) std::cout <<
"len=" << thrs.size() << std::endl;
214 ptQThrBlob[
hs]=thrs[0];
215 psamplesBlob[
hs]=thrs[1];
216 ptrigSumBlob[
hs]=thrs[0];
222 return StatusCode::FAILURE;
246 float samplesThr = 0.;
295 std::ostream *
out = &(std::cout);
309 for (;chanIt!=chanIt_e;++chanIt) {
321 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_bcContKey
◆ m_bcMask
◆ m_cablingKey
◆ m_caloMgrKey
◆ m_cellGroupStr
std::vector<std::string> LArDSPThresholdFillInline::m_cellGroupStr |
|
private |
◆ m_detStore
◆ m_dump
bool LArDSPThresholdFillInline::m_dump |
|
private |
◆ m_elecNoiseKey
◆ m_evtStore
◆ m_extendedExtraObjects
DataObjIDColl AthAlgorithm::m_extendedExtraObjects |
|
privateinherited |
◆ m_fill
bool LArDSPThresholdFillInline::m_fill |
|
private |
◆ m_inFileName
std::string LArDSPThresholdFillInline::m_inFileName |
|
private |
◆ m_key
std::string LArDSPThresholdFillInline::m_key |
|
private |
◆ m_maskBadChannels
bool LArDSPThresholdFillInline::m_maskBadChannels |
|
private |
◆ m_maskedsamplesThrsh
float LArDSPThresholdFillInline::m_maskedsamplesThrsh |
|
private |
◆ m_maskedtqThrsh
float LArDSPThresholdFillInline::m_maskedtqThrsh |
|
private |
◆ m_mode
std::string LArDSPThresholdFillInline::m_mode |
|
private |
◆ m_nameOfSet
std::string LArDSPThresholdFillInline::m_nameOfSet |
|
private |
◆ m_onlineID
◆ m_outFileName
std::string LArDSPThresholdFillInline::m_outFileName |
|
private |
◆ m_problemsToMask
Gaudi::Property<std::vector<std::string> > LArDSPThresholdFillInline::m_problemsToMask {this,"ProblemsToMask",{}, "Bad-Channel categories to mask"} |
|
private |
◆ m_samplesThrsh
float LArDSPThresholdFillInline::m_samplesThrsh |
|
private |
◆ m_scaleIW
Gaudi::Property<float> LArDSPThresholdFillInline::m_scaleIW {this,"ScaleIW",0.,"if >0 scale EMEC IW and FCAL thresholds with this factor"} |
|
private |
◆ m_sigmaNoiseQt
float LArDSPThresholdFillInline::m_sigmaNoiseQt = 0.0F |
|
private |
◆ m_sigmaNoiseSamples
float LArDSPThresholdFillInline::m_sigmaNoiseSamples = 0.0F |
|
private |
◆ m_thrPerCell
◆ m_totalNoiseKey
◆ m_tqThrsh
float LArDSPThresholdFillInline::m_tqThrsh |
|
private |
◆ m_usePileupNoiseQt
bool LArDSPThresholdFillInline::m_usePileupNoiseQt = false |
|
private |
◆ m_usePileupNoiseSamples
bool LArDSPThresholdFillInline::m_usePileupNoiseSamples = false |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vhka
◆ m_workmode
mode_t LArDSPThresholdFillInline::m_workmode |
|
private |
The documentation for this class was generated from the following files:
def retrieve(aClass, aKey=None)
SG::ReadCondHandleKey< CaloNoise > m_elecNoiseKey
bool isEMECIW(const HWIdentifier id) const override final
Gaudi::Property< std::vector< std::string > > m_problemsToMask
float m_sigmaNoiseSamples
bool m_usePileupNoiseSamples
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
const std::vector< float > & getDefaults() const
Conditions-Data class holding LAr Bad Channel or Bad Feb information.
This class groups all DetDescr information related to a CaloCell. Provides a generic interface for al...
const CaloDetDescrElement * get_element(const Identifier &cellId) const
get element by its identifier
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...
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
StatusCode buildBitMask(const std::vector< std::string > &problemsToMask, MsgStream &msg)
value_type get_compact() const
Get the compact id.
const std::string & key() const
Return the StoreGate ID for the referenced object.
float getNoise(const IdentifierHash h, const int gain) const
Accessor by IdentifierHash and gain.
bool cellShouldBeMasked(const LArBadChannelCont *bcCont, const HWIdentifier &hardwareId) const
Gaudi::Property< float > m_scaleIW
id_iterator channel_end() const
std::string m_outFileName
float samplesThr(const HWIdentifier &CellID) const
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual void setOwner(IDataHandleHolder *o)=0
bool isFCALchannel(const HWIdentifier id) const
IdentifierHash calo_hash() const
cell calo hash
bool isEMECchannel(const HWIdentifier id) const override final
virtual StatusCode sysInitialize() override
Override sysInitialize.
float tQThr(const HWIdentifier &CellID) const
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
::StatusCode StatusCode
StatusCode definition for legacy code.
HWIdentifier channel_Id(int barrel_ec, int pos_neg, int feedthrough, int slot, int channel) const
create channel identifier from fields
An AttributeList represents a logical row of attributes in a metadata table. The name and type of eac...
Helper class for offline cell identifiers.
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
bool is_lar_fcal() const
cell belongs to FCAL
float m_maskedsamplesThrsh
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
std::vector< std::string > m_cellGroupStr
size_type channelHashMax(void) const
Define channel hash tables max size.
SG::ReadCondHandleKey< LArBadChannelCont > m_bcContKey
StatusCode initialize(bool used=true)
DataObjIDColl m_extendedExtraObjects
float trigSumThr(const HWIdentifier &CellID) const
This class provides the client interface for accessing the detector description information common to...
#define ATH_MSG_WARNING(x)
LArBadChannelMask m_bcMask
Handle to bad-channel mask.
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
CaloCellGroupList m_thrPerCell
float eta() const
cell eta
AthAlgorithm()
Default constructor:
float phi() const
cell phi
bool isHECchannel(const HWIdentifier id) const override final
Helper base class for offline cell identifiers.
const std::vector< float > & valuesForCell(const Identifier id)
bool setDefinition(const CaloCell_Base_ID *caloCellId, const std::vector< std::string > &definitions, MsgStream &logStr)
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
id_iterator channel_begin() const
Returns an iterator pointing to a channel identifier collection.
SG::ReadCondHandleKey< CaloNoise > m_totalNoiseKey
const LArOnlineID * m_onlineID