#include <CaloSwTime.h>
|
| virtual void | makeCorrection (const Context &myctx, xAOD::CaloCluster *cluster) const override |
| virtual StatusCode | initialize () override |
| virtual void | setsample (xAOD::CaloCluster *cluster, CaloSampling::CaloSample sampling, float em, float etam, float phim, float emax, float etamax, float phimax, float etas, float phis) const |
| virtual void | setenergy (xAOD::CaloCluster *cluster, float energy) const |
| StatusCode | execute (const EventContext &ctx, xAOD::CaloCluster *cluster) const override |
| virtual StatusCode | execute (const EventContext &ctx, xAOD::CaloClusterContainer *collection) const |
| | Execute on an entire collection of clusters.
|
Definition at line 22 of file CaloSwTime.h.
◆ execute() [1/2]
Definition at line 52 of file CaloClusterCorrection.cxx.
54{
56
57#if 0
60 <<
" " << cluster->
etaSample(CaloSampling::EMB1)
61 <<
" " << cluster->
etaSample(CaloSampling::EMB2)
64 <<
" " << cluster->
phiSample(CaloSampling::EMB1)
65 <<
" " << cluster->
phiSample(CaloSampling::EMB2)
67#endif
68
69 return StatusCode::SUCCESS;
70}
virtual void makeCorrection(const Context &myctx, xAOD::CaloCluster *) const =0
float phiBE(const unsigned layer) const
Get the phi in one layer of the EM Calo.
float phiSample(const CaloSample sampling) const
Retrieve barycenter in a given sample.
virtual double eta() const
The pseudorapidity ( ) of the particle.
virtual double e() const
The total energy of the particle.
virtual double phi() const
The azimuthal angle ( ) of the particle.
float etaSample(const CaloSample sampling) const
Retrieve barycenter in a given sample.
float etaBE(const unsigned layer) const
Get the eta in one layer of the EM Calo.
◆ execute() [2/2]
Execute on an entire collection of clusters.
- Parameters
-
| collection | The container of clusters. |
This will iterate over all the clusters in collection and call execute on each one individually.
- Parameters
-
| collection | The container of clusters. |
| ctx | The event context. |
This will iterate over all the clusters in collection and call execute on each one individually.
Definition at line 65 of file CaloClusterProcessor.cxx.
46{
49 }
50 return StatusCode::SUCCESS;
51}
#define ATH_CHECK
Evaluate an expression and check for errors.
StatusCode execute(const EventContext &ctx, xAOD::CaloCluster *cluster) const override
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.
◆ initialize()
| StatusCode CaloClusterCorrection::initialize |
( |
| ) |
|
|
overridevirtualinherited |
◆ makeCorrection()
Implements CaloClusterCorrection.
Definition at line 21 of file CaloSwTime.cxx.
23{
24
25
26 double emax=-9999.;
27 double time=0.;
28
31 for (;cellIter!=cellIterEnd;cellIter++) {
34 if (sampling== CaloCell_ID::EMB2 || sampling== CaloCell_ID::EME2) {
35 if ( (cell->provenance() & 0x2000) ) {
36 if (cell->e() > emax) {
37 emax=cell->e();
38 time = cell->time();
39 }
40 }
41 }
42 }
43
45
46 if (emax>0.) cluster->
setTime(time);
47
48}
CaloSampling::CaloSample CaloSample
Data object for each calorimeter readout cell.
void setTime(flt_t)
Set cluster time.
CaloClusterCellLink::iterator cell_iterator
Iterator of the underlying CaloClusterCellLink (non-const version).
const_cell_iterator cell_end() const
const_cell_iterator cell_begin() const
Iterator of the underlying CaloClusterCellLink (const version).
◆ setenergy()
| void CaloClusterCorrection::setenergy |
( |
xAOD::CaloCluster * | cluster, |
|
|
float | energy ) const |
|
virtualinherited |
Definition at line 93 of file CaloClusterCorrection.cxx.
94{
95 if (cluster->
e() == 0) {
96 if (energy != 0)
98 <<
"Attempt to rescale zero-energy cluster to energy " <<
energy
99 << " ignored.";
100 return;
101 }
102
104 cluster->
setE(energy);
105
106
107
108 for (int iSample=CaloSampling::PreSamplerB;
109 iSample < CaloSampling::Unknown;
110 ++iSample)
111 {
114 double e = cluster->
eSample(sampling);
115 cluster->
setEnergy(sampling,e*correction) ;
116 }
117 }
118}
#define REPORT_MESSAGE(LVL)
Report a message.
float eSample(const CaloSample sampling) const
bool setEnergy(const CaloSample sampling, const float e)
Set energy for a given sampling. Returns false if the sample isn't part of the cluster.
bool hasSampling(const CaloSample s) const
Checks if certain smapling contributes to cluster.
◆ setsample()
| void CaloClusterCorrection::setsample |
( |
xAOD::CaloCluster * | cluster, |
|
|
CaloSampling::CaloSample | sampling, |
|
|
float | em, |
|
|
float | etam, |
|
|
float | phim, |
|
|
float | emax, |
|
|
float | etamax, |
|
|
float | phimax, |
|
|
float | etas, |
|
|
float | phis ) const |
|
virtualinherited |
Definition at line 73 of file CaloClusterCorrection.cxx.
78{
80 cluster->
setEta(sampling, etam);
81 cluster->
setPhi(sampling, phim);
82
83 cluster->
setEmax(sampling,emax);
86
89}
bool setPhi(const CaloSample sampling, const float phi)
Set in a given sampling. Returns false if the sample isn't part of the cluster.
bool setEtasize(const CaloSample sampling, const float etaSize)
Set the cluster size in for a given sampling.
bool setPhisize(const CaloSample sampling, const float phiSize)
Set the cluster size in for a given sampling.
bool setPhimax(const CaloSample sampling, const float phiMax)
Set the phi of the cell with the highest energy in a particular sampling.
bool setEta(const CaloSample sampling, const float eta)
Set in a given sampling. Returns false if the sample isn't part of the cluster.
bool setEmax(const CaloSample sampling, const float eMax)
Set the Energy of the cell with the highest energy in a particular sampling.
bool setEtamax(const CaloSample sampling, const float etaMax)
Set the eta of the cell with the highest energy in a particular sampling.
◆ CaloSwTime_versions
| list CaloSwTime.CaloSwTime_versions |
Initial value:= [
['', cls,
['CaloSwTime.CaloSwTime_parms',
CALOCORR_NOPOOL]],
]
Definition at line 14 of file CaloSwTime.py.
◆ cls
| CaloSwTime.cls = CompFactory.CaloSwTime |
◆ m_caloMgrKey
The documentation for this class was generated from the following files: