12#ifndef ASG_ANALYSIS_ALGORITHMS__ELECTRON_LRT_MERGING_ALGORITHM__H
13#define ASG_ANALYSIS_ALGORITHMS__ELECTRON_LRT_MERGING_ALGORITHM__H
42 StatusCode
execute(
const EventContext &ctx)
const override;
49 Gaudi::Property<bool>
m_createViewCollection{
this,
"CreateViewCollection",
true,
"Create a view to avoid deep copy"};
51 Gaudi::Property<bool>
m_doRemoval{
this,
"doRemoval",
true,
"Remove overlapping electrons from output collection."};
53 Gaudi::Property<float>
m_ORThreshold{
this,
"ORThreshold", 0.001,
"Delta R threshold for matching in overlap removal."};
59 Gaudi::Property<bool>
m_isDAOD{
this,
"isDAOD",
true,
"Switch for running on AOD (false) or DAOD (true)"};
69 ToolHandle<CP::IElectronLRTOverlapRemovalTool>
m_overlapRemovalTool{
this,
"overlapRemovalTool",
"",
"Tool used to check overlaps between standard and LRT electrons"};
78 const std::set<const xAOD::Electron *> &LRTElectronsToRemove)
const;
83 const std::set<const xAOD::Electron *> &LRTElectronsToRemove)
const;
DataVector adapter that acts like it holds const pointers.
this wraps the Electron LRT collection merger in a CP algorithm
SG::WriteHandleKey< ConstDataVector< xAOD::ElectronContainer > > m_outElectronViewLocation
Combined electron collection.
Gaudi::Property< float > m_ORThreshold
Remove overlapping electrons from output collection.
SG::WriteDecorHandleKey< xAOD::ElectronContainer > m_lrtIsLRTKey
SG::ReadHandleKey< xAOD::ElectronContainer > m_lrtElectronLocation
Standard electron collection to be merged.
Gaudi::Property< bool > m_isDAOD
StatusCode execute(const EventContext &ctx) const override
Gaudi::Property< int > m_ORstrategy
Delta R threshold for matching in overlap removal.
ToolHandle< CP::IElectronLRTOverlapRemovalTool > m_overlapRemovalTool
Combined electron view collection, set from m_outElectronLocation in initialize().
SG::WriteDecorHandleKey< xAOD::ElectronContainer > m_promptIsLRTKey
Gaudi::Property< bool > m_doRemoval
Create a view to avoid deep copy.
void mergeElectron(const xAOD::ElectronContainer &electronCol, xAOD::ElectronContainer *outputCol, const std::set< const xAOD::Electron * > &LRTElectronsToRemove) const
The lrt electron overlap removal tool.
SG::WriteHandleKey< xAOD::ElectronContainer > m_outElectronLocation
LRT electron collection to be merged.
StatusCode initialize() override
SG::ReadHandleKey< xAOD::ElectronContainer > m_promptElectronLocation
Switches method for retrieving electron ID.
Gaudi::Property< bool > m_createViewCollection
Protected data:
DataVector adapter that acts like it holds const pointers.
the base class for EventLoop reentrant algorithms
AnaReentrantAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
constructor with parameters
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
Select isolated Photons, Electrons and Muons.
ElectronContainer_v1 ElectronContainer
Definition of the current "electron container version".