ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Simulation
ISF
ISF_FastCaloSim
ISF_FastCaloSimEvent
src
TFCSLateralShapeParametrizationHitBase.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/TFCSLateralShapeParametrizationHitBase.h
"
6
#include "
ISF_FastCaloSimEvent/FastCaloSim_CaloCell_ID.h
"
7
8
#include "
ISF_FastCaloSimEvent/TFCSSimulationState.h
"
9
#include "
ISF_FastCaloSimEvent/TFCSExtrapolationState.h
"
10
11
//=============================================
12
//======= TFCSLateralShapeParametrization =========
13
//=============================================
14
15
TFCSLateralShapeParametrizationHitBase::TFCSLateralShapeParametrizationHitBase
(
16
const
char
*name,
const
char
*title)
17
:
TFCSLateralShapeParametrization
(name, title) {}
18
19
double
TFCSLateralShapeParametrizationHitBase::get_sigma2_fluctuation
(
20
TFCSSimulationState
&
/*simulstate*/
,
const
TFCSTruthState
*
/*truth*/
,
21
const
TFCSExtrapolationState
*
/*extrapol*/
)
const
{
22
return
-1;
23
}
24
25
int
TFCSLateralShapeParametrizationHitBase::get_number_of_hits
(
26
TFCSSimulationState
&
/*simulstate*/
,
const
TFCSTruthState
*
/*truth*/
,
27
const
TFCSExtrapolationState
*
/*extrapol*/
)
const
{
28
return
-1;
29
}
30
31
float
TFCSLateralShapeParametrizationHitBase::get_E_hit
(
32
TFCSSimulationState
&simulstate,
const
TFCSTruthState
*truth,
33
const
TFCSExtrapolationState
*extrapol)
const
{
34
const
int
nhits =
get_number_of_hits
(simulstate, truth, extrapol);
35
const
int
sample =
calosample
();
36
if
(nhits <= 0 || sample < 0)
37
return
-1.;
38
else
39
return
simulstate.
E
(sample) / nhits;
40
}
41
42
float
TFCSLateralShapeParametrizationHitBase::getMinWeight
()
const
{
43
return
-1.;
44
}
45
46
float
TFCSLateralShapeParametrizationHitBase::getMaxWeight
()
const
{
47
return
-1.;
48
}
49
50
FCSReturnCode
TFCSLateralShapeParametrizationHitBase::simulate_hit
(
51
Hit
&
hit
,
TFCSSimulationState
&
/*simulstate*/
,
52
const
TFCSTruthState
*
/*truth*/
,
const
TFCSExtrapolationState
*extrapol) {
53
int
cs =
calosample
();
54
hit
.eta() = 0.5 * (extrapol->
eta
(cs,
CaloSubPos::SUBPOS_ENT
) +
55
extrapol->
eta
(cs,
CaloSubPos::SUBPOS_EXT
));
56
hit
.phi() = 0.5 * (extrapol->
phi
(cs,
CaloSubPos::SUBPOS_ENT
) +
57
extrapol->
phi
(cs,
CaloSubPos::SUBPOS_EXT
));
58
59
return
FCSSuccess
;
60
}
FastCaloSim_CaloCell_ID.h
SUBPOS_ENT
@ SUBPOS_ENT
Definition
FastCaloSim_CaloCell_ID.h:12
SUBPOS_EXT
@ SUBPOS_EXT
Definition
FastCaloSim_CaloCell_ID.h:13
hit
bool hit(const Container &ids, int pdgId)
Definition
JetIRCSafeLabelTool.cxx:64
TFCSExtrapolationState.h
TFCSLateralShapeParametrizationHitBase.h
FCSReturnCode
FCSReturnCode
Base class for all FastCaloSim parametrizations Functionality in derivde classes is provided through ...
Definition
TFCSParametrizationBase.h:41
FCSSuccess
@ FCSSuccess
Definition
TFCSParametrizationBase.h:41
TFCSSimulationState.h
TFCSExtrapolationState
Definition
TFCSExtrapolationState.h:13
TFCSExtrapolationState::phi
double phi(int layer, int subpos) const
Definition
TFCSExtrapolationState.h:55
TFCSExtrapolationState::eta
double eta(int layer, int subpos) const
Definition
TFCSExtrapolationState.h:54
TFCSLateralShapeParametrizationHitBase::Hit
Definition
TFCSLateralShapeParametrizationHitBase.h:42
TFCSLateralShapeParametrizationHitBase::getMaxWeight
virtual float getMaxWeight() const
Definition
TFCSLateralShapeParametrizationHitBase.cxx:46
TFCSLateralShapeParametrizationHitBase::get_number_of_hits
virtual int get_number_of_hits(TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) const
Call get_number_of_hits() only once per shower simulation, as it could be calculated with random numb...
Definition
TFCSLateralShapeParametrizationHitBase.cxx:25
TFCSLateralShapeParametrizationHitBase::get_E_hit
virtual float get_E_hit(TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) const
Get hit energy from layer energy and number of hits.
Definition
TFCSLateralShapeParametrizationHitBase.cxx:31
TFCSLateralShapeParametrizationHitBase::get_sigma2_fluctuation
virtual double get_sigma2_fluctuation(TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) const
Give the effective size sigma^2 of the fluctuations that should be generated by the amount of generat...
Definition
TFCSLateralShapeParametrizationHitBase.cxx:19
TFCSLateralShapeParametrizationHitBase::TFCSLateralShapeParametrizationHitBase
TFCSLateralShapeParametrizationHitBase(const char *name=nullptr, const char *title=nullptr)
Definition
TFCSLateralShapeParametrizationHitBase.cxx:15
TFCSLateralShapeParametrizationHitBase::getMinWeight
virtual float getMinWeight() const
Get minimum and maximum value of weight for hit energy reweighting.
Definition
TFCSLateralShapeParametrizationHitBase.cxx:42
TFCSLateralShapeParametrizationHitBase::simulate_hit
virtual FCSReturnCode simulate_hit(Hit &hit, TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol)
simulated one hit position with some energy.
Definition
TFCSLateralShapeParametrizationHitBase.cxx:50
TFCSLateralShapeParametrization::TFCSLateralShapeParametrization
TFCSLateralShapeParametrization(const char *name=nullptr, const char *title=nullptr)
Definition
TFCSLateralShapeParametrization.cxx:13
TFCSLateralShapeParametrization::calosample
int calosample() const
Definition
TFCSLateralShapeParametrization.h:34
TFCSSimulationState
Definition
TFCSSimulationState.h:32
TFCSSimulationState::E
double E() const
Definition
TFCSSimulationState.h:42
TFCSTruthState
Definition
TFCSTruthState.h:13
Generated on
for ATLAS Offline Software by
1.17.0