ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
eflowRec
src
eflowLayerIntegrator.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef EFLOWREC_EFLOWLAYERINTEGRATOR_H
6
#define EFLOWREC_EFLOWLAYERINTEGRATOR_H
7
8
/********************************************************************
9
10
NAME: eflowLayerIntegrator.h
11
PACKAGE: offline/Reconstruction/eflowRec
12
13
AUTHORS: M.Hodgkinson, R Duxfield (based on R.Duxfields Root package)
14
CREATED: 18th Aug, 2005
15
16
********************************************************************/
17
18
#include <vector>
19
#include "
eflowCaloRegions.h
"
20
#include "
eflowDepthCalculator.h
"
21
#include "
eflowUtil.h
"
22
#include "
xAODCaloEvent/CaloCluster.h
"
23
24
class
EventContext;
25
class
CaloCell
;
26
class
eflowRecCluster
;
27
class
eflowRecTrack
;
28
class
eflowTrackClusterLink
;
29
class
eflowTrackCaloPoints
;
30
31
template
<
int
expType>
class
eflowCellIntegrator
;
32
36
class
eflowLayerIntegrator
{
37
38
public
:
39
40
eflowLayerIntegrator
(
double
stdDev,
double
error
,
double
rMaxOverStdDev,
bool
isHLLHC =
false
);
41
eflowLayerIntegrator
(
const
eflowLayerIntegrator
& originalEflowLayerIntegrator);
42
eflowLayerIntegrator
&
operator=
(
const
eflowLayerIntegrator
& originalEflowLayerIntegrator);
43
44
~eflowLayerIntegrator
();
45
46
void
measureNewClus
(
const
xAOD::CaloCluster
* clus,
const
eflowTrackCaloPoints
& trackCalo);
47
void
measureNewClus
(
eflowTrackClusterLink
* trackClusterLink);
48
void
measureNewClus
(
const
EventContext& ctx,
const
std::vector<eflowRecCluster*>& efRecClusters,
eflowRecTrack
* track);
49
void
measureNewClus
(
const
std::vector<xAOD::CaloCluster*>& clusVec,
const
eflowTrackCaloPoints
& trackCalo);
50
51
eflowFirstIntENUM
getFirstIntLayer
()
const
;
52
53
private
:
54
void
resetAllClustersIntegralForNewTrack
(
const
eflowTrackCaloPoints
& trackCalo);
55
void
addToAllClustersIntegral
(
const
std::vector<double>& clusterIntegral);
56
57
void
measureCluster
(
eflowTrackClusterLink
* trackClusterLink);
58
void
measureCluster
(
const
xAOD::CaloCluster
* clus,
const
eflowTrackCaloPoints
& trackCalo);
59
void
measureCell
(
const
CaloCell
* cell,
const
eflowTrackCaloPoints
& trackCalo);
60
61
double
m_rMax
;
62
63
/* Defines whether we are in HLLHC (Run4) setup or not (Runs 1,2 or 3) */
64
bool
m_isHLLHC
;
65
66
std::vector<double>
m_allClustersIntegral
;
67
std::vector<double>
m_singleClusterIntegral
;
68
69
eflowDepthCalculator
m_caloModel
;
70
71
double
m_densityConversion
[
eflowCalo::nRegions
]{};
72
73
std::vector<double>
m_nUnitCellPerWindowOverCellEtaPhiArea
;
74
75
std::unique_ptr<eflowCellIntegrator<0> >
m_integrator
;
76
std::unique_ptr<eflowCellIntegrator<1> >
m_integratorLookup
;
77
};
78
79
#endif
CaloCluster.h
CaloCell
Data object for each calorimeter readout cell.
Definition
CaloCell.h:57
eflowCalo::nRegions
static const int nRegions
Definition
eflowCaloRegions.h:37
eflowCellIntegrator
Class that controls the 2D integration.
Definition
eflowCellIntegrator.h:154
eflowDepthCalculator
The class calculates the depth of each layer, in interaction lengths, for a given EM2 eta.
Definition
eflowDepthCalculator.h:27
eflowLayerIntegrator::m_allClustersIntegral
std::vector< double > m_allClustersIntegral
Definition
eflowLayerIntegrator.h:66
eflowLayerIntegrator::~eflowLayerIntegrator
~eflowLayerIntegrator()
eflowLayerIntegrator::resetAllClustersIntegralForNewTrack
void resetAllClustersIntegralForNewTrack(const eflowTrackCaloPoints &trackCalo)
Definition
eflowLayerIntegrator.cxx:100
eflowLayerIntegrator::m_integratorLookup
std::unique_ptr< eflowCellIntegrator< 1 > > m_integratorLookup
Definition
eflowLayerIntegrator.h:76
eflowLayerIntegrator::measureCluster
void measureCluster(eflowTrackClusterLink *trackClusterLink)
Definition
eflowLayerIntegrator.cxx:160
eflowLayerIntegrator::operator=
eflowLayerIntegrator & operator=(const eflowLayerIntegrator &originalEflowLayerIntegrator)
Definition
eflowLayerIntegrator.cxx:79
eflowLayerIntegrator::m_caloModel
eflowDepthCalculator m_caloModel
Definition
eflowLayerIntegrator.h:69
eflowLayerIntegrator::addToAllClustersIntegral
void addToAllClustersIntegral(const std::vector< double > &clusterIntegral)
Definition
eflowLayerIntegrator.cxx:117
eflowLayerIntegrator::measureCell
void measureCell(const CaloCell *cell, const eflowTrackCaloPoints &trackCalo)
Definition
eflowLayerIntegrator.cxx:193
eflowLayerIntegrator::m_rMax
double m_rMax
Definition
eflowLayerIntegrator.h:61
eflowLayerIntegrator::measureNewClus
void measureNewClus(const xAOD::CaloCluster *clus, const eflowTrackCaloPoints &trackCalo)
Definition
eflowLayerIntegrator.cxx:154
eflowLayerIntegrator::eflowLayerIntegrator
eflowLayerIntegrator(double stdDev, double error, double rMaxOverStdDev, bool isHLLHC=false)
Definition
eflowLayerIntegrator.cxx:33
eflowLayerIntegrator::m_densityConversion
double m_densityConversion[eflowCalo::nRegions]
Definition
eflowLayerIntegrator.h:71
eflowLayerIntegrator::m_singleClusterIntegral
std::vector< double > m_singleClusterIntegral
Definition
eflowLayerIntegrator.h:67
eflowLayerIntegrator::m_nUnitCellPerWindowOverCellEtaPhiArea
std::vector< double > m_nUnitCellPerWindowOverCellEtaPhiArea
Definition
eflowLayerIntegrator.h:73
eflowLayerIntegrator::getFirstIntLayer
eflowFirstIntENUM getFirstIntLayer() const
Definition
eflowLayerIntegrator.cxx:230
eflowLayerIntegrator::m_isHLLHC
bool m_isHLLHC
Definition
eflowLayerIntegrator.h:64
eflowLayerIntegrator::m_integrator
std::unique_ptr< eflowCellIntegrator< 0 > > m_integrator
Definition
eflowLayerIntegrator.h:75
eflowRecCluster
This class extends the information about a xAOD::CaloCluster.
Definition
eflowRecCluster.h:40
eflowRecTrack
This class extends the information about a xAOD::Track.
Definition
eflowRecTrack.h:49
eflowTrackCaloPoints
This class stores a map of calorimeter layers and track parameters (the result of the track extrapola...
Definition
eflowTrackCaloPoints.h:30
eflowTrackClusterLink
Stores pointers to an eflowRecTrack and an eflowRecCluster.
Definition
eflowTrackClusterLink.h:36
eflowCaloRegions.h
eflowFirstIntENUM
eflowFirstIntRegions::J1STLAYER eflowFirstIntENUM
Definition
eflowCaloRegions.h:79
eflowDepthCalculator.h
eflowUtil.h
error
Definition
IImpactPoint3dEstimator.h:72
xAOD::CaloCluster
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.
Definition
Event/xAOD/xAODCaloEvent/xAODCaloEvent/CaloCluster.h:19
Generated on
for ATLAS Offline Software by
1.17.0