|
ATLAS Offline Software
|
Go to the documentation of this file.
21 chain().push_back(param);
38 chain().push_back(param);
43 for (
unsigned int ibin =
bin + 1; ibin <
m_bin_start.size(); ++ibin)
57 return std::string(
"NO VARIABLE DEFINED");
61 return std::string(Form(
"bin %d",
bin));
68 Int_t retry_warning = 1;
71 for (
int i = 0;
i <= retry;
i++) {
72 if (
i >= retry_warning)
74 "TFCSParametrizationBinnedChain::simulate(): Retry simulate call "
75 <<
i <<
"/" << retry);
77 for (
unsigned int ichain = 0; ichain <
m_bin_start[0]; ++ichain) {
82 retry_warning = retry >> 1;
83 if (retry_warning < 1)
100 <<
chain()[ichain]->GetName());
105 retry_warning = retry >> 1;
106 if (retry_warning < 1)
123 for (
unsigned int ichain =
m_bin_start.back(); ichain <
size(); ++ichain) {
128 retry_warning = retry >> 1;
129 if (retry_warning < 1)
142 ATH_MSG_FATAL(
"TFCSParametrizationBinnedChain::simulate(): Simulate call "
144 << retry <<
" retries");
154 bool shortprint =
opt.Index(
"short") >= 0;
156 TString optprint =
opt;
157 optprint.ReplaceAll(
"short",
"");
160 for (
unsigned int ichain = 0; ichain <
size(); ++ichain) {
161 if (ichain == 0 && ichain !=
m_bin_start.front()) {
171 prefix = Form(
"%-2d", ibin);
208 chain.push_before_first_bin(param);
211 chain.push_back(param);
218 "==== Simulate only begin/end all with chain retry====");
219 chain.set_RetryChainFromStart();
221 chain.reset_RetryChainFromStart();
224 for (
int i = 0;
i < 3; ++
i) {
228 chain.push_back_in_bin(param,
i);
231 for (
int i = 3;
i > 0; --
i) {
235 chain.push_back_in_bin(param,
i);
239 chain.push_back(param);
242 chain.push_before_first_bin(param);
249 "==== Simulate with full chain with chain retry ====");
250 chain.set_RetryChainFromStart();
252 chain.reset_RetryChainFromStart();
JetConstituentVector::iterator iterator
virtual void recalc()
Default is to call recalc_pdgid_intersect() and recalc_Ekin_eta_intersect()
FCSReturnCode
Base class for all FastCaloSim parametrizations Functionality in derivde classes is provided through ...
virtual const std::string get_bin_text(int bin) const
print the range of a bin; for bin -1, print the allowed range
void Print(Option_t *option="") const override
virtual void push_back_in_bin(TFCSParametrizationBase *param, unsigned int bin)
virtual void push_before_first_bin(TFCSParametrizationBase *param)
virtual const std::string get_variable_text(TFCSSimulationState &, const TFCSTruthState *, const TFCSExtrapolationState *) const
virtual int get_bin(TFCSSimulationState &simulstate, const TFCSTruthState *, const TFCSExtrapolationState *) const
this method should determine in derived classes which bin to simulate, so that the simulate method ca...
static void unit_test(TFCSSimulationState *simulstate=nullptr, const TFCSTruthState *truth=nullptr, const TFCSExtrapolationState *extrapol=nullptr)
virtual unsigned int get_number_of_bins() const
const Chain_t & chain() const
TFCSParametrization(const char *name=nullptr, const char *title=nullptr)
void Print(Option_t *option="") const
Print object information.
virtual void setLevel(MSG::Level lvl)
Update outputlevel.
#define ATH_MSG_NOCLASS(logger_name, x)
#define ATH_MSG_WARNING(x)
FCSReturnCode simulate_and_retry(TFCSParametrizationBase *parametrization, TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) const
virtual FCSReturnCode simulate(TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) const override
Method in all derived classes to do some simulation.
bool msgLvl(const MSG::Level lvl) const
Check whether the logging system is active at the provided verbosity level.
std::vector< unsigned int > m_bin_start
Contains the index where the TFCSParametrizationBase* instances to run for a given bin start.
virtual unsigned int size() const override
Some derived classes have daughter instances of TFCSParametrizationBase objects The size() and operat...