![]() |
ATLAS Offline Software
|
Public Member Functions | |
| DDHelper ()=delete | |
| delte default Constructor | |
| DDHelper (const CaloDetDescrManager *dd_man) | |
| Constructor with CaloDetDescManger as parameter. | |
| const CaloDetDescrElement * | find_dd_elt (const CaloDetDescrManager *dd_mgr, int region, const xAOD::CaloCluster *cluster, float eta, float phi) const |
| Find the detector descriptor element for a given position, correcting for DD edge bugs. | |
Private Member Functions | |
| const CaloDetDescrElement * | dd_inner_strip_fixup (const CaloDetDescrManager *dd_man, int region, float eta, float phi) const |
| Work around innermost strip problem. | |
| void | make_dummy_elts (const CaloDetDescrManager *dd_man) |
| Construct dummy DDEs used to work around innermost strip problem. | |
Static Private Member Functions | |
| static const CaloDetDescrElement * | find_dd_elt1 (const CaloDetDescrManager *dd_mgr, int region, const CaloCluster *cluster, float eta, float phi) |
| Find the detector descriptor element for a given position. | |
| static const CaloDetDescrElement * | dd_try_gap (const CaloDetDescrManager *dd_man, int region, const CaloCluster *cluster, float eta, float phi) |
Private Attributes | |
| std::vector< std::unique_ptr< const CaloDetDescrElement > > | m_dummy_elts |
| Collection of dummy elements. | |
Definition at line 82 of file CaloClusterCorrectionCommon.cxx.
|
delete |
delte default Constructor
| CaloClusterCorr::DDHelper::DDHelper | ( | const CaloDetDescrManager * | dd_man | ) |
Constructor with CaloDetDescManger as parameter.
Constructor.
| dd_man | The detector descriptor manager. |
Definition at line 139 of file CaloClusterCorrectionCommon.cxx.
|
private |
Work around innermost strip problem.
| region | A region code, as defined in the header. |
| dd_man | Detector descriptor manager. |
| eta | The \(\eta\) coordinate to find. |
| phi | The \(\phi\) coordinate to find. |
| dummy_elts | Vector of dummy elements for the innermost strip. |
The innermost strip in sampling 1 in the barrel is disconnected. However, CaloDetDescr doesn't really know about that. If you ask for a cell in that region, it will instead return you a cell for some completely different calorimeter region! We call this in the case that we're unable to find a good det descr element. Here we check to see if we're actually asking for a location in this innermost strip. If so, then we cons up a new dummy element and return that.
Definition at line 306 of file CaloClusterCorrectionCommon.cxx.
|
staticprivate |
Definition at line 335 of file CaloClusterCorrectionCommon.cxx.
| const CaloDetDescrElement * CaloClusterCorr::DDHelper::find_dd_elt | ( | const CaloDetDescrManager * | dd_man, |
| int | region, | ||
| const xAOD::CaloCluster * | cluster, | ||
| float | eta, | ||
| float | phi ) const |
Find the detector descriptor element for a given position, correcting for DD edge bugs.
| region | A region code, as defined in the header. |
| cluster | The cluster being corrected. |
| eta | The \(\eta\) coordinate to find. |
| phi | The \(\phi\) coordinate to find. |
Looks up the DD element containing eta, phi in the region specified by region. Returns 0 if there's no such cell.
Sometimes when you look up a position near the edge of a cell, DD can erroneously return an adjacent cell. This routine attempts to work around this bug. After we get an element, we test to see if it in fact contains the position requested. If not, we shift the request by half a cell and try again.
Definition at line 164 of file CaloClusterCorrectionCommon.cxx.
|
staticprivate |
Find the detector descriptor element for a given position.
| region | A region code, as defined in the header. |
| cluster | The cluster being corrected. |
| eta | The \(\eta\) coordinate to find. |
| phi | The \(\phi\) coordinate to find. |
Looks up the DD element containing eta, phi in the region specified by region. Returns 0 if there's no such cell.
Definition at line 238 of file CaloClusterCorrectionCommon.cxx.
|
private |
Construct dummy DDEs used to work around innermost strip problem.
Definition at line 356 of file CaloClusterCorrectionCommon.cxx.
|
private |
Collection of dummy elements.
Definition at line 131 of file CaloClusterCorrectionCommon.cxx.