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.
bool addCell(const unsigned index, const double weight)
Method to add a cell to the cluster (Beware: Kinematics not updated!)
Definition index.py:1