TFCSParametrizationChain class

Base classes

class TFCSParametrization

Derived classes

class TFCSParametrizationBinnedChain
class TFCSParametrizationPDGIDSelectChain

Public types

enum FCSSplitChainObjects { kSplitChainObjects = BIT(16), kRetryChainFromStart = BIT(17) }
Status bit for chain persistency.
using Chain_t = std::vector<TFCSParametrizationBase*>

Constructors, destructors, conversion operators

TFCSParametrizationChain(const char* name = nullptr, const char* title = nullptr)
TFCSParametrizationChain(const TFCSParametrizationChain& ref)

Public functions

auto SplitChainObjects() const -> bool
void set_SplitChainObjects()
void reset_SplitChainObjects()
auto RetryChainFromStart() const -> bool
void set_RetryChainFromStart()
void reset_RetryChainFromStart()
auto size() const -> unsigned int override
auto operator[](unsigned int) const -> const TFCSParametrizationBase* override
auto operator[](unsigned int) -> TFCSParametrizationBase* override
void set_daughter(unsigned int, TFCSParametrizationBase*) override
auto chain() const -> const Chain_t&
auto chain() -> Chain_t&
void push_back(const Chain_t::value_type& param)
auto is_match_Ekin_bin(int Ekin_bin) const -> bool override
auto is_match_calosample(int calosample) const -> bool override
auto simulate(TFCSSimulationState& simulstate, const TFCSTruthState* truth, const TFCSExtrapolationState* extrapol) const -> FCSReturnCode override
Method in all derived classes to do some simulation.
void Print(Option_t* option = "") const override

Protected functions

void recalc_pdgid_intersect()
void recalc_pdgid_union()
void recalc_Ekin_intersect()
void recalc_eta_intersect()
void recalc_Ekin_eta_intersect()
void recalc_Ekin_union()
void recalc_eta_union()
void recalc_Ekin_eta_union()
void recalc() virtual
auto simulate_and_retry(TFCSParametrizationBase* parametrization, TFCSSimulationState& simulstate, const TFCSTruthState* truth, const TFCSExtrapolationState* extrapol) const -> FCSReturnCode

Enum documentation

enum TFCSParametrizationChain::FCSSplitChainObjects

Status bit for chain persistency.

Enumerators
kSplitChainObjects

Set this bit in the TObject bit field if the TFCSParametrizationBase objects in the chain should be written as separate keys into the root file instead of directly writing the objects. This is needed if the sum of all objects in the chain use >1GB of memory, which can't be handled by TBuffer. Drawback is that identical objects will get stored as multiple instances

kRetryChainFromStart

Function documentation

unsigned int TFCSParametrizationChain::size() const override

Some derived classes have daughter instances of TFCSParametrizationBase objects The size() and operator[] methods give general access to these daughters

const TFCSParametrizationBase* TFCSParametrizationChain::operator[](unsigned int) const override

Some derived classes have daughter instances of TFCSParametrizationBase objects The size() and operator[] methods give general access to these daughters

TFCSParametrizationBase* TFCSParametrizationChain::operator[](unsigned int) override

Some derived classes have daughter instances of TFCSParametrizationBase objects The size() and operator[] methods give general access to these daughters

void TFCSParametrizationChain::set_daughter(unsigned int, TFCSParametrizationBase*) override

Some derived classes have daughter instances of TFCSParametrizationBase objects The set_daughter method allows to change these daughters - expert use only! The original element at this position is not deleted

void TFCSParametrizationChain::recalc() virtual protected

Default is to call recalc_pdgid_intersect() and recalc_Ekin_eta_intersect()