ATLAS Offline Software
CaloClusterRemoveDuplicates.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef CALOCLUSTERCORRECTION_CALOCLUSTERREMOVEDUPLICATES_H
6 #define CALOCLUSTERCORRECTION_CALOCLUSTERREMOVEDUPLICATES_H
7 
8 /**************************************************************************
9 
10 NAME: CaloClusterRemoveDuplicates.h
11 AUTHORS: M. Cooke
12 
13 CREATED: May, 2008
14 
15 PURPOSE: Address duplicate cluster problem (pathology under investigation)
16  Searches for pairs within a window and eliminates one w/ lower Et
17 
18 Base class: CaloClusterCollectionProcessor
19 
20 ***************************************************************************/
21 
22 // INCLUDE HEADER FILES:
26 
28 {
29 
30  public:
31 
32  // Constructor
33  CaloClusterRemoveDuplicates(const std::string& type,
34  const std::string& name,
35  const IInterface* parent);
36 
37  using CaloClusterCollectionProcessor::execute; // xxx temporary
38  StatusCode execute(const EventContext& ctx,
39  xAOD::CaloClusterContainer* clusColl) const override;
40 
41  private:
42 
43  int compare( xAOD::CaloCluster* clus1 , xAOD::CaloCluster* clus2 ) const;
44 
46 
47  // If two cluster are within deta_cut and dphi_cut, lower ET one will be removed
48  float m_deta_cut;
49  float m_dphi_cut;
50 };
51 
52 #endif
CaloClusterRemoveDuplicates::execute
StatusCode execute(const EventContext &ctx, xAOD::CaloClusterContainer *clusColl) const override
Execute on an entire collection of clusters.
Definition: CaloClusterRemoveDuplicates.cxx:41
CaloClusterCollectionProcessor::execute
virtual StatusCode execute(const EventContext &ctx, xAOD::CaloClusterContainer *collection) const =0
Execute on an entire collection of clusters.
CaloClusterCollectionProcessor
Definition: CaloClusterCollectionProcessor.h:32
CaloClusterRemoveDuplicates::compare
int compare(xAOD::CaloCluster *clus1, xAOD::CaloCluster *clus2) const
Definition: CaloClusterRemoveDuplicates.cxx:89
CaloClusterRemoveDuplicates::m_dphi_cut
float m_dphi_cut
Definition: CaloClusterRemoveDuplicates.h:61
CaloClusterRemoveDuplicates::m_deta_cut
float m_deta_cut
Definition: CaloClusterRemoveDuplicates.h:60
xAOD::CaloCluster_v1
Description of a calorimeter cluster.
Definition: CaloCluster_v1.h:59
CaloCluster.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
CaloClusterRemoveDuplicates::CaloClusterRemoveDuplicates
CaloClusterRemoveDuplicates()
test_pyathena.parent
parent
Definition: test_pyathena.py:15
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
CaloClusterRemoveDuplicates
Definition: CaloClusterRemoveDuplicates.py:1
CaloClusterCollectionProcessor.h
Base class for cluster processing tools called from CaloClusterMaker.
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
AthAlgTool
Definition: AthAlgTool.h:26