ATLAS Offline Software
Loading...
Searching...
No Matches
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
9NAME: CaloTopoEMphioff.h
10PACKAGE: offline/Calorimeter/CaloClusterCorrection
11
12AUTHORS: M.Boonekamp, N.Kerschen
13CREATED: March 2005
14
15PURPOSE: correction for the phi offset due to accordion structure
16 base class: CaloClusterCorrection (AlgTool)
17
18Updated: March 12, 2005 (MB)
19 corrections for the TopoCluster
20********************************************************************/
21
24class CaloCluster;
25
27{
28public:
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
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
Simple multidimensional arrays.
CaloClusterCorrectionCommon(const std::string &type, const std::string &name, const IInterface *parent)
Inherit constructor.
Principal data class for CaloCell clusters.
This class groups all DetDescr information related to a CaloCell.
Constant< CxxUtils::Array< 1 > > m_EdepA
Constant< float > m_EndcapOffset
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
Constant< CxxUtils::Array< 1 > > m_EdepB
Constant< CxxUtils::Array< 1 > > m_EtaFrontier
CaloClusterCorrectionCommon(const std::string &type, const std::string &name, const IInterface *parent)
Inherit constructor.
Constant< int > m_FlipPhi
Constant< float > m_Granularity
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.