ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Simulation
ISF
ISF_FastCaloSim
ISF_FastCaloSimEvent
ISF_FastCaloSimEvent
TFCSPCAEnergyParametrization.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef ISF_FASTCALOSIMEVENT_TFCSPCAEnergyParametrization_h
6
#define ISF_FASTCALOSIMEVENT_TFCSPCAEnergyParametrization_h
7
8
#include "
ISF_FastCaloSimEvent/TFCSEnergyParametrization.h
"
9
#include "
ISF_FastCaloSimEvent/TFCS1DFunction.h
"
10
#include "
ISF_FastCaloSimEvent/IntArray.h
"
11
#include "TMatrixF.h"
12
#include "TMatrixDSym.h"
13
#include "TVectorF.h"
14
#include "TFile.h"
15
16
class
TH1;
17
18
class
TFCSPCAEnergyParametrization
:
public
TFCSEnergyParametrization
{
19
public
:
20
enum
FCSReturnCodePCA
{
21
// Assuming an extrem h_totalE_ratio histogram that would cause a retry in
22
// 50% of the cases,
23
// returning FCSRetry+20 will cause an accidental WARNING for every
24
// 2^10=1024 simulated particles and
25
// an accidental FATAL for every 2^20, which should be safe even for largest
26
// scale productions
27
FCSRetryPCA
=
FCSRetry
+ 20
28
};
29
30
TFCSPCAEnergyParametrization
(
const
char
*name =
nullptr
,
31
const
char
*title =
nullptr
);
32
33
virtual
FCSReturnCode
34
simulate
(
TFCSSimulationState
&simulstate,
const
TFCSTruthState
*truth,
35
const
TFCSExtrapolationState
*extrapol)
const override
;
36
37
int
n_pcabins
()
const
{
return
m_numberpcabins
; };
38
virtual
int
n_bins
()
const override
{
return
m_numberpcabins
; };
39
const
std::vector<int> &
get_layers
()
const
{
return
m_RelevantLayers
; };
40
41
virtual
bool
is_match_Ekin_bin
(
int
Ekin_bin)
const override
;
42
virtual
bool
is_match_calosample
(
int
calosample)
const override
;
43
virtual
bool
is_match_all_Ekin_bin
()
const override
{
return
true
; };
44
virtual
bool
is_match_all_calosample
()
const override
{
return
false
; };
45
46
static
void
P2X
(TVectorD *, TVectorD *, TMatrixD *,
int
,
const
double
*,
47
double
*,
int
);
48
bool
loadInputs
(TFile *
file
);
49
bool
loadInputs
(TFile *
file
,
const
std::string &);
50
51
void
clean
();
52
53
void
Print
(Option_t *option =
""
)
const override
;
54
55
float
get_total_energy_normalization
()
const
{
56
return
m_total_energy_normalization
;
57
};
58
void
set_total_energy_normalization
(
float
norm) {
59
m_total_energy_normalization
= norm;
60
};
61
62
void
set_totalE_probability_ratio
(
int
Ekin_bin, TH1 *hist);
63
TH1 *
get_totalE_probability_ratio
(
int
Ekin_bin)
const
;
64
65
int
do_rescale
;
66
67
private
:
68
std::vector<int>
m_RelevantLayers
;
69
70
std::vector<TMatrixD *>
m_EV
;
71
std::vector<TVectorD *>
m_MeanValues
;
72
std::vector<TVectorD *>
m_SigmaValues
;
73
std::vector<TVectorD *>
m_Gauss_means
;
74
std::vector<TVectorD *>
m_Gauss_rms
;
75
std::vector<std::vector<TFCS1DFunction *>>
m_cumulative
;
76
77
std::vector<TH1 *>
m_totalE_probability_ratio
;
78
79
int
m_numberpcabins
;
80
81
float
m_total_energy_normalization
{1};
82
83
ClassDefOverride(
TFCSPCAEnergyParametrization
,
84
3)
// TFCSPCAEnergyParametrization
85
};
86
87
#endif
IntArray.h
TFCS1DFunction.h
TFCSEnergyParametrization.h
FCSReturnCode
FCSReturnCode
Base class for all FastCaloSim parametrizations Functionality in derivde classes is provided through ...
Definition
TFCSParametrizationBase.h:41
FCSRetry
@ FCSRetry
Definition
TFCSParametrizationBase.h:41
TFCSEnergyParametrization::TFCSEnergyParametrization
TFCSEnergyParametrization(const char *name=nullptr, const char *title=nullptr)
Definition
TFCSEnergyParametrization.cxx:12
TFCSExtrapolationState
Definition
TFCSExtrapolationState.h:13
TFCSPCAEnergyParametrization
Definition
TFCSPCAEnergyParametrization.h:18
TFCSPCAEnergyParametrization::m_MeanValues
std::vector< TVectorD * > m_MeanValues
Definition
TFCSPCAEnergyParametrization.h:71
TFCSPCAEnergyParametrization::get_total_energy_normalization
float get_total_energy_normalization() const
Definition
TFCSPCAEnergyParametrization.h:55
TFCSPCAEnergyParametrization::m_total_energy_normalization
float m_total_energy_normalization
Definition
TFCSPCAEnergyParametrization.h:81
TFCSPCAEnergyParametrization::m_Gauss_rms
std::vector< TVectorD * > m_Gauss_rms
Definition
TFCSPCAEnergyParametrization.h:74
TFCSPCAEnergyParametrization::m_Gauss_means
std::vector< TVectorD * > m_Gauss_means
Definition
TFCSPCAEnergyParametrization.h:73
TFCSPCAEnergyParametrization::is_match_calosample
virtual bool is_match_calosample(int calosample) const override
Definition
TFCSPCAEnergyParametrization.cxx:40
TFCSPCAEnergyParametrization::FCSReturnCodePCA
FCSReturnCodePCA
Definition
TFCSPCAEnergyParametrization.h:20
TFCSPCAEnergyParametrization::FCSRetryPCA
@ FCSRetryPCA
Definition
TFCSPCAEnergyParametrization.h:27
TFCSPCAEnergyParametrization::get_layers
const std::vector< int > & get_layers() const
Definition
TFCSPCAEnergyParametrization.h:39
TFCSPCAEnergyParametrization::set_total_energy_normalization
void set_total_energy_normalization(float norm)
Definition
TFCSPCAEnergyParametrization.h:58
TFCSPCAEnergyParametrization::P2X
static void P2X(TVectorD *, TVectorD *, TMatrixD *, int, const double *, double *, int)
Definition
TFCSPCAEnergyParametrization.cxx:232
TFCSPCAEnergyParametrization::clean
void clean()
Definition
TFCSPCAEnergyParametrization.cxx:368
TFCSPCAEnergyParametrization::m_EV
std::vector< TMatrixD * > m_EV
Definition
TFCSPCAEnergyParametrization.h:70
TFCSPCAEnergyParametrization::is_match_all_Ekin_bin
virtual bool is_match_all_Ekin_bin() const override
Definition
TFCSPCAEnergyParametrization.h:43
TFCSPCAEnergyParametrization::m_totalE_probability_ratio
std::vector< TH1 * > m_totalE_probability_ratio
Definition
TFCSPCAEnergyParametrization.h:77
TFCSPCAEnergyParametrization::n_bins
virtual int n_bins() const override
Definition
TFCSPCAEnergyParametrization.h:38
TFCSPCAEnergyParametrization::n_pcabins
int n_pcabins() const
Definition
TFCSPCAEnergyParametrization.h:37
TFCSPCAEnergyParametrization::loadInputs
bool loadInputs(TFile *file)
Definition
TFCSPCAEnergyParametrization.cxx:250
TFCSPCAEnergyParametrization::get_totalE_probability_ratio
TH1 * get_totalE_probability_ratio(int Ekin_bin) const
Definition
TFCSPCAEnergyParametrization.cxx:111
TFCSPCAEnergyParametrization::m_numberpcabins
int m_numberpcabins
Definition
TFCSPCAEnergyParametrization.h:79
TFCSPCAEnergyParametrization::is_match_all_calosample
virtual bool is_match_all_calosample() const override
Definition
TFCSPCAEnergyParametrization.h:44
TFCSPCAEnergyParametrization::set_totalE_probability_ratio
void set_totalE_probability_ratio(int Ekin_bin, TH1 *hist)
Definition
TFCSPCAEnergyParametrization.cxx:102
TFCSPCAEnergyParametrization::Print
void Print(Option_t *option="") const override
Definition
TFCSPCAEnergyParametrization.cxx:48
TFCSPCAEnergyParametrization::simulate
virtual FCSReturnCode simulate(TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) const override
Method in all derived classes to do some simulation.
Definition
TFCSPCAEnergyParametrization.cxx:120
TFCSPCAEnergyParametrization::is_match_Ekin_bin
virtual bool is_match_Ekin_bin(int Ekin_bin) const override
Definition
TFCSPCAEnergyParametrization.cxx:34
TFCSPCAEnergyParametrization::m_SigmaValues
std::vector< TVectorD * > m_SigmaValues
Definition
TFCSPCAEnergyParametrization.h:72
TFCSPCAEnergyParametrization::do_rescale
int do_rescale
Definition
TFCSPCAEnergyParametrization.h:65
TFCSPCAEnergyParametrization::m_cumulative
std::vector< std::vector< TFCS1DFunction * > > m_cumulative
Definition
TFCSPCAEnergyParametrization.h:75
TFCSPCAEnergyParametrization::m_RelevantLayers
std::vector< int > m_RelevantLayers
Definition
TFCSPCAEnergyParametrization.h:68
TFCSPCAEnergyParametrization::TFCSPCAEnergyParametrization
TFCSPCAEnergyParametrization(const char *name=nullptr, const char *title=nullptr)
Definition
TFCSPCAEnergyParametrization.cxx:27
TFCSSimulationState
Definition
TFCSSimulationState.h:32
TFCSTruthState
Definition
TFCSTruthState.h:13
file
TFile * file
Definition
tile_monitor.h:29
Generated on
for ATLAS Offline Software by
1.17.0