ATLAS Offline Software
Loading...
Searching...
No Matches
CP::IMuonLRTOverlapRemovalTool Class Referenceabstract

#include <IMuonLRTOverlapRemovalTool.h>

Inheritance diagram for CP::IMuonLRTOverlapRemovalTool:
Collaboration diagram for CP::IMuonLRTOverlapRemovalTool:

Public Types

enum  overlapStrategy { defaultStrategy =0 , passThroughAndDecorate =1 }
 Allow to specify a number of MCP-supported overlap removal strategies. More...

Public Member Functions

virtual std::pair< bool, boolresolveOverlap (const xAOD::Muon *promptMuon, const xAOD::Muon *lrtMuon) const =0
 resolve the overlap between a pair of muons, one from the prompt and one from the LRT pass.
virtual std::tuple< int, intcheckOverlapForDecor (const xAOD::Muon *promptMuon, const xAOD::Muon *lrtMuon) const =0
 checks for overlap between a pair of muons, one from the prompt and one from the LRT pass.
virtual void checkOverlap (const xAOD::MuonContainer &promptCollection, const xAOD::MuonContainer &lrtCollection, std::vector< bool > &promptMuonsSelectedToKeep, std::vector< bool > &lrtMuonsSelectedToKeep) const =0
 check the overlap between the prompt and LRT muon collections.
virtual bool hasOverlap (const xAOD::Muon *promptMuon, const xAOD::Muon *lrtMuon) const =0
 checks the overlap between a pair of muons, one from the prompt and one from the LRT pass.
virtual void print () const =0
 Print the state of the tool.

Detailed Description

Definition at line 25 of file IMuonLRTOverlapRemovalTool.h.

Member Enumeration Documentation

◆ overlapStrategy

Allow to specify a number of MCP-supported overlap removal strategies.

Enumerator
defaultStrategy 
passThroughAndDecorate 

Definition at line 37 of file IMuonLRTOverlapRemovalTool.h.

37 {
38 defaultStrategy=0, //default strategy which does a basic overlap removal.
39 passThroughAndDecorate=1 //writes all the muons in the combined container irrespective of overlap,
40 //and adds a decoration `MuonLRTOverlapDecision` which contains overlap information for all muons.
overlapStrategy
Allow to specify a number of MCP-supported overlap removal strategies.

Member Function Documentation

◆ checkOverlap()

virtual void CP::IMuonLRTOverlapRemovalTool::checkOverlap ( const xAOD::MuonContainer & promptCollection,
const xAOD::MuonContainer & lrtCollection,
std::vector< bool > & promptMuonsSelectedToKeep,
std::vector< bool > & lrtMuonsSelectedToKeep ) const
pure virtual

check the overlap between the prompt and LRT muon collections.

Will populate the two vectors passed by ref with a decision for each muon in each collection. "true" entries are to be kept, "false" to be discarded. If the strategy passThroughAndDecorate is selected, muons are decorated with a variable MuonLRTOverlapDecision which is 0 for muons which don't overlap, 1 if they overlap and are discareded, and 2 if they overlap and are retained. In this strategy, the two vectors will be returned with all elements "true" i.e. no muons should be discarded.

Implemented in CP::MuonLRTOverlapRemovalTool.

◆ checkOverlapForDecor()

virtual std::tuple< int, int > CP::IMuonLRTOverlapRemovalTool::checkOverlapForDecor ( const xAOD::Muon * promptMuon,
const xAOD::Muon * lrtMuon ) const
pure virtual

checks for overlap between a pair of muons, one from the prompt and one from the LRT pass.

using the same set of rules as resolveOverlap, it returns a tuple for the prompt and LRT muon resp. with value 0 for muons which don't overlap, 1 if they overlap and are discareded, and 2 if they overlap and are retained.

Implemented in CP::MuonLRTOverlapRemovalTool.

◆ hasOverlap()

virtual bool CP::IMuonLRTOverlapRemovalTool::hasOverlap ( const xAOD::Muon * promptMuon,
const xAOD::Muon * lrtMuon ) const
pure virtual

checks the overlap between a pair of muons, one from the prompt and one from the LRT pass.

returns true if they do overlap and false if they don't.

Implemented in CP::MuonLRTOverlapRemovalTool.

◆ print()

◆ resolveOverlap()

virtual std::pair< bool, bool > CP::IMuonLRTOverlapRemovalTool::resolveOverlap ( const xAOD::Muon * promptMuon,
const xAOD::Muon * lrtMuon ) const
pure virtual

resolve the overlap between a pair of muons, one from the prompt and one from the LRT pass.

returns a pair of booleans, indicating whether the prompt and LRT muon, respectively, should be retained based on a minimal set of rules.

Implemented in CP::MuonLRTOverlapRemovalTool.


The documentation for this class was generated from the following file: