Loading [MathJax]/extensions/tex2jax.js
 |
ATLAS Offline Software
|
Go to the documentation of this file.
23 :
EL::AnaReentrantAlgorithm(
name, svcLoc ){
50 return StatusCode::SUCCESS;
56 auto outputViewCol = std::make_unique<ConstDataVector<xAOD::MuonContainer>>(
SG::VIEW_ELEMENTS);
57 auto outputCol = std::make_unique<xAOD::MuonContainer>();
59 std::unique_ptr<xAOD::MuonAuxContainer> outputAuxCol;
61 outputAuxCol = std::make_unique<xAOD::MuonAuxContainer>();
62 outputCol->setStore(outputAuxCol.get());
70 return StatusCode::FAILURE;
74 return StatusCode::FAILURE;
78 std::vector<bool> writePromptMuon;
79 std::vector<bool> writeLRTMuon;
91 outputViewCol->reserve(promptCol->size() + lrtCol->size());
95 outputCol->reserve(promptCol->size() + lrtCol->size());
106 ATH_CHECK(h_write.
record(std::move(outputCol), std::move(outputAuxCol)));
109 return StatusCode::SUCCESS;
118 const std::vector<bool> & writeMuon,
121 if(muonCol.
empty()) {
return StatusCode::SUCCESS;}
125 if (writeMuon.at(
muon->index())){
129 return StatusCode::SUCCESS;
133 const std::vector<bool> & writeMuon,
136 if(muonCol.
empty()) {
return StatusCode::SUCCESS;}
140 if (writeMuon.at(
muon->index())){
144 originalMuonLink(*newMuon) = myLink;
151 return StatusCode::SUCCESS;
StatusCode execute(const EventContext &ctx) const override
Helper class to provide type-safe access to aux data.
ToolHandle< CP::IMuonLRTOverlapRemovalTool > m_overlapRemovalTool
@ VIEW_ELEMENTS
this data object is a view, it does not own its elmts
DataVector adapter that acts like it holds const pointers.
SG::ReadHandleKey< xAOD::MuonContainer > m_lrtMuonLocation
Vector of muon collections to be merged.
bool toIndexedElement(BaseConstReference data, index_type elemID, IProxyDict *sg=0)
Set the link to an element given by index and pointer to container.
Gaudi::Property< int > m_ORstrategy
allows to pass an overlap removal strategy to the underlying removal tool, without manually configuri...
SG::WriteHandleKey< xAOD::MuonContainer > m_outMuonLocation
Vector of muon collections to be merged.
Select isolated Photons, Electrons and Muons.
StatusCode initialize() override
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_promptIsLRTKey
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Helper class to provide type-safe access to aux data.
MuonLRTMergingAlg(const std::string &name, ISvcLocator *pSvcLocator)
the standard constructor
::StatusCode StatusCode
StatusCode definition for legacy code.
Handle class for adding a decoration to an object.
This module defines the arguments passed from the BATCH driver to the BATCH worker.
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
virtual bool isValid() override final
Can the handle be successfully dereferenced?
ElementLink implementation for ROOT usage.
Muon_v1 Muon
Reference the current persistent version:
value_type push_back(value_type pElem)
Add an element to the end of the collection.
value_type push_back(value_type pElem)
Add an element to the end of the collection.
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
DataVector adapter that acts like it holds const pointers.
bool setOriginalObjectLink(const IParticle &original, IParticle ©)
This function should be used by CP tools when they make a deep copy of an object in their correctedCo...
StatusCode mergeMuon(const xAOD::MuonContainer &muonCol, const std::vector< bool > &muonIsGood, ConstDataVector< xAOD::MuonContainer > *outputCol) const
Private methods:
Gaudi::Property< bool > m_useRun3WP
SG::ReadHandleKey< xAOD::MuonContainer > m_promptMuonLocation
Private data:
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_lrtIsLRTKey
Gaudi::Property< bool > m_createViewCollection
Combined muon collection.
bool empty() const noexcept
Returns true if the collection is empty.