ATLAS Offline Software
Public Types | Public Member Functions | List of all members
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, bool > resolveOverlap (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. More...
 
virtual std::tuple< int, int > checkOverlapForDecor (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. More...
 
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. More...
 
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. More...
 
virtual void print () const =0
 Print the state of the tool. More...
 

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.

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()

virtual void asg::IAsgTool::print ( ) const
pure virtualinherited

◆ 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:
CP::IMuonLRTOverlapRemovalTool::defaultStrategy
@ defaultStrategy
Definition: IMuonLRTOverlapRemovalTool.h:38
CP::IMuonLRTOverlapRemovalTool::passThroughAndDecorate
@ passThroughAndDecorate
Definition: IMuonLRTOverlapRemovalTool.h:39
CP::IMuonLRTOverlapRemovalTool::overlapStrategy
overlapStrategy
Allow to specify a number of MCP-supported overlap removal strategies.
Definition: IMuonLRTOverlapRemovalTool.h:37