ATLAS Offline Software
Loading...
Searching...
No Matches
LArRampAdHocPatchingAlg Class Reference

#include <LArRampAdHocPatchingAlg.h>

Inheritance diagram for LArRampAdHocPatchingAlg:
Collaboration diagram for LArRampAdHocPatchingAlg:

Public Member Functions

 LArRampAdHocPatchingAlg (const std::string &name, ISvcLocator *pSvcLocator)
 regular Algorithm constructor
 ~LArRampAdHocPatchingAlg ()
 Destructor.
StatusCode initialize ()
 Initialize method.
StatusCode execute ()
 Empty Execute method.
StatusCode stop ()
 Finalize method.
StatusCode finalize ()
virtual StatusCode sysInitialize () override
 Override sysInitialize.
virtual const DataObjIDColl & extraOutputDeps () const override
 Return the list of extra output dependencies.
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual StatusCode sysStart () override
 Handle START transition.
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles.
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles.
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T, V, H > &t)
void updateVHKA (Gaudi::Details::PropertyBase &)
MsgStream & msg () const
bool msgLvl (const MSG::Level lvl) const

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed.

Private Types

enum  patchMethod { ZeroIntercept , PutValues }
typedef LArRampComplete::LArCondObj LArRampObj
typedef ServiceHandle< StoreGateSvcStoreGateSvc_t

Private Member Functions

bool ZeroTheIntercept (HWIdentifier chid, unsigned gain)
bool PutTheValues (HWIdentifier chid, std::vector< double > &rvalues, unsigned gain)
StatusCode ApplyAdHocPatches (std::vector< unsigned > &channelsToBePatched, std::vector< unsigned > &patchesTobeApplied, std::vector< std::vector< double > > &valuesToBeApplied, unsigned gain)
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey>

Private Attributes

const LArRampCompletem_contIn
LArRampCompletem_contOut
std::string m_containerKey
std::string m_newContainerKey
std::vector< unsigned > m_channelsToBePatchedHG
std::vector< unsigned > m_channelsToBePatchedMG
std::vector< unsigned > m_channelsToBePatchedLG
std::vector< unsigned > m_patchesToBeAppliedHG
std::vector< unsigned > m_patchesToBeAppliedMG
std::vector< unsigned > m_patchesToBeAppliedLG
std::vector< std::vector< double > > m_valuesToBeAppliedHG
std::vector< std::vector< double > > m_valuesToBeAppliedMG
std::vector< std::vector< double > > m_valuesToBeAppliedLG
bool m_useCorrChannel = false
DataObjIDColl m_extendedExtraObjects
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default)
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
bool m_varHandleArraysDeclared

Detailed Description

Definition at line 24 of file LArRampAdHocPatchingAlg.h.

Member Typedef Documentation

◆ LArRampObj

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< Algorithm > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Member Enumeration Documentation

◆ patchMethod

Enumerator
ZeroIntercept 
PutValues 

Definition at line 85 of file LArRampAdHocPatchingAlg.h.

Constructor & Destructor Documentation

◆ LArRampAdHocPatchingAlg()

LArRampAdHocPatchingAlg::LArRampAdHocPatchingAlg ( const std::string & name,
ISvcLocator * pSvcLocator )

regular Algorithm constructor

Definition at line 9 of file LArRampAdHocPatchingAlg.cxx.

