ATLAS Offline Software
Loading...
Searching...
No Matches
CaloSwEtamod.py
Go to the documentation of this file.
1# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
2
3#
4# File: CaloClusterCorrection/python/CaloSwEtamod.py
5# Created: Nov 2006, sss
6# Purpose: Steering module for eta modulation corrections.
7#
8# There is also a small dependence of the calorimeter energy response
9# on the eta offset of the particle impact within a calorimeter cell.
10# This is due at least partly to the fact that more energy leaks
11# outside of the cluster window the impact is near the edge of the center cell
12# than when it is near the center.
13#
14# The binning and the procedure for extracting the modulations is the same
15# as for the phi modulation case. Within each bin, we fit a quadratic.
16# It is seen that if we restrict ourselves to regions of the calorimeter
17# away from non-uniformities, then the extracted fit parameters
18# are generally consistent. Accordingly, to derive
19# this correction, we combine together all the uniform bins and fit to
20# that.
21#
22
23
24from AthenaConfiguration.ComponentFactory import CompFactory
25from CaloClusterCorrection.constants import \
26 CALOCORR_COOL, CALOCORR_DEFAULT_KEY, CALOCORR_SW
27from CaloClusterCorrection.common import makecorr
28
29#
30# This table lists all available versions of this correction.
31# See common.py for a description of the contents.
32#
33from CaloClusterCorrection.constants import sw_valid_keys as keys
34cls_g3 = CompFactory.CaloSwEtamod_g3 # CaloClusterCorrection
35cls_v2 = CompFactory.CaloSwEtamod_v2 # CaloClusterCorrection
36CaloSwEtamod_versions = [
37
38 # The original G3-based correction, translated from the
39 # original fortran version.
40 ['g3', cls_g3, ['CaloSwEtamod_g3.CaloSwEtamod_g3_parms',
41 'caloswcorr_pool', CALOCORR_COOL], keys],
42
43 # DC2 simulation and 8.x.0 reconstruction.
44 # Electrons at 50, 100, and 200 GeV were used.
45 # Derived for 5x5 clusters only.
46 # This was added in LArClusterRec-02-05-25, in 9.0.3.
47 # This version runs before the gross energy corrections.
48 ['v2', cls_v2, ['CaloSwEtamod_v2.CaloSwEtamod_v2_parms',
49 'caloswcorr_pool', CALOCORR_COOL], keys],
50
51 # This is the same as v2, except that it runs after the
52 # gross energy corrections.
53 # It was added in CaloClusterCorrection-00-02-58, in 12.0.3.
54 ['v3', cls_v2, ['CaloSwEtamod_v2.CaloSwEtamod_v3_parms',
55 'caloswcorr_pool', CALOCORR_COOL], keys],
56
57 # This was derived using 12.0.3 simulation and reconstruction,
58 # for 5x5, 3x5, and 3x7 clusters, for both electrons and photons.
59 # It was added in CaloClusterCorrection-00-02-64, in 12.0.4.
60 ['v4', cls_v2, ['CaloSwEtamod_v4.CaloSwEtamod_v4_parms',
61 'caloswcorr_pool', CALOCORR_COOL], keys],
62 ]
63
64
65#
66# Create a new tool instance.
67# FLAGS is the configuration flags instance.
68# NAME is the base name for this tool. If defaulted, a name will
69# be constructed from the name of the correction, the version, and the key.
70# If SUFFIX is not None, it will be added onto the end of the tool name.
71# VERSION is a string specifying which of several versions of the correction
72# to choose. If defaulted, the latest version of the correction is chosen.
73# KEY is a string to specify the type of cluster to which the correction
74# applies. The convention is to use `ele55' for 5x5 electron clusters,
75# `gam35' for 3x5 photon clusters, and so on.
76# SOURCE tells from where we should read the calibration constants.
77# See common.py for a description of the possibilities.
78# None means to use the default.
79# CONFCLASS gives the Configurable class to use to create the tool.
80# It may (and usually should) be defaulted.
81#
82# Additional keyword arguments may be passed to override any tool
83# parameters/constants.
84#
86 name = None,
87 suffix = None,
88 version = None,
89 key = CALOCORR_DEFAULT_KEY,
90 source = None,
91 confclass = None,
92 **kw):
93 # Make the tool.
94 return makecorr (flags,
95 versions = CaloSwEtamod_versions,
96 name = name,
97 basename = 'etamod',
98 suffix = suffix,
99 version = version,
100 key = key,
101 sampling = None,
102 source = source,
103 confclass = confclass,
104 corrclass = CALOCORR_SW,
105 **kw)
106
107
make_CaloSwEtamod(flags, name=None, suffix=None, version=None, key=CALOCORR_DEFAULT_KEY, source=None, confclass=None, **kw)