ATLAS Offline Software
Reconstruction
MuonIdentification
muonEvent
src
MuonQualityWord.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
/***************************************************************************
6
Reconstruction/MuonIdentification/muonEvent/MuonQualityWord.h
7
Author: Ketevi A. Assamagan, July 2009
8
Transienti class to hold muon quality bits and the methods to manipulate it
9
so as to return the the isLoose, isMedium and isTight to the use.
10
This object is not persistified.
11
---------------------------------------------------------------------------
12
***************************************************************************/
13
14
#include "
muonEvent/MuonQualityWord.h
"
15
#include "GaudiKernel/MsgStream.h"
16
17
MuonQualityWord::MuonQualityWord
(
uint16_t
qualityWord )
18
19
: m_qualityWord (qualityWord)
20
{}
21
23
MuonQualityWord::MuonQualityWord
(
const
MuonQualityWord
& qualityWord)
24
25
=
default
;
26
31
MuonQualityWord
&
MuonQualityWord::operator=
(
const
MuonQualityWord
& rhs) {
32
if
(
this
!= &rhs ) {
33
m_qualityWord
= rhs.
m_qualityWord
;
34
}
35
return
*
this
;
36
}
37
39
MsgStream&
operator <<
( MsgStream& sl,
const
MuonQualityWord
& qword)
40
// if namespace, need to use MsgStream& Rec::operator :-(
41
{
42
sl <<
"Muon quality word: "
<<qword.
qualityWord
()<<
" ["
;
43
for
(
int
index
=15 ;
index
>= 0 ;
index
--){
44
if
(
index
==12 ||
index
==8 ||
index
==4) {
45
if
( qword.
qualityWord
() & (1<<
index
) ) sl <<
" 1 ]["
;
46
else
sl <<
" 0 ]["
;
47
}
else
if
(
index
==0) {
48
if
( qword.
qualityWord
() & (1<<
index
) ) sl <<
" 1 ]"
;
49
else
sl <<
" 0 ]"
;
50
}
else
{
51
if
( qword.
qualityWord
() & (1<<
index
) ) sl <<
" 1"
;
52
else
sl <<
" 0"
;
53
}
54
}
55
sl <<
endmsg
;
56
return
sl;
57
}
58
60
std::ostream&
operator <<
( std::ostream& sl,
const
MuonQualityWord
& qword)
61
// if namespace, need to use MsgStream& Rec::operator :-(
62
{
63
sl <<
"Muon quality word: "
<<qword.
qualityWord
()<<
" ["
;
64
for
(
int
index
=15 ;
index
>= 0 ;
index
--){
65
if
(
index
==12 ||
index
==8 ||
index
==4) {
66
if
( qword.
qualityWord
() & (1<<
index
) ) sl <<
" 1 ]["
;
67
else
sl <<
" 0 ]["
;
68
}
else
if
(
index
==0) {
69
if
( qword.
qualityWord
() & (1<<
index
) ) sl <<
" 1 ]"
;
70
else
sl <<
" 0 ]"
;
71
}
else
{
72
if
( qword.
qualityWord
() & (1<<
index
) ) sl <<
" 1"
;
73
else
sl <<
" 0"
;
74
}
75
}
76
sl << std::endl;
77
return
sl;
78
}
index
Definition:
index.py:1
MuonQualityWord::MuonQualityWord
MuonQualityWord()
default constructor
Definition:
MuonQualityWord.h:49
MuonQualityWord::qualityWord
uint16_t qualityWord() const
get back the quality word
Definition:
MuonQualityWord.h:72
xAOD::uint16_t
setWord1 uint16_t
Definition:
eFexEMRoI_v1.cxx:93
endmsg
#define endmsg
Definition:
AnalysisConfig_Ntuple.cxx:63
operator<<
MsgStream & operator<<(MsgStream &sl, const MuonQualityWord &qword)
MsgStream output.
Definition:
MuonQualityWord.cxx:39
MuonQualityWord::operator=
MuonQualityWord & operator=(const MuonQualityWord &)
assignment operator
Definition:
MuonQualityWord.cxx:31
MuonQualityWord.h
MuonQualityWord
A bitted word defining different levels of muon identification qualities (in terms of purity and effi...
Definition:
MuonQualityWord.h:41
MuonQualityWord::m_qualityWord
uint16_t m_qualityWord
Definition:
MuonQualityWord.h:76
Generated on Mon Dec 23 2024 21:15:24 for ATLAS Offline Software by
1.8.18