10 : AthAlgorithm(name,pSvcLocator),
11 m_contIn(nullptr),
12 m_contOut(nullptr)
13{
14 declareProperty("ContainerKey", m_containerKey="");
15 declareProperty("NewContainerKey",m_newContainerKey="");
16
17 declareProperty("ChannelsToBePatchedHG",m_channelsToBePatchedHG);
18 declareProperty("ChannelsToBePatchedMG",m_channelsToBePatchedMG);
19 declareProperty("ChannelsToBePatchedLG",m_channelsToBePatchedLG);
20
21 declareProperty("PatchesToBeAppliedHG",m_patchesToBeAppliedHG);
22 declareProperty("PatchesToBeAppliedMG",m_patchesToBeAppliedMG);
23 declareProperty("PatchesToBeAppliedLG",m_patchesToBeAppliedLG);
24
25 declareProperty("ValuesToBeAppliedHG",m_valuesToBeAppliedHG);
26 declareProperty("ValuesToBeAppliedMG",m_valuesToBeAppliedMG);
27 declareProperty("ValuesToBeAppliedLG",m_valuesToBeAppliedLG);
28
29 declareProperty("UseCorrChannels",m_useCorrChannel,
30 "True: Use separate correction COOL channel, False: Correction + data in the same channel");
31}
AthAlgorithm()
Default constructor:
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
std::vector< unsigned > m_patchesToBeAppliedMG
std::vector< std::vector< double > > m_valuesToBeAppliedHG
std::vector< unsigned > m_channelsToBePatchedLG
std::vector< unsigned > m_channelsToBePatchedMG
std::vector< unsigned > m_channelsToBePatchedHG
std::vector< unsigned > m_patchesToBeAppliedHG
const LArRampComplete * m_contIn
std::vector< std::vector< double > > m_valuesToBeAppliedMG
std::vector< std::vector< double > > m_valuesToBeAppliedLG
std::vector< unsigned > m_patchesToBeAppliedLG

◆ ~LArRampAdHocPatchingAlg()

LArRampAdHocPatchingAlg::~LArRampAdHocPatchingAlg ( )
default

Destructor.

Member Function Documentation

◆ ApplyAdHocPatches()

StatusCode LArRampAdHocPatchingAlg::ApplyAdHocPatches ( std::vector< unsigned > & channelsToBePatched,
std::vector< unsigned > & patchesTobeApplied,
std::vector< std::vector< double > > & valuesToBeApplied,
unsigned gain )
private

Definition at line 129 of file LArRampAdHocPatchingAlg.cxx.

130{
131 if (channelsToBePatched.size() != patchesToBeApplied.size())
132 return StatusCode::FAILURE;
133 unsigned putcount=0;
134 for (unsigned ich=0;ich<channelsToBePatched.size();++ich ) {
135 const HWIdentifier chid = (HWIdentifier)channelsToBePatched[ich];
136 // ... if so, proceed with ad-hoc patching(s)
137 const unsigned patchMethod = patchesToBeApplied[ich];
138 //bool status = false;
139 switch (patchMethod) {
140 case ZeroIntercept: {
141 // check if the channel to be patched is there...
142 if (m_contIn->get(chid,gain).isEmpty()) continue;
143 ZeroTheIntercept(chid,gain);
144 break;
145 }
146 case PutValues: {
147 if ( valuesToBeApplied[putcount].empty() ) return StatusCode::FAILURE;
148 PutTheValues(chid,valuesToBeApplied[putcount],gain);
149 ++putcount;
150 break;
151 }
152 }
153 /*
154 if (status) {
155 (*m_log) << MSG::INFO << "Sucessfully patched channel 0x" << MSG::hex << chid.get_compact() << MSG::dec <<" Gain:" << gain << endmsg;
156 } else {
157 (*m_log) << MSG::WARNING << "Failed to patch channel 0x" << MSG::hex << chid.get_compact() << MSG::dec <<" Gain:" << gain << endmsg;
158 }
159 */
160 }
161 return StatusCode::SUCCESS;
162}
static const Attributes_t empty
bool ZeroTheIntercept(HWIdentifier chid, unsigned gain)
bool PutTheValues(HWIdentifier chid, std::vector< double > &rvalues, unsigned gain)

◆ declareGaudiProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< Algorithm > >::declareGaudiProperty ( Gaudi::Property< T, V, H > & hndl,
const SG::VarHandleKeyType &  )
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158 {
160 hndl.value(),
161 hndl.documentation());
162
163 }

◆ declareProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( Gaudi::Property< T, V, H > & t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145 {
146 typedef typename SG::HandleClassifier<T>::type htype;
148 }
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>

◆ detStore()

const ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< Algorithm > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

◆ evtStore()

ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< Algorithm > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

◆ execute()

StatusCode LArRampAdHocPatchingAlg::execute ( )
inline

Empty Execute method.

Definition at line 47 of file LArRampAdHocPatchingAlg.h.

47{return StatusCode::SUCCESS;}

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase & ExtraDeps)
protectedinherited

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.

51{
52 // If we didn't find any symlinks to add, just return the collection
53 // from the base class. Otherwise, return the extended collection.
54 if (!m_extendedExtraObjects.empty()) {
56 }
57 return Algorithm::extraOutputDeps();
58}
DataObjIDColl m_extendedExtraObjects

◆ finalize()

StatusCode LArRampAdHocPatchingAlg::finalize ( )
inline

Definition at line 55 of file LArRampAdHocPatchingAlg.h.

55{return StatusCode::SUCCESS;}

◆ initialize()

StatusCode LArRampAdHocPatchingAlg::initialize ( )

Initialize method.

Returns
Gaudi status code. Analyzes and verifies the jobOption settings

Definition at line 38 of file LArRampAdHocPatchingAlg.cxx.

39{
40 ATH_MSG_INFO ( "Initialing LArRampAdHocPatchingAlg..." );
41 ATH_MSG_INFO ( "HG: "<<m_channelsToBePatchedHG.size()<<" "<<m_patchesToBeAppliedHG.size());
42 ATH_MSG_INFO ( "MG: "<<m_channelsToBePatchedMG.size()<<" "<<m_patchesToBeAppliedMG.size());
43 ATH_MSG_INFO ( "LG: "<<m_channelsToBePatchedLG.size()<<" "<<m_patchesToBeAppliedLG.size());
44
45 if ( !m_channelsToBePatchedHG.empty() && ( m_channelsToBePatchedHG.size() != m_patchesToBeAppliedHG.size() ) ) {
46 ATH_MSG_ERROR ( "Wrong size of HIGH gain input vectors!" );
47 return StatusCode::FAILURE;
48 } else {
49 unsigned count = std::count (m_patchesToBeAppliedHG.begin(), m_patchesToBeAppliedHG.end(), 1 ); // 1 is to apply values
50 if ( (count > 0) && (m_valuesToBeAppliedHG.size() != count)) {
51 ATH_MSG_ERROR ( "Wrong size of HIGH gain values vector ! " << count << " " << m_valuesToBeAppliedHG.size());
52 return StatusCode::FAILURE;
53 } else {
54 ATH_MSG_INFO ( m_channelsToBePatchedHG.size() << " ad-hoc patches to be applied in HIGH gain" );
55 }
56 }
57
58 if ( !m_channelsToBePatchedMG.empty() && ( m_channelsToBePatchedMG.size() != m_patchesToBeAppliedMG.size() ) ) {
59 ATH_MSG_ERROR ( "Wrong size of MEDIUM gain input vectors!" );
60 return StatusCode::FAILURE;
61 } else {
62 unsigned count = std::count (m_patchesToBeAppliedMG.begin(), m_patchesToBeAppliedMG.end(), 1 ); // 1 is to apply values
63 if ( (count > 0) && (m_valuesToBeAppliedMG.size() != count)) {
64 ATH_MSG_ERROR ( "Wrong size of MEDIUM gain values vector !" );
65 return StatusCode::FAILURE;
66 } else {
67 ATH_MSG_INFO ( m_channelsToBePatchedMG.size() << " ad-hoc patches to be applied in MEDIUM gain" );
68 }
69 }
70
71 if ( !m_channelsToBePatchedLG.empty() && ( m_channelsToBePatchedLG.size() != m_patchesToBeAppliedLG.size() ) ) {
72 ATH_MSG_ERROR ( "Wrong size of LOW gain input vectors!" );
73 return StatusCode::FAILURE;
74 } else {
75 unsigned count = std::count (m_patchesToBeAppliedLG.begin(), m_patchesToBeAppliedLG.end(), 1 ); // 1 is to apply values
76 if ( (count > 0) && (m_valuesToBeAppliedLG.size() != count)) {
77 ATH_MSG_ERROR ( "Wrong size of LOW gain values vector !" );
78 return StatusCode::FAILURE;
79 } else {
80 ATH_MSG_INFO ( m_channelsToBePatchedLG.size() << " ad-hoc patches to be applied in LOW gain" );
81 }
82 }
83
84 return StatusCode::SUCCESS;
85}
#define ATH_MSG_ERROR(x)
#define ATH_MSG_INFO(x)
int count(std::string s, const std::string &regx)
count how many occurances of a regx are in a string
Definition hcg.cxx:146

◆ inputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< Algorithm > >::inputHandles ( ) const
overridevirtualinherited

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()

MsgStream & AthCommonMsg< Algorithm >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24 {
25 return this->msgStream();
26 }

◆ msgLvl()

bool AthCommonMsg< Algorithm >::msgLvl ( const MSG::Level lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30 {
31 return this->msgLevel(lvl);
32 }

◆ outputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< Algorithm > >::outputHandles ( ) const
overridevirtualinherited

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.

◆ PutTheValues()

bool LArRampAdHocPatchingAlg::PutTheValues ( HWIdentifier chid,
std::vector< double > & rvalues,
unsigned gain )
private

Definition at line 189 of file LArRampAdHocPatchingAlg.cxx.

190{
191 unsigned s = rvalues.size();
192 LArRampObj patch;
193 patch.m_vRamp.clear();
194 patch.m_vRamp.resize(s);
195 ATH_MSG_INFO ( "Size of the patched object: "<<s);
196 if(s==0) return false;
197 for (unsigned i=0;i<s;++i){ // copy the values
198 patch.m_vRamp[i] = rvalues[i];
199 }
201 try { sc=m_contOut->insertCorrection(chid,patch,gain,m_useCorrChannel);}
202 catch(...) { ATH_MSG_INFO ("Skipping insert of corrections, maybe it's not about this partition");}
203 if (sc.isFailure()) {
204 ATH_MSG_ERROR ( "Failed to put the values for channel 0x"
205 << MSG::hex << chid.get_compact() << MSG::dec << ", gain " << gain << "." );
206 return false;
207 } else {
208 ATH_MSG_INFO ( "Successfully put the values for channel 0x"
209 << MSG::hex << chid.get_compact() << MSG::dec << ", gain " << gain << "." );
210 return true;
211 }
212}
static Double_t sc
value_type get_compact() const
Get the compact id.
LArRampComplete::LArCondObj LArRampObj
::StatusCode StatusCode
StatusCode definition for legacy code.

◆ renounce()

std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > AthCommonDataStore< AthCommonMsg< Algorithm > >::renounce ( T & h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381 {
382 h.renounce();
384 }
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce(T &h)

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::renounceArray ( SG::VarHandleKeyArray & handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364 {
366 }

◆ stop()

StatusCode LArRampAdHocPatchingAlg::stop ( )

Finalize method.

Returns
Gaudi status code. All the job is done here

Definition at line 88 of file LArRampAdHocPatchingAlg.cxx.

89{
90 ATH_MSG_INFO ( "Entering LArRampAdHocPatchingAlg" );
91
92 if (!m_newContainerKey.empty()) { //New container key give -> different containers for reading and writing
93 ATH_CHECK( detStore()->retrieve(m_contIn,m_containerKey) ); //const-retrieve
94 m_contOut=new LArRampComplete();
95 m_contOut->setGroupingType((LArConditionsContainerBase::GroupingType)m_contIn->groupingType());
96 ATH_CHECK( m_contOut->initialize() );
98 ATH_CHECK( detStore()->symLink(m_contOut,static_cast<ILArRamp*>(m_contOut)) );
99 ATH_MSG_INFO ( "Loaded input container " << m_containerKey
100 << ", write to new container " << m_newContainerKey );
101 }
102 else { //Same container for reading and writing (must not be locked)
103 ATH_CHECK( detStore()->retrieve(m_contOut,m_containerKey) ); //non-const retrieve
105 ATH_MSG_INFO ( "Work on container '" << m_containerKey << "'" );
106 }
107
108 if (!m_channelsToBePatchedHG.empty()) {
109 ATH_MSG_INFO ( "Going to apply ad-hoc patches to HIGH gain ramps." );
111 }
112
113 if (!m_channelsToBePatchedMG.empty()) {
114 ATH_MSG_INFO ( "Going to apply ad-hoc patches to MEDIUM gain ramps." );
116 }
117
118 if (!m_channelsToBePatchedLG.empty()) {
119 ATH_MSG_INFO ( "Going to apply ad-hoc patches to LOW gain ramps." );
121 }
122
123 ATH_MSG_INFO ( "Done with LArRampAdHocPatchingAlg" );
124 return StatusCode::SUCCESS;
125}
#define ATH_CHECK
Evaluate an expression and check for errors.
const ServiceHandle< StoreGateSvc > & detStore() const
StatusCode ApplyAdHocPatches(std::vector< unsigned > &channelsToBePatched, std::vector< unsigned > &patchesTobeApplied, std::vector< std::vector< double > > &valuesToBeApplied, unsigned gain)
retrieve(aClass, aKey=None)
Definition PyKernel.py:110

◆ sysInitialize()

StatusCode AthAlgorithm::sysInitialize ( )
overridevirtualinherited

Override sysInitialize.

Override sysInitialize from the base class.

Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc

Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc

Reimplemented from AthCommonDataStore< AthCommonMsg< Algorithm > >.

Reimplemented in AthAnalysisAlgorithm, AthFilterAlgorithm, AthHistogramAlgorithm, and PyAthena::Alg.

Definition at line 66 of file AthAlgorithm.cxx.

66 {
68
69 if (sc.isFailure()) {
70 return sc;
71 }
72 ServiceHandle<ICondSvc> cs("CondSvc",name());
73 for (auto h : outputHandles()) {
74 if (h->isCondition() && h->mode() == Gaudi::DataHandle::Writer) {
75 // do this inside the loop so we don't create the CondSvc until needed
76 if ( cs.retrieve().isFailure() ) {
77 ATH_MSG_WARNING("no CondSvc found: won't autoreg WriteCondHandles");
78 return StatusCode::SUCCESS;
79 }
80 if (cs->regHandle(this,*h).isFailure()) {
81 sc = StatusCode::FAILURE;
82 ATH_MSG_ERROR("unable to register WriteCondHandle " << h->fullKey()
83 << " with CondSvc");
84 }
85 }
86 }
87 return sc;
88}
#define ATH_MSG_WARNING(x)
virtual StatusCode sysInitialize() override
Override sysInitialize.
AthCommonDataStore(const std::string &name, T... args)
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< Algorithm > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::updateVHKA ( Gaudi::Details::PropertyBase & )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308 {
309 // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310 // << " size: " << m_vhka.size() << endmsg;
311 for (auto &a : m_vhka) {
313 for (auto k : keys) {
314 k->setOwner(this);
315 }
316 }
317 }
std::vector< SG::VarHandleKeyArray * > m_vhka

◆ ZeroTheIntercept()

bool LArRampAdHocPatchingAlg::ZeroTheIntercept ( HWIdentifier chid,
unsigned gain )
private

Definition at line 165 of file LArRampAdHocPatchingAlg.cxx.

166{
167 unsigned s = m_contIn->get(chid,gain).m_vRamp.size();
168 LArRampObj patch;
169 patch.m_vRamp.clear();
170 patch.m_vRamp.resize(s);
171 ATH_MSG_INFO ( "Size of the patched object: "<<s);
172 if(s==0) return false;
173 patch.m_vRamp[0] = 0.; // zeroes the intercept
174 for (unsigned i=1;i<s;++i){ // copy the other coefficients
175 patch.m_vRamp[i] = m_contIn->get(chid,gain).m_vRamp[i];
176 }
177 StatusCode sc=m_contOut->insertCorrection(chid,patch,gain,m_useCorrChannel);
178 if (sc.isFailure()) {
179 ATH_MSG_ERROR ( "Failed to zero the ramp intercept channel 0x"
180 << MSG::hex << chid.get_compact() << MSG::dec << ", gain " << gain << "." );
181 return false;
182 } else {
183 ATH_MSG_INFO ( "Successfully zeroed the ramp intercept channel 0x"
184 << MSG::hex << chid.get_compact() << MSG::dec << ", gain " << gain << "." );
185 return true;
186 }
187}

Member Data Documentation

◆ m_channelsToBePatchedHG

std::vector<unsigned> LArRampAdHocPatchingAlg::m_channelsToBePatchedHG
private

Definition at line 73 of file LArRampAdHocPatchingAlg.h.

◆ m_channelsToBePatchedLG

std::vector<unsigned> LArRampAdHocPatchingAlg::m_channelsToBePatchedLG
private

Definition at line 75 of file LArRampAdHocPatchingAlg.h.

◆ m_channelsToBePatchedMG

std::vector<unsigned> LArRampAdHocPatchingAlg::m_channelsToBePatchedMG
private

Definition at line 74 of file LArRampAdHocPatchingAlg.h.

◆ m_containerKey

std::string LArRampAdHocPatchingAlg::m_containerKey
private

Definition at line 64 of file LArRampAdHocPatchingAlg.h.

◆ m_contIn

const LArRampComplete* LArRampAdHocPatchingAlg::m_contIn
private

Definition at line 61 of file LArRampAdHocPatchingAlg.h.

◆ m_contOut

LArRampComplete* LArRampAdHocPatchingAlg::m_contOut
private

Definition at line 62 of file LArRampAdHocPatchingAlg.h.

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Algorithm > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Algorithm > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_extendedExtraObjects

DataObjIDColl AthAlgorithm::m_extendedExtraObjects
privateinherited

Definition at line 79 of file AthAlgorithm.h.

◆ m_newContainerKey

std::string LArRampAdHocPatchingAlg::m_newContainerKey
private

Definition at line 65 of file LArRampAdHocPatchingAlg.h.

◆ m_patchesToBeAppliedHG

std::vector<unsigned> LArRampAdHocPatchingAlg::m_patchesToBeAppliedHG
private

Definition at line 77 of file LArRampAdHocPatchingAlg.h.

◆ m_patchesToBeAppliedLG

std::vector<unsigned> LArRampAdHocPatchingAlg::m_patchesToBeAppliedLG
private

Definition at line 79 of file LArRampAdHocPatchingAlg.h.

◆ m_patchesToBeAppliedMG

std::vector<unsigned> LArRampAdHocPatchingAlg::m_patchesToBeAppliedMG
private

Definition at line 78 of file LArRampAdHocPatchingAlg.h.

◆ m_useCorrChannel

bool LArRampAdHocPatchingAlg::m_useCorrChannel = false
private

Definition at line 95 of file LArRampAdHocPatchingAlg.h.

◆ m_valuesToBeAppliedHG

std::vector<std::vector<double> > LArRampAdHocPatchingAlg::m_valuesToBeAppliedHG
private

Definition at line 81 of file LArRampAdHocPatchingAlg.h.

◆ m_valuesToBeAppliedLG

std::vector<std::vector<double> > LArRampAdHocPatchingAlg::m_valuesToBeAppliedLG
private

Definition at line 83 of file LArRampAdHocPatchingAlg.h.

◆ m_valuesToBeAppliedMG

std::vector<std::vector<double> > LArRampAdHocPatchingAlg::m_valuesToBeAppliedMG
private

Definition at line 82 of file LArRampAdHocPatchingAlg.h.

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< Algorithm > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< Algorithm > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.


The documentation for this class was generated from the following files: