|
ATLAS Offline Software
|
#include <LArAutoCorrExtrapolate.h>
|
| LArAutoCorrExtrapolate (const std::string &name, ISvcLocator *pSvcLocator) |
|
| ~LArAutoCorrExtrapolate () |
|
StatusCode | initialize () |
|
StatusCode | execute () |
|
StatusCode | stop () |
|
StatusCode | finalize () |
|
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 30 of file LArAutoCorrExtrapolate.h.
◆ StoreGateSvc_t
◆ LArAutoCorrExtrapolate()
LArAutoCorrExtrapolate::LArAutoCorrExtrapolate |
( |
const std::string & |
name, |
|
|
ISvcLocator * |
pSvcLocator |
|
) |
| |
◆ ~LArAutoCorrExtrapolate()
LArAutoCorrExtrapolate::~LArAutoCorrExtrapolate |
( |
| ) |
|
|
default |
◆ 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 LArAutoCorrExtrapolate::execute |
( |
| ) |
|
◆ 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 LArAutoCorrExtrapolate::finalize |
( |
| ) |
|
|
inline |
◆ initialize()
StatusCode LArAutoCorrExtrapolate::initialize |
( |
| ) |
|
◆ 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 LArAutoCorrExtrapolate::stop |
( |
| ) |
|
Definition at line 71 of file LArAutoCorrExtrapolate.cxx.
80 return StatusCode::FAILURE;
85 ATH_MSG_INFO (
" Got computed Autocorrelation from physics " );
89 ATH_MSG_INFO (
" Got electronics noise autocorrelation from database " );
101 if ( bfCont ==
nullptr) {
109 for (;
it!=it_e;++
it) {
114 if (!(
cabling->isOnlineConnected(hwid)))
continue;
140 ATH_MSG_VERBOSE (
" sigma0_elec " << sigma0_elec <<
" corr0_ele.size() " << corr0_elec.size() );
141 if (corr0_elec.size()==0) {
149 for (;ii<corr0_elec.size();ii++)
154 float sigma0_elec2 = sigma0_elec*sigma0_elec;
157 std::vector<float> corr2;
158 bool recovered=
false;
159 if (corr.size()==0) {
161 if (
m_useBad && (!bfCont->status(febId).good()) ) {
166 if (corr0_elec.size()==0) {
171 if (corr0_elec.size()<(
unsigned int)(
n-1))
n = corr0_elec.size()+1;
172 unsigned int size =
n*(
n+1)/2;
173 std::vector<float> corr2;
174 corr2.resize(
size,0.);
176 for (
int i=0;
i<
n;
i++) {
177 for (
int j=
i;j<
n;j++,
k++) {
178 if (
i==j) corr2[
k]=sigma0_elec2;
179 else corr2[
k]=corr0_elec[j-
i-1]*sigma0_elec2;
182 larAutoCorrComplete->
set(hwid,
gain0,corr2);
195 if (corr_elec.size()==0) {
202 for (;ii<corr_elec.size();ii++)
216 ATH_MSG_VERBOSE (
" sigma_elec " << sigma_elec <<
" corr_elec.size() " << corr_elec.size() );
217 float sigma_elec2 = sigma_elec*sigma_elec;
224 if (rampcoeff.size()>1 && rampcoeff0.size()>1) {
225 float ramp1 = rampcoeff[1];
226 float ramp0 = rampcoeff0[1];
227 if (ramp1>0.01 && ramp0>0.01 && ramp1<1
e4 && ramp0<1
e4)
ratio = ramp0/ramp1;
234 std::vector<float> new_corr;
235 if (!recovered) new_corr.reserve(corr.size());
236 else new_corr.reserve(corr2.size());
243 if (
k<corr.size()) rij_0 = corr[
k];
246 if (
k<corr2.size()) rij_0 = corr2[
k];
256 unsigned int index = j-
i-1;
257 if (
index<corr0_elec.size()) corre0=corr0_elec[
index];
258 if (
index<corr_elec.size()) corre=corr_elec[
index];
260 float rij_tot = rij_0*
ratio - sigma0_elec2*corre0*
ratio + sigma_elec2*corre;
261 new_corr.push_back(rij_tot);
287 larAutoCorrComplete->
set(hwid,
gain,new_corr);
294 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_BFKey
◆ m_cablingKey
◆ m_detStore
◆ m_evtStore
◆ m_extendedExtraObjects
DataObjIDColl AthAlgorithm::m_extendedExtraObjects |
|
privateinherited |
◆ m_keyinput
std::string LArAutoCorrExtrapolate::m_keyinput |
|
private |
◆ m_keyoutput
std::string LArAutoCorrExtrapolate::m_keyoutput |
|
private |
◆ m_keyPedestal
std::string LArAutoCorrExtrapolate::m_keyPedestal |
|
private |
◆ m_keyPedInput
std::string LArAutoCorrExtrapolate::m_keyPedInput |
|
private |
◆ m_keyRamp
std::string LArAutoCorrExtrapolate::m_keyRamp |
|
private |
◆ m_Nsamples
int LArAutoCorrExtrapolate::m_Nsamples |
|
private |
◆ m_onlineId
◆ m_useBad
bool LArAutoCorrExtrapolate::m_useBad |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
def retrieve(aClass, aKey=None)
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Conditions-Data class holding LAr Bad Channel or Bad Feb information.
This class implements the ILArPedestal interface.
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
void set(const HWIdentifier &CellID, int gain, const std::vector< float > &vAutoCorr)
#define ATH_MSG_VERBOSE(x)
const std::string & key() const
Return the StoreGate ID for the referenced object.
id_iterator channel_end() const
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual void setOwner(IDataHandleHolder *o)=0
This class implements the ILArAutoCorr interface.
virtual StatusCode sysInitialize() override
Override sysInitialize.
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
::StatusCode StatusCode
StatusCode definition for legacy code.
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
virtual float pedestalRMS(const HWIdentifier &CellID, int gain) const override
access to RMS of Pedestal index by Identifier, and gain setting
HWIdentifier feb_Id(int barrel_ec, int pos_neg, int feedthrough, int slot) const
Create feb_Id from fields.
virtual void renounce()=0
virtual RampRef_t ADC2DAC(const HWIdentifier &id, int gain) const =0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
StatusCode initialize(bool used=true)
DataObjIDColl m_extendedExtraObjects
#define ATH_MSG_WARNING(x)
bool isEMBPS(const HWIdentifier id) const
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
AthAlgorithm()
Default constructor:
bool isHECchannel(const HWIdentifier id) const override final
std::string channel_name(const HWIdentifier id) const
Return a string corresponding to a feedthrough name given an identifier.
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.
virtual AutoCorrRef_t autoCorr(const HWIdentifier &CellID, int gain) const
Proxy for accessing a range of float values like a vector.