ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Simulation
ISF
ISF_FastCaloSim
ISF_FastCaloSimEvent
ISF_FastCaloSimEvent
TFCSEnergyInterpolationSpline.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef ISF_FASTCALOSIMEVENT_TFCSEnergyInterpolationSpline_h
6
#define ISF_FASTCALOSIMEVENT_TFCSEnergyInterpolationSpline_h
7
8
#include "
ISF_FastCaloSimEvent/TFCSParametrization.h
"
9
#include "TSpline.h"
10
11
class
TGraph;
12
13
class
TFCSEnergyInterpolationSpline
:
public
TFCSParametrization
{
14
public
:
15
TFCSEnergyInterpolationSpline
(
const
char
*name =
nullptr
,
16
const
char
*title =
nullptr
);
17
19
enum
FCSEnergyInitializationStatusBits
{
20
kOnlyScaleEnergy
=
21
BIT(15)
23
};
24
25
bool
OnlyScaleEnergy
()
const
{
return
TestBit(
kOnlyScaleEnergy
); };
26
void
set_OnlyScaleEnergy
() { SetBit(
kOnlyScaleEnergy
); };
27
void
reset_OnlyScaleEnergy
() { ResetBit(
kOnlyScaleEnergy
); };
28
29
virtual
bool
is_match_Ekin_bin
(
int
/*Ekin_bin*/
)
const override
{
30
return
true
;
31
};
32
virtual
bool
is_match_calosample
(
int
/*calosample*/
)
const override
{
33
return
true
;
34
};
35
38
void
InitFromSpline
(
const
TSpline3 &
spline
) {
m_spline
=
spline
; };
39
43
void
InitFromArrayInLogEkin
(Int_t np, Double_t logEkin[], Double_t
response
[],
44
const
char
*opt =
nullptr
, Double_t valbeg = 0,
45
Double_t valend = 0);
46
50
void
InitFromArrayInEkin
(Int_t np, Double_t Ekin[], Double_t
response
[],
51
const
char
*opt =
nullptr
, Double_t valbeg = 0,
52
Double_t valend = 0);
53
54
const
TSpline3 &
spline
()
const
{
return
m_spline
; };
55
58
virtual
FCSReturnCode
59
simulate
(
TFCSSimulationState
&simulstate,
const
TFCSTruthState
*truth,
60
const
TFCSExtrapolationState
*extrapol)
const override
;
61
62
void
Print
(Option_t *option =
""
)
const override
;
63
64
static
void
unit_test
(
TFCSSimulationState
*simulstate =
nullptr
,
65
TFCSTruthState
*truth =
nullptr
,
66
const
TFCSExtrapolationState
*extrapol =
nullptr
,
67
TGraph *grspline =
nullptr
);
68
69
private
:
70
TSpline3
m_spline
;
71
72
ClassDefOverride(
TFCSEnergyInterpolationSpline
,
73
1)
// TFCSEnergyInterpolationSpline
74
};
75
76
#endif
response
MDT_Response response
Definition
MDT_ResponseTest.cxx:28
FCSReturnCode
FCSReturnCode
Base class for all FastCaloSim parametrizations Functionality in derivde classes is provided through ...
Definition
TFCSParametrizationBase.h:41
TFCSParametrization.h
TFCSEnergyInterpolationSpline::InitFromSpline
void InitFromSpline(const TSpline3 &spline)
Initialize interpolation from spline x values should be log(Ekin), y values should <E(reco)/Ekin(true...
Definition
TFCSEnergyInterpolationSpline.h:38
TFCSEnergyInterpolationSpline::set_OnlyScaleEnergy
void set_OnlyScaleEnergy()
Definition
TFCSEnergyInterpolationSpline.h:26
TFCSEnergyInterpolationSpline::simulate
virtual FCSReturnCode simulate(TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) const override
Initialize simulstate with the mean reconstructed energy in the calorimater expeted from the true kin...
Definition
TFCSEnergyInterpolationSpline.cxx:53
TFCSEnergyInterpolationSpline::unit_test
static void unit_test(TFCSSimulationState *simulstate=nullptr, TFCSTruthState *truth=nullptr, const TFCSExtrapolationState *extrapol=nullptr, TGraph *grspline=nullptr)
Definition
TFCSEnergyInterpolationSpline.cxx:109
TFCSEnergyInterpolationSpline::InitFromArrayInEkin
void InitFromArrayInEkin(Int_t np, Double_t Ekin[], Double_t response[], const char *opt=nullptr, Double_t valbeg=0, Double_t valend=0)
Initialize spline interpolation from arrays in Ekin and response=<E(reco)/Ekin(true)> opt,...
Definition
TFCSEnergyInterpolationSpline.cxx:43
TFCSEnergyInterpolationSpline::reset_OnlyScaleEnergy
void reset_OnlyScaleEnergy()
Definition
TFCSEnergyInterpolationSpline.h:27
TFCSEnergyInterpolationSpline::FCSEnergyInitializationStatusBits
FCSEnergyInitializationStatusBits
Status bit for energy initialization.
Definition
TFCSEnergyInterpolationSpline.h:19
TFCSEnergyInterpolationSpline::kOnlyScaleEnergy
@ kOnlyScaleEnergy
Set this bit in the TObject bit field the simulated energy.
Definition
TFCSEnergyInterpolationSpline.h:20
TFCSEnergyInterpolationSpline::m_spline
TSpline3 m_spline
Definition
TFCSEnergyInterpolationSpline.h:70
TFCSEnergyInterpolationSpline::OnlyScaleEnergy
bool OnlyScaleEnergy() const
Definition
TFCSEnergyInterpolationSpline.h:25
TFCSEnergyInterpolationSpline::is_match_Ekin_bin
virtual bool is_match_Ekin_bin(int) const override
Definition
TFCSEnergyInterpolationSpline.h:29
TFCSEnergyInterpolationSpline::Print
void Print(Option_t *option="") const override
Definition
TFCSEnergyInterpolationSpline.cxx:92
TFCSEnergyInterpolationSpline::InitFromArrayInLogEkin
void InitFromArrayInLogEkin(Int_t np, Double_t logEkin[], Double_t response[], const char *opt=nullptr, Double_t valbeg=0, Double_t valend=0)
Initialize spline interpolation from arrays in log(Ekin) and response=<E(reco)/Ekin(true)> opt,...
Definition
TFCSEnergyInterpolationSpline.cxx:36
TFCSEnergyInterpolationSpline::TFCSEnergyInterpolationSpline
TFCSEnergyInterpolationSpline(const char *name=nullptr, const char *title=nullptr)
Definition
TFCSEnergyInterpolationSpline.cxx:32
TFCSEnergyInterpolationSpline::spline
const TSpline3 & spline() const
Definition
TFCSEnergyInterpolationSpline.h:54
TFCSEnergyInterpolationSpline::is_match_calosample
virtual bool is_match_calosample(int) const override
Definition
TFCSEnergyInterpolationSpline.h:32
TFCSExtrapolationState
Definition
TFCSExtrapolationState.h:13
TFCSParametrization::TFCSParametrization
TFCSParametrization(const char *name=nullptr, const char *title=nullptr)
Definition
TFCSParametrization.cxx:12
TFCSSimulationState
Definition
TFCSSimulationState.h:32
TFCSTruthState
Definition
TFCSTruthState.h:13
Generated on
for ATLAS Offline Software by
1.17.0