 |
ATLAS Offline Software
|
Go to the documentation of this file.
32 ISvcLocator* pSvcLocator)
34 m_calo_id_manager(nullptr)
60 ATH_MSG_ERROR(
"Could not access CaloCell_SuperCell_ID helper");
61 return StatusCode::FAILURE;
63 ATH_MSG_DEBUG(
"Successfully accessed CaloCell_SuperCell_ID helper");
66 return StatusCode::SUCCESS;
82 return StatusCode::FAILURE;
88 return StatusCode::FAILURE;
94 ATH_CHECK(caloSuperCellMgrHandle.isValid());
95 dd_mgr = *caloSuperCellMgrHandle;
100 dd_mgr = *caloMgrHandle;
105 std::vector< std::pair<float,float> > energy_time;
109 energy_time.assign(
max,std::pair<float,float>(0.0,0.0));
110 for( ;
it!=it_end;++
it) {
113 const std::vector<std::pair<float,float> >& timeE = hitlist.
getData();
114 if (timeE.empty() )
continue;
119 if ( scHash.
value() == 999999 )
continue;
122 std::vector<std::pair<float,float> >::const_iterator
first = timeE.begin();
123 std::vector<std::pair<float,float> >::const_iterator last = timeE.end();
125 float time = (*first).second;;
126 float energy = (*first).first;
127 if ( (std::abs(
time) < 13) ) {
135 auto outputContainerCellPtr = std::make_unique<CaloCellContainer>();
139 outputContainerCellPtr->reserve(
max );
141 float energy = energy_time[
i].first;
149 hw =
cabling->createSignalChannelID(scId);
150 dde = dd_mgr->get_element (scId);
153 hw =
cabling->createSignalChannelID(cellId);
154 dde = dd_mgr->get_element (cellId);
158 if ( fracS->FSAMPL(hw) < 0.00001 )
continue;
159 ss->setEnergy(
energy/fracS->FSAMPL(hw));
164 ss->setProvenance(prov);
168 outputContainerCellPtr->push_back(
ss);
172 ATH_CHECK(outputContainer.
record(std::move(outputContainerCellPtr) ) );
174 return StatusCode::SUCCESS;
IdentifierHash calo_cell_hash(const Identifier cellId) const
create hash id from 'global' cell id
LArHITtoCell(const std::string &name, ISvcLocator *pSvcLocator)
Standard Gaudi algorithm constructor.
const_pointer_type cptr()
Dereference the pointer.
unsigned int value() const
This class groups all DetDescr information related to a CaloCell. Provides a generic interface for al...
SG::ReadCondHandleKey< CaloSuperCellDetDescrManager > m_caloSuperCellMgrKey
const CaloIdManager * m_calo_id_manager
Entry point for calorimeter ID helpers.
void reserve(unsigned int size)
Set the desired capacity.
ToolHandle< ICaloSuperCellIDTool > m_scidtool
Property: Offline / supercell mapping tool.
SG::WriteHandleKey< CaloCellContainer > m_cellKey
Property Output Container.
const LArHitList & GetCell(const unsigned int index) const
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
An algorithm that can be simultaneously executed in multiple threads.
const T * retrieve(const EventContext &context, SG::ReadCondHandleKey< T > handleKey) const
const LARLIST & getData() const
pointer nextElementPtr()
obtain the next available element in pool by pointer pool is resized if its limit has been reached On...
const CaloCell_ID * m_OflHelper
pointer to the offline id helper
::StatusCode StatusCode
StatusCode definition for legacy code.
Helper class for offline supercell identifiers.
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
#define CHECK(...)
Evaluate an expression and check for errors.
SG::ReadHandleKey< LArHitEMap > m_hitMapKey
hit map
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
StatusCode initialize(bool used=true)
Identifier cell_id(const int subCalo, const int barec_or_posneg, const int sampling_or_fcalmodule, const int region_or_dummy, const int eta, const int phi) const
Make a cell (== channel) ID from constituting fields and subCalo index; for (Mini)FCAL,...
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
Data object for each calorimeter readout cell.
def time(flags, cells_name, *args, **kw)
StatusCode initialize()
Standard Gaudi initialize method.
const CaloCell_SuperCell_ID * m_scHelper
pointer to the offline TT helper
const CaloCell_SuperCell_ID * getCaloCell_SuperCell_ID(void) const
a typed memory pool that saves time spent allocation small object. This is typically used by containe...
int GetNbCells(void) const
Gaudi::Property< bool > m_isSC
if is SuperCell
SG::ReadCondHandleKey< ILArfSampl > m_fracSKey
Property: Fraction of Energy Sampled (conditions input).
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
unsigned int allocated()
return size already allocated OK
StatusCode execute(const EventContext &context) const
Algorithm execute method.
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
size_type calo_cell_hash_max(void) const
cell 'global' hash table max size