|
ATLAS Offline Software
|
Go to the documentation of this file.
17 #include "GaudiKernel/MsgStream.h"
111 return(StatusCode::FAILURE);
126 if (
sc.isFailure()) {
127 ATH_MSG_ERROR(
"Unable to retrieve CaloIdManager from DetectoreStore");
128 return StatusCode::FAILURE;
134 return StatusCode::SUCCESS;
141 std::vector<double> eCells_EM;
142 std::vector<double> eCells_HEC;
143 std::vector<double> eCells_FCAL;
149 ATH_MSG_INFO(
" ncells " << ncells_em <<
" " << ncells_hec <<
" " << ncells_fcal);
152 eCells_EM.resize(ncells_em,0.);
154 eCells_HEC.resize(ncells_hec,0.);
156 eCells_FCAL.resize(ncells_fcal,0.);
171 if (
sc.isFailure()) {
179 if (
sc.isFailure()) {
188 if (
sc.isFailure()) {
196 if (
sc.isFailure()) {
207 for (
unsigned int iHitContainer=0;iHitContainer<
m_HitContainer.size();iHitContainer++)
229 return StatusCode::FAILURE;
233 TimedHitContList hitContList;
238 ,hitContList).isSuccess()) && hitContList.empty()) {
240 return StatusCode::FAILURE;
246 while (iFirstCont != iEndCont) {
253 while (f_cell != l_cell) {
254 double energy = (*f_cell)->energy();
261 if (idHash<ncells_em) eCells_EM[idHash] +=
energy;
265 if (idHash<ncells_hec) eCells_HEC[idHash] +=
energy;
269 if (idHash<ncells_fcal) eCells_FCAL[idHash] +=
energy;
277 ATH_MSG_INFO(
" total number of hits found " << nhit_tot);
284 for (
unsigned int i=0;
i<ncells_em;
i++) {
303 ATH_MSG_INFO(
" Number of hits filled in LArHitEM containers " << nhit);
308 for (
unsigned int i=0;
i<ncells_hec;
i++) {
319 ATH_MSG_INFO(
" Number of hits filled in LArHitHEC container " << nhit);
324 for (
unsigned int i=0;
i<ncells_fcal;
i++) {
327 double energy = eCells_FCAL[
i];
335 ATH_MSG_INFO(
" Number of hits filled in LArHitFCAL container " << nhit);
343 if (
sc.isFailure()) {
345 return(StatusCode::FAILURE);
351 if (
sc.isFailure()) {
353 return(StatusCode::FAILURE);
359 if (
sc.isFailure()) {
361 return(StatusCode::FAILURE);
367 if (
sc.isFailure()) {
369 return(StatusCode::FAILURE);
374 return StatusCode::SUCCESS;
381 ATH_MSG_DEBUG(
" LArHitMerger finalize completed successfully");
384 return StatusCode::SUCCESS;
virtual StatusCode initialize()
JetConstituentVector::iterator iterator
size_type channel_hash_max() const
One more than the largest channel (cell) hash code.
const LArEM_ID * m_larem_id
void finalize()
The method to be called at the end of event by SD.
const LArHEC_ID * m_larhec_id
const LArEM_ID * getEM_ID(void) const
StringProperty m_SubDetectors
IdentifierHash channel_hash(Identifier channelId) const
Convert a connected channel (cell) Identifier to a hash code.
LArHitMerger(const std::string &name, ISvcLocator *pSvcLocator)
Identifier channel_id(const ExpandedIdentifier &exp_id) const
Build a cell identifier from an expanded identifier.
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
boost::transform_iterator< make_const, typename CONT::const_iterator > const_iterator
std::list< value_t > type
type of the collection of timed data object
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
IdentifierHash channel_hash(Identifier channelId) const
create hash id from channel id
const LArHEC_ID * getHEC_ID(void) const
This class initializes the Calo (LAr and Tile) offline identifiers.
::StatusCode StatusCode
StatusCode definition for legacy code.
Identifier channel_id(const ExpandedIdentifier &exp_id) const
cell identifier for a channel from ExpandedIdentifier
const LArFCAL_ID * getFCAL_ID(void) const
const LArFCAL_ID * m_larfcal_id
IdentifierHash channel_hash(Identifier channelId) const
create hash id from channel id
ServiceHandle< PileUpMergeSvc > m_mergeSvc
virtual StatusCode execute()
StringProperty m_EmEndCapHitContainerName
Identifier channel_id(const ExpandedIdentifier &exp_id) const
channel identifier for a channel from ExpandedIdentifier
Class to store hit energy and time in LAr cell from G4 simulation.
virtual StatusCode finalize()
std::vector< bool > m_SubDetFlag
StringProperty m_ForWardHitContainerName
StringProperty m_HecHitContainerName
def time(flags, cells_name, *args, **kw)
bool is_em_barrel(const Identifier id) const
test if the id belongs to the EM barrel
std::vector< std::string > m_HitContainer
const_iterator end() const
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
StringProperty m_EmBarrelHitContainerName
const_iterator begin() const
bool is_em_endcap(const Identifier id) const
test if the id belongs to the EM Endcap
std::vector< int > m_CaloType