ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Simulation
ISF
ISF_FastCaloSim
ISF_FastCaloSimEvent
src
TFCSParametrizationEtaSelectChain.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
ISF_FastCaloSimEvent/TFCSParametrizationEtaSelectChain.h
"
6
#include "
ISF_FastCaloSimEvent/TFCSSimulationState.h
"
7
#include "
ISF_FastCaloSimEvent/TFCSTruthState.h
"
8
#include "
ISF_FastCaloSimEvent/TFCSExtrapolationState.h
"
9
#include <iostream>
10
11
//=============================================
12
//======= TFCSParametrizationEtaSelectChain =========
13
//=============================================
14
15
void
TFCSParametrizationEtaSelectChain::recalc
() {
16
clear
();
17
if
(
size
() == 0)
18
return
;
19
20
recalc_pdgid_intersect
();
21
recalc_Ekin_intersect
();
22
recalc_eta_union
();
23
24
chain
().shrink_to_fit();
25
}
26
27
void
TFCSParametrizationEtaSelectChain::push_back_in_bin
(
28
TFCSParametrizationBase
*param) {
29
push_back_in_bin
(param, param->
eta_min
(), param->
eta_max
());
30
}
31
32
int
TFCSParametrizationEtaSelectChain::get_bin
(
33
TFCSSimulationState
&,
const
TFCSTruthState
*,
34
const
TFCSExtrapolationState
*extrapol)
const
{
35
return
val_to_bin
(extrapol->
IDCaloBoundary_eta
());
36
}
37
38
const
std::string
TFCSParametrizationEtaSelectChain::get_variable_text
(
39
TFCSSimulationState
&,
const
TFCSTruthState
*,
40
const
TFCSExtrapolationState
*extrapol)
const
{
41
return
std::string(Form(
"eta=%2.2f"
, extrapol->
IDCaloBoundary_eta
()));
42
}
43
44
const
std::string
45
TFCSParametrizationEtaSelectChain::get_bin_text
(
int
bin
)
const
{
46
if
(
bin
== -1 ||
bin
>= (
int
)
get_number_of_bins
()) {
47
return
std::string(Form(
"bin=%d not in [%2.2f<=eta<%2.2f)"
,
bin
,
48
m_bin_low_edge
[0],
49
m_bin_low_edge
[
get_number_of_bins
()]));
50
}
51
return
std::string(Form(
"bin=%d, %2.2f<=eta<%2.2f"
,
bin
,
m_bin_low_edge
[
bin
],
52
m_bin_low_edge
[
bin
+ 1]));
53
}
54
55
void
TFCSParametrizationEtaSelectChain::unit_test
(
56
TFCSSimulationState
*simulstate,
TFCSTruthState
*truth,
57
TFCSExtrapolationState
*extrapol) {
58
ISF_FCS::MLogging
logger
;
59
if
(!simulstate)
60
simulstate =
new
TFCSSimulationState
();
61
if
(!truth)
62
truth =
new
TFCSTruthState
();
63
if
(!extrapol)
64
extrapol =
new
TFCSExtrapolationState
();
65
66
TFCSParametrizationEtaSelectChain
chain
(
"chain"
,
"chain"
);
67
chain
.setLevel(MSG::DEBUG);
68
69
TFCSParametrization
*param;
70
param =
new
TFCSParametrization
(
"A begin all"
,
"A begin all"
);
71
param->
setLevel
(MSG::DEBUG);
72
param->
set_eta_nominal
(2);
73
param->
set_eta_min
(2);
74
param->
set_eta_max
(3);
75
chain
.push_before_first_bin(param);
76
param =
new
TFCSParametrization
(
"A end all"
,
"A end all"
);
77
param->
setLevel
(MSG::DEBUG);
78
param->
set_eta_nominal
(2);
79
param->
set_eta_min
(2);
80
param->
set_eta_max
(3);
81
chain
.push_back(param);
82
83
const
int
n_params = 5;
84
for
(
int
i = 2; i < n_params; ++i) {
85
param =
new
TFCSParametrization
(Form(
"A%d"
, i), Form(
"A %d"
, i));
86
param->
setLevel
(MSG::DEBUG);
87
param->
set_eta_nominal
(i * i + 0.1);
88
param->
set_eta_min
(i * i);
89
param->
set_eta_max
((i + 1) * (i + 1));
90
chain
.push_back_in_bin(param);
91
}
92
for
(
int
i = n_params; i >= 1; --i) {
93
param =
new
TFCSParametrization
(Form(
"B%d"
, i), Form(
"B %d"
, i));
94
param->
setLevel
(MSG::DEBUG);
95
param->
set_eta_nominal
(i * i + 0.1);
96
param->
set_eta_min
(i * i);
97
param->
set_eta_max
((i + 1) * (i + 1));
98
chain
.push_back_in_bin(param);
99
}
100
101
ATH_MSG_NOCLASS
(
logger
,
"==== Chain setup ===="
);
102
chain
.Print();
103
104
param =
new
TFCSParametrization
(
"B end all"
,
"B end all"
);
105
param->
setLevel
(MSG::DEBUG);
106
chain
.push_back(param);
107
param =
new
TFCSParametrization
(
"B begin all"
,
"B begin all"
);
108
param->
setLevel
(MSG::DEBUG);
109
chain
.push_before_first_bin(param);
110
111
ATH_MSG_NOCLASS
(
logger
,
"==== Chain setup ===="
);
112
chain
.Print();
113
ATH_MSG_NOCLASS
(
logger
,
"==== Simulate with eta=0.1 ===="
);
114
extrapol->
set_IDCaloBoundary_eta
(0.1);
115
chain
.simulate(*simulstate, truth, extrapol);
116
ATH_MSG_NOCLASS
(
logger
,
"==== Simulate with eta=1.1 ===="
);
117
extrapol->
set_IDCaloBoundary_eta
(1.1);
118
chain
.simulate(*simulstate, truth, extrapol);
119
ATH_MSG_NOCLASS
(
logger
,
"==== Simulate with eta=2.1 ===="
);
120
extrapol->
set_IDCaloBoundary_eta
(2.1);
121
chain
.simulate(*simulstate, truth, extrapol);
122
ATH_MSG_NOCLASS
(
logger
,
"==== Simulate with eta=4.1 ===="
);
123
extrapol->
set_IDCaloBoundary_eta
(4.1);
124
chain
.simulate(*simulstate, truth, extrapol);
125
ATH_MSG_NOCLASS
(
logger
,
"==== Simulate with eta=100 ===="
);
126
extrapol->
set_IDCaloBoundary_eta
(100);
127
chain
.simulate(*simulstate, truth, extrapol);
128
ATH_MSG_NOCLASS
(
logger
,
"==================================="
<< std::endl);
129
}
ATH_MSG_NOCLASS
#define ATH_MSG_NOCLASS(logger_name, x)
Definition
MLogging.h:52
clear
void clear()
Empty the pool.
TFCSExtrapolationState.h
TFCSParametrizationEtaSelectChain.h
TFCSSimulationState.h
TFCSTruthState.h
ISF_FCS::MLogging
Cut down AthMessaging.
Definition
MLogging.h:176
ISF_FCS::MLogging::setLevel
virtual void setLevel(MSG::Level lvl)
Update outputlevel.
Definition
MLogging.cxx:105
TFCSExtrapolationState
Definition
TFCSExtrapolationState.h:13
TFCSExtrapolationState::IDCaloBoundary_eta
double IDCaloBoundary_eta() const
Definition
TFCSExtrapolationState.h:63
TFCSExtrapolationState::set_IDCaloBoundary_eta
void set_IDCaloBoundary_eta(double val)
Definition
TFCSExtrapolationState.h:48
TFCSParametrizationBase
Definition
TFCSParametrizationBase.h:46
TFCSParametrizationBase::eta_max
virtual double eta_max() const
Definition
TFCSParametrizationBase.h:81
TFCSParametrizationBase::eta_min
virtual double eta_min() const
Definition
TFCSParametrizationBase.h:80
TFCSParametrizationBinnedChain::get_number_of_bins
virtual unsigned int get_number_of_bins() const
Definition
TFCSParametrizationBinnedChain.h:22
TFCSParametrizationChain::recalc_pdgid_intersect
void recalc_pdgid_intersect()
Definition
TFCSParametrizationChain.cxx:20
TFCSParametrizationChain::recalc_Ekin_intersect
void recalc_Ekin_intersect()
Definition
TFCSParametrizationChain.cxx:45
TFCSParametrizationChain::chain
const Chain_t & chain() const
Definition
TFCSParametrizationChain.h:53
TFCSParametrizationChain::recalc_eta_union
void recalc_eta_union()
Definition
TFCSParametrizationChain.cxx:98
TFCSParametrizationChain::size
virtual unsigned int size() const override
Some derived classes have daughter instances of TFCSParametrizationBase objects The size() and operat...
Definition
TFCSParametrizationChain.h:41
TFCSParametrizationEtaSelectChain::unit_test
static void unit_test(TFCSSimulationState *simulstate=nullptr, TFCSTruthState *truth=nullptr, TFCSExtrapolationState *extrapol=nullptr)
Definition
TFCSParametrizationEtaSelectChain.cxx:55
TFCSParametrizationEtaSelectChain::get_variable_text
virtual const std::string get_variable_text(TFCSSimulationState &simulstate, const TFCSTruthState *, const TFCSExtrapolationState *) const override
Definition
TFCSParametrizationEtaSelectChain.cxx:38
TFCSParametrizationEtaSelectChain::TFCSParametrizationEtaSelectChain
TFCSParametrizationEtaSelectChain(const char *name=nullptr, const char *title=nullptr)
Definition
TFCSParametrizationEtaSelectChain.h:13
TFCSParametrizationEtaSelectChain::recalc
virtual void recalc() override
Default is to call recalc_pdgid_intersect() and recalc_Ekin_eta_intersect().
Definition
TFCSParametrizationEtaSelectChain.cxx:15
TFCSParametrizationEtaSelectChain::get_bin
virtual int get_bin(TFCSSimulationState &, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) const override
this method should determine in derived classes which bin to simulate, so that the simulate method ca...
Definition
TFCSParametrizationEtaSelectChain.cxx:32
TFCSParametrizationEtaSelectChain::push_back_in_bin
virtual void push_back_in_bin(TFCSParametrizationBase *param)
Definition
TFCSParametrizationEtaSelectChain.cxx:27
TFCSParametrizationEtaSelectChain::get_bin_text
virtual const std::string get_bin_text(int bin) const override
print the range of a bin; for bin -1, print the allowed range
Definition
TFCSParametrizationEtaSelectChain.cxx:45
TFCSParametrizationFloatSelectChain::m_bin_low_edge
std::vector< float > m_bin_low_edge
Definition
TFCSParametrizationFloatSelectChain.h:41
TFCSParametrizationFloatSelectChain::val_to_bin
int val_to_bin(float val) const
Definition
TFCSParametrizationFloatSelectChain.cxx:92
TFCSParametrization
Definition
TFCSParametrization.h:10
TFCSParametrization::set_eta_max
virtual void set_eta_max(double max)
Definition
TFCSParametrization.cxx:53
TFCSParametrization::TFCSParametrization
TFCSParametrization(const char *name=nullptr, const char *title=nullptr)
Definition
TFCSParametrization.cxx:12
TFCSParametrization::set_eta_nominal
virtual void set_eta_nominal(double min)
Definition
TFCSParametrization.cxx:47
TFCSParametrization::set_eta_min
virtual void set_eta_min(double min)
Definition
TFCSParametrization.cxx:51
TFCSSimulationState
Definition
TFCSSimulationState.h:32
TFCSTruthState
Definition
TFCSTruthState.h:13
bin
Definition
BinsDiffFromStripMedian.h:43
logger
static Root::TMsgLogger logger("iLumiCalc")
Generated on
for ATLAS Offline Software by
1.17.0