TFCSHistoLateralShapeParametrization class

Base classes

class TFCSLateralShapeParametrizationHitBase

Derived classes

class TFCSHistoLateralShapeParametrizationFCal

Public types

enum FCSStatusBits { k_phi_symmetric = BIT(15) }
Status bit for FCS needs.

Constructors, destructors, conversion operators

TFCSHistoLateralShapeParametrization(const char* name = nullptr, const char* title = nullptr)
~TFCSHistoLateralShapeParametrization()

Public functions

void set_geometry(CaloGeo* geo) override
auto is_phi_symmetric() const -> bool
void set_phi_symmetric() virtual
void reset_phi_symmetric() virtual
void set_number_of_hits(float nhits)
set the integral of the histogram to the desired number of hits
auto get_number_of_expected_hits() const -> float
void set_r_offset(float r_offset)
set an offset in r on the simulated histogram
auto r_offset() const -> float
void set_r_scale(float r_scale)
set an scale factor for r on the simulated histogram
auto r_scale() const -> float
auto get_sigma2_fluctuation(TFCSSimulationState& simulstate, const TFCSTruthState* truth, const TFCSExtrapolationState* extrapol) const -> double override
auto get_number_of_hits(TFCSSimulationState& simulstate, const TFCSTruthState* truth, const TFCSExtrapolationState* extrapol) const -> int override
default for this class is to simulate get_number_of_expected_hits() hits
auto simulate_hit(Hit& hit, TFCSSimulationState& simulstate, const TFCSTruthState* truth, const TFCSExtrapolationState* extrapol) -> FCSReturnCode override
auto Initialize(TH2* hist) -> bool
auto Initialize(const char* filepath, const char* histname) -> bool
auto histogram() -> TFCS2DFunctionHistogram&
auto histogram() const -> const TFCS2DFunctionHistogram&
void Print(Option_t* option = "") const override

Protected variables

TFCS2DFunctionHistogram m_hist
Histogram to be used for the shape simulation.
float m_nhits
float m_r_offset
float m_r_scale

Enum documentation

enum TFCSHistoLateralShapeParametrization::FCSStatusBits

Status bit for FCS needs.

Enumerators
k_phi_symmetric

Set this bit to simulate phi symmetric histograms.

Function documentation

void TFCSHistoLateralShapeParametrization::set_geometry(CaloGeo* geo) override

will actually not store the geometry information, but rather used to check the validity of the 2D shape histogram

double TFCSHistoLateralShapeParametrization::get_sigma2_fluctuation(TFCSSimulationState& simulstate, const TFCSTruthState* truth, const TFCSExtrapolationState* extrapol) const override

default for this class is to simulate get_number_of_expected_hits() hits, which gives fluctuations sigma^2=1/get_number_of_expected_hits()

FCSReturnCode TFCSHistoLateralShapeParametrization::simulate_hit(Hit& hit, TFCSSimulationState& simulstate, const TFCSTruthState* truth, const TFCSExtrapolationState* extrapol) override

simulated one hit position with weight that should be put into simulstate sometime later all hit weights should be resacled such that their final sum is simulstate->E(sample) someone also needs to map all hits into cells

bool TFCSHistoLateralShapeParametrization::Initialize(TH2* hist)

Init from histogram. The integral of the histogram is used as number of expected hits to be generated