20#include "GaudiKernel/Bootstrap.h"
21#include "GaudiKernel/ISvcLocator.h"
22#include "GaudiKernel/IMessageSvc.h"
23#include "GaudiKernel/IDataProviderSvc.h"
43 return StatusCode::SUCCESS;
88 return StatusCode::SUCCESS;
101 std::vector<Identifier> id_vec;
102 std::map<Identifier, int> id_map;
103 std::map<Identifier, int>::iterator map_it;
106 bool no_invalid =
true;
107 bool no_alien =
true;
116 ATH_MSG_INFO(
"*************************************************************" );
117 ATH_MSG_INFO(
"Investigate CalibHit IDs from LAr Inactive CalibHit Container" );
118 ATH_MSG_INFO(
"*************************************************************" );
135 ATH_MSG_INFO(
"***********************************************************" );
136 ATH_MSG_INFO(
"Investigate CalibHit IDs from LAr Active CalibHit Container" );
137 ATH_MSG_INFO(
"***********************************************************" );
156 ATH_MSG_INFO(
"**************************************************************" );
157 ATH_MSG_INFO(
"Investigate CalibHit IDs from Tile Inactive CalibHit container" );
158 ATH_MSG_INFO(
"**************************************************************" );
175 ATH_MSG_INFO(
"************************************************************" );
176 ATH_MSG_INFO(
"Investigate CalibHit IDs from Tile Active CalibHit container" );
177 ATH_MSG_INFO(
"************************************************************" );
196 ATH_MSG_INFO(
"*******************************************************" );
197 ATH_MSG_INFO(
"Investigate CalibHit IDs from LAr DM CalibHit Container" );
198 ATH_MSG_INFO(
"*******************************************************" );
215 ATH_MSG_INFO(
"********************************************************" );
216 ATH_MSG_INFO(
"Investigate CalibHit IDs from Tile DM CalibHit Container" );
217 ATH_MSG_INFO(
"********************************************************" );
235 for(; it != end; ++it) {
296 for (
int iter=0; iter<static_cast<int>(id_vec.size()); iter++) {
297 if(
id == id_vec[iter]) {
299 if(id_map.find(
id)==id_map.end()) {
300 id_map.insert(std::make_pair(
id,2));
303 map_it=id_map.find(
id);
313 id_vec.push_back(
id);
338 ATH_MSG_INFO(
"------------------------------------- " );
339 ATH_MSG_INFO(
"No invalid Identifiers has been found " );
340 ATH_MSG_INFO(
"------------------------------------- " );
348 ATH_MSG_INFO(
"------------------------------------------------------" );
349 ATH_MSG_INFO(
"No container not-respective Identifiers has been found" );
350 ATH_MSG_INFO(
"------------------------------------------------------" );
356 if(!id_map.empty()) {
358 ATH_MSG_INFO(
"----------------------------------------------- " );
359 ATH_MSG_INFO(
"Found repeated Identifiers | how many times " );
360 ATH_MSG_INFO(
"----------------------------------------------- " );
362 for (
const std::pair<const Identifier, int>& p : id_map) {
369 ATH_MSG_INFO(
"----------------------------------------------- " );
370 ATH_MSG_INFO(
"No repeated CalibHit Identifiers has been found " );
371 ATH_MSG_INFO(
"----------------------------------------------- " );
388 for (
int iter=0; iter !=
static_cast<int>(
m_id_vec.size()); iter++) {
414 ATH_MSG_INFO(
"=================================================" );
415 ATH_MSG_INFO(
"Show all CalibHits Identifiers for current events" );
416 ATH_MSG_INFO(
"=================================================" );
418 for (
int iter=0; iter !=
static_cast<int>(
m_id_vec.size()); iter++) {
446 ATH_MSG_INFO(
"======================================================" );
447 ATH_MSG_INFO(
"Check for the CalibHits Identifiers has been repeated " );
448 ATH_MSG_INFO(
" inside the different CalibHit containers " );
449 ATH_MSG_INFO(
"======================================================" );
454 for (
size_t i=0; i <
m_id_vec.size(); i++) {
465 <<
" is repeated "<<(same+1)<<
" times"
466 <<
" inside different containers " );
475 <<
"in the different containers was found ***" );
#define ATH_CHECK
Evaluate an expression and check for errors.
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
ServiceHandle< StoreGateSvc > & evtStore()
const ServiceHandle< StoreGateSvc > & detStore() const
boost::transform_iterator< make_const, typename CONT::const_iterator > const_iterator
virtual StatusCode execute() override
Gaudi::Property< std::string > m_tiledmHitContainer
std::vector< Identifier > m_id_vec
const CaloCalibrationHitContainer * m_LArDMHitCnt
Gaudi::Property< std::string > m_tileInactiveHitContainer
const CaloCalibrationHitContainer * m_TileInactiveHitCnt
const CaloCalibrationHitContainer * m_ActiveHitCnt
const CaloCalibrationHitContainer * m_TileDMHitCnt
CalibHitIDCheck(const std::string &name, ISvcLocator *pSvcLocator)
Gaudi::Property< std::string > m_tileActiveHitContainer
Gaudi::Property< std::string > m_larActiveHitContainer
Gaudi::Property< std::string > m_larInactiveHitContainer
Gaudi::Property< bool > m_ShowAll
virtual ~CalibHitIDCheck()
const AtlasDetectorID * m_id_helper
virtual StatusCode initialize() override
const CaloCalibrationHitContainer * m_TileActiveHitCnt
Gaudi::Property< bool > m_CheckAll
Gaudi::Property< std::string > m_larDMHitContainer
Gaudi::Property< bool > m_Check
const CaloCalibrationHitContainer * m_InactiveHitCnt
DataModel_detail::iterator< DVL > remove(typename DataModel_detail::iterator< DVL > beg, typename DataModel_detail::iterator< DVL > end, const T &value)
Specialization of remove for DataVector/List.