ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Simulation
ISF
ISF_FastCaloSim
ISF_FastCaloSimEvent
ISF_FastCaloSimEvent
TFCSVoxelHistoLateralCovarianceFluctuations.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef TFCSVoxelHistoLateralCovarianceFluctuations_h
6
#define TFCSVoxelHistoLateralCovarianceFluctuations_h
7
8
#include "
ISF_FastCaloSimEvent/TFCSLateralShapeParametrizationHitBase.h
"
9
#include "
ISF_FastCaloSimEvent/FastCaloSim_CaloCell_ID.h
"
10
11
#include "TVectorD.h"
12
#include "TMatrixD.h"
13
#include "TH2.h"
14
15
class
TFCS1DFunction
;
16
class
TFile;
17
18
class
TFCSVoxelHistoLateralCovarianceFluctuations
19
:
public
TFCSLateralShapeParametrizationHitBase
{
20
public
:
21
TFCSVoxelHistoLateralCovarianceFluctuations
(
const
char
*name =
nullptr
,
22
const
char
*title =
nullptr
);
23
virtual
~TFCSVoxelHistoLateralCovarianceFluctuations
();
24
25
virtual
void
set_geometry
(
ICaloGeometry
*geo)
override
{
m_geo
= geo; };
26
ICaloGeometry
*
get_geometry
() {
return
m_geo
; };
27
28
bool
initialize
(TFile *inputfile,
const
std::string &folder);
29
32
virtual
FCSReturnCode
33
simulate
(
TFCSSimulationState
&simulstate,
const
TFCSTruthState
*truth,
34
const
TFCSExtrapolationState
*extrapol)
const override
;
35
38
virtual
FCSReturnCode
39
simulate_hit
(
Hit
&
hit
,
TFCSSimulationState
&simulstate,
40
const
TFCSTruthState
*truth,
41
const
TFCSExtrapolationState
*extrapol)
override
;
42
43
protected
:
44
ICaloGeometry
*
m_geo
{};
45
46
static
const
std::uint32_t
47
s_layer_hash
[
CaloCell_ID_FCS::MaxSample
];
48
static
const
std::uint32_t
49
s_layer_hash_geo
[
CaloCell_ID_FCS::MaxSample
];
50
51
typedef
std::vector<std::vector<float>>
weight_t
;
52
53
std::vector<std::vector<std::vector<TFCS1DFunction *>>>
m_transform
;
54
55
// For a 5*5 cell grid, nDim should be 5
56
int
m_nDim_x
{};
57
int
m_nDim_y
{};
58
std::vector<TH2 *>
m_voxel_template
;
59
std::vector<TVectorD>
m_parMeans
;
60
std::vector<TMatrixD>
m_EigenVectors
;
// Eigen-vectors of covariance
61
std::vector<TVectorD>
m_EigenValues
;
// Eigen-values of covariance
62
63
void
MultiGaus
(
TFCSSimulationState
&simulstate, TVectorD &genPars)
const
;
64
65
ClassDefOverride(
TFCSVoxelHistoLateralCovarianceFluctuations
,
66
1)
// TFCSVoxelHistoLateralCovarianceFluctuations
67
};
68
69
#endif
FastCaloSim_CaloCell_ID.h
hit
bool hit(const Container &ids, int pdgId)
Definition
JetIRCSafeLabelTool.cxx:64
TFCSLateralShapeParametrizationHitBase.h
FCSReturnCode
FCSReturnCode
Base class for all FastCaloSim parametrizations Functionality in derivde classes is provided through ...
Definition
TFCSParametrizationBase.h:41
ICaloGeometry
Definition
ICaloGeometry.h:14
TFCS1DFunction
Definition
TFCS1DFunction.h:17
TFCSExtrapolationState
Definition
TFCSExtrapolationState.h:13
TFCSLateralShapeParametrizationHitBase::Hit
Definition
TFCSLateralShapeParametrizationHitBase.h:42
TFCSLateralShapeParametrizationHitBase::TFCSLateralShapeParametrizationHitBase
TFCSLateralShapeParametrizationHitBase(const char *name=nullptr, const char *title=nullptr)
Definition
TFCSLateralShapeParametrizationHitBase.cxx:15
TFCSSimulationState
Definition
TFCSSimulationState.h:32
TFCSTruthState
Definition
TFCSTruthState.h:13
TFCSVoxelHistoLateralCovarianceFluctuations::simulate
virtual FCSReturnCode simulate(TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) const override
create one fluctuated shape for a shower to be applied as scale factor to the average shape Store the...
Definition
TFCSVoxelHistoLateralCovarianceFluctuations.cxx:184
TFCSVoxelHistoLateralCovarianceFluctuations::~TFCSVoxelHistoLateralCovarianceFluctuations
virtual ~TFCSVoxelHistoLateralCovarianceFluctuations()
Definition
TFCSVoxelHistoLateralCovarianceFluctuations.cxx:60
TFCSVoxelHistoLateralCovarianceFluctuations::m_geo
ICaloGeometry * m_geo
Definition
TFCSVoxelHistoLateralCovarianceFluctuations.h:44
TFCSVoxelHistoLateralCovarianceFluctuations::m_transform
std::vector< std::vector< std::vector< TFCS1DFunction * > > > m_transform
Definition
TFCSVoxelHistoLateralCovarianceFluctuations.h:53
TFCSVoxelHistoLateralCovarianceFluctuations::s_layer_hash
static const std::uint32_t s_layer_hash[CaloCell_ID_FCS::MaxSample]
do not persistify
Definition
TFCSVoxelHistoLateralCovarianceFluctuations.h:29
TFCSVoxelHistoLateralCovarianceFluctuations::get_geometry
ICaloGeometry * get_geometry()
Definition
TFCSVoxelHistoLateralCovarianceFluctuations.h:26
TFCSVoxelHistoLateralCovarianceFluctuations::m_EigenVectors
std::vector< TMatrixD > m_EigenVectors
Definition
TFCSVoxelHistoLateralCovarianceFluctuations.h:60
TFCSVoxelHistoLateralCovarianceFluctuations::MultiGaus
void MultiGaus(TFCSSimulationState &simulstate, TVectorD &genPars) const
Definition
TFCSVoxelHistoLateralCovarianceFluctuations.cxx:159
TFCSVoxelHistoLateralCovarianceFluctuations::simulate_hit
virtual FCSReturnCode simulate_hit(Hit &hit, TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) override
weight the energy of one hit by the fluctuation calculated in simulate(...)
Definition
TFCSVoxelHistoLateralCovarianceFluctuations.cxx:278
TFCSVoxelHistoLateralCovarianceFluctuations::m_parMeans
std::vector< TVectorD > m_parMeans
Definition
TFCSVoxelHistoLateralCovarianceFluctuations.h:59
TFCSVoxelHistoLateralCovarianceFluctuations::m_nDim_x
int m_nDim_x
Definition
TFCSVoxelHistoLateralCovarianceFluctuations.h:56
TFCSVoxelHistoLateralCovarianceFluctuations::m_nDim_y
int m_nDim_y
Definition
TFCSVoxelHistoLateralCovarianceFluctuations.h:57
TFCSVoxelHistoLateralCovarianceFluctuations::TFCSVoxelHistoLateralCovarianceFluctuations
TFCSVoxelHistoLateralCovarianceFluctuations(const char *name=nullptr, const char *title=nullptr)
Definition
TFCSVoxelHistoLateralCovarianceFluctuations.cxx:55
TFCSVoxelHistoLateralCovarianceFluctuations::set_geometry
virtual void set_geometry(ICaloGeometry *geo) override
Method to set the geometry access pointer.
Definition
TFCSVoxelHistoLateralCovarianceFluctuations.h:25
TFCSVoxelHistoLateralCovarianceFluctuations::weight_t
std::vector< std::vector< float > > weight_t
do not persistify
Definition
TFCSVoxelHistoLateralCovarianceFluctuations.h:51
TFCSVoxelHistoLateralCovarianceFluctuations::m_EigenValues
std::vector< TVectorD > m_EigenValues
Definition
TFCSVoxelHistoLateralCovarianceFluctuations.h:61
TFCSVoxelHistoLateralCovarianceFluctuations::m_voxel_template
std::vector< TH2 * > m_voxel_template
Definition
TFCSVoxelHistoLateralCovarianceFluctuations.h:58
TFCSVoxelHistoLateralCovarianceFluctuations::s_layer_hash_geo
static const std::uint32_t s_layer_hash_geo[CaloCell_ID_FCS::MaxSample]
do not persistify
Definition
TFCSVoxelHistoLateralCovarianceFluctuations.h:40
CaloCell_ID_FCS::MaxSample
@ MaxSample
Definition
FastCaloSim_CaloCell_ID.h:47
initialize
void initialize()
Definition
run_EoverP.cxx:894
Generated on
for ATLAS Offline Software by
1.17.0