Used in eflowCellLevelSubtractionTool and eflowRecoverSplitShowersTool to perform the removal of calorimeter cells from clusters.
More...
#include <eflowSubtractor.h>
Used in eflowCellLevelSubtractionTool and eflowRecoverSplitShowersTool to perform the removal of calorimeter cells from clusters.
Makes use of eflowCellList, eflowRingSubtractionManager and eflowCellSubtractionFacilitator.
Definition at line 34 of file eflowSubtractor.h.
◆ Subtractor()
| eflowSubtract::Subtractor::Subtractor |
( |
| ) |
|
|
default |
◆ ~Subtractor()
| eflowSubtract::Subtractor::~Subtractor |
( |
| ) |
|
|
inline |
◆ annihilateCluster()
Definition at line 90 of file eflowSubtractor.cxx.
91{
92
95
99}
void clear()
Method to remove all cells;.
static void calculateKine(xAOD::CaloCluster *clu, const bool useweight=true, const bool updateLayers=true, const bool useGPUCriteria=false)
Helper class to calculate cluster kinematics based on cells.
void setRawE(flt_t)
Set Energy for signal state UNCALIBRATED.
CaloClusterCellLink * getOwnCellLinks()
Get a pointer to the owned CaloClusterCellLink object (non-const version)
◆ annihilateClusters()
| void eflowSubtract::Subtractor::annihilateClusters |
( |
std::vector< std::pair< xAOD::CaloCluster *, bool > > & | clusters | ) |
|
|
static |
Definition at line 78 of file eflowSubtractor.cxx.
80{
81
82 for (auto& thisPair : clusters) {
84
85 thisPair.second = true;
86 }
87}
static void annihilateCluster(xAOD::CaloCluster *cluster)
◆ makeOrderedCellList()
Definition at line 51 of file eflowSubtractor.cxx.
55{
57
58 unsigned int countMatchedClusters = 0;
59 for (auto thisPair : clusters) {
60
62
63 const CaloClusterCellLink* theCellLink = thisCluster->
getCellLinks();
64 CaloClusterCellLink::const_iterator firstCell = theCellLink->
begin();
65 CaloClusterCellLink::const_iterator lastCell = theCellLink->
end();
66
67
68 for (; firstCell != lastCell; ++firstCell) {
69 std::pair<const CaloCell*, int> myPair((*firstCell),
70 countMatchedClusters);
72 }
73 countMatchedClusters++;
74 }
75}
const_iterator end() const
const end method
const_iterator begin() const
const begin method
void addCell(std::pair< const CaloCell *, int > cell)
void setNewExtrapolatedTrack(const eflowTrackCaloPoints *trackCalo)
const CaloClusterCellLink * getCellLinks() const
Get a pointer to the CaloClusterCellLink object (const version)
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.
◆ subtractTracksFromClusters()
| void eflowSubtract::Subtractor::subtractTracksFromClusters |
( |
eflowRecTrack * | efRecTrack, |
|
|
std::vector< std::pair< xAOD::CaloCluster *, bool > > & | clusterSubtractionList, |
|
|
const bool & | addCPData ) const |
Definition at line 27 of file eflowSubtractor.cxx.
30{
31
32
33
34
35 eflowCellList orderedCells;
38
39
40 eflowRingSubtractionManager& ranking =
42
43 bool annFlag;
45 ranking, *efRecTrack, clusterSubtractionList, orderedCells, annFlag, addCPData);
46
48}
const eflowTrackCaloPoints & getTrackCaloPoints() const
eflowRingSubtractionManager & getCellSubtractionManager()
static void makeOrderedCellList(const eflowTrackCaloPoints &trackCalo, const std::vector< std::pair< xAOD::CaloCluster *, bool > > &clusters, eflowCellList &orderedCells)
eflowCellSubtractionFacilitator m_facilitator
◆ m_facilitator
The documentation for this class was generated from the following files: