![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef EFLOWCELLSUBTRACTIONFACILITATOR_H
6 #define EFLOWCELLSUBTRACTIONFACILITATOR_H
49 std::vector<std::pair<xAOD::CaloCluster*, bool>>& tracksClus,
59 std::vector<std::pair<xAOD::CaloCluster*, bool>>& tracksClusters);
63 const std::vector<std::pair<xAOD::CaloCluster*, bool>>& tracksClusters);
66 std::vector<std::pair<xAOD::CaloCluster*, bool>>& tracksClusters,
71 std::vector<std::pair<xAOD::CaloCluster*, bool>>& tracksClusters,
74 double targetRingEnergy,
78 std::vector<std::pair<xAOD::CaloCluster*, bool>>& tracksClusters,
84 const std::pair<eflowCaloENUM, short>& ring,
88 std::vector<std::pair<xAOD::CaloCluster*, bool>>& tracksClusters,
97 std::vector<std::pair<xAOD::CaloCluster*, bool>>& tracksClusters,
bool& annFlag) ;
100 std::vector<std::pair<xAOD::CaloCluster*, bool>>& tracksClusters,
102 const double eExpect,
static double getTotalEnergy(const std::vector< std::pair< xAOD::CaloCluster *, bool >> &tracksClusters)
void subtractPartialRings(std::vector< std::pair< xAOD::CaloCluster *, bool >> &tracksClusters, CellIt beginRing, CellIt endRing, double targetRingEnergy, double eRing) const
Concrete class derived class from pure virtual eflowAbstractCellList.
double subtractCells(eflowRingSubtractionManager &ringSubtractionManager, double trackEnergy, xAOD::CaloCluster *tracksClus, eflowCellList &orderedCells, bool &annFlag) const
eflowCellSubtractionFacilitator()
bool subtractRings(eflowRingSubtractionManager &ringSubtractionManager, const std::pair< eflowCaloENUM, short > &ring, double &eSubtracted, const double eExpect, eflowCellList &orderedCells, std::vector< std::pair< xAOD::CaloCluster *, bool >> &tracksClusters, bool &annFlag) const
Description of a calorimeter cluster.
static bool subtractReorderedCells(std::vector< std::pair< xAOD::CaloCluster *, bool >> &tracksClusters, double eSubtracted, const double eExpect, eflowCellList &orderedCells)
This class deals with the removal of calorimeter cells from calorimeter clusters.
static double getRingsEnergy(std::vector< std::pair< xAOD::CaloCluster *, bool >> &tracksClusters, CellIt beginRing, CellIt endRing)
static void annihilateClusters(std::vector< std::pair< xAOD::CaloCluster *, bool >> &tracksClusters, bool &annFlag)
void subtractFullRings(std::vector< std::pair< xAOD::CaloCluster *, bool >> &tracksClusters, CellIt beginRing, CellIt endRing) const
This stores information, a rank and ring thickness, about cell rings in an ordered way.
static void updateClusterKinematics(std::vector< std::pair< xAOD::CaloCluster *, bool >> &tracksClusters)
Class mimicking the AthMessaging class from the offline software.
std::map< eflowCellPosition, std::vector< std::pair< const CaloCell *, int > > >::iterator CellIt
Data object for each calorimeter readout cell.
static bool subtractCaloCell(double &eSubtracted, const double eExpect, xAOD::CaloCluster *cluster, const CaloCell *cell)
static CaloClusterCellLink::iterator getCellIterator(xAOD::CaloCluster *thisCluster, const CaloCell *thisCell)