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

Make a dummy supercell LArRawChannelContainer from a CaloCallContainer. More...

#include <LArSCSimpleMaker.h>

Inheritance diagram for LArSCSimpleMaker:
Collaboration diagram for LArSCSimpleMaker:

Public Member Functions

 LArSCSimpleMaker (const std::string &name, ISvcLocator *pSvcLocator)
 Standard Gaudi algorithm constructor.
 ~LArSCSimpleMaker ()
StatusCode initialize ()
 Standard Gaudi initialize method.
StatusCode execute (const EventContext &context) const
 Algorithm execute method.
virtual StatusCode sysInitialize () override
 Override sysInitialize.
virtual bool isClonable () const override
 Specify if the algorithm is clonable.
virtual unsigned int cardinality () const override
 Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant.
virtual StatusCode sysExecute (const EventContext &ctx) override
 Execute an algorithm.
virtual const DataObjIDColl & extraOutputDeps () const override
 Return the list of extra output dependencies.
virtual bool filterPassed (const EventContext &ctx) const
virtual void setFilterPassed (bool state, const EventContext &ctx) const
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

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t

Private Member Functions

Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey>

Private Attributes

ToolHandle< ICaloSuperCellIDToolm_scidtool
 Property: Offline / supercell mapping tool.
SG::ReadHandleKey< CaloCellContainerm_cellContainerKey
 Property: SG key for the input calorimeter cell container.
SG::WriteHandleKey< CaloCellContainerm_sCellContainerKey
 Property: SG key for the output supercell LAr channel container.
SG::ReadCondHandleKey< CaloNoiseSigmaDiffm_noise_per_cell_Key { this, "CaloNoiseSigmaDiff", "CaloNoiseSigmaDiff", "Sigma Diff for CaloNoise with High and Medium gain"}
 Property SG Key for the Expected Noise Sigma diff in diff gains.
SG::ReadHandleKey< CaloBCIDAveragem_bcidAvgKey {this, "BCIDAvgKey", "CaloBCIDAverage", "" }
 Property SG Key for the CaloLumiBCID.
Gaudi::Property< bool > m_compNoise {this,"CompNoise",true,"Compensate for Noise difference in LAr between high and medium gain"}
Gaudi::Property< bool > m_addBCID {this,"addBCID",true,"Add BCID compensation back to cells prior to sum them up"}
SG::ReadCondHandleKey< CaloSuperCellDetDescrManagerm_caloSuperCellMgrKey
const CaloIdManagerm_calo_id_manager
 Entry point for calorimeter ID helpers.
DataObjIDColl m_extendedExtraObjects
 Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
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

Make a dummy supercell LArRawChannelContainer from a CaloCallContainer.

Definition at line 41 of file LArSCSimpleMaker.h.

Member Typedef Documentation

◆ StoreGateSvc_t

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

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ LArSCSimpleMaker()

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

Standard Gaudi algorithm constructor.

Definition at line 32 of file LArSCSimpleMaker.cxx.

34 : AthReentrantAlgorithm(name, pSvcLocator),
35 m_calo_id_manager(nullptr)
36{
37}
const CaloIdManager * m_calo_id_manager
Entry point for calorimeter ID helpers.

◆ ~LArSCSimpleMaker()

LArSCSimpleMaker::~LArSCSimpleMaker ( )
inline

Definition at line 46 of file LArSCSimpleMaker.h.

46{};

Member Function Documentation

◆ cardinality()

unsigned int AthCommonReentrantAlgorithm< Gaudi::Algorithm >::cardinality ( ) const
overridevirtualinherited

Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant.

Override this to return 0 for reentrant algorithms.

Definition at line 75 of file AthCommonReentrantAlgorithm.cxx.

64{
65 return 0;
66}

◆ declareGaudiProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< Gaudi::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 }
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)

◆ declareProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< Gaudi::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< Gaudi::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< Gaudi::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 LArSCSimpleMaker::execute ( const EventContext & context) const

Algorithm execute method.

Definition at line 53 of file LArSCSimpleMaker.cxx.

54{
55
56 // conditions
57 const CaloNoiseSigmaDiff* noise_per_cell = nullptr;
58 if ( m_compNoise ){
59 SG::ReadCondHandle<CaloNoiseSigmaDiff> noise_per_cell_handle(m_noise_per_cell_Key,context);
60 if ( not noise_per_cell_handle.isValid() ) {
61 ATH_MSG_DEBUG("Found invalid read handle for CaloNoiseSigmaDiff");
62 return StatusCode::FAILURE;
63 }
64 noise_per_cell = noise_per_cell_handle.cptr();
65 } // end of if n_compNoise
66
67 // Not really a condition, but almost
68 const CaloBCIDAverage* caloLumiBCID = nullptr;
69 if (m_addBCID ) {
70 SG::ReadHandle<CaloBCIDAverage> caloLumiBCIDHandle(m_bcidAvgKey, context);
71 if ( not caloLumiBCIDHandle.isValid() ) {
72 ATH_MSG_DEBUG("Found invalid read handle for CaloBCIDAverage");
73 return StatusCode::FAILURE;
74 }
75 caloLumiBCID = caloLumiBCIDHandle.cptr();
76 } // end of if m_addBCID
77
78 const CaloCell_SuperCell_ID * calo_sc_id = m_calo_id_manager->getCaloCell_SuperCell_ID();
79 const CaloCell_ID * calo_cell_id = m_calo_id_manager->getCaloCell_ID();
80
81 const Tile_SuperCell_ID * tile_sc_id = m_calo_id_manager->getTile_SuperCell_ID();
82 const TileID * tile_cell_id = m_calo_id_manager->getTileID();
83
84 int hash_max = calo_sc_id->calo_cell_hash_max();
85 DataPool<CaloCell> dataPool;
86 if (dataPool.allocated()==0)
87 dataPool.reserve (hash_max);
88
89 auto cellsHandle = SG::makeHandle( m_cellContainerKey, context );
90 if ( not cellsHandle.isValid() ) {
91 ATH_MSG_ERROR("Did not get CaloCellContainer input");
92 return StatusCode::FAILURE;
93 }
94
95 const CaloCellContainer* cells = cellsHandle.cptr();
96 ATH_MSG_DEBUG("Got a CaloCellContainer input");
97
98 std::vector<float> energies (hash_max,0);
99 std::vector<float> enTime (hash_max,0);
100 std::vector<float> enForTime (hash_max,0);
101 std::vector<bool> timeDef (hash_max,false);
102 std::vector<uint16_t> gains (hash_max,0);
103 std::vector<uint16_t> qualities (hash_max,0);
104 std::vector<float> sigma_noise_per_scell(hash_max,0);
105
106 for (const CaloCell* cell : *cells) {
107 Identifier cell_id = cell->ID();
108 Identifier sCellID = m_scidtool->offlineToSuperCellID (cell_id);
109
110 if (!sCellID.is_valid()) {
111 // ATH_MSG_WARNING( " SC ID not valid " << sCellID.get_identifier32().get_compact() << " offline id = " << cell->ID().get_identifier32().get_compact() );
112 // calo_sc_id->print(cell->ID());
113 continue;
114 }
115 IdentifierHash hash, cell_hash;
116 hash = calo_sc_id->calo_cell_hash (sCellID);
117 assert (hash < energies.size() );
118 float pedestalshift = 0.0;
119 if ( m_addBCID ) pedestalshift = caloLumiBCID->average(cell_id);
120 energies[hash] += cell->energy() + pedestalshift;
121 if ( m_compNoise && cell->gain() == CaloGain::LARHIGHGAIN ){
122 cell_hash = calo_cell_id->calo_cell_hash(cell_id);
123 sigma_noise_per_scell[hash]+=(*noise_per_cell)[cell_hash];
124 }
125 uint16_t prov = cell->provenance();
126 if ( ((prov & 0x2000) == 0x2000) && (cell->et()>50) ) {
127 // time defined for one of the cells
128 timeDef[hash] = true;
129 enForTime[hash] += cell->energy();
130 enTime[hash] += cell->energy()*cell->time();
131 }
132
133 gains[hash] = std::max(gains[hash],(uint16_t)cell->gain());
134 if ( qualities[hash] + (int) cell->quality() > 65535 ){
135 qualities[hash] = 65535 ;
136 }else
137 {
138 qualities[hash] += cell->quality();
139 }
140
141 if ( calo_cell_id->is_tile(cell_id) && tile_cell_id->sampling(cell_id)==TileID::SAMP_D){
142 // Special case for SAMP_D in tile. Signal is split into two SCs
143 int section = tile_cell_id->section (cell_id);
144 int side = tile_cell_id->side (cell_id);
145 int module = tile_cell_id->module (cell_id);
146 int tower = tile_cell_id->tower (cell_id);
147
148 int section1 = section;
149 int section2 = section;
150 int side1 = side;
151 int side2 = side;
152 int tower1= tower;
153 int tower2= tower-1;
154
155 if (tower ==0){
156 side1 = -1;
157 side2 = 1;
158 tower1=0;
159 tower2=0;
160 }
161 if (tower==10){
162 section2 = TileID::BARREL;
163 section1 = TileID::EXTBAR;
164 }
165
166
167 Identifier sc_id1 = tile_sc_id->cell_id(section1,side1,module,tower1,0);
168 Identifier sc_id2 = tile_sc_id->cell_id(section2,side2,module,tower2,0);
169
170
171 int hash1 = calo_sc_id->calo_cell_hash (sc_id1);
172 int hash2 = calo_sc_id->calo_cell_hash (sc_id2);
173
174 energies[hash1] += cell->energy()*0.5;
175 energies[hash2] += cell->energy()*0.5;
176 }
177
178
179 }
180
181 SG::WriteHandle<CaloCellContainer> scellContainerHandle( m_sCellContainerKey, context);
182 auto superCellContainer = std::make_unique<CaloCellContainer> ();
183
184 SG::ReadCondHandle<CaloSuperCellDetDescrManager> caloSuperCellMgrHandle{m_caloSuperCellMgrKey, context};
185 const CaloSuperCellDetDescrManager* caloMgr = *caloSuperCellMgrHandle;
186
187 superCellContainer->reserve(energies.size());
188
189 std::default_random_engine generator;
190 for (unsigned int i=0; i < energies.size(); i++) {
191
192 const CaloDetDescrElement* dde = caloMgr->get_element (i);
193 if (!dde) {
194 // ATH_MSG_WARNING( " Not valid DDE, hash index = "<< i );
195 continue;
196 }
197
198 // More noise
199 float add_noise = 0.0;
200 IdentifierHash hash = dde->calo_hash();
201 if ( (!dde->is_tile()) && (sigma_noise_per_scell[hash] > 0.0) ){
202 std::normal_distribution<double> distribution(0.0,sigma_noise_per_scell[hash] );
203 add_noise = distribution(generator);
204 }
205 energies[i]+=add_noise;
206
207 //CaloCell* ss = dataPool.nextElementPtr();
208 CaloCell* ss = new CaloCell();
209 ss->setCaloDDE( caloMgr->get_element (i));
210 ss->setEnergy( energies[i] );
211 uint16_t prov (0);
212 if ( timeDef[i] ){
213 float time = enTime[i] / enForTime[i]; // if timeDef is true, enForTime is > 10
214 float et = ss->et();
215 ss->setTime( time );
216 prov = LArProv::QTPRESENT;// 0x2000;
217 if(et>10e3 && time>-8 && time<16) prov |= LArProv::SCTIMEPASS;//0x200;
218 else if(et<=10e3 && std::abs(time)<8) prov |= LArProv::SCTIMEPASS;//0x200;
219 } else ss->setTime( 999.0 ); // makes sure it will fail some BCID
220
221 ss->setQuality( qualities[i] );
222 if (calo_sc_id->is_tile(ss->ID()))
223 {
224 ss->setProvenance( 0 );
225 ss->setGain( (CaloGain::CaloGain) 0 );
226 }
227 else
228 {
229 ss->setProvenance( prov );
230 ss->setGain( CaloGain::LARHIGHGAIN );
231 }
232 superCellContainer->push_back(ss);
233
234 }
235 ATH_CHECK( scellContainerHandle.record( std::move(superCellContainer) ) );
236
237 return StatusCode::SUCCESS;
238}
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_ERROR(x)
#define ATH_MSG_DEBUG(x)
std::vector< float > CaloNoiseSigmaDiff
NAME : CaloNoiseSigmaDiff.h PACKAGE : Calorimeter/CaloConditions.
float et(const xAOD::jFexSRJetRoI *j)
static Double_t ss
static const std::vector< std::string > qualities
void section(const std::string &sec)
float average(const Identifier &id) const
size_type calo_cell_hash_max() const
cell 'global' hash table max size
bool is_tile(const Identifier id) const
test if the id belongs to the Tiles
IdentifierHash calo_cell_hash(const Identifier cellId) const
create hash id from 'global' cell id
const CaloDetDescrElement * get_element(const Identifier &cellId) const
get element by its identifier
void reserve(unsigned int size)
Set the desired capacity.
unsigned int allocated()
return size already allocated OK
bool is_valid() const
Check if id is in a valid state.
SG::ReadCondHandleKey< CaloSuperCellDetDescrManager > m_caloSuperCellMgrKey
Gaudi::Property< bool > m_addBCID
SG::WriteHandleKey< CaloCellContainer > m_sCellContainerKey
Property: SG key for the output supercell LAr channel container.
SG::ReadHandleKey< CaloCellContainer > m_cellContainerKey
Property: SG key for the input calorimeter cell container.
ToolHandle< ICaloSuperCellIDTool > m_scidtool
Property: Offline / supercell mapping tool.
SG::ReadCondHandleKey< CaloNoiseSigmaDiff > m_noise_per_cell_Key
Property SG Key for the Expected Noise Sigma diff in diff gains.
SG::ReadHandleKey< CaloBCIDAverage > m_bcidAvgKey
Property SG Key for the CaloLumiBCID.
Gaudi::Property< bool > m_compNoise
int tower(const Identifier &id) const
Identifier cell_id(const Identifier &any_id) const
int side(const Identifier &id) const
int section(const Identifier &id) const
int sampling(const Identifier &id) const
@ LARHIGHGAIN
Definition CaloGain.h:18
time(flags, cells_name, *args, **kw)
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
generator
Configure Herwig7 These are the commands corresponding to what would go into the regular Herwig infil...
setWord1 uint16_t

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< Gaudi::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 & AthCommonReentrantAlgorithm< Gaudi::Algorithm >::extraOutputDeps ( ) const
overridevirtualinherited

Return the list of extra output dependencies.

This list is extended to include symlinks implied by inheritance relations.

Definition at line 94 of file AthCommonReentrantAlgorithm.cxx.

90{
91 // If we didn't find any symlinks to add, just return the collection
92 // from the base class. Otherwise, return the extended collection.
93 if (!m_extendedExtraObjects.empty()) {
95 }
97}
An algorithm that can be simultaneously executed in multiple threads.

◆ filterPassed()

virtual bool AthCommonReentrantAlgorithm< Gaudi::Algorithm >::filterPassed ( const EventContext & ctx) const
inlinevirtualinherited

Definition at line 96 of file AthCommonReentrantAlgorithm.h.

96 {
97 return execState( ctx ).filterPassed();
98 }
virtual bool filterPassed(const EventContext &ctx) const

◆ initialize()

StatusCode LArSCSimpleMaker::initialize ( )

Standard Gaudi initialize method.

Definition at line 39 of file LArSCSimpleMaker.cxx.

39 {
40 ATH_CHECK( m_cellContainerKey.initialize() );
41 ATH_CHECK( m_sCellContainerKey.initialize() );
42 ATH_CHECK( m_scidtool.retrieve() );
43 ATH_CHECK( m_caloSuperCellMgrKey.initialize() );
44 ATH_CHECK( detStore()->retrieve (m_calo_id_manager, "CaloIdManager") );
46 ATH_CHECK( m_bcidAvgKey.initialize(m_addBCID) );
47 return StatusCode::SUCCESS;
48}
const ServiceHandle< StoreGateSvc > & detStore() const

◆ inputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< Gaudi::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.

◆ isClonable()

◆ msg()

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

Definition at line 24 of file AthCommonMsg.h.

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

◆ msgLvl()

bool AthCommonMsg< Gaudi::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< Gaudi::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.

◆ 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< Gaudi::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< Gaudi::Algorithm > >::renounceArray ( SG::VarHandleKeyArray & handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364 {
366 }

◆ setFilterPassed()

virtual void AthCommonReentrantAlgorithm< Gaudi::Algorithm >::setFilterPassed ( bool state,
const EventContext & ctx ) const
inlinevirtualinherited

Definition at line 100 of file AthCommonReentrantAlgorithm.h.

100 {
102 }
virtual void setFilterPassed(bool state, const EventContext &ctx) const

◆ sysExecute()

StatusCode AthCommonReentrantAlgorithm< Gaudi::Algorithm >::sysExecute ( const EventContext & ctx)
overridevirtualinherited

Execute an algorithm.

We override this in order to work around an issue with the Algorithm base class storing the event context in a member variable that can cause crashes in MT jobs.

Definition at line 85 of file AthCommonReentrantAlgorithm.cxx.

77{
78 return BaseAlg::sysExecute (ctx);
79}

◆ sysInitialize()

StatusCode AthCommonReentrantAlgorithm< Gaudi::Algorithm >::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< Gaudi::Algorithm > >.

Reimplemented in HypoBase, and InputMakerBase.

Definition at line 61 of file AthCommonReentrantAlgorithm.cxx.

107 {
109
110 if (sc.isFailure()) {
111 return sc;
112 }
113
114 ServiceHandle<ICondSvc> cs("CondSvc",name());
115 for (auto h : outputHandles()) {
116 if (h->isCondition() && h->mode() == Gaudi::DataHandle::Writer) {
117 // do this inside the loop so we don't create the CondSvc until needed
118 if ( cs.retrieve().isFailure() ) {
119 ATH_MSG_WARNING("no CondSvc found: won't autoreg WriteCondHandles");
120 return StatusCode::SUCCESS;
121 }
122 if (cs->regHandle(this,*h).isFailure()) {
124 ATH_MSG_ERROR("unable to register WriteCondHandle " << h->fullKey()
125 << " with CondSvc");
126 }
127 }
128 }
129 return sc;
130}
#define ATH_MSG_WARNING(x)
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< Gaudi::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< Gaudi::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 }

Member Data Documentation

◆ m_addBCID

Gaudi::Property<bool> LArSCSimpleMaker::m_addBCID {this,"addBCID",true,"Add BCID compensation back to cells prior to sum them up"}
private

Definition at line 82 of file LArSCSimpleMaker.h.

82{this,"addBCID",true,"Add BCID compensation back to cells prior to sum them up"};

◆ m_bcidAvgKey

SG::ReadHandleKey<CaloBCIDAverage> LArSCSimpleMaker::m_bcidAvgKey {this, "BCIDAvgKey", "CaloBCIDAverage", "" }
private

Property SG Key for the CaloLumiBCID.

Definition at line 76 of file LArSCSimpleMaker.h.

77{this, "BCIDAvgKey", "CaloBCIDAverage", "" };

◆ m_calo_id_manager

const CaloIdManager* LArSCSimpleMaker::m_calo_id_manager
private

Entry point for calorimeter ID helpers.

Definition at line 89 of file LArSCSimpleMaker.h.

◆ m_caloSuperCellMgrKey

SG::ReadCondHandleKey<CaloSuperCellDetDescrManager> LArSCSimpleMaker::m_caloSuperCellMgrKey
private
Initial value:
{
this,"CaloSuperCellDetDescrManager","CaloSuperCellDetDescrManager","SG key of the resulting CaloSuperCellDetDescrManager"}

Definition at line 85 of file LArSCSimpleMaker.h.

85 {
86 this,"CaloSuperCellDetDescrManager","CaloSuperCellDetDescrManager","SG key of the resulting CaloSuperCellDetDescrManager"};

◆ m_cellContainerKey

SG::ReadHandleKey<CaloCellContainer> LArSCSimpleMaker::m_cellContainerKey
private
Initial value:
{ this, "CellContainer", "AllCalo",
"SG key for the input calorimeter cell container"}

Property: SG key for the input calorimeter cell container.

Definition at line 62 of file LArSCSimpleMaker.h.

63 { this, "CellContainer", "AllCalo",
64 "SG key for the input calorimeter cell container"};

◆ m_compNoise

Gaudi::Property<bool> LArSCSimpleMaker::m_compNoise {this,"CompNoise",true,"Compensate for Noise difference in LAr between high and medium gain"}
private

Definition at line 80 of file LArSCSimpleMaker.h.

80{this,"CompNoise",true,"Compensate for Noise difference in LAr between high and medium gain"};

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Gaudi::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< Gaudi::Algorithm > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_extendedExtraObjects

DataObjIDColl AthCommonReentrantAlgorithm< Gaudi::Algorithm >::m_extendedExtraObjects
privateinherited

Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.

Empty if no symlinks were found.

Definition at line 114 of file AthCommonReentrantAlgorithm.h.

◆ m_noise_per_cell_Key

SG::ReadCondHandleKey<CaloNoiseSigmaDiff> LArSCSimpleMaker::m_noise_per_cell_Key { this, "CaloNoiseSigmaDiff", "CaloNoiseSigmaDiff", "Sigma Diff for CaloNoise with High and Medium gain"}
private

Property SG Key for the Expected Noise Sigma diff in diff gains.

Definition at line 72 of file LArSCSimpleMaker.h.

73{ this, "CaloNoiseSigmaDiff", "CaloNoiseSigmaDiff", "Sigma Diff for CaloNoise with High and Medium gain"};

◆ m_sCellContainerKey

SG::WriteHandleKey<CaloCellContainer> LArSCSimpleMaker::m_sCellContainerKey
private
Initial value:
{ this, "SCellContainer", "SCellContainer",
"SG key for the output supercell LAr channel container"}

Property: SG key for the output supercell LAr channel container.

Definition at line 67 of file LArSCSimpleMaker.h.

68 { this, "SCellContainer", "SCellContainer",
69 "SG key for the output supercell LAr channel container"};

◆ m_scidtool

ToolHandle<ICaloSuperCellIDTool> LArSCSimpleMaker::m_scidtool
private
Initial value:
{ this, "SCIDTool", "CaloSuperCellIDTool" ,
"Offline / supercell mapping tool."}

Property: Offline / supercell mapping tool.

Definition at line 57 of file LArSCSimpleMaker.h.

58 { this, "SCIDTool", "CaloSuperCellIDTool" ,
59 "Offline / supercell mapping tool."};

◆ m_varHandleArraysDeclared

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

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

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

Definition at line 398 of file AthCommonDataStore.h.


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