![]() |
ATLAS Offline Software
|
This class deals with the removal of calorimeter cells from calorimeter clusters. More...
#include <eflowCellSubtractionFacilitator.h>
Public Member Functions | |
| eflowCellSubtractionFacilitator () | |
| double | subtractCells (eflowRingSubtractionManager &ringSubtractionManager, eflowRecTrack &theTrack, xAOD::CaloCluster *tracksClus, eflowCellList &orderedCells, bool &annFlag, const bool &addCPData) const |
| double | subtractCells (eflowRingSubtractionManager &ringSubtractionManager, eflowRecTrack &theTrack, std::vector< std::pair< xAOD::CaloCluster *, bool > > &tracksClus, eflowCellList &orderedCells, bool &annFlag, const bool &addCPData) const |
| void | setLevel (MSG::Level lvl) |
| Change the current logging level. | |
Functions providing the same interface as AthMessaging | |
| bool | msgLvl (const MSG::Level lvl) const |
| Test the output level of the object. | |
| MsgStream & | msg () const |
| The standard message stream. | |
| MsgStream & | msg (const MSG::Level lvl) const |
| The standard message stream. | |
Private Member Functions | |
| void | subtractPartialRings (std::vector< std::pair< xAOD::CaloCluster *, bool > > &tracksClusters, CellIt beginRing, CellIt endRing, double targetRingEnergy, double eRing, eflowRecTrack &theTrack, const bool &addCPData) const |
| void | subtractFullRings (std::vector< std::pair< xAOD::CaloCluster *, bool > > &tracksClusters, CellIt beginRing, CellIt endRing, eflowRecTrack &theTrack, const bool &addCPData) const |
| 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, eflowRecTrack &theTrack, const bool &addCPData) const |
| void | initMessaging () const |
| Initialize our message level and MessageSvc. | |
Static Private Member Functions | |
| static CaloClusterCellLink::iterator | getCellIterator (xAOD::CaloCluster *thisCluster, const CaloCell *thisCell) |
| static void | updateClusterKinematics (std::vector< std::pair< xAOD::CaloCluster *, bool > > &tracksClusters) |
| static void | updateClusterKinematics (xAOD::CaloCluster *) |
| static double | getTotalEnergy (const std::vector< std::pair< xAOD::CaloCluster *, bool > > &tracksClusters) |
| static double | getRingsEnergy (std::vector< std::pair< xAOD::CaloCluster *, bool > > &tracksClusters, CellIt beginRing, CellIt endRing) |
| static bool | subtractCaloCell (double &eSubtracted, const double eExpect, xAOD::CaloCluster *cluster, const CaloCell *cell, eflowRecTrack &theTrack, const bool &addCPData) |
| static void | annihilateClusters (std::vector< std::pair< xAOD::CaloCluster *, bool > > &tracksClusters, bool &annFlag, eflowRecTrack &theTrack, const bool &addCPData) |
| static bool | subtractReorderedCells (std::vector< std::pair< xAOD::CaloCluster *, bool > > &tracksClusters, double eSubtracted, const double eExpect, eflowCellList &orderedCells, eflowRecTrack &theTrack, const bool &addCPData) |
Private Attributes | |
| std::string | m_nm |
| Message source name. | |
| boost::thread_specific_ptr< MsgStream > | m_msg_tls |
| MsgStream instance (a std::cout like with print-out levels) | |
| std::atomic< IMessageSvc * > | m_imsg { nullptr } |
| MessageSvc pointer. | |
| std::atomic< MSG::Level > | m_lvl { MSG::NIL } |
| Current logging level. | |
| std::atomic_flag m_initialized | ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT |
| Messaging initialized (initMessaging) | |
This class deals with the removal of calorimeter cells from calorimeter clusters.
The main entry points are the subtractCells methods which find out how much energy they should subtract from the eflowRingSubtractionManager. The eflowRingSubtractionManager also contains a list of calorimeter cell rings (a ring is a list of calorimeter cells, in a given calorimeter layer, between two radii r1 and r2). The cell information is stored in the eflowCellList. Rings are removed one by one in the order they are stored until the summed cell ring energy is >= to the expected energy deposit from the track in the calorimeter.
Definition at line 36 of file eflowCellSubtractionFacilitator.h.
| eflowCellSubtractionFacilitator::eflowCellSubtractionFacilitator | ( | ) |
Definition at line 19 of file eflowCellSubtractionFacilitator.cxx.
|
staticprivate |
Definition at line 96 of file eflowCellSubtractionFacilitator.cxx.
|
staticprivate |
Definition at line 400 of file eflowCellSubtractionFacilitator.cxx.
|
staticprivate |
Definition at line 71 of file eflowCellSubtractionFacilitator.cxx.
|
staticprivate |
Definition at line 60 of file eflowCellSubtractionFacilitator.cxx.
|
privateinherited |
Initialize our message level and MessageSvc.
This method should only be called once.
Definition at line 39 of file AthMessaging.cxx.
|
inherited |
The standard message stream.
Definition at line 49 of file AsgMessaging.cxx.
|
inherited |
The standard message stream.
| lvl | The message level to set the stream to |
Definition at line 57 of file AsgMessaging.cxx.
|
inherited |
Test the output level of the object.
| lvl | The message level to test against |
true If messages at level "lvl" will be printed Definition at line 41 of file AsgMessaging.cxx.
|
inherited |
Change the current logging level.
Use this rather than msg().setLevel() for proper operation with MT.
Definition at line 28 of file AthMessaging.cxx.
|
staticprivate |
Definition at line 257 of file eflowCellSubtractionFacilitator.cxx.
| double eflowCellSubtractionFacilitator::subtractCells | ( | eflowRingSubtractionManager & | ringSubtractionManager, |
| eflowRecTrack & | theTrack, | ||
| std::vector< std::pair< xAOD::CaloCluster *, bool > > & | tracksClus, | ||
| eflowCellList & | orderedCells, | ||
| bool & | annFlag, | ||
| const bool & | addCPData ) const |
Definition at line 334 of file eflowCellSubtractionFacilitator.cxx.
| double eflowCellSubtractionFacilitator::subtractCells | ( | eflowRingSubtractionManager & | ringSubtractionManager, |
| eflowRecTrack & | theTrack, | ||
| xAOD::CaloCluster * | tracksClus, | ||
| eflowCellList & | orderedCells, | ||
| bool & | annFlag, | ||
| const bool & | addCPData ) const |
Definition at line 24 of file eflowCellSubtractionFacilitator.cxx.
|
private |
Definition at line 157 of file eflowCellSubtractionFacilitator.cxx.
|
private |
Definition at line 124 of file eflowCellSubtractionFacilitator.cxx.
|
staticprivate |
Definition at line 299 of file eflowCellSubtractionFacilitator.cxx.
|
private |
Definition at line 184 of file eflowCellSubtractionFacilitator.cxx.
|
staticprivate |
Definition at line 38 of file eflowCellSubtractionFacilitator.cxx.
|
staticprivate |
Definition at line 46 of file eflowCellSubtractionFacilitator.cxx.
|
mutableprivateinherited |
Messaging initialized (initMessaging)
Definition at line 141 of file AthMessaging.h.
|
mutableprivateinherited |
|
mutableprivateinherited |
|
mutableprivateinherited |
MsgStream instance (a std::cout like with print-out levels)
Definition at line 132 of file AthMessaging.h.
|
privateinherited |
Message source name.
Definition at line 129 of file AthMessaging.h.