ATLAS Offline Software
Loading...
Searching...
No Matches
InsituDataCorrection.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_INSITUDATACORRECTION_H
6#define JETCALIBTOOLS_INSITUDATACORRECTION_H 1
7
8/* Implementation of InsituDataCorrection 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#include <TROOT.h>
16#include <TH2.h>
17#include <TString.h>
19#include <memory>
20class TEnv;
21class TH1;
22
23
25 : virtual public ::JetCalibrationStep
26{
27
28 public:
30 // optional first and last run arguments are for time-dependent in situ calibration.
31 // If lastRun is 0, all runs are calibrated (i.e. not time-dependent).
32 InsituDataCorrection(const std::string& name, TEnv * config, TString jetAlgo, TString calibAreaTag, bool dev, unsigned int firstRun = 0, unsigned int lastRun = 0);
34
35 virtual StatusCode initialize() override;
36 virtual StatusCode calibrate(xAOD::Jet& jet, JetEventInfo& jetEventInfo) const override;
37
38 inline double getRelHistoPtMax(){return m_relhistoPtMax;}
39 inline double getAbsHistoPtMax(){return m_abshistoPtMax;}
40
41 private:
42 double getInsituCorr(double pt, double eta, const std::string& calibstep) const;
43 double getInsituCorr_JMS(double pt, double mass, double eta, const std::string& calibstep, bool isTAmass) const;
44 std::unique_ptr<const TH2> combineCalibration(const TH2* h2d, const TH1* h);
45 std::unique_ptr<const TH2> invertHistogram(const TH2* h2d);
46
47 private:
48 TEnv * m_config{};
50 bool m_dev{};
51
52 std::unique_ptr<const TH2> m_insituCorr;
53 std::unique_ptr<const TH2> m_insituCorr_JMS;
54 std::unique_ptr<const TH2> m_insituCorr_JMS_TA;
57 std::unique_ptr<const TH2> m_insituCorr_ResidualMCbased;
59
62
65
68
69 unsigned int m_firstRun{};
70 unsigned int m_lastRun{};
71};
72
73#endif
Scalar eta() const
pseudorapidity method
Header file for AthHistogramAlgorithm.
double getInsituCorr_JMS(double pt, double mass, double eta, const std::string &calibstep, bool isTAmass) const
std::unique_ptr< const TH2 > m_insituCorr_JMS_TA
std::unique_ptr< const TH2 > invertHistogram(const TH2 *h2d)
std::unique_ptr< const TH2 > m_insituCorr_ResidualMCbased
std::unique_ptr< const TH2 > combineCalibration(const TH2 *h2d, const TH1 *h)
virtual StatusCode initialize() override
virtual ~InsituDataCorrection()
std::unique_ptr< const TH2 > m_insituCorr_JMS
virtual StatusCode calibrate(xAOD::Jet &jet, JetEventInfo &jetEventInfo) const override
std::unique_ptr< const TH2 > m_insituCorr
double getInsituCorr(double pt, double eta, const std::string &calibstep) const
JetCalibrationStep(const char *name="JetCalibrationStep")
Jet_v1 Jet
Definition of the current "jet version".