32#include "CaloDetDescr/CaloDetDescrElement.h"
93 return StatusCode::SUCCESS;
130 ATH_MSG_DEBUG(
"CaloCalibrationHitContainers retrieved successfuly" );
137 int lar_unknown_nchan=0;
139 int tile_unknown_nchan = 0 ;
143 std::vector<Identifier>
ID;
155 if( lar_inactHitCnt->
Size() != 0 )
159 double Etot = hit->energyTotal();
160 double Eem = hit->energy(0);
161 double Enonem = hit->energy(1);
162 double Evis = Eem + Enonem;
198 <<
id.getString() <<
" sub_calo " <<
m_caloCell_ID->sub_calo(
id) );
201 ATH_MSG_DEBUG(
"Ianctive CalibHit doesn't respect to any LArCell - "
202 <<
"create dummy LArCell to store energy " );
239 if( lar_actHitCnt->
Size() != 0 )
242 int hits_vec_size = (int)
ID.size() ;
250 for (
int n=0; n!=hits_vec_size; n++)
269 double Etot = hit->energyTotal();
270 double Eem = hit->energy(0);
271 double Enonem = hit->energy(1);
272 double Evis = Eem + Enonem;
305 <<
id.getString() <<
" sub_calo " <<
m_caloCell_ID->sub_calo(
id) );
308 ATH_MSG_DEBUG(
"Active CalibHit doesn't respect to any LArCell - "
309 <<
"create dummy LArCell to store energy " );
349 for(
int itr=0; itr!=
m_nchan; itr++)
369 for(
int itr=0; itr!=
m_nchan; itr++)
389 for(
int itr=0; itr!=
m_nchan; itr++)
412 for(
int itr=0; itr!=
m_nchan; itr++)
425 if(lar_unknown_nchan!=0)
445 if( (tile_actHitCnt->
Size()) != 0 )
451 double Etot = hit->energyTotal();
452 double Eem = hit->energy(0);
453 double Enonem = hit->energy(1);
454 double Evis = Eem + Enonem;
462 cnt->push_back(calibCell);
487 <<
id.getString() <<
" sub_calo " <<
m_caloCell_ID->sub_calo(
id) );
490 ATH_MSG_DEBUG(
"Active CalibHit doesn't respect to any TileCell - "
491 <<
"create dummy TileCell to store energy " );
496 cnt->push_back(calibCell);
518 ++tile_unknown_nchan;
532 if(tile_unknown_nchan!=0)
548 if( (tile_inactHitCnt->
Size()) != 0 )
555 double Etot = hit->energyTotal();
556 double Eem = hit->energy(0);
557 double Enonem = hit->energy(1);
558 double Evis = Eem + Enonem;
566 cnt->push_back(calibCell);
591 <<
id.getString() <<
" sub_calo " <<
m_caloCell_ID->sub_calo(
id) );
594 ATH_MSG_DEBUG(
"Inactive CalibHit doesn't respect to any TileCell - "
595 <<
"create dummy TileCell to store energy " );
600 cnt->push_back(calibCell);
622 ++tile_unknown_nchan;
636 if(tile_unknown_nchan!=0)
688 return StatusCode::SUCCESS;
696 return StatusCode::SUCCESS;
704 <<
"Visible = "<<(*energy)[1] <<
" | "
705 <<
"Em = "<<(*energy)[2] <<
" | "
706 <<
"NonEm = "<<(*energy)[3] );
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_VERBOSE(x)
std::vector< Identifier > ID
std::vector< double > Energy
Definition of CaloDetDescrManager.
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
ServiceHandle< StoreGateSvc > & evtStore()
const ServiceHandle< StoreGateSvc > & detStore() const
std::string m_caloCell_Em
StatusCode execute() override
std::string m_larActHitCnt
virtual ~CalibHitToCaloCell()
StatusCode initialize() override
const CaloCell_ID * m_caloCell_ID
std::vector< LArCell * > m_Cells_Vis
std::string m_caloCell_Tot
std::vector< LArCell * > m_Cells_Tot
void test_energy(Energy *)
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
std::string m_caloCell_Vis
std::string m_tileActiveHitCnt
const CaloDM_ID * m_caloDM_ID
std::string m_tileInactiveHitCnt
std::string m_larInactHitCnt
CalibHitToCaloCell(const std::string &name, ISvcLocator *pSvcLocator)
std::vector< LArCell * > m_Cells_NonEm
std::string m_larDMHitCnt
std::string m_caloCell_NonEm
std::vector< LArCell * > m_Cells_Em
std::string m_tileDMHitCnt
StatusCode finalize() override
Class to store calorimeter calibration hit.
Container class for CaloCell.
void push_back(CaloCell *)
reimplementation of const push_back
void setHasCalo(const CaloCell_ID::SUBCALO caloNum)
set which calo has been filled.
virtual void setEnergy(float energy)
set energy
This class groups all DetDescr information related to a CaloCell.
const CaloDetDescrElement * get_element(const Identifier &cellId) const
get element by its identifier
This class provides the client interface for accessing the detector description information common to...
Data object for LAr calorimeter readout cell.
virtual void setEnergy(float ene) override final
set total energy, reset eneDiff to zero (final override of CaloCell method)