5#ifndef TFCSVoxelHistoLateralCovarianceFluctuations_h
6#define TFCSVoxelHistoLateralCovarianceFluctuations_h
22 const char *title =
nullptr);
28 bool initialize(TFile *inputfile,
const std::string &folder);
46 static const std::uint32_t
48 static const std::uint32_t
51 typedef std::vector<std::vector<float>>
weight_t;
53 std::vector<std::vector<std::vector<TFCS1DFunction *>>>
m_transform;
FCSReturnCode
Base class for all FastCaloSim parametrizations Functionality in derivde classes is provided through ...
TFCSLateralShapeParametrizationHitBase(const char *name=nullptr, const char *title=nullptr)
virtual FCSReturnCode simulate(TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) const override
create one fluctuated shape for a shower to be applied as scale factor to the average shape Store the...
virtual ~TFCSVoxelHistoLateralCovarianceFluctuations()
std::vector< std::vector< std::vector< TFCS1DFunction * > > > m_transform
static const std::uint32_t s_layer_hash[CaloCell_ID_FCS::MaxSample]
do not persistify
ICaloGeometry * get_geometry()
std::vector< TMatrixD > m_EigenVectors
void MultiGaus(TFCSSimulationState &simulstate, TVectorD &genPars) const
virtual FCSReturnCode simulate_hit(Hit &hit, TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) override
weight the energy of one hit by the fluctuation calculated in simulate(...)
std::vector< TVectorD > m_parMeans
TFCSVoxelHistoLateralCovarianceFluctuations(const char *name=nullptr, const char *title=nullptr)
virtual void set_geometry(ICaloGeometry *geo) override
Method to set the geometry access pointer.
std::vector< std::vector< float > > weight_t
do not persistify
std::vector< TVectorD > m_EigenValues
std::vector< TH2 * > m_voxel_template
static const std::uint32_t s_layer_hash_geo[CaloCell_ID_FCS::MaxSample]
do not persistify