ATLAS Offline Software
Loading...
Searching...
No Matches
Reconstruction
egamma
egammaLayerRecalibTool
Root
corr_pileupShift.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
#include "
egammaLayerRecalibTool/corr_pileupShift.h
"
5
#include <iostream>
6
#include <string>
7
#include <utility>
8
#include <cmath>
9
10
#include "
PathResolver/PathResolver.h
"
11
12
13
corr_pileupShift::corr_pileupShift
(){
14
15
std::string filename =
PathResolverFindCalibFile
(
"egammaLayerRecalibTool/v2/layer_average.root"
);
16
17
m_file
= TFile::Open(filename.c_str());
18
if
(not
m_file
or
m_file
->IsZombie()) {
19
std::cerr <<
"FATAL: cannot open "
<< filename << std::endl;
20
}
21
else
{
22
for
(
int
layer=0;layer<4;layer++) {
23
char
name[12];
24
snprintf(name,
sizeof
(name),
"average_%d"
,layer);
25
m_haverage
[layer]=(TH1D*) (
m_file
->Get(name));
26
if
(not
m_haverage
[layer]) {
27
std::cerr <<
"FATAL: cannot find "
<< name << std::endl;
28
}
29
}
30
}
31
m_runMin
=296939;
32
m_runMax
=311563;
33
}
34
//===============================================================================
35
corr_pileupShift::~corr_pileupShift
()
36
{
37
m_file
->Close();
38
}
39
40
//===============================================================================
41
float
corr_pileupShift::getCorr
(
int
layer,
int
run
,
float
mu,
float
eta
)
const
42
{
43
44
if
(layer<0 || layer>3)
return
0.;
45
if
(
run<m_runMin || run>
m_runMax
)
return
0.;
46
double
aeta=std::fabs(
eta
);
47
if
(aeta> 2.5)
return
0.;
48
if
(aeta>2.37) aeta=2.37;
49
50
int
ibin = std::as_const(*
m_haverage
[layer]).GetXaxis()->FindFixBin(aeta);
51
float
corr = mu *
m_haverage
[layer]->GetBinContent(ibin);
52
53
return
corr;
54
55
}
eta
Scalar eta() const
pseudorapidity method
Definition
AmgMatrixBasePlugin.h:83
PathResolver.h
PathResolverFindCalibFile
std::string PathResolverFindCalibFile(const std::string &logical_file_name)
Definition
PathResolver.cxx:325
corr_pileupShift::m_runMax
int m_runMax
Definition
corr_pileupShift.h:27
corr_pileupShift::m_haverage
TH1D * m_haverage[4]
Definition
corr_pileupShift.h:30
corr_pileupShift::m_file
TFile * m_file
Definition
corr_pileupShift.h:31
corr_pileupShift::~corr_pileupShift
~corr_pileupShift()
Definition
corr_pileupShift.cxx:35
corr_pileupShift::m_runMin
int m_runMin
Definition
corr_pileupShift.h:27
corr_pileupShift::getCorr
float getCorr(int layer, int run, float mu, float eta) const
get shift to subtract to raw layer energy : corrected layer energy = raw energy - shift
Definition
corr_pileupShift.cxx:41
corr_pileupShift::corr_pileupShift
corr_pileupShift()
constructor (initialization done there reading a root file for the HV maps per period
Definition
corr_pileupShift.cxx:13
corr_pileupShift.h
run
Definition
run.py:1
Generated on
for ATLAS Offline Software by
1.14.0