ATLAS Offline Software
Loading...
Searching...
No Matches
EmTauRoI_v2.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3*/
4
5
6// System include(s):
7#include <stdexcept>
8
9// xAOD include(s):
11
12// Local include(s):
14
15namespace xAOD {
16
21
22 void EmTauRoI_v2::initialize( uint32_t roiword, float eta, float phi ) {
23
24 setRoIWord( roiword );
25 setEta( eta );
26 setPhi( phi );
27
28 return;
29 }
30
38
39 const uint32_t roi = roiWord();
40 if( ( roi & 0xc0000000 ) == 0 ) {
41 return CPRoIWord;
42 } else if( ( roi & 0xf0000000 ) == 0xa0000000 ) {
43 return EMRoIWord;
44 } else if( ( roi & 0xf0000000 ) == 0xb0000000 ) {
45 return TauRoIWord;
46 }
47
48 throw std::runtime_error( "xAOD::EmTauRoI_v2::roiType() "
49 "Unknown RoI word type found" );
50 return static_cast< RoIType >( -1 );
51 }
52
56 setRoIWord )
57 AUXSTORE_PRIMITIVE_SETTER_AND_GETTER( EmTauRoI_v2, float, etScale, setEtScale )
58
61 setThrPattern )
62
64 AUXSTORE_PRIMITIVE_SETTER_AND_GETTER( EmTauRoI_v2, float, emClus, setEmClus )
66 setTauClus )
67 AUXSTORE_PRIMITIVE_SETTER_AND_GETTER( EmTauRoI_v2, float, emIsol, setEmIsol )
69 setHadIsol )
71 setHadCore )
72
74 float EmTauRoI_v2::eT() const {
75 if ( roiType() == EMRoIWord || roiType() == TauRoIWord ) {
76 if (etScale() == 0) return ( roiWord() & 0xff );
77 return ( (roiWord() & 0xff)*etScale() );
78 }
79 return 0;
80 }
81
84 if ( roiType() == EMRoIWord || roiType() == TauRoIWord )
85 return ( (roiWord()>>8) & 0x1f );
86 return 0;
87 }
88
91 names( "thrNames" );
94 values( "thrValues" );
95
99 void EmTauRoI_v2::addThreshold( const std::string& name, float value ) {
100
101 names( *this ).push_back( name );
102 values( *this ).push_back( value );
103
104 return;
105 }
106
111
112 names( *this ).clear();
113 values( *this ).clear();
114
115 return;
116 }
117
118 AUXSTORE_OBJECT_GETTER( EmTauRoI_v2, std::vector< std::string >, thrNames )
119 AUXSTORE_OBJECT_GETTER( EmTauRoI_v2, std::vector< float >, thrValues )
120
121} // namespace xAOD
Scalar eta() const
pseudorapidity method
#define AUXSTORE_OBJECT_GETTER(CL, TYPE, NAME)
Macro creating the reader function for a complex auxiliary property.
#define AUXSTORE_PRIMITIVE_SETTER_AND_GETTER(CL, TYPE, NAME, SETTER)
Macro creating the accessors of primitive auxiliary properties.
SG::Accessor< T, ALLOC > Accessor
Definition AuxElement.h:572
AuxElement()
Default constructor.
Class describing a LVL1 em/tau region of interest.
Definition EmTauRoI_v2.h:35
void addThreshold(const std::string &name, float value)
Add a new threshold that was passed by the RoI.
void setEta(float v)
Set the pseudorapidity of the em/tau candidate.
RoIType
RoI word types.
Definition EmTauRoI_v2.h:45
@ TauRoIWord
This is a Run 2 Tau RoI word.
Definition EmTauRoI_v2.h:48
@ EMRoIWord
This is a Run 2 EM RoI word.
Definition EmTauRoI_v2.h:47
@ CPRoIWord
This is a Run 1 EM/Tau RoI word.
Definition EmTauRoI_v2.h:46
float eta() const
The pseudorapidity ( ) of the em/tau candidate.
uint8_t isol() const
The isolation result mask (from RoI word)
RoIType roiType() const
Get the type of the RoI word.
void clearThresholds()
Remove all the passed thresholds from the RoI.
void initialize(uint32_t roiword, float eta, float phi)
Initialise the object with its most important properties.
void setRoIWord(uint32_t value)
Set the "raw" RoI word, describing the em/tau candidate.
uint32_t roiWord() const
The "raw" RoI word describing the em/tau candidate.
float phi() const
The azimuthal angle ( ) of the em/tau candidate.
void setPhi(float v)
Set the azimuthal angle of the em/tau candidate.
EmTauRoI_v2()
Default constructor.
Forward declaration.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
static const SG::AuxElement::Accessor< std::vector< std::string > > names("thrNames")
Accessor for the names of the passed thresholds.
AUXSTORE_PRIMITIVE_SETTER_AND_GETTER(BTagging_v1, float, IP2D_pb, setIP2D_pb) AUXSTORE_PRIMITIVE_SETTER_AND_GETTER(BTagging_v1
static AUXSTORE_PRIMITIVE_SETTER_AND_GETTER(EmTauRoI_v1, uint32_t, roiWord, setRoIWord) uint32_t EmTauRoI_v1 const SG::AuxElement::Accessor< std::vector< float > > values("thrValues")
This is a convenience function for accessing the threshold pattern part of the RoI.
setThrPattern hadIsol
setEventNumber uint32_t