ATLAS Offline Software
Loading...
Searching...
No Matches
CaloRecoStatus Class Reference

reconstruction status indicator More...

#include <CaloRecoStatus.h>

Collaboration diagram for CaloRecoStatus:

Public Types

enum  StatusIndicator {
  TAGGEDEM = 0x00000001 , TAGGEDHAD = 0x00000002 , TAGGEDMUON = 0x00000004 , TAGGEDUNKNOWN = 0x00000008 ,
  CALIBRATED = 0x10000000 , CALIBRATEDLHC = 0x10000010 , CALIBRATEDALT = 0x10000020 , UNKNOWNSTATUS = 0x00000000
}
 reconstruction status word More...
typedef unsigned int store_type
 Internal store type.

Public Member Functions

 CaloRecoStatus (StatusIndicator statusIndicator=UNKNOWNSTATUS)
 Default constructor.
 CaloRecoStatus (store_type store)
virtual ~CaloRecoStatus ()
 Destructor.
 CaloRecoStatus (const CaloRecoStatus &)=default
 CaloRecoStatus (CaloRecoStatus &&)=default
CaloRecoStatusoperator= (const CaloRecoStatus &)=default
CaloRecoStatusoperator= (CaloRecoStatus &&)=default
virtual void setStatus (const StatusIndicator &statusIndicator)
 Set status.
virtual bool checkStatus (const StatusIndicator &statusIndicator) const
 Check status.
virtual const store_typegetStatusWord () const
 retrieve the entire status word
virtual bool getStatus (std::vector< CaloRecoStatus::StatusIndicator > &pStatusList) const
 retrieve all status indicators
virtual void resetStatus ()
 reset reconstruction status
virtual void resetStatus (const StatusIndicator &statusIndicator)

Private Attributes

store_type m_status
 Status store.

Detailed Description

reconstruction status indicator

Definition at line 11 of file CaloRecoStatus.h.

Member Typedef Documentation

◆ store_type

typedef unsigned int CaloRecoStatus::store_type

Internal store type.

Definition at line 16 of file CaloRecoStatus.h.

Member Enumeration Documentation

◆ StatusIndicator

reconstruction status word

Indicates cluster tag and calibration status. Note that tags may only be applied to (calibrated) topological clusters.

Parameters
TAGGEDEMtagged as electromagnetic
TAGGEDHADtagged as hadronic
TAGGEDMUONtagged as muon
TAGGEDUNKNOWNno safe tags from any classification
CALIBRATEDcalibrated begond em scale
CALIBRATEDLHCcalibrated by local hadronic approach
CALIBRATEDALTcalibrated by alternative calibration, typically with cell weights from jets

Note that several tags can be valid at the same time, especially CALIBRATED & CALIBRATEDLHC & CALIBRATEDALT and subsequent combinations of those.

Enumerator
TAGGEDEM 
TAGGEDHAD 
TAGGEDMUON 
TAGGEDUNKNOWN 
CALIBRATED 
CALIBRATEDLHC 
CALIBRATEDALT 
UNKNOWNSTATUS 

Definition at line 36 of file CaloRecoStatus.h.

37 {
38 TAGGEDEM = 0x00000001, /*< tagged as electromagnetic object */
39 TAGGEDHAD = 0x00000002, /*< tagged as hadronic object */
40 TAGGEDMUON = 0x00000004, /*< tagged as muonic cluster */
41 TAGGEDUNKNOWN = 0x00000008, /*< tagged as unknown */
42 CALIBRATED = 0x10000000, /*< cluster calibrated (non-emscale) */
43 CALIBRATEDLHC = 0x10000010, /*< cluster calibrated local had */
44 CALIBRATEDALT = 0x10000020, /*< cluster calibrated alternatively */
45 UNKNOWNSTATUS = 0x00000000 /*< unknown status */
46 };

Constructor & Destructor Documentation

◆ CaloRecoStatus() [1/4]

CaloRecoStatus::CaloRecoStatus ( StatusIndicator statusIndicator = UNKNOWNSTATUS)
inline

Default constructor.

Definition at line 102 of file CaloRecoStatus.h.

103 : m_status((store_type)aStatus)
104{ }
unsigned int store_type
Internal store type.
store_type m_status
Status store.

◆ CaloRecoStatus() [2/4]

CaloRecoStatus::CaloRecoStatus ( store_type store)
inline

Definition at line 106 of file CaloRecoStatus.h.

107 : m_status(aStatus)
108{ }

◆ ~CaloRecoStatus()

CaloRecoStatus::~CaloRecoStatus ( )
inlinevirtual

Destructor.

Definition at line 110 of file CaloRecoStatus.h.

111{ }

◆ CaloRecoStatus() [3/4]

CaloRecoStatus::CaloRecoStatus ( const CaloRecoStatus & )
default

◆ CaloRecoStatus() [4/4]

CaloRecoStatus::CaloRecoStatus ( CaloRecoStatus && )
default

Member Function Documentation

◆ checkStatus()

bool CaloRecoStatus::checkStatus ( const StatusIndicator & statusIndicator) const
inlinevirtual

Check status.

Parameters
statusIndicatorstatus indicator

Note that the client can request a single status set, or a combination of status indicators set

Definition at line 123 of file CaloRecoStatus.h.

124{
125 return ( m_status & (store_type)aStatus ) == (store_type)aStatus;
126}

◆ getStatus()

bool CaloRecoStatus::getStatus ( std::vector< CaloRecoStatus::StatusIndicator > & pStatusList) const
virtual

retrieve all status indicators

Parameters
pStatusListlist of all status indicators

Returns true if one or more indicators are available

Definition at line 7 of file CaloRecoStatus.cxx.

9{
10 const size_t oldSize = pStatusList.size();
12 if ((s & m_status) == s) pStatusList.push_back(s);
13 }
14 return oldSize < pStatusList.size();
15}

◆ getStatusWord()

const CaloRecoStatus::store_type & CaloRecoStatus::getStatusWord ( ) const
inlinevirtual

retrieve the entire status word

Definition at line 118 of file CaloRecoStatus.h.

119{
120 return m_status;
121}

◆ operator=() [1/2]

CaloRecoStatus & CaloRecoStatus::operator= ( CaloRecoStatus && )
default

◆ operator=() [2/2]

CaloRecoStatus & CaloRecoStatus::operator= ( const CaloRecoStatus & )
default

◆ resetStatus() [1/2]

void CaloRecoStatus::resetStatus ( )
inlinevirtual

reset reconstruction status

Definition at line 128 of file CaloRecoStatus.h.

129{
131}

◆ resetStatus() [2/2]

void CaloRecoStatus::resetStatus ( const StatusIndicator & statusIndicator)
inlinevirtual

Definition at line 133 of file CaloRecoStatus.h.

134{
135 m_status = m_status & ~((store_type)aStatus);
136}

◆ setStatus()

void CaloRecoStatus::setStatus ( const StatusIndicator & statusIndicator)
inlinevirtual

Set status.

Parameters
statusIndicatorstatus bit pattern

Definition at line 113 of file CaloRecoStatus.h.

114{
115 m_status = m_status | (store_type)aStatus;
116}

Member Data Documentation

◆ m_status

store_type CaloRecoStatus::m_status
private

Status store.

Definition at line 94 of file CaloRecoStatus.h.


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