ATLAS Offline Software
CaloTopoEMphimod.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef CALOCLUSTERCORRECTION_CALOTOPOEMPHIMOD_H
6 #define CALOCLUSTERCORRECTION_CALOTOPOEMPHIMOD_H
7 /********************************************************************
8 
9 NAME: CaloTopoEMphimod.h
10 PACKAGE: offline/Calorimeter/CaloClusterCorrection
11 
12 AUTHORS: M.Boonekamp, N.Kerschen
13 CREATED: March 2005
14 
15 PURPOSE: s-shape corrections
16  base class: CaloClusterCorrection (AlgTool)
17 
18 Updated: March 12, 2005 (MB)
19  corrections for the TopoCluster
20 ********************************************************************/
21 
23 class CaloCluster;
24 
26 {
27 public:
30 
31  // virtual method in CaloClusterCorrection
32  virtual void makeTheCorrection(const Context& myctx,
33  xAOD::CaloCluster* cluster,
34  const CaloDetDescrElement* elt,
35  float eta,
36  float adj_eta,
37  float phi,
38  float adj_phi,
39  CaloSampling::CaloSample samp) const;
40 
41  private:
42  // Comments on the parametrization :
43  // Barrel :
44  // f(x) = P0 + P1*cos(8*PI*x) + P2*cos(16*PI*x) + P3*sin(8*PI*x) + P4*sin(16*PI*x)
45  // Endcap :
46  // f(x) = P0 + P1*cos(6*PI*x) + P2*cos(12*PI*x) + P3*sin(6*PI*x) + P4*sin(12*PI*x)
47  // with the constraint P0=1 (no modification of the overall scale at this stage).
48  // x is the phi position in the cell (0<x<1)
49  // Tuned on 100 GeV electrons, no energy dependence
50  Constant<CxxUtils::Array<1> > m_P1b { this, "P1b", "" };
51  Constant<CxxUtils::Array<1> > m_P2b { this, "P2b", "" };
52  Constant<CxxUtils::Array<1> > m_P3b { this, "P3b", "" };
53  Constant<CxxUtils::Array<1> > m_P4b { this, "P4b", "" };
54  Constant<CxxUtils::Array<1> > m_P1e { this, "P1e", "" };
55  Constant<CxxUtils::Array<1> > m_P2e { this, "P2e", "" };
56  Constant<CxxUtils::Array<1> > m_P3e { this, "P3e", "" };
57  Constant<CxxUtils::Array<1> > m_P4e { this, "P4e", "" };
58  Constant<CxxUtils::Array<1> > m_EtaFrontier { this, "EtaFrontier", "" };
59  Constant<float> m_BarrelGranularity { this, "BarrelGranularity", "" };
60  Constant<float> m_EndcapGranularity { this, "EndcapGranularity", "" };
61 };
62 
63 #endif
CaloTopoEMphimod::m_EndcapGranularity
Constant< float > m_EndcapGranularity
Definition: CaloTopoEMphimod.h:60
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:64
CaloTopoEMphimod::m_P3e
Constant< CxxUtils::Array< 1 > > m_P3e
Definition: CaloTopoEMphimod.h:56
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
CaloDetDescrElement
This class groups all DetDescr information related to a CaloCell. Provides a generic interface for al...
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:66
CaloTopoEMphimod::m_P3b
Constant< CxxUtils::Array< 1 > > m_P3b
Definition: CaloTopoEMphimod.h:52
CaloTopoEMphimod::m_P2b
Constant< CxxUtils::Array< 1 > > m_P2b
Definition: CaloTopoEMphimod.h:51
CaloTopoEMphimod::m_P2e
Constant< CxxUtils::Array< 1 > > m_P2e
Definition: CaloTopoEMphimod.h:55
CaloTopoEMphimod::m_P1b
Constant< CxxUtils::Array< 1 > > m_P1b
Definition: CaloTopoEMphimod.h:50
CaloTopoEMphimod
Definition: CaloTopoEMphimod.py:1
xAOD::CaloCluster_v1
Description of a calorimeter cluster.
Definition: CaloCluster_v1.h:59
CaloSampling::CaloSample
CaloSample
Definition: Calorimeter/CaloGeoHelpers/CaloGeoHelpers/CaloSampling.h:22
CaloTopoEMphimod::makeTheCorrection
virtual void makeTheCorrection(const Context &myctx, xAOD::CaloCluster *cluster, const CaloDetDescrElement *elt, float eta, float adj_eta, float phi, float adj_phi, CaloSampling::CaloSample samp) const
Virtual function for the correction-specific code.
Definition: CaloTopoEMphimod.cxx:30
CaloClusterCorrectionCommon::CaloClusterCorrectionCommon
CaloClusterCorrectionCommon(const std::string &type, const std::string &name, const IInterface *parent)
Inherit constructor.
Definition: CaloClusterCorrectionCommon.cxx:408
CaloTopoEMphimod::m_BarrelGranularity
Constant< float > m_BarrelGranularity
Definition: CaloTopoEMphimod.h:59
CaloCluster
Principal data class for CaloCell clusters.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:79
CaloClusterCorrectionCommon.h
CaloTopoEMphimod::m_P1e
Constant< CxxUtils::Array< 1 > > m_P1e
Definition: CaloTopoEMphimod.h:54
CaloTopoEMphimod::m_EtaFrontier
Constant< CxxUtils::Array< 1 > > m_EtaFrontier
Definition: CaloTopoEMphimod.h:58
CaloUtils::ToolConstantsContext
Context object for retrieving ToolConstant values.
Definition: ToolWithConstants.h:61
CaloClusterCorrectionCommon
Code common to cluster corrections.
Definition: CaloClusterCorrectionCommon.h:42
CaloTopoEMphimod::m_P4b
Constant< CxxUtils::Array< 1 > > m_P4b
Definition: CaloTopoEMphimod.h:53
CaloUtils::ToolConstant
Constant of a ToolWithConstants.
Definition: ToolWithConstants.h:202
CaloTopoEMphimod::m_P4e
Constant< CxxUtils::Array< 1 > > m_P4e
Definition: CaloTopoEMphimod.h:57