Skip to content
Snippets Groups Projects
Commit d135d1d0 authored by Walter Lampl's avatar Walter Lampl
Browse files

Merge branch 'ATR-20064_fixingClusterSizes' into 'master'

Adding number of cells decoration to CaloClusterContainer to resolve ATR-20064

Closes ATR-20064

See merge request atlas/athena!25272
parents 26e193ce eb3537c5
No related branches found
No related tags found
No related merge requests found
...@@ -49,6 +49,8 @@ ...@@ -49,6 +49,8 @@
#include "xAODTrigCalo/CaloClusterTrigAuxContainer.h" #include "xAODTrigCalo/CaloClusterTrigAuxContainer.h"
//#include "xAODCaloEvent/CaloClusterChangeSignalState.h" //#include "xAODCaloEvent/CaloClusterChangeSignalState.h"
#include "StoreGate/WriteDecorHandle.h"
// //
class ISvcLocator; class ISvcLocator;
...@@ -89,6 +91,9 @@ TrigCaloClusterMakerMT::TrigCaloClusterMakerMT(const std::string& name, ISvcLoca ...@@ -89,6 +91,9 @@ TrigCaloClusterMakerMT::TrigCaloClusterMakerMT(const std::string& name, ISvcLoca
ATH_MSG_INFO("No monTool configured => NO MONITOING"); ATH_MSG_INFO("No monTool configured => NO MONITOING");
} }
m_mDecor_ncells = m_outputClustersKey.key() + "." + m_mDecor_ncells.key();
ATH_CHECK( m_mDecor_ncells.initialize());
ATH_CHECK( m_clusterMakers.retrieve() ); ATH_CHECK( m_clusterMakers.retrieve() );
ATH_CHECK( m_clusterCorrections.retrieve() ); ATH_CHECK( m_clusterCorrections.retrieve() );
...@@ -130,7 +135,6 @@ StatusCode TrigCaloClusterMakerMT::execute() ...@@ -130,7 +135,6 @@ StatusCode TrigCaloClusterMakerMT::execute()
// We now take care of the Cluster Making... // We now take care of the Cluster Making...
auto clusterContainer = SG::makeHandle (m_outputClustersKey, ctx); auto clusterContainer = SG::makeHandle (m_outputClustersKey, ctx);
ATH_MSG_VERBOSE(" Output Clusters : " << clusterContainer.name()); ATH_MSG_VERBOSE(" Output Clusters : " << clusterContainer.name());
ATH_CHECK( clusterContainer.record (std::make_unique<xAOD::CaloClusterContainer>(), std::make_unique<xAOD::CaloClusterTrigAuxContainer> () )); ATH_CHECK( clusterContainer.record (std::make_unique<xAOD::CaloClusterContainer>(), std::make_unique<xAOD::CaloClusterTrigAuxContainer> () ));
xAOD::CaloClusterContainer* pCaloClusterContainer = clusterContainer.ptr(); xAOD::CaloClusterContainer* pCaloClusterContainer = clusterContainer.ptr();
...@@ -281,14 +285,19 @@ StatusCode TrigCaloClusterMakerMT::execute() ...@@ -281,14 +285,19 @@ StatusCode TrigCaloClusterMakerMT::execute()
} }
#endif #endif
// Decorator handle
SG::WriteDecorHandle<xAOD::CaloClusterContainer, int> mDecor_ncells(m_mDecor_ncells, ctx);
// fill monitored variables // fill monitored variables
for (xAOD::CaloCluster* cl : *pCaloClusterContainer) { for (xAOD::CaloCluster* cl : *pCaloClusterContainer) {
CaloClusterCellLink* num_cell_links = cl->getCellLinks(); CaloClusterCellLink* num_cell_links = cl->getCellLinks();
if(! num_cell_links) { if(! num_cell_links) {
sizeVec.push_back(0); sizeVec.push_back(0);
mDecor_ncells(*cl) = 0;
} else { } else {
sizeVec.push_back(num_cell_links->size()); sizeVec.push_back(num_cell_links->size());
mDecor_ncells(*cl) = num_cell_links->size();
} }
clus_phi.push_back(cl->phi()); clus_phi.push_back(cl->phi());
clus_eta.push_back(cl->eta()); clus_eta.push_back(cl->eta());
......
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
#include "TrigCaloRec/TrigCaloQuality.h" #include "TrigCaloRec/TrigCaloQuality.h"
#include "AthenaMonitoring/GenericMonitoringTool.h" #include "AthenaMonitoring/GenericMonitoringTool.h"
#include "GaudiKernel/ToolHandle.h" #include "GaudiKernel/ToolHandle.h"
#include "StoreGate/WriteDecorHandleKey.h"
class IAlgToolEFCalo; class IAlgToolEFCalo;
...@@ -95,6 +96,11 @@ class TrigCaloClusterMakerMT : public AthAlgorithm { ...@@ -95,6 +96,11 @@ class TrigCaloClusterMakerMT : public AthAlgorithm {
ToolHandle< GenericMonitoringTool > m_monTool { this, "MonTool", "", "Monitoring tool" }; ToolHandle< GenericMonitoringTool > m_monTool { this, "MonTool", "", "Monitoring tool" };
Gaudi::Property<SG::WriteDecorHandleKey<xAOD::CaloClusterContainer> > m_mDecor_ncells { this,
"Decor_ncells", // decorator name
"nCells", // default value
"Decorator containing the number of cells associated to a cluster"};
public: public:
......
...@@ -105,7 +105,7 @@ TriggerHLTListRun3 = [ ...@@ -105,7 +105,7 @@ TriggerHLTListRun3 = [
('xAOD::CaloClusterTrigAuxContainer#HLT_TopoCaloClustersAux.', 'BS ESD AODFULL', 'Egamma'), ('xAOD::CaloClusterTrigAuxContainer#HLT_TopoCaloClustersAux.', 'BS ESD AODFULL', 'Egamma'),
('xAOD::CaloClusterContainer#HLT_TopoCaloClustersRoI', 'BS ESD AODFULL', 'Egamma' 'inViews:precisionCaloViews'), ('xAOD::CaloClusterContainer#HLT_TopoCaloClustersRoI', 'BS ESD AODFULL', 'Egamma' 'inViews:precisionCaloViews'),
('xAOD::CaloClusterTrigAuxContainer#HLT_TopoCaloClustersRoIAux.', 'BS ESD AODFULL', 'Egamma'), ('xAOD::CaloClusterTrigAuxContainer#HLT_TopoCaloClustersRoIAux.nCells.', 'BS ESD AODFULL', 'Egamma'),
# Muon # Muon
...@@ -209,7 +209,7 @@ TriggerHLTListRun3 = [ ...@@ -209,7 +209,7 @@ TriggerHLTListRun3 = [
('xAOD::TrigMissingETAuxContainer#HLT_MET_tcAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'MET'), ('xAOD::TrigMissingETAuxContainer#HLT_MET_tcAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'MET'),
('xAOD::CaloClusterContainer#HLT_TopoCaloClustersFS', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'MET'), ('xAOD::CaloClusterContainer#HLT_TopoCaloClustersFS', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'MET'),
('xAOD::CaloClusterTrigAuxContainer#HLT_TopoCaloClustersFSAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'MET'), ('xAOD::CaloClusterTrigAuxContainer#HLT_TopoCaloClustersFSAux.nCells.','BS ESD AODFULL AODSLIM AODVERYSLIM', 'MET'),
# tau # tau
('xAOD::TauJetContainer#HLT_TrigTauRecMerged', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau'), ('xAOD::TauJetContainer#HLT_TrigTauRecMerged', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau'),
...@@ -219,8 +219,8 @@ TriggerHLTListRun3 = [ ...@@ -219,8 +219,8 @@ TriggerHLTListRun3 = [
('xAOD::TauJetAuxContainer#HLT_TrigTauRecMerged_MVAAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau'), ('xAOD::TauJetAuxContainer#HLT_TrigTauRecMerged_MVAAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau'),
# tau calo clusters # tau calo clusters
('xAOD::CaloClusterContainer#HLT_TopoCaloClustersLC', 'BS ESD AODFULL', 'Tau', 'inViews:TAUCaloRoIs'), ('xAOD::CaloClusterContainer#HLT_TopoCaloClustersLC', 'BS ESD AODFULL', 'Tau', 'inViews:TAUCaloRoIs'),
('xAOD::CaloClusterTrigAuxContainer#HLT_TopoCaloClustersLCAux.', 'BS ESD AODFULL', 'Tau'), ('xAOD::CaloClusterTrigAuxContainer#HLT_TopoCaloClustersLCAux.nCells.','BS ESD AODFULL', 'Tau'),
# tau tracks # tau tracks
('xAOD::TauTrackContainer#HLT_tautrack_MVA', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau'), ('xAOD::TauTrackContainer#HLT_tautrack_MVA', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau'),
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment