ATLAS Offline Software
Loading...
Searching...
No Matches
DerivationFramework::CellsInCone Namespace Reference

Functions

void egammaSelect (xAOD::CaloCluster *inputCl, const CaloCellContainer *inputcells, const CaloDetDescrManager *caloMgr, const xAOD::Egamma *eg, const double dr)

Function Documentation

◆ egammaSelect()

void DerivationFramework::CellsInCone::egammaSelect ( xAOD::CaloCluster * inputCl,
const CaloCellContainer * inputcells,
const CaloDetDescrManager * caloMgr,
const xAOD::Egamma * eg,
const double dr )

Definition at line 13 of file CellsInCone.cxx.

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}
int findIndex(const IdentifierHash theHash) const
Return index of the cell with a given hash.
float phiBE(const unsigned layer) const
Get the phi in one layer of the EM Calo.
float etaBE(const unsigned layer) const
Get the eta in one layer of the EM Calo.
bool addCell(const unsigned index, const double weight)
Method to add a cell to the cluster (Beware: Kinematics not updated!)
const xAOD::CaloCluster * caloCluster(size_t index=0) const
Pointer to the xAOD::CaloCluster/s that define the electron candidate.
Definition index.py:1