ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Calorimeter
CaloClusterCorrection
src
CaloSwECcrack_g3.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
/********************************************************************
6
7
NAME: CaloSwECcrack_g3.cxx
8
PACKAGE: offline/Calorimeter/CaloClusterCorrection
9
10
AUTHORS: H. Ma, S. Rajagopalan
11
CREATED: Dec. 15, 1999
12
13
PURPOSE: correction for the cracks (for the time being only barrel - endcap)
14
Tuned using 50 GeV Et photons
15
Correction tuned on G3 samples.
16
17
atrecon Orig: emreco/qecrack.F
18
19
Updated: May 10, 2000 (SR, HM)
20
Migrated to Athena Framework from PASO
21
22
Updated: Jan 5, 2001 (HM)
23
QA.
24
25
Updated: May 5, 2004 (Sven Menke)
26
base class changed from algo to tool
27
28
29
********************************************************************/
30
31
#include "
CaloSwECcrack_g3.h
"
32
33
// constants from atrecon/emreco/qecrack.F
34
using
xAOD::CaloCluster
;
35
const
float
CaloSwECcrack_g3::P0
[3] = {116.8, 169.77, 62.224};
36
const
float
CaloSwECcrack_g3::P1
[1] = {1.614};
37
const
float
CaloSwECcrack_g3::P2
[3] = {188.1, 242.89, 78.836};
38
39
40
void
CaloSwECcrack_g3::makeCorrection
(
const
Context&
/*myctx*/
,
41
CaloCluster
* cluster)
const
42
{
43
44
float
eta
= cluster->
etaBE
(2);
// use second sampling
45
46
float
aeta = fabs(
eta
);
47
48
float
qECcrack = 1.;
49
if
(aeta > 1.35 && aeta < 1.46)
50
qECcrack =
P0
[0] -
P0
[1]*aeta +
P0
[2]*aeta*aeta;
51
else
if
(aeta >= 1.46 && aeta < 1.475)
52
qECcrack =
P1
[0];
53
else
if
(aeta >= 1.475 && aeta < 1.55)
54
qECcrack =
P2
[0] -
P2
[1]*aeta +
P2
[2]*aeta*aeta;
55
else
56
return
;
// No correction required
57
58
// make the correction
59
60
float
energy = cluster->
e
();
61
// set the energy, and rescale each sampling.
62
setenergy
(cluster, energy*qECcrack);
63
64
}
eta
Scalar eta() const
pseudorapidity method
Definition
AmgMatrixBasePlugin.h:83
CaloSwECcrack_g3.h
CaloClusterCorrection::setenergy
virtual void setenergy(xAOD::CaloCluster *cluster, float energy) const
Definition
CaloClusterCorrection.cxx:93
CaloCluster
Principal data class for CaloCell clusters.
Definition
Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:79
CaloCluster::e
virtual double e() const
Retrieve energy independent of signal state.
Definition
Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:753
CaloCluster::etaBE
double etaBE(int sampling) const
EMB/EMEC combined barycenter .
Definition
Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:1199
CaloSwECcrack_g3::P0
static const float P0[3]
Definition
CaloSwECcrack_g3.h:35
CaloSwECcrack_g3::P1
static const float P1[1]
Definition
CaloSwECcrack_g3.h:36
CaloSwECcrack_g3::makeCorrection
virtual void makeCorrection(const Context &myctx, xAOD::CaloCluster *cluster) const override
Definition
CaloSwECcrack_g3.cxx:40
CaloSwECcrack_g3::P2
static const float P2[3]
Definition
CaloSwECcrack_g3.h:37
xAOD::CaloCluster
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.
Definition
Event/xAOD/xAODCaloEvent/xAODCaloEvent/CaloCluster.h:19
Generated on
for ATLAS Offline Software by
1.17.0