Skip to content
Snippets Groups Projects
Commit 0ac46577 authored by Adam Edward Barton's avatar Adam Edward Barton
Browse files

Merge branch 'mstSwp2' into 'master'

Manual sweep of !30617 into master (Add resolution categories)

See merge request atlas/athena!30689
parents 027a620c 95fed8f7
No related merge requests found
......@@ -28,6 +28,18 @@ namespace CP {
ASG_TOOL_INTERFACE( CP::IMuonSelectionTool )
public:
///Enum for resolution categories, the "merged" categories Zero to Four group together categories with similar resolution
enum ResolutionCategory {
unclassified=-1, missingInner=1, missingMiddle=1<<1, missingOuter=1<<2, highPt2station=1<<3, highPt=1<<4,
spoiledCSC=1<<5, BEoverlap=1<<6, BIS78=1<<7, missingBEE=1<<8, oneStation=1<<9,
CategoryZero = missingInner | spoiledCSC | BEoverlap | BIS78 | missingBEE,
CategoryOne = missingMiddle | oneStation,
CategoryTwo = missingOuter,
CategoryThree = highPt2station,
CategoryFour = highPt
};
/// Decide whether the muon in question is a "good muon" or not
virtual const asg::AcceptInfo& getAcceptInfo() const = 0;
......@@ -74,6 +86,9 @@ namespace CP {
/// Returns true if the muon passes additional calo-tag quality cuts
virtual bool passedCaloTagQuality (const xAOD::Muon& mu) const = 0;
/// Returns an integer corresponding to categorization of muons with different resolutions
virtual int getResolutionCategory(const xAOD::Muon&) const=0;
}; // class IMuonSelectionTool
} // namespace CP
......
......@@ -39,6 +39,7 @@ namespace CP {
CP::IMuonSelectionTool )
public:
/// Constructor for standalone usage
MuonSelectionTool( const std::string& name = "MuonSelection");
......@@ -112,6 +113,9 @@ namespace CP {
/// Returns true if the muon passed the tight working point cuts
bool passTight(const xAOD::Muon& mu, float rho, float oneOverPSig) const;
/// Returns an integer corresponding to categorization of muons with different resolutions
int getResolutionCategory(const xAOD::Muon&) const;
/// @}
......@@ -166,6 +170,11 @@ namespace CP {
//from the pile-up reweighting tool is not needed.
unsigned int getRunNumber(bool needOnlyCorrectYear = false) const;
//Check if muon eta/phi falls in BIS7/8, BEE, or BMG chambers
bool isBIS78(const float eta, const float phi) const;
bool isBEE(const float eta, const float phi) const;
bool isBMG(const float eta, const float phi) const;
//TMVA readers for low-pT working point
TMVA::Reader* m_readerE_MUID;
TMVA::Reader* m_readerO_MUID;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment