33#include "CaloDetDescr/CaloDetDescrElement.h"
65 return StatusCode::SUCCESS;
102 ATH_MSG_DEBUG(
"CaloCalibrationHitContainers retrieved successfuly" );
109 int lar_unknown_nchan=0;
111 int tile_unknown_nchan = 0 ;
115 std::vector<Identifier> ID;
127 if( lar_inactHitCnt->
Size() != 0 )
131 double Etot = hit->energyTotal();
132 double Eem = hit->energy(0);
133 double Enonem = hit->energy(1);
134 double Evis = Eem + Enonem;
170 <<
id.getString() <<
" sub_calo " <<
m_caloCell_ID->sub_calo(
id) );
173 ATH_MSG_DEBUG(
"Ianctive CalibHit doesn't respect to any LArCell - "
174 <<
"create dummy LArCell to store energy " );
211 if( lar_actHitCnt->
Size() != 0 )
214 int hits_vec_size = (int)ID.size() ;
222 for (
int n=0; n!=hits_vec_size; n++)
241 double Etot = hit->energyTotal();
242 double Eem = hit->energy(0);
243 double Enonem = hit->energy(1);
244 double Evis = Eem + Enonem;
277 <<
id.getString() <<
" sub_calo " <<
m_caloCell_ID->sub_calo(
id) );
280 ATH_MSG_DEBUG(
"Active CalibHit doesn't respect to any LArCell - "
281 <<
"create dummy LArCell to store energy " );
321 for(
int itr=0; itr!=
m_nchan; itr++)
341 for(
int itr=0; itr!=
m_nchan; itr++)
361 for(
int itr=0; itr!=
m_nchan; itr++)
384 for(
int itr=0; itr!=
m_nchan; itr++)
397 if(lar_unknown_nchan!=0)
417 if( (tile_actHitCnt->
Size()) != 0 )
423 double Etot = hit->energyTotal();
424 double Eem = hit->energy(0);
425 double Enonem = hit->energy(1);
426 double Evis = Eem + Enonem;
434 cnt->push_back(calibCell);
459 <<
id.getString() <<
" sub_calo " <<
m_caloCell_ID->sub_calo(
id) );
462 ATH_MSG_DEBUG(
"Active CalibHit doesn't respect to any TileCell - "
463 <<
"create dummy TileCell to store energy " );
468 cnt->push_back(calibCell);
490 ++tile_unknown_nchan;
504 if(tile_unknown_nchan!=0)
520 if( (tile_inactHitCnt->
Size()) != 0 )
527 double Etot = hit->energyTotal();
528 double Eem = hit->energy(0);
529 double Enonem = hit->energy(1);
530 double Evis = Eem + Enonem;
538 cnt->push_back(calibCell);
563 <<
id.getString() <<
" sub_calo " <<
m_caloCell_ID->sub_calo(
id) );
566 ATH_MSG_DEBUG(
"Inactive CalibHit doesn't respect to any TileCell - "
567 <<
"create dummy TileCell to store energy " );
572 cnt->push_back(calibCell);
594 ++tile_unknown_nchan;
608 if(tile_unknown_nchan!=0)
660 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_VERBOSE(x)
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
ServiceHandle< StoreGateSvc > & evtStore()
const ServiceHandle< StoreGateSvc > & detStore() const
virtual StatusCode execute() override
std::string m_larActHitCnt
virtual ~CalibHitToCaloCell()
virtual StatusCode initialize() override
const CaloCell_ID * m_caloCell_ID
std::vector< LArCell * > m_Cells_Vis
std::vector< LArCell * > m_Cells_Tot
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
Gaudi::Property< std::string > m_caloCell_Vis
Gaudi::Property< std::string > m_caloCell_NonEm
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::vector< LArCell * > m_Cells_Em
Gaudi::Property< std::string > m_caloCell_Tot
std::string m_tileDMHitCnt
Gaudi::Property< std::string > m_caloCell_Em
Gaudi::Property< bool > m_storeUnknown
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)