ATLAS Offline Software
Loading...
Searching...
No Matches
TFCSEnergyInterpolationHistogram.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef ISF_FASTCALOSIMEVENT_TFCSEnergyInterpolationHistogram_h
6#define ISF_FASTCALOSIMEVENT_TFCSEnergyInterpolationHistogram_h
7
9#include "TH1F.h"
10
12public:
13 TFCSEnergyInterpolationHistogram(const char *name = nullptr,
14 const char *title = nullptr);
15
21
22 bool OnlyScaleEnergy() const { return TestBit(kOnlyScaleEnergy); };
25
26 virtual bool is_match_Ekin_bin(int /*Ekin_bin*/) const override {
27 return true;
28 };
29 virtual bool is_match_calosample(int /*calosample*/) const override {
30 return true;
31 };
32
35 void InitFromHist(const TH1F &hist) { m_hist = hist; };
36
37 const TH1F &hist() const { return m_hist; };
38
41 virtual FCSReturnCode
42 simulate(TFCSSimulationState &simulstate, const TFCSTruthState *truth,
43 const TFCSExtrapolationState *extrapol) const override;
44 void Print(Option_t *option = "") const override;
45
46 static void unit_test(TFCSSimulationState *simulstate = nullptr,
47 TFCSTruthState *truth = nullptr,
48 const TFCSExtrapolationState *extrapol = nullptr,
49 TH1F *hist = nullptr);
50
51private:
52 TH1F m_hist;
53
54 ClassDefOverride(TFCSEnergyInterpolationHistogram,
55 1) // TFCSEnergyInterpolationHistogram
56};
57
58#if defined(__ROOTCLING__) && defined(__FastCaloSimStandAlone__)
59#pragma link C++ class TFCSEnergyInterpolationHistogram + ;
60#endif
61
62#endif
FCSReturnCode
Base class for all FastCaloSim parametrizations Functionality in derivde classes is provided through ...
virtual FCSReturnCode simulate(TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) const override
Initialize simulstate with the mean reconstructed energy in the calorimater expeted from the true kin...
virtual bool is_match_calosample(int) const override
TFCSEnergyInterpolationHistogram(const char *name=nullptr, const char *title=nullptr)
void InitFromHist(const TH1F &hist)
Initialize interpolation from histogram x values should be Ekin, y values should <E(reco)/Ekin(true)>
virtual bool is_match_Ekin_bin(int) const override
static void unit_test(TFCSSimulationState *simulstate=nullptr, TFCSTruthState *truth=nullptr, const TFCSExtrapolationState *extrapol=nullptr, TH1F *hist=nullptr)
@ kOnlyScaleEnergy
Set this bit in the TObject bit field the simulated energy.
void Print(Option_t *option="") const override
TFCSParametrization(const char *name=nullptr, const char *title=nullptr)