ATLAS Offline Software
CaloClusterCorrection.h
Go to the documentation of this file.
1 // This file's extension implies that it's C, but it is really -*- C++ -*-.
2 
3 /*
4  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 #ifndef CALOCLUSTERCORRECTION_CALOCLUSTERCORRECTION_H
8 #define CALOCLUSTERCORRECTION_CALOCLUSTERCORRECTION_H
9 /********************************************************************
10 
11 NAME: CaloClusterCorrection.h
12 PACKAGE: offline/Calorimeter/CaloClusterCorrection
13 
14 AUTHORS: H. Ma, S. Rajagopalan
15 CREATED: Dec 1999
16 
17 PURPOSE: Base class: CaloClusterProcessor
18  Individual cluster correction classes inherit from this class
19  and use the "set*" methods to correct the CaloCluster objects
20 
21  execute(CaloCluster *) method to be implemented
22  in the derived class
23 
24 
25 Updated: May 10, 2000 (SR, HM)
26  Migrated to Athena Framework from PASO
27 
28 Updated: Jan 3, 2001 (HM)
29  QA.
30 Updated: May 2001, (SR) Move to StoreGate
31 
32 Updated: May 5, 2004 (Sven Menke)
33  base class changed from algo to tool
34 
35 Updated: January, 2005 (MB)
36  Move to Calorimeter/CaloClusterCorrection.
37 
38 Updated: February, 2006 (DLelas)
39  New method added:
40  "makeCorrectionOnClusCollection(CaloClusterContainer *clusColl)"
41  Which enables corrections to be applied to a whole
42  CaloCluster collection. It is needed by SW cell weights
43  calculation.
44 
45 ********************************************************************/
46 
47 // INCLUDE HEADER FILES:
52 
54  : public CaloUtils::ToolWithConstants<CaloClusterProcessor>
55 {
56 
57  public:
58 
59  virtual StatusCode initialize() override;
60 
61  // modifying CaloCluster object
62  virtual void setsample(xAOD::CaloCluster* cluster,
63  CaloSampling::CaloSample sampling,
64  float em, float etam, float phim,
65  float emax, float etamax, float phimax,
66  float etas, float phis) const;
67 
68  // set energy of cluster. if samplings=true, rescale the energy
69  // in each sampling accordingly. default is to do the rescaling.
70  virtual void setenergy(xAOD::CaloCluster* cluster, float energy) const;
71 
72  // derived class implement the real correction.
73  virtual void makeCorrection(const Context& myctx,
74  xAOD::CaloCluster*) const = 0;
75 
77  StatusCode execute(const EventContext& ctx,
78  xAOD::CaloCluster* cluster) const override;
79 
80  protected:
83  SG::ReadCondHandleKey<CaloDetDescrManager> m_caloMgrKey{this,"CaloDetDescrManager", "CaloDetDescrManager"};
84 };
85 
86 #endif
CaloClusterProcessor.h
Base class for cluster processing tools called from CaloClusterMaker that operate on individual clust...
CaloUtils::ToolWithConstants::base_class
ToolWithConstants base_class
Shorthand for derived classes.
Definition: ToolWithConstants.h:443
CaloClusterCorrection::setsample
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
Definition: CaloClusterCorrection.cxx:74
ToolWithConstants.h
Hold constants for a tool.
CaloClusterCorrection::setenergy
virtual void setenergy(xAOD::CaloCluster *cluster, float energy) const
Definition: CaloClusterCorrection.cxx:94
CaloDetDescrManager.h
Definition of CaloDetDescrManager.
CaloClusterCorrection::initialize
virtual StatusCode initialize() override
Initialize method.
Definition: CaloClusterCorrection.cxx:47
xAOD::CaloCluster_v1
Description of a calorimeter cluster.
Definition: CaloCluster_v1.h:59
ParticleGun_FastCalo_ChargeFlip_Config.energy
energy
Definition: ParticleGun_FastCalo_ChargeFlip_Config.py:78
CaloSampling::CaloSample
CaloSample
Definition: Calorimeter/CaloGeoHelpers/CaloGeoHelpers/CaloSampling.h:22
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ReadCondHandleKey.h
CaloClusterCorrection::m_caloMgrKey
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
Definition: CaloClusterCorrection.h:119
CaloClusterCorrection::makeCorrection
virtual void makeCorrection(const Context &myctx, xAOD::CaloCluster *) const =0
SG::ReadCondHandleKey< CaloDetDescrManager >
CaloUtils::ToolConstantsContext
Context object for retrieving ToolConstant values.
Definition: ToolWithConstants.h:61
CaloUtils::ToolWithConstants
Definition: ToolWithConstants.h:440
CaloClusterCorrection
Definition: CaloClusterCorrection.h:55
CaloClusterCorrection::execute
StatusCode execute(const EventContext &ctx, xAOD::CaloCluster *cluster) const override
Definition: CaloClusterCorrection.cxx:53
CaloClusterProcessor::execute
virtual StatusCode execute(const EventContext &ctx, xAOD::CaloCluster *cluster) const =0
Execute on a single cluster.
EgEfficiencyCorr_testFixedInput.etas
list etas
Definition: EgEfficiencyCorr_testFixedInput.py:9