ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
DerivationFramework
DerivationFrameworkCalo
src
CellsInCone.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
CellsInCone.h
"
6
#include "
CaloDetDescr/CaloDetDescrManager.h
"
7
#include "
CaloEvent/CaloCellContainer.h
"
8
#include "
CaloUtils/CaloCellList.h
"
9
#include "
xAODCaloEvent/CaloCluster.h
"
10
#include "
xAODEgamma/Egamma.h
"
11
12
void
13
DerivationFramework::CellsInCone::egammaSelect
(
14
xAOD::CaloCluster
* inputCl,
15
const
CaloCellContainer
* inputcells,
16
const
CaloDetDescrManager
* caloMgr,
17
const
xAOD::Egamma
* eg,
18
const
double
dr)
19
{
20
21
std::vector<const CaloCell*> cells;
22
cells.reserve(100);
23
CaloCellList
myList(caloMgr, inputcells);
24
25
double
egEta = eg->
caloCluster
()->
etaBE
(2);
26
double
egPhi = eg->
caloCluster
()->
phiBE
(2);
27
std::vector<CaloSampling::CaloSample> samples = {
28
CaloSampling::PreSamplerB, CaloSampling::PreSamplerE,
29
CaloSampling::EMB1, CaloSampling::EME1,
30
CaloSampling::EMB2, CaloSampling::EME2,
31
CaloSampling::EMB3, CaloSampling::EME3,
32
CaloSampling::TileBar0, CaloSampling::TileBar1,
33
CaloSampling::TileBar2, CaloSampling::TileExt0,
34
CaloSampling::TileExt1, CaloSampling::TileExt2,
35
CaloSampling::TileGap1, CaloSampling::TileGap2,
36
CaloSampling::TileGap3, CaloSampling::HEC0,
37
CaloSampling::HEC1, CaloSampling::HEC2,
38
CaloSampling::HEC3
39
};
40
41
for
(
auto
samp : samples) {
42
myList.
select
(egEta, egPhi, dr, samp);
43
cells.insert(cells.end(), myList.
begin
(), myList.
end
());
44
}
45
46
for
(
const
auto
* cell : cells) {
47
if
(!cell || !cell->caloDDE())
48
continue
;
49
int
index
= inputcells->
findIndex
(cell->caloDDE()->calo_hash());
50
if
(
index
== -1)
51
continue
;
52
inputCl->
addCell
(
index
, 1.);
53
}
54
}
CaloCellContainer.h
CaloCellList.h
CaloDetDescrManager.h
Definition of CaloDetDescrManager.
CellsInCone.h
Egamma.h
CaloCluster.h
CaloCellContainer
Container class for CaloCell.
Definition
CaloCellContainer.h:55
CaloCellContainer::findIndex
int findIndex(const IdentifierHash theHash) const
Return index of the cell with a given hash.
Definition
CaloCellContainer.cxx:363
CaloCellList
Definition
CaloCellList.h:40
CaloCellList::end
list_iterator end() const
Definition
CaloCellList.h:95
CaloCellList::select
void select(double eta, double phi, double deta, double dphi)
Definition
CaloCellList.cxx:89
CaloCellList::begin
list_iterator begin() const
Definition
CaloCellList.h:89
CaloDetDescrManager
This class provides the client interface for accessing the detector description information common to...
Definition
CaloDetDescrManager.h:469
xAOD::CaloCluster_v1::phiBE
float phiBE(const unsigned layer) const
Get the phi in one layer of the EM Calo.
Definition
CaloCluster_v1.cxx:634
xAOD::CaloCluster_v1::etaBE
float etaBE(const unsigned layer) const
Get the eta in one layer of the EM Calo.
Definition
CaloCluster_v1.cxx:628
xAOD::CaloCluster_v1::addCell
bool addCell(const unsigned index, const double weight)
Method to add a cell to the cluster (Beware: Kinematics not updated!).
Definition
CaloCluster_v1.h:774
xAOD::Egamma_v1::caloCluster
const xAOD::CaloCluster * caloCluster(size_t index=0) const
Pointer to the xAOD::CaloCluster/s that define the electron candidate.
Definition
Egamma_v1.cxx:377
DerivationFramework::CellsInCone::egammaSelect
void egammaSelect(xAOD::CaloCluster *inputCl, const CaloCellContainer *inputcells, const CaloDetDescrManager *caloMgr, const xAOD::Egamma *eg, const double dr)
Definition
CellsInCone.cxx:13
index
Definition
index.py:1
xAOD::CaloCluster
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.
Definition
Event/xAOD/xAODCaloEvent/xAODCaloEvent/CaloCluster.h:19
xAOD::Egamma
Egamma_v1 Egamma
Definition of the current "egamma version".
Definition
Egamma.h:17
Generated on
for ATLAS Offline Software by
1.17.0