|
ATLAS Offline Software
|
Go to the documentation of this file.
38 return StatusCode::SUCCESS;
47 return StatusCode::FAILURE;
50 auto outputGBlocks = std::make_unique<xAOD::GBlockContainer>();
51 auto outputGBlocksAux = std::make_unique<xAOD::GBlockAuxContainer>();
52 outputGBlocks->setStore(outputGBlocksAux.get());
58 float dEta = seedTower->deta();
59 float dPhi = seedTower->dphi();
61 std::vector<const xAOD::JGTower *>
inputs{seedTower};
69 inputs.push_back(
towers->at(accNextPhiIndex(*seedTower)));
70 inputs.push_back(
towers->at(accPreviousPhiIndex(*seedTower)));
71 std::size_t nextEtaIndex = accNextEtaIndex(*seedTower);
72 if (nextEtaIndex != SIZE_MAX)
78 inputs.push_back(nextTower);
79 inputs.push_back(
towers->at(accNextPhiIndex(*nextTower)));
80 inputs.push_back(
towers->at(accPreviousPhiIndex(*nextTower)));
83 std::size_t previousEtaIndex = accPreviousEtaIndex(*seedTower);
84 if (previousEtaIndex != SIZE_MAX)
90 inputs.push_back(previousTower);
91 inputs.push_back(
towers->at(accNextPhiIndex(*previousTower)));
92 inputs.push_back(
towers->at(accPreviousPhiIndex(*previousTower)));
96 std::vector<ElementLink<xAOD::JGTowerContainer>>
links;
100 area += accArea(*tower);
104 outputGBlocks->push_back(block);
105 block->
setEta(seedTower->eta());
106 block->
setPhi(seedTower->phi());
116 ATH_CHECK(gBlockHandle.record(std::move(outputGBlocks), std::move(outputGBlocksAux)));
117 return StatusCode::SUCCESS;
Description of JGTower_v1.
FPGA getFPGA(float eta)
Get the FPGA code from the tower eta.
Extra patterns decribing particle interation process.
virtual ~GBlockBuilder() override
void setArea(float)
Set the area.
GBlockBuilder(const std::string &name, ISvcLocator *pSvcLocator)
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
void setSeedTowerLink(const ElementLink< JGTowerContainer > &link)
Set the seed link.
virtual double eta() const final
The pseudorapidity ( ) of the particle.
Helper class to provide constant type-safe access to aux data.
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
GBlock_v1 GBlock
Define the latest version of the GBlock class.
An algorithm that can be simultaneously executed in multiple threads.
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
Handle class for recording to StoreGate.
SG::WriteHandleKey< xAOD::GBlockContainer > m_gBlocksKey
::StatusCode StatusCode
StatusCode definition for legacy code.
virtual double dphi() const final
The azimuthal angle ( ) of the particle.
bool dPhi(const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out)
SG::ReadHandleKey< xAOD::JGTowerContainer > m_towersKey
void setTowerLinks(const std::vector< ElementLink< JGTowerContainer >> &links)
set the tower links
virtual double deta() const final
The pseudorapidity ( ) of the particle.
virtual StatusCode execute(const EventContext &ctx) const override
virtual StatusCode initialize() override
Handle class for reading from StoreGate.
bool dEta(const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out)