ATLAS Offline Software
BcidOffsetCorrection.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_BCIDOFFSETCORRECTION_H
6 #define JETCALIBTOOLS_BCIDOFFSETCORRECTION_H 1
7 
8 /* Implementation of BcidOffsetCorrection class
9  * This class will apply the bcid offset pile up correction
10  *
11  * Author: Chris Young (christopher.young@cern.ch)
12  * Date: November 23 2020
13  */
14 
15 #include <TEnv.h>
16 #include <TString.h>
17 #include <TH2.h>
18 
20 
21 #include <memory>
22 
24  : virtual public ::JetCalibrationStep
25 {
26 
27  public:
29  BcidOffsetCorrection(const std::string& name, TEnv * config, TString jetAlgo, TString calibAreaTag, bool isData);
31 
32  virtual StatusCode initialize() override;
33  virtual StatusCode calibrate(xAOD::Jet& jet, JetEventInfo&) const override;
34 
35 
36  private:
37  TEnv * m_config{};
39  bool m_isData{};
40 
43  bool m_doHEC0bcid{};
44  bool m_doHEC1bcid{};
45  bool m_doHEC2bcid{};
46  bool m_doHEC3bcid{};
50  bool m_doFCal0bcid{};
51  bool m_doFCal1bcid{};
52  bool m_doFCal2bcid{};
56 
57  std::unique_ptr<const TH2> m_bcid_nCells_EMECIW2;
58  std::unique_ptr<const TH2> m_bcid_nCells_HEC0;
59  std::unique_ptr<const TH2> m_bcid_nCells_HEC1;
60  std::unique_ptr<const TH2> m_bcid_nCells_FCal0;
61 
62  std::unique_ptr<const TH2> m_bcid_slope_EMECIW2_pos;
63  std::unique_ptr<const TH2> m_bcid_slope_HEC0_pos;
64  std::unique_ptr<const TH2> m_bcid_slope_HEC1_pos;
65 
66  std::unique_ptr<const TH2> m_bcid_slope_EMECIW2_neg;
67  std::unique_ptr<const TH2> m_bcid_slope_HEC0_neg;
68  std::unique_ptr<const TH2> m_bcid_slope_HEC1_neg;
69 
70  std::unique_ptr<const TH2> m_bcid_slope_FCal0;
71 
72  std::unique_ptr<const TH2> m_bcid_slope_EMECIW2_8b4e_pos;
73  std::unique_ptr<const TH2> m_bcid_slope_HEC0_8b4e_pos;
74  std::unique_ptr<const TH2> m_bcid_slope_HEC1_8b4e_pos;
75 
76  std::unique_ptr<const TH2> m_bcid_slope_EMECIW2_8b4e_neg;
77  std::unique_ptr<const TH2> m_bcid_slope_HEC0_8b4e_neg;
78  std::unique_ptr<const TH2> m_bcid_slope_HEC1_8b4e_neg;
79 
80  std::unique_ptr<const TH2> m_bcid_slope_FCal0_8b4e;
81 
83 
84 };
85 
86 #endif
BcidOffsetCorrection::m_eventInfo
JetEventInfo m_eventInfo
Definition: BcidOffsetCorrection.h:82
BcidOffsetCorrection::m_doFCal0OuterBcid
bool m_doFCal0OuterBcid
Definition: BcidOffsetCorrection.h:47
BcidOffsetCorrection::m_bcid_slope_HEC0_8b4e_pos
std::unique_ptr< const TH2 > m_bcid_slope_HEC0_8b4e_pos
Definition: BcidOffsetCorrection.h:73
BcidOffsetCorrection::calibrate
virtual StatusCode calibrate(xAOD::Jet &jet, JetEventInfo &) const override
Definition: BcidOffsetCorrection.cxx:107
BcidOffsetCorrection::m_doFCal2InnerBcid
bool m_doFCal2InnerBcid
Definition: BcidOffsetCorrection.h:55
BcidOffsetCorrection::m_doFCal1bcid
bool m_doFCal1bcid
Definition: BcidOffsetCorrection.h:51
BcidOffsetCorrection
Definition: BcidOffsetCorrection.h:25
BcidOffsetCorrection::m_bcid_slope_HEC1_pos
std::unique_ptr< const TH2 > m_bcid_slope_HEC1_pos
Definition: BcidOffsetCorrection.h:64
BcidOffsetCorrection::m_doHEC3bcid
bool m_doHEC3bcid
Definition: BcidOffsetCorrection.h:46
BcidOffsetCorrection::initialize
virtual StatusCode initialize() override
Definition: BcidOffsetCorrection.cxx:25
BcidOffsetCorrection::m_config
TEnv * m_config
Definition: BcidOffsetCorrection.h:37
BcidOffsetCorrection::m_doHEC0bcid
bool m_doHEC0bcid
Definition: BcidOffsetCorrection.h:43
BcidOffsetCorrection::m_bcid_slope_FCal0_8b4e
std::unique_ptr< const TH2 > m_bcid_slope_FCal0_8b4e
Definition: BcidOffsetCorrection.h:80
BcidOffsetCorrection::m_doEMECIW3bcid
bool m_doEMECIW3bcid
Definition: BcidOffsetCorrection.h:42
config
Definition: PhysicsAnalysis/AnalysisCommon/AssociationUtils/python/config.py:1
BcidOffsetCorrection::m_bcid_slope_HEC1_8b4e_pos
std::unique_ptr< const TH2 > m_bcid_slope_HEC1_8b4e_pos
Definition: BcidOffsetCorrection.h:74
BcidOffsetCorrection::m_bcid_nCells_FCal0
std::unique_ptr< const TH2 > m_bcid_nCells_FCal0
Definition: BcidOffsetCorrection.h:60
BcidOffsetCorrection::m_doFCal2OuterBcid
bool m_doFCal2OuterBcid
Definition: BcidOffsetCorrection.h:49
BcidOffsetCorrection::m_bcid_slope_HEC0_neg
std::unique_ptr< const TH2 > m_bcid_slope_HEC0_neg
Definition: BcidOffsetCorrection.h:67
BcidOffsetCorrection::m_doHEC2bcid
bool m_doHEC2bcid
Definition: BcidOffsetCorrection.h:45
JetEventInfo
Definition: JetEventInfo.h:8
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
BcidOffsetCorrection::m_doFCal0bcid
bool m_doFCal0bcid
Definition: BcidOffsetCorrection.h:50
BcidOffsetCorrection::m_jetAlgo
TString m_jetAlgo
Definition: BcidOffsetCorrection.h:38
BcidOffsetCorrection::m_bcid_slope_FCal0
std::unique_ptr< const TH2 > m_bcid_slope_FCal0
Definition: BcidOffsetCorrection.h:70
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
BcidOffsetCorrection::m_bcid_nCells_HEC1
std::unique_ptr< const TH2 > m_bcid_nCells_HEC1
Definition: BcidOffsetCorrection.h:59
BcidOffsetCorrection::m_bcid_slope_HEC1_neg
std::unique_ptr< const TH2 > m_bcid_slope_HEC1_neg
Definition: BcidOffsetCorrection.h:68
BcidOffsetCorrection::m_bcid_slope_EMECIW2_neg
std::unique_ptr< const TH2 > m_bcid_slope_EMECIW2_neg
Definition: BcidOffsetCorrection.h:66
BcidOffsetCorrection::m_doFCal0InnerBcid
bool m_doFCal0InnerBcid
Definition: BcidOffsetCorrection.h:53
BcidOffsetCorrection::m_bcid_slope_EMECIW2_pos
std::unique_ptr< const TH2 > m_bcid_slope_EMECIW2_pos
Definition: BcidOffsetCorrection.h:62
BcidOffsetCorrection::m_bcid_slope_EMECIW2_8b4e_pos
std::unique_ptr< const TH2 > m_bcid_slope_EMECIW2_8b4e_pos
Definition: BcidOffsetCorrection.h:72
BcidOffsetCorrection::m_bcid_nCells_HEC0
std::unique_ptr< const TH2 > m_bcid_nCells_HEC0
Definition: BcidOffsetCorrection.h:58
BcidOffsetCorrection::~BcidOffsetCorrection
virtual ~BcidOffsetCorrection()
BcidOffsetCorrection::m_bcid_slope_HEC1_8b4e_neg
std::unique_ptr< const TH2 > m_bcid_slope_HEC1_8b4e_neg
Definition: BcidOffsetCorrection.h:78
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
BcidOffsetCorrection::m_doFCal1InnerBcid
bool m_doFCal1InnerBcid
Definition: BcidOffsetCorrection.h:54
BcidOffsetCorrection::m_bcid_slope_HEC0_8b4e_neg
std::unique_ptr< const TH2 > m_bcid_slope_HEC0_8b4e_neg
Definition: BcidOffsetCorrection.h:77
BcidOffsetCorrection::m_calibAreaTag
TString m_calibAreaTag
Definition: BcidOffsetCorrection.h:38
BcidOffsetCorrection::m_doFCal1OuterBcid
bool m_doFCal1OuterBcid
Definition: BcidOffsetCorrection.h:48
xAOD::Jet_v1
Class describing a jet.
Definition: Jet_v1.h:57
BcidOffsetCorrection::m_isData
bool m_isData
Definition: BcidOffsetCorrection.h:39
BcidOffsetCorrection::m_bcid_slope_EMECIW2_8b4e_neg
std::unique_ptr< const TH2 > m_bcid_slope_EMECIW2_8b4e_neg
Definition: BcidOffsetCorrection.h:76
BcidOffsetCorrection::BcidOffsetCorrection
BcidOffsetCorrection()
Definition: BcidOffsetCorrection.cxx:12
python.grid.isData
def isData(dataset)
Definition: grid.py:491
BcidOffsetCorrection::m_bcid_slope_HEC0_pos
std::unique_ptr< const TH2 > m_bcid_slope_HEC0_pos
Definition: BcidOffsetCorrection.h:63
BcidOffsetCorrection::m_doHEC1bcid
bool m_doHEC1bcid
Definition: BcidOffsetCorrection.h:44
JetCalibrationStep.h
BcidOffsetCorrection::m_bcid_nCells_EMECIW2
std::unique_ptr< const TH2 > m_bcid_nCells_EMECIW2
Definition: BcidOffsetCorrection.h:57
BcidOffsetCorrection::m_doEMECIW2bcid
bool m_doEMECIW2bcid
Definition: BcidOffsetCorrection.h:41
BcidOffsetCorrection::m_doFCal2bcid
bool m_doFCal2bcid
Definition: BcidOffsetCorrection.h:52
JetCalibrationStep
Definition: JetCalibrationStep.h:20