 |
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef ISF_FASTCALOSIMEVENT_TFCSPhiModulationCorrection_h
6 #define ISF_FASTCALOSIMEVENT_TFCSPhiModulationCorrection_h
12 #include <RtypesCore.h>
25 const char *
title =
nullptr);
31 float energy_shift = 1.0);
47 const std::vector<std::vector<std::vector<float>>>&
get_min_phi()
const {
59 return 2 * TMath::Pi() / 1024;
60 }
else if (
eta < 2.5) {
61 return 2 * TMath::Pi() / 768;
63 return 2 * TMath::Pi() / 256;
75 long unsigned int layer_index)
const;
85 long unsigned int layer_index)
const;
91 float phi,
float eta,
long unsigned int layer_index)
const;
FCSReturnCode
Base class for all FastCaloSim parametrizations Functionality in derivde classes is provided through ...
Scalar phi() const
phi method
Scalar eta() const
pseudorapidity method
const std::vector< std::vector< std::vector< float > > > & get_phi_modulation() const
std::tuple< int, long unsigned int, long unsigned int > get_eta_and_phi_index(float phi, float eta, long unsigned int layer_index) const
float get_phi_modulation_scale() const
std::vector< std::vector< std::vector< float > > > m_modulation
TFCSPhiModulationCorrection(const char *name=nullptr, const char *title=nullptr)
std::vector< std::vector< float > > m_energy_shift
float remove_phi_modulation(Hit &hit) const
float add_phi_modulation(Hit &hit) const
std::vector< std::vector< float > > m_min_eta
void set_phi_modulation_scale(float phi_modulation_scale)
const std::vector< std::vector< float > > & get_min_eta() const
virtual void set_geometry(ICaloGeometry *geo)
Method to set the geometry access pointer.
virtual FCSReturnCode simulate_hit(Hit &hit, TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) override
simulated one hit position with some energy.
const std::vector< std::vector< std::vector< float > > > & get_min_phi() const
double eta_max() const override
void set_geometry(ICaloGeometry *geo) override
Method to set the geometry access pointer.
static float get_phi_cell_size(long unsigned int layer, float eta)
double eta_min() const override
void load_phi_modulation(std::string filename, long unsigned int layer_index, float eta_min, float eta_max, float energy_shift=1.0)
std::vector< std::vector< std::vector< float > > > m_min_phi
float m_modulation_scale
do not persistify
virtual ~TFCSPhiModulationCorrection()
const std::vector< std::vector< float > > & get_energy_shift() const
ICaloGeometry * get_geometry() const