PandaRoot
BSEmcThetaEnergyECF.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 #ifndef BSEMCTHETAENERGYECF_HH
14 #define BSEMCTHETAENERGYECF_HH
15 
16 #include <memory>
17 
18 #include "Rtypes.h"
19 #include "RtypesCore.h"
20 #include "TH2.h"
21 #include "TObject.h"
22 #include "TString.h"
23 
24 #include "BSEmcCorrection.h"
25 #include "BSEmcRecoHit.h"
26 
27 class BSEmcRecoHit;
28 class TBuffer;
29 class TClass;
30 class TMemberInspector;
31 
41  public:
47  virtual void Correct(BSEmcRecoHit *t_recoHit) const;
48  void SetVersion(Int_t t_version) { fVersion = t_version; }
49  Int_t GetVersion() const { return fVersion; }
50 
51  protected:
52  virtual Double_t GetCorrectedEnergy(Double_t t_energy, Double_t t_thetaRad, Double_t t_phiRad) const /*override*/;
53  void SetupLookUpMap(const TString &t_filename, const TString &t_histname);
54  Bool_t FindTheBin(Float_t t_value_x, Float_t t_value_y, Int_t &t_bin_x, Int_t &t_bin_y) const;
55  Double_t GetValueInZ(Float_t t_value_x, Float_t t_value_y) const;
56 
57  std::unique_ptr<TH2F> fHEnergyRatioPhoton{nullptr};
58 
59  Int_t fVersion{3};
61 };
62 
63 #endif /*BSEMCTHETAENERGYECF_HH*/
Resembles/Contains all information a particle hitting the EMC can provide for later use in the PID st...
Definition: BSEmcRecoHit.h:43
virtual void Correct(BSEmcRecoHit *t_recoHit) const
Apply corrections.
Double_t GetValueInZ(Float_t t_value_x, Float_t t_value_y) const
Energy correction factor/function interface.
ClassDef(BSEmcThetaEnergyECF, 1)
std::unique_ptr< TH2F > fHEnergyRatioPhoton
void SetVersion(Int_t t_version)
Bool_t FindTheBin(Float_t t_value_x, Float_t t_value_y, Int_t &t_bin_x, Int_t &t_bin_y) const
virtual Double_t GetCorrectedEnergy(Double_t t_energy, Double_t t_thetaRad, Double_t t_phiRad) const
void SetupLookUpMap(const TString &t_filename, const TString &t_histname)
Theta and Energy dependent energy correction factor.