|
ATLAS Offline Software
|
This tool can either use a series of CaloClusterProcessor to calibrate the modified xAOD::CaloCluster (modified when we do the charged shower subtraction) using recalculated LC weights or its own internal method to use the stored LC weights in the eflowRecCluster objects.
More...
#include <PFLCCalibTool.h>
|
ToolHandle< IPFClusterCollectionTool > | m_clusterCollectionTool {this,"eflowRecClusterCollectionTool","eflowRecClusterCollectionTool","Tool to put all clusters into a temporary container - then we use this to calculate moments, some of which depend on configuration of nearby clusters"} |
| Tool to put all clusters into a temporary container - then we use this to calculate moments, some of which depend on configuration of nearby clusters. More...
|
|
ToolHandle< CaloClusterProcessor > | m_clusterLocalCalibTool {this,"CaloClusterLocalCalib","CaloClusterLocalCalib","Tool for applying local hadronc calibration weights to cells"} |
|
ToolHandle< CaloClusterProcessor > | m_clusterLocalCalibOOCCTool {this,"CaloClusterLocalCalibOOCC","CaloClusterLocalCalib","Tool to deal with out of cluster corrections"} |
|
ToolHandle< CaloClusterProcessor > | m_clusterLocalCalibOOCCPi0Tool {this,"CaloClusterLocalCalibOOCCPi0","CaloClusterLocalCalib","Tool to do Pi0 corrections"} |
|
ToolHandle< CaloClusterProcessor > | m_clusterLocalCalibDMTool {this,"CaloClusterLocalCalibDM","CaloClusterLocalCalib","Tool for correcting clusters at cell level for dead material"} |
|
Gaudi::Property< bool > | m_useLocalWeight {this,"UseLocalWeight",false,"Toggle which LC weights scheme to use - default is to recalculate weights, rather than use saved weights"} |
| Toggle which LC weights scheme to use - default is to recalculate weights, rather than use saved weights. More...
|
|
SG::ReadCondHandleKey< CaloDetDescrManager > | m_caloMgrKey |
| ReadCondHandleKey for CaloDetDescrManager. More...
|
|
This tool can either use a series of CaloClusterProcessor to calibrate the modified xAOD::CaloCluster (modified when we do the charged shower subtraction) using recalculated LC weights or its own internal method to use the stored LC weights in the eflowRecCluster objects.
If using the LC weights which were stored in the eflowRecCluster then we use the container of eflowRecCluster, but if using recalculated LC weights for the modified xAOD::CaloCluster (modified when we remove calorimeter cells in the charged shower subtraction) then we need the container of xAOD::CaloCluster. The PFClusterCollectionTool provides both of these containers.
Definition at line 22 of file PFLCCalibTool.h.
◆ PFLCCalibTool()
PFLCCalibTool::PFLCCalibTool |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
◆ ~PFLCCalibTool()
PFLCCalibTool::~PFLCCalibTool |
( |
| ) |
|
|
inline |
◆ apply()
◆ applyLocalWeight()
Definition at line 87 of file PFLCCalibTool.cxx.
91 const std::map<IdentifierHash, double> weightMap = theEFRecClusters->getCellsWeight();
96 for (;cellIter != theCluster->
cell_end(); ++cellIter) {
99 if (
const auto pWeight = weightMap.find(myHashId); pWeight!=weightMap.end()){
100 const double weight = pWeight->second;
◆ execute()
Definition at line 46 of file PFLCCalibTool.cxx.
49 std::unique_ptr<eflowRecClusterContainer> theEFRecClusterContainer =
m_clusterCollectionTool->retrieve(theEflowCaloObjectContainer,
true);
52 if (caloMgrHandle.isValid()){
53 for (
auto thisEFlowRecCluster : *theEFRecClusterContainer)
applyLocalWeight(thisEFlowRecCluster,**caloMgrHandle);
55 else ATH_MSG_WARNING(
"Invalid pointer to CaloDetDescrManage: Did NOT calibrate any topoclusters.");
58 std::unique_ptr<xAOD::CaloClusterContainer> tempClusterContainer =
m_clusterCollectionTool->execute(theEflowCaloObjectContainer,
true);
61 for (
auto thisCaloCluster : *tempClusterContainer){
73 return StatusCode::SUCCESS;
◆ finalize()
StatusCode PFLCCalibTool::finalize |
( |
| ) |
|
|
overridevirtual |
◆ initialize()
StatusCode PFLCCalibTool::initialize |
( |
| ) |
|
|
overridevirtual |
◆ m_caloMgrKey
Initial value:{ this
, "CaloDetDescrManager"
, "CaloDetDescrManager"
, "SG Key for CaloDetDescrManager in the Condition Store" }
ReadCondHandleKey for CaloDetDescrManager.
Definition at line 58 of file PFLCCalibTool.h.
◆ m_clusterCollectionTool
ToolHandle<IPFClusterCollectionTool> PFLCCalibTool::m_clusterCollectionTool {this,"eflowRecClusterCollectionTool","eflowRecClusterCollectionTool","Tool to put all clusters into a temporary container - then we use this to calculate moments, some of which depend on configuration of nearby clusters"} |
|
private |
Tool to put all clusters into a temporary container - then we use this to calculate moments, some of which depend on configuration of nearby clusters.
Definition at line 40 of file PFLCCalibTool.h.
◆ m_clusterLocalCalibDMTool
◆ m_clusterLocalCalibOOCCPi0Tool
◆ m_clusterLocalCalibOOCCTool
◆ m_clusterLocalCalibTool
◆ m_useLocalWeight
Gaudi::Property<bool> PFLCCalibTool::m_useLocalWeight {this,"UseLocalWeight",false,"Toggle which LC weights scheme to use - default is to recalculate weights, rather than use saved weights"} |
|
private |
Toggle which LC weights scheme to use - default is to recalculate weights, rather than use saved weights.
Definition at line 55 of file PFLCCalibTool.h.
The documentation for this class was generated from the following files:
const_cell_iterator cell_begin() const
Iterator of the underlying CaloClusterCellLink (const version)
IdentifierHash calo_cell_hash(const Identifier cellId) const
create hash id from 'global' cell id
virtual void setStatus(const StatusIndicator &statusIndicator)
Set status.
Description of a calorimeter cluster.
Helper class for offline cell identifiers.
void reweightCell(cell_iterator it, const double weight)
Method to reweight a cell in the cluster (Beware: Kinematics not updated!)
CaloRecoStatus & recoStatus()
Accesssor to CaloRecoStatus (non-const)
StatusCode initialize(bool used=true)
Identifier ID() const
get ID (from cached data member) non-virtual and inline for fast access
Data object for each calorimeter readout cell.
#define ATH_MSG_WARNING(x)
const_cell_iterator cell_end() const
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.
const CaloCell_ID * getCaloCell_ID() const
get calo cell ID helper
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...