![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
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.
void reserve(unsigned int size)
Set the desired capacity.
const_pointer_type cptr()
Dereference the pointer.
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.
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
unsigned int allocated()
return size already allocated OK
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
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.
pointer nextElementPtr()
obtain the next available element in pool by pointer pool is resized if its limit has been reached On...
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.
unsigned int value(void) const
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).
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