ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
Jet
JetCalibTools
JetCalibTools
CalibrationMethods
ResidualOffsetCorrection.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef JETCALIBTOOLS_RESIDUALOFFSETCORRECTION_H
6
#define JETCALIBTOOLS_RESIDUALOFFSETCORRECTION_H 1
7
8
/* Implementation of ResidualOffsetCorrection class
9
* This class will apply the residual offset pile up correction
10
*
11
* Author: Joe Taenzer (joseph.taenzer@cern.ch)
12
* Date: August 15 2013
13
*/
14
15
16
#include "
AsgMessaging/AsgMessaging.h
"
17
#include "
AsgMessaging/StatusCode.h
"
18
#include "TString.h"
19
#include <vector>
20
#include <string>
21
22
class
TEnv;
23
class
TAxis;
24
class
NPVBeamspotCorrection
;
25
26
class
ResidualOffsetCorrection
:
public
asg::AsgMessaging
27
{
28
29
public
:
30
ResidualOffsetCorrection
();
31
ResidualOffsetCorrection
(
const
std::string& name, TEnv* config, TString jetAlgo, TString calibAreaTag,
bool
isData,
bool
dev);
32
virtual
~ResidualOffsetCorrection
();
33
34
virtual
StatusCode
initialize
();
35
36
double
GetResidualOffset
(
double
abseta,
double
mu,
double
NPV,
int
nJet,
bool
MuOnly,
bool
NOnly )
const
;
37
38
private
:
39
double
GetResidualOffsetET
(
double
abseta,
double
mu,
double
NPV,
int
nJet,
bool
MuOnly,
bool
NOnly,
40
const
std::vector<double>& OffsetMu,
41
const
std::vector<double>& OffsetNPV,
42
const
std::vector<double>& OffsetNjet,
43
const
TAxis *OffsetBins)
const
;
44
45
double
GetNPVBeamspotCorrection
(
double
NPV)
const
;
46
47
private
:
48
TEnv *
m_config
{};
49
TString
m_jetAlgo
,
m_calibAreaTag
;
50
bool
m_dev
{};
51
bool
m_isData
{};
52
static
constexpr
float
m_GeV
= 1000;
53
54
NPVBeamspotCorrection
*
m_npvBeamspotCorr
{};
55
56
TString
m_resOffsetDesc
;
57
TAxis *
m_resOffsetBins
{};
58
bool
m_applyNPVBeamspotCorrection
{};
59
double
m_muSF
{};
60
double
m_mu_ref
{},
m_NPV_ref
{},
m_nJet_ref
{};
61
bool
m_useNjet
{};
62
63
std::vector<double>
m_resOffsetMu
,
m_resOffsetNPV
,
m_resOffsetNjet
;
64
65
};
66
67
#endif
AsgMessaging.h
StatusCode.h
NPVBeamspotCorrection
Definition
NPVBeamspotCorrection.h:22
ResidualOffsetCorrection::GetResidualOffsetET
double GetResidualOffsetET(double abseta, double mu, double NPV, int nJet, bool MuOnly, bool NOnly, const std::vector< double > &OffsetMu, const std::vector< double > &OffsetNPV, const std::vector< double > &OffsetNjet, const TAxis *OffsetBins) const
Definition
ResidualOffsetCorrection.cxx:124
ResidualOffsetCorrection::m_useNjet
bool m_useNjet
Definition
ResidualOffsetCorrection.h:61
ResidualOffsetCorrection::m_isData
bool m_isData
Definition
ResidualOffsetCorrection.h:51
ResidualOffsetCorrection::ResidualOffsetCorrection
ResidualOffsetCorrection()
Definition
ResidualOffsetCorrection.cxx:15
ResidualOffsetCorrection::m_resOffsetNPV
std::vector< double > m_resOffsetNPV
Definition
ResidualOffsetCorrection.h:63
ResidualOffsetCorrection::m_NPV_ref
double m_NPV_ref
Definition
ResidualOffsetCorrection.h:60
ResidualOffsetCorrection::m_applyNPVBeamspotCorrection
bool m_applyNPVBeamspotCorrection
Definition
ResidualOffsetCorrection.h:58
ResidualOffsetCorrection::m_resOffsetDesc
TString m_resOffsetDesc
Definition
ResidualOffsetCorrection.h:56
ResidualOffsetCorrection::m_resOffsetMu
std::vector< double > m_resOffsetMu
Definition
ResidualOffsetCorrection.h:63
ResidualOffsetCorrection::GetResidualOffset
double GetResidualOffset(double abseta, double mu, double NPV, int nJet, bool MuOnly, bool NOnly) const
Definition
ResidualOffsetCorrection.cxx:118
ResidualOffsetCorrection::m_config
TEnv * m_config
Definition
ResidualOffsetCorrection.h:48
ResidualOffsetCorrection::m_npvBeamspotCorr
NPVBeamspotCorrection * m_npvBeamspotCorr
Definition
ResidualOffsetCorrection.h:54
ResidualOffsetCorrection::m_jetAlgo
TString m_jetAlgo
Definition
ResidualOffsetCorrection.h:49
ResidualOffsetCorrection::initialize
virtual StatusCode initialize()
Definition
ResidualOffsetCorrection.cxx:34
ResidualOffsetCorrection::m_resOffsetNjet
std::vector< double > m_resOffsetNjet
Definition
ResidualOffsetCorrection.h:63
ResidualOffsetCorrection::m_mu_ref
double m_mu_ref
Definition
ResidualOffsetCorrection.h:60
ResidualOffsetCorrection::GetNPVBeamspotCorrection
double GetNPVBeamspotCorrection(double NPV) const
Definition
ResidualOffsetCorrection.cxx:179
ResidualOffsetCorrection::m_nJet_ref
double m_nJet_ref
Definition
ResidualOffsetCorrection.h:60
ResidualOffsetCorrection::m_resOffsetBins
TAxis * m_resOffsetBins
Definition
ResidualOffsetCorrection.h:57
ResidualOffsetCorrection::m_calibAreaTag
TString m_calibAreaTag
Definition
ResidualOffsetCorrection.h:49
ResidualOffsetCorrection::~ResidualOffsetCorrection
virtual ~ResidualOffsetCorrection()
Definition
ResidualOffsetCorrection.cxx:27
ResidualOffsetCorrection::m_muSF
double m_muSF
Definition
ResidualOffsetCorrection.h:59
ResidualOffsetCorrection::m_dev
bool m_dev
Definition
ResidualOffsetCorrection.h:50
ResidualOffsetCorrection::m_GeV
static constexpr float m_GeV
Definition
ResidualOffsetCorrection.h:52
asg::AsgMessaging
Class mimicking the AthMessaging class from the offline software.
Definition
AsgMessaging.h:40
Generated on
for ATLAS Offline Software by
1.17.0