ATLAS Offline Software
CaloTopoEMphioff.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_CALOTOPOEMPHIOFF_H
6 #define CALOCLUSTERCORRECTION_CALOTOPOEMPHIOFF_H
7 /********************************************************************
8 
9 NAME: CaloTopoEMphioff.h
10 PACKAGE: offline/Calorimeter/CaloClusterCorrection
11 
12 AUTHORS: M.Boonekamp, N.Kerschen
13 CREATED: March 2005
14 
15 PURPOSE: correction for the phi offset due to accordion structure
16  base class: CaloClusterCorrection (AlgTool)
17 
18 Updated: March 12, 2005 (MB)
19  corrections for the TopoCluster
20 ********************************************************************/
21 
23 #include "CaloConditions/Array.h"
24 class CaloCluster;
25 
27 {
28 public:
31 
32 
33  // virtual method in CaloClusterCorrection
34  virtual void makeTheCorrection(const Context& myctx,
35  xAOD::CaloCluster* cluster,
36  const CaloDetDescrElement* elt,
37  float eta,
38  float adj_eta,
39  float phi,
40  float adj_phi,
41  CaloSampling::CaloSample samp) const;
42 
43  private:
44  // Comments on the parametrization :
45  // The energy dependence has been fitted in eta bins of 0.1. The function that have been found to best describe this dependence are:
46  // f(x) = A*(sqrt(1/x)) + B for (0 < eta < 0.8) where x is the energy in GeV
47  // f(x) = A*(1/x) + B for (0.8 < eta < 2.3)
48  // f(x) = A*x + B
49  // For the fits, abs(offset) has been taken, so that the adequate sign should be given to the correction (-1) for (0.8 < eta < 2.3)
50  // For the G4 data, the sign should be flipped for eta < 0
51  // So :
52  // EdepA is A in 25 eta bins
53  // EdepB is B in 25 eta bins
54  // Granularity is the Granularity
55  // EtaFrontier[i] is 0.8, 2.3, 2.5 for i=0,1,2
56  Constant<CxxUtils::Array<1> > m_EdepA { this, "EdepA", "" };
57  Constant<CxxUtils::Array<1> > m_EdepB { this, "EdepB", "" };
58  Constant<CxxUtils::Array<1> > m_EtaFrontier { this, "EtaFrontier", "" };
59 
60  Constant<float> m_Granularity { this, "Granularity", "" };
61  Constant<int> m_FlipPhi { this, "FlipPhi", "" };
62  Constant<float> m_EndcapOffset { this, "EndcapOffset", "" };
63 };
64 
65 #endif
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:64
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
CaloTopoEMphioff::m_Granularity
Constant< float > m_Granularity
Definition: CaloTopoEMphioff.h:60
CaloDetDescrElement
This class groups all DetDescr information related to a CaloCell. Provides a generic interface for al...
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:66
CaloTopoEMphioff::m_EtaFrontier
Constant< CxxUtils::Array< 1 > > m_EtaFrontier
Definition: CaloTopoEMphioff.h:58
CaloTopoEMphioff::m_FlipPhi
Constant< int > m_FlipPhi
Definition: CaloTopoEMphioff.h:61
Array.h
Simple multidimensional arrays.
CaloTopoEMphioff::m_EdepB
Constant< CxxUtils::Array< 1 > > m_EdepB
Definition: CaloTopoEMphioff.h:57
xAOD::CaloCluster_v1
Description of a calorimeter cluster.
Definition: CaloCluster_v1.h:59
CaloSampling::CaloSample
CaloSample
Definition: Calorimeter/CaloGeoHelpers/CaloGeoHelpers/CaloSampling.h:22
CaloClusterCorrectionCommon::CaloClusterCorrectionCommon
CaloClusterCorrectionCommon(const std::string &type, const std::string &name, const IInterface *parent)
Inherit constructor.
Definition: CaloClusterCorrectionCommon.cxx:408
CaloTopoEMphioff::m_EdepA
Constant< CxxUtils::Array< 1 > > m_EdepA
Definition: CaloTopoEMphioff.h:56
CaloCluster
Principal data class for CaloCell clusters.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:79
CaloClusterCorrectionCommon.h
CaloTopoEMphioff::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: CaloTopoEMphioff.cxx:30
CaloTopoEMphioff
Definition: CaloTopoEMphioff.py:1
CaloUtils::ToolConstantsContext
Context object for retrieving ToolConstant values.
Definition: ToolWithConstants.h:61
CaloClusterCorrectionCommon
Code common to cluster corrections.
Definition: CaloClusterCorrectionCommon.h:42
CaloUtils::ToolConstant
Constant of a ToolWithConstants.
Definition: ToolWithConstants.h:202
CaloTopoEMphioff::m_EndcapOffset
Constant< float > m_EndcapOffset
Definition: CaloTopoEMphioff.h:62