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

Em/Tau RoI class for analysis. More...

#include <EmTau_ROI.h>

Inheritance diagram for EmTau_ROI:
Collaboration diagram for EmTau_ROI:

Public Types

typedef std::vector< std::string > thresholds_type
 Type storing the names of the passed thresholds.
typedef std::vector< float > thr_value_type
 Type storing the values of the passed thresholds.
enum  Kind {
  P4EETAPHIM , P4IPTCOTTHPHIM , P4PTETAPHIM , P4PXPYPZE ,
  UNKNOWN
}

Public Member Functions

 EmTau_ROI (uint32_t roiWord, float eta, float phi, uint32_t thrPattern)
 Constructor used when creating the object from RoIBResult data.
 EmTau_ROI ()
 Default constructor (for persistency purposes)
virtual ~EmTau_ROI ()
 Destructor.
uint32_t getROIWord () const
 Return the RoI word produced by the L1Calo hardware.
float getEta () const
 Legacy function returning the eta coordinate of the RoI.
float getPhi () const
 Legacy function returning the phi coordinate of the RoI.
float getCore () const
 Return the ET of the RoI Core cluster (2x2 towers, EM+Had)
float getEMClus () const
 Return the deposited ET from the "EM cluster".
float getTauClus () const
 Return the deposited ET from the "tau cluster".
float getEMIsol () const
 Return the EM calorimeter isolation (outer ring of EM towers)
float getHadIsol () const
 Return the hadron calorimeter isolation (outer ring of had towers)
float getHadCore () const
 Return the ET deposited in the inner hadronic isolation region (2x2 core)
uint32_t getThrPattern () const
 Return the bit-pattern describing the passed thresholds.
const thresholds_typegetThresholdNames () const
 Return the names of the passed threshodlds.
const thr_value_typegetThresholdValues () const
 Return the values of the passed thresholds.
void addThresholdName (thresholds_type::value_type thr)
 Add the name of a threshold that this RoI passed.
void addThresholdValue (thr_value_type::value_type thr)
 Add the value of a threshold that this RoI passed.
void setCore (float value)
 Set the ET deposited in the "RoI core".
void setEMClus (float value)
 Set the deposited ET in the "EM cluster".
void setTauClus (float value)
 Set the deposited ET in the "tau cluster".
void setEMIsol (float value)
 Set the EM calorimeter isolation (outer ring of EM towers)
void setHadIsol (float value)
 Set the hadron calorimeter isolation (outer ring of Had towers)
void setHadCore (float value)
 Set the ET deposited in the inner hadronic isolation region (2x2 core)
virtual double pt () const
 Return the pT of the highest threshold passed.
virtual double eta () const
 Return the eta coordinate of the center of the RoI.
virtual double phi () const
 Return the phi coordinate of the center of the RoI.
virtual double m () const
 Return the mass of the object, always 0.0 for RoIs.
virtual double px () const
 x component of momentum
virtual double py () const
 y component of momentum
virtual double pz () const
 z component of momentum
virtual double e () const
 energy
virtual double p () const
 magnitude of 3-momentum.
virtual double p2 () const
 square of momentum magnitude
virtual double m2 () const
 mass squared
virtual double et () const
 transverse energy defined to be e*sin(theta)
virtual double iPt () const
 inverse of transverse momentum
virtual double rapidity () const
 rapidity
virtual double cosPhi () const
 cosinus phi
virtual double sinPhi () const
 sinus phi
virtual double cotTh () const
 cottan theta
virtual double cosTh () const
 cosinus theta
virtual double sinTh () const
 sinus theta
virtual double tanTh () const
 tan theta
virtual CLHEP::HepLorentzVector hlv () const
 HepLorentzVector Special implementation from Frank Paige : if negative energy, points in opposite direction but eta and phi still the same.
virtual const I4MomentumErrorerrors () const
 Access to errors, if available; returns 0 if no errors.
virtual void set4Mom (const I4Momentum &theI4Mom)
 set all 4-mom from another I4Momentum reference DUMMY IMPLEMENTATION
virtual void set4Mom (const I4Momentum *const theI4Mom)
 set all 4-mom from another I4Momentum pointer DUMMY IMPLEMENTATION
virtual void set4Mom (const CLHEP::HepLorentzVector &theHlv)
 set all 4-mom from a CLHEP HepLorentzVector DUMMY IMPLEMENTATION
I4Momentum::Kind kind () const
 tells what kind of P4XYZT this is
virtual std::ostream & dump (std::ostream &out) const
 Print I4Momentum content.
virtual void fillToken (INavigationToken &) const
virtual void fillToken (INavigationToken &, const std::any &) const
virtual AthenaBarCode_t getAthenaBarCode () const
virtual void setAthenaBarCode (AthenaBarCode_t)
virtual bool hasSameAthenaBarCode (const IAthenaBarCode &) const
virtual bool hasSameAthenaBarCodeExceptVersion (const IAthenaBarCode &) const
virtual AthenaBarCodeVersion_t getVersion () const
virtual void newVersion ()
virtual void setVersion (AthenaBarCodeVersion_t)

Static Public Attributes

static const AthenaBarCode_t UNDEFINEDBARCODE = (AthenaBarCode_t)(-1)
static const AthenaBarCode_t UNDEFINEDVERSION = UNDEFINEDBARCODE

Private Attributes

uint32_t m_roiWord
 32bit encoded ROI word
float m_eta
 eta coordinate of RoI
float m_phi
 phi coordinate of RoI
uint32_t m_thrPattern
 threshold bit pattern
thresholds_type m_thresholdNames
 Names of the passed thresholds.
thr_value_type m_thresholdValues
 Values of the passed thresholds.
float m_Core
 ET of RoI core cluster (used to select window)
float m_EMClus
 Deposited ET in the "EM cluster".
float m_TauClus
 Deposited ET in the "tau cluster".
float m_EMIsol
 EM calorimeter isolation.
float m_HadIsol
 Outer Hadron calorimeter isolation.
float m_HadCore
 ET of inner hadronic isolation sum.

Detailed Description

Em/Tau RoI class for analysis.

   As the others, this RoI class also inherits from INavigable4Momentum to make
   handling it a bit easier in analyses.
Author
Tadashi Maeno
Alan Watson
Attila Krasznahorkay
See also
INavigable4Momentum

Definition at line 32 of file EmTau_ROI.h.

Member Typedef Documentation

◆ thr_value_type

typedef std::vector< float > EmTau_ROI::thr_value_type

Type storing the values of the passed thresholds.

Definition at line 47 of file EmTau_ROI.h.

◆ thresholds_type

typedef std::vector< std::string > EmTau_ROI::thresholds_type

Type storing the names of the passed thresholds.

Definition at line 45 of file EmTau_ROI.h.

Member Enumeration Documentation

◆ Kind

enum I4Momentum::Kind
inherited
Enumerator
P4EETAPHIM 
P4IPTCOTTHPHIM 
P4PTETAPHIM 
P4PXPYPZE 
UNKNOWN 

Definition at line 33 of file I4Momentum.h.

Constructor & Destructor Documentation

◆ EmTau_ROI() [1/2]

EmTau_ROI::EmTau_ROI ( uint32_t roiWord,
float eta,
float phi,
uint32_t thrPattern )

Constructor used when creating the object from RoIBResult data.

This is the constructor used by the RoIBResultToAOD algorithm.

It shouldn't be too interesting to the users.

Definition at line 15 of file EmTau_ROI.cxx.

16 : m_roiWord( roiWord ), m_eta( eta ), m_phi( phi ), m_thrPattern( thrPattern ),
18 m_Core(0),
19 m_EMClus(0),
20 m_TauClus(0),
21 m_EMIsol(0),
22 m_HadIsol(0),
23 m_HadCore(0) {
24
25}
uint32_t m_roiWord
32bit encoded ROI word
Definition EmTau_ROI.h:103
float m_eta
eta coordinate of RoI
Definition EmTau_ROI.h:105
thresholds_type m_thresholdNames
Names of the passed thresholds.
Definition EmTau_ROI.h:110
float m_Core
ET of RoI core cluster (used to select window)
Definition EmTau_ROI.h:113
float m_TauClus
Deposited ET in the "tau cluster".
Definition EmTau_ROI.h:115
float m_EMClus
Deposited ET in the "EM cluster".
Definition EmTau_ROI.h:114
thr_value_type m_thresholdValues
Values of the passed thresholds.
Definition EmTau_ROI.h:111
virtual double eta() const
Return the eta coordinate of the center of the RoI.
Definition EmTau_ROI.h:96
float m_EMIsol
EM calorimeter isolation.
Definition EmTau_ROI.h:116
float m_HadCore
ET of inner hadronic isolation sum.
Definition EmTau_ROI.h:118
virtual double phi() const
Return the phi coordinate of the center of the RoI.
Definition EmTau_ROI.h:98
uint32_t m_thrPattern
threshold bit pattern
Definition EmTau_ROI.h:108
float m_HadIsol
Outer Hadron calorimeter isolation.
Definition EmTau_ROI.h:117
float m_phi
phi coordinate of RoI
Definition EmTau_ROI.h:106

◆ EmTau_ROI() [2/2]

EmTau_ROI::EmTau_ROI ( )

Default constructor (for persistency purposes)

This constructor just initialises every member to a reasonable starting value.

Definition at line 30 of file EmTau_ROI.cxx.

31 : m_roiWord( 0 ), m_eta( 0. ), m_phi( 0. ), m_thrPattern( 0 ),
33 m_Core(0),
34 m_EMClus(0),
35 m_TauClus(0),
36 m_EMIsol(0),
37 m_HadIsol(0),
38 m_HadCore(0) {
39
40}

◆ ~EmTau_ROI()

EmTau_ROI::~EmTau_ROI ( )
virtual

Destructor.

The destructor is virtual, since the base classes have virtual functions...

Definition at line 46 of file EmTau_ROI.cxx.

46 {
47
48}

Member Function Documentation

◆ addThresholdName()

void EmTau_ROI::addThresholdName ( thresholds_type::value_type thr)
inline

Add the name of a threshold that this RoI passed.

Definition at line 76 of file EmTau_ROI.h.

76{ m_thresholdNames.push_back( thr ); }

◆ addThresholdValue()

void EmTau_ROI::addThresholdValue ( thr_value_type::value_type thr)
inline

Add the value of a threshold that this RoI passed.

Definition at line 78 of file EmTau_ROI.h.

78{ m_thresholdValues.push_back( thr ); }

◆ cosPhi()

double P4PtEtaPhiMBase::cosPhi ( ) const
virtualinherited

cosinus phi

Implements I4Momentum.

Definition at line 55 of file P4PtEtaPhiMBase.cxx.

56{
57 return std::cos(this->phi());
58}
virtual double phi() const =0
phi in [-pi,pi[

◆ cosTh()

double P4PtEtaPhiMBase::cosTh ( ) const
virtualinherited

cosinus theta

Implements I4Momentum.

Definition at line 70 of file P4PtEtaPhiMBase.cxx.

71{
72 return std::tanh(this->eta());
73}
virtual double eta() const =0
pseudo rapidity

◆ cotTh()

double P4PtEtaPhiMBase::cotTh ( ) const
virtualinherited

cottan theta

Implements I4Momentum.

Definition at line 65 of file P4PtEtaPhiMBase.cxx.

66{
67 return std::sinh(this->eta());
68}

◆ dump()

std::ostream & P4PtEtaPhiMBase::dump ( std::ostream & out) const
virtualinherited

Print I4Momentum content.

Implements I4Momentum.

Definition at line 147 of file P4PtEtaPhiMBase.cxx.

148{
149 std::stringstream outx;
150 outx << "[pt,eta,phi,m] ="
151 << std::right << std::scientific << std::setprecision(8)
152 << std::setw(16) << this->pt()
153 << std::setw(16) << this->eta()
154 << std::setw(16) << this->phi()
155 << std::setw(16) << this->m();
156 out<<outx.str();
157
158 return out;
159
160}
virtual double m() const =0
mass
virtual double pt() const =0
transverse momentum

◆ e()

double P4PtEtaPhiMBase::e ( ) const
virtualinherited

energy

Implements I4Momentum.

Definition at line 13 of file P4PtEtaPhiMBase.cxx.

14{
15 const double theMass = this->m();
16 const double thePt = this->pt();
17 const double thePz = this->pz();
18
19 //DR from Frank Paige
20 // if negative pt point in the opposite direction
21 // BUT eta and phi still the same !!!
22
23 double eSign = (thePt >= 0.) ? +1. : -1.;
24 return eSign*std::sqrt(thePt*thePt + thePz*thePz + theMass*theMass);
25}
virtual double pz() const
z component of momentum

◆ errors()

const I4MomentumError * P4PtEtaPhiMBase::errors ( ) const
virtualinherited

Access to errors, if available; returns 0 if no errors.

Implements I4Momentum.

Reimplemented in P4PtEtaPhiM.

Definition at line 162 of file P4PtEtaPhiMBase.cxx.

163{
164 return 0;
165}

◆ et()

double P4PtEtaPhiMBase::et ( ) const
virtualinherited

transverse energy defined to be e*sin(theta)

Implements I4Momentum.

Definition at line 101 of file P4PtEtaPhiMBase.cxx.

102 {
103 return this->e()*this->sinTh();
104 }
virtual double sinTh() const
sinus theta
virtual double e() const
energy

◆ eta()

virtual double EmTau_ROI::eta ( void ) const
inlinevirtual

Return the eta coordinate of the center of the RoI.

Implements I4Momentum.

Definition at line 96 of file EmTau_ROI.h.

96{ return m_eta; }

◆ fillToken() [1/2]

virtual void NavigableTerminalNode::fillToken ( INavigationToken & ) const
inlinevirtualinherited

Implements INavigable.

Definition at line 31 of file NavigableTerminalNode.h.

31{ };

◆ fillToken() [2/2]

virtual void NavigableTerminalNode::fillToken ( INavigationToken & ,
const std::any &  ) const
inlinevirtualinherited

Implements INavigable.

Definition at line 32 of file NavigableTerminalNode.h.

32{ };

◆ getAthenaBarCode()

virtual AthenaBarCode_t IAthenaBarCode::getAthenaBarCode ( ) const
inlinevirtualinherited

Reimplemented in Analysis::ParticleShallowClone, AthenaBarCodeBase, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM >, ParticleImpl< ::Analysis::TauJetNavigation, ::P4ImplEEtaPhiM >, ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< egammaNavigation, P4ImplEEtaPhiM >, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplEEtaPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplIPtCotThPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4PtEtaPhiM >, ParticleImpl< NeutrinoNavigation, P4ImplPxPyPzE >, ParticleImpl< TruthParticleNavigation, TruthParticleMomentum, TruthParticleBase >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >, and Rec::TrackParticle.

Definition at line 67 of file AthenaKernel/AthenaKernel/IAthenaBarCode.h.

67 {
68 return UNDEFINEDBARCODE;
69 }
static const AthenaBarCode_t UNDEFINEDBARCODE

◆ getCore()

float EmTau_ROI::getCore ( ) const
inline

Return the ET of the RoI Core cluster (2x2 towers, EM+Had)

Definition at line 56 of file EmTau_ROI.h.

56{ return m_Core; }

◆ getEMClus()

float EmTau_ROI::getEMClus ( ) const
inline

Return the deposited ET from the "EM cluster".

Definition at line 58 of file EmTau_ROI.h.

58{ return m_EMClus; }

◆ getEMIsol()

float EmTau_ROI::getEMIsol ( ) const
inline

Return the EM calorimeter isolation (outer ring of EM towers)

Definition at line 62 of file EmTau_ROI.h.

62{ return m_EMIsol; }

◆ getEta()

float EmTau_ROI::getEta ( ) const
inline

Legacy function returning the eta coordinate of the RoI.

Definition at line 52 of file EmTau_ROI.h.

52{ return m_eta; }

◆ getHadCore()

float EmTau_ROI::getHadCore ( ) const
inline

Return the ET deposited in the inner hadronic isolation region (2x2 core)

Definition at line 66 of file EmTau_ROI.h.

66{ return m_HadCore; }

◆ getHadIsol()

float EmTau_ROI::getHadIsol ( ) const
inline

Return the hadron calorimeter isolation (outer ring of had towers)

Definition at line 64 of file EmTau_ROI.h.

64{ return m_HadIsol; }

◆ getPhi()

float EmTau_ROI::getPhi ( ) const
inline

Legacy function returning the phi coordinate of the RoI.

Definition at line 54 of file EmTau_ROI.h.

54{ return m_phi; }

◆ getROIWord()

uint32_t EmTau_ROI::getROIWord ( ) const
inline

Return the RoI word produced by the L1Calo hardware.

Definition at line 50 of file EmTau_ROI.h.

50{ return m_roiWord; }

◆ getTauClus()

float EmTau_ROI::getTauClus ( ) const
inline

Return the deposited ET from the "tau cluster".

Definition at line 60 of file EmTau_ROI.h.

60{ return m_TauClus; }

◆ getThresholdNames()

const thresholds_type & EmTau_ROI::getThresholdNames ( ) const
inline

Return the names of the passed threshodlds.

Definition at line 71 of file EmTau_ROI.h.

71{ return m_thresholdNames; }

◆ getThresholdValues()

const thr_value_type & EmTau_ROI::getThresholdValues ( ) const
inline

Return the values of the passed thresholds.

Definition at line 73 of file EmTau_ROI.h.

73{ return m_thresholdValues; }

◆ getThrPattern()

uint32_t EmTau_ROI::getThrPattern ( ) const
inline

Return the bit-pattern describing the passed thresholds.

Definition at line 68 of file EmTau_ROI.h.

68{ return m_thrPattern; }

◆ getVersion()

virtual AthenaBarCodeVersion_t IAthenaBarCode::getVersion ( ) const
inlinevirtualinherited

Reimplemented in Analysis::ParticleShallowClone, AthenaBarCodeBase, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM >, ParticleImpl< ::Analysis::TauJetNavigation, ::P4ImplEEtaPhiM >, ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< egammaNavigation, P4ImplEEtaPhiM >, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplEEtaPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplIPtCotThPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4PtEtaPhiM >, ParticleImpl< NeutrinoNavigation, P4ImplPxPyPzE >, ParticleImpl< TruthParticleNavigation, TruthParticleMomentum, TruthParticleBase >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >, and Rec::TrackParticle.

Definition at line 85 of file AthenaKernel/AthenaKernel/IAthenaBarCode.h.

85 {
86 return UNDEFINEDVERSION;
87 }
static const AthenaBarCode_t UNDEFINEDVERSION

◆ hasSameAthenaBarCode()

virtual bool IAthenaBarCode::hasSameAthenaBarCode ( const IAthenaBarCode & ) const
inlinevirtualinherited

Reimplemented in Analysis::ParticleShallowClone, AthenaBarCodeBase, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM >, ParticleImpl< ::Analysis::TauJetNavigation, ::P4ImplEEtaPhiM >, ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< egammaNavigation, P4ImplEEtaPhiM >, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplEEtaPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplIPtCotThPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4PtEtaPhiM >, ParticleImpl< NeutrinoNavigation, P4ImplPxPyPzE >, ParticleImpl< TruthParticleNavigation, TruthParticleMomentum, TruthParticleBase >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >, and Rec::TrackParticle.

Definition at line 77 of file AthenaKernel/AthenaKernel/IAthenaBarCode.h.

77 {
78 return false;
79 }

◆ hasSameAthenaBarCodeExceptVersion()

virtual bool IAthenaBarCode::hasSameAthenaBarCodeExceptVersion ( const IAthenaBarCode & ) const
inlinevirtualinherited

Reimplemented in Analysis::ParticleShallowClone, AthenaBarCodeBase, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM >, ParticleImpl< ::Analysis::TauJetNavigation, ::P4ImplEEtaPhiM >, ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< egammaNavigation, P4ImplEEtaPhiM >, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplEEtaPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplIPtCotThPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4PtEtaPhiM >, ParticleImpl< NeutrinoNavigation, P4ImplPxPyPzE >, ParticleImpl< TruthParticleNavigation, TruthParticleMomentum, TruthParticleBase >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >, and Rec::TrackParticle.

Definition at line 81 of file AthenaKernel/AthenaKernel/IAthenaBarCode.h.

81 {
82 return false;
83 }

◆ hlv()

CLHEP::HepLorentzVector P4PtEtaPhiMBase::hlv ( ) const
virtualinherited

HepLorentzVector Special implementation from Frank Paige : if negative energy, points in opposite direction but eta and phi still the same.

Implements I4Momentum.

Definition at line 128 of file P4PtEtaPhiMBase.cxx.

129{
130 //minimize the number of calculation and dereference
131 const double theM = this->m();
132 // note that pt can have negative sign : then it points in opposite direction but eta and phi are still on the same side
133 const double thePt = this->pt();
134
135
136 const double thePx = thePt*this->cosPhi();
137 const double thePy = thePt*this->sinPhi();
138
139 const double thePz = thePt*this->cotTh();
140
141 const double theE=std::sqrt(thePt*thePt+thePz*thePz+theM*theM);
142
143
144 return CLHEP::HepLorentzVector( thePx, thePy, thePz, theE );
145}
virtual double sinPhi() const
sinus phi
virtual double cotTh() const
cottan theta
virtual double cosPhi() const
cosinus phi

◆ iPt()

double P4PtEtaPhiMBase::iPt ( ) const
virtualinherited

inverse of transverse momentum

Implements I4Momentum.

Definition at line 106 of file P4PtEtaPhiMBase.cxx.

107 { return 1./this->pt();
108 }

◆ kind()

I4Momentum::Kind P4PtEtaPhiMBase::kind ( ) const
inlinevirtualinherited

tells what kind of P4XYZT this is

Implements I4Momentum.

Definition at line 64 of file P4PtEtaPhiMBase.h.

64{ return I4Momentum::P4PTETAPHIM; };

◆ m()

virtual double EmTau_ROI::m ( void ) const
inlinevirtual

Return the mass of the object, always 0.0 for RoIs.

Implements I4Momentum.

Definition at line 100 of file EmTau_ROI.h.

100{ return 0.0; }

◆ m2()

double P4PtEtaPhiMBase::m2 ( ) const
virtualinherited

mass squared

Implements I4Momentum.

Definition at line 50 of file P4PtEtaPhiMBase.cxx.

51{ const double theM=this->m();
52 return theM*theM;
53}

◆ newVersion()

virtual void IAthenaBarCode::newVersion ( )
inlinevirtualinherited

Reimplemented in AthenaBarCodeBase, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM >, ParticleImpl< ::Analysis::TauJetNavigation, ::P4ImplEEtaPhiM >, ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< egammaNavigation, P4ImplEEtaPhiM >, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplEEtaPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplIPtCotThPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4PtEtaPhiM >, ParticleImpl< NeutrinoNavigation, P4ImplPxPyPzE >, ParticleImpl< TruthParticleNavigation, TruthParticleMomentum, TruthParticleBase >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >, and Rec::TrackParticle.

Definition at line 89 of file AthenaKernel/AthenaKernel/IAthenaBarCode.h.

89 {
90 // throw std::runtime_error("IAthenaBarCode::newVersion():: can't newVersion() in the dummy implementation");
91 }

◆ p()

double P4PtEtaPhiMBase::p ( ) const
virtualinherited

magnitude of 3-momentum.

Special implementation from Frank Paige : if negative energy p is negative but eta and phi still the same.

Implements I4Momentum.

Definition at line 27 of file P4PtEtaPhiMBase.cxx.

28{
29 const double thePt = this->pt();
30 const double thePz = this->pz();
31
32 //DR from Frank Paige
33 // if negative pt point in the opposite direction
34 // BUT eta and phi still the same !!!
35
36 double eSign = (thePt >= 0.) ? +1. : -1.;
37 return eSign*std::sqrt(thePt*thePt + thePz*thePz);
38}

◆ p2()

double P4PtEtaPhiMBase::p2 ( ) const
virtualinherited

square of momentum magnitude

Implements I4Momentum.

Definition at line 40 of file P4PtEtaPhiMBase.cxx.

41{
42 /* This method has been implemented so as to give the same as would be obtained from pow((this->p()),2) with this->p() implemented according to Frank Paige's algorithm above. */
43
44 const double thePt = this->pt();
45 const double thePz = this->pz();
46
47 return thePt*thePt + thePz*thePz;
48}

◆ phi()

virtual double EmTau_ROI::phi ( void ) const
inlinevirtual

Return the phi coordinate of the center of the RoI.

Implements I4Momentum.

Definition at line 98 of file EmTau_ROI.h.

98{ return m_phi; }

◆ pt()

double EmTau_ROI::pt ( void ) const
virtual

Return the pT of the highest threshold passed.

The pT of the EM/Tau RoI is calculated as the highest threshold value that this RoI passed.

It's not too useful like this, but that's on purpose. Any analysis has to use the detailed properties of the RoI, not just a single value describing its transverse momentum.

Returns
The value of the highest threshold this RoI passed, in MeV/c

Implements I4Momentum.

Definition at line 58 of file EmTau_ROI.cxx.

58 {
59 auto itr = std::max_element(m_thresholdValues.begin(), m_thresholdValues.end());
60 return (itr != m_thresholdValues.end() ? *itr : -1);
61}

◆ px()

double P4PtEtaPhiMBase::px ( ) const
virtualinherited

x component of momentum

Implements I4Momentum.

Definition at line 117 of file P4PtEtaPhiMBase.cxx.

118 { return this->pt()*this->cosPhi();
119 }

◆ py()

double P4PtEtaPhiMBase::py ( ) const
virtualinherited

y component of momentum

Implements I4Momentum.

Definition at line 121 of file P4PtEtaPhiMBase.cxx.

122 { return this->pt()*this->sinPhi();
123 }

◆ pz()

double P4PtEtaPhiMBase::pz ( ) const
virtualinherited

z component of momentum

Implements I4Momentum.

Definition at line 125 of file P4PtEtaPhiMBase.cxx.

126{ return this->pt()*this->cotTh(); }

◆ rapidity()

double P4PtEtaPhiMBase::rapidity ( ) const
virtualinherited

rapidity

Implements I4Momentum.

Definition at line 110 of file P4PtEtaPhiMBase.cxx.

111 {
112 const double theE=this->e();
113 const double thePz=this->pz();
114 return 0.5*std::log((theE+thePz)/(theE-thePz));
115 }

◆ set4Mom() [1/3]

void P4PtEtaPhiMBase::set4Mom ( const CLHEP::HepLorentzVector & theHlv)
virtualinherited

set all 4-mom from a CLHEP HepLorentzVector DUMMY IMPLEMENTATION

Implements I4Momentum.

Reimplemented in P4PtEtaPhiM.

Definition at line 180 of file P4PtEtaPhiMBase.cxx.

181{
182 std::cout << "FATAL ERROR dummy P4PtEtaPhiMBase::set4Mom called " << std::endl ;
183 std::abort();
184}

◆ set4Mom() [2/3]

void P4PtEtaPhiMBase::set4Mom ( const I4Momentum & theI4Mom)
virtualinherited

set all 4-mom from another I4Momentum reference DUMMY IMPLEMENTATION

Implements I4Momentum.

Reimplemented in P4PtEtaPhiM.

Definition at line 167 of file P4PtEtaPhiMBase.cxx.

168{
169 std::cout << "FATAL ERROR dummy P4PtEtaPhiMBase::set4Mom called " << std::endl ;
170 std::abort();
171}

◆ set4Mom() [3/3]

void P4PtEtaPhiMBase::set4Mom ( const I4Momentum *const theI4Mom)
virtualinherited

set all 4-mom from another I4Momentum pointer DUMMY IMPLEMENTATION

Implements I4Momentum.

Reimplemented in P4PtEtaPhiM.

Definition at line 173 of file P4PtEtaPhiMBase.cxx.

174{
175 std::cout << "FATAL ERROR dummy P4PtEtaPhiMBase::set4Mom called " << std::endl; ;
176 std::abort();
177
178}

◆ setAthenaBarCode()

virtual void IAthenaBarCode::setAthenaBarCode ( AthenaBarCode_t )
inlinevirtualinherited

Reimplemented in AthenaBarCodeBase, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM >, ParticleImpl< ::Analysis::TauJetNavigation, ::P4ImplEEtaPhiM >, ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< egammaNavigation, P4ImplEEtaPhiM >, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplEEtaPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplIPtCotThPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4PtEtaPhiM >, ParticleImpl< NeutrinoNavigation, P4ImplPxPyPzE >, ParticleImpl< TruthParticleNavigation, TruthParticleMomentum, TruthParticleBase >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >, and Rec::TrackParticle.

Definition at line 71 of file AthenaKernel/AthenaKernel/IAthenaBarCode.h.

71 {
72 // throw std::runtime_error("IAthenaBarCode::setAthenaBarCode():: can't set AthenaBarCode in the dummy implementation");
73 }

◆ setCore()

void EmTau_ROI::setCore ( float value)
inline

Set the ET deposited in the "RoI core".

Definition at line 81 of file EmTau_ROI.h.

81{ m_Core = value; }

◆ setEMClus()

void EmTau_ROI::setEMClus ( float value)
inline

Set the deposited ET in the "EM cluster".

Definition at line 83 of file EmTau_ROI.h.

83{ m_EMClus = value; }

◆ setEMIsol()

void EmTau_ROI::setEMIsol ( float value)
inline

Set the EM calorimeter isolation (outer ring of EM towers)

Definition at line 87 of file EmTau_ROI.h.

87{ m_EMIsol = value; }

◆ setHadCore()

void EmTau_ROI::setHadCore ( float value)
inline

Set the ET deposited in the inner hadronic isolation region (2x2 core)

Definition at line 91 of file EmTau_ROI.h.

91{ m_HadCore = value; }

◆ setHadIsol()

void EmTau_ROI::setHadIsol ( float value)
inline

Set the hadron calorimeter isolation (outer ring of Had towers)

Definition at line 89 of file EmTau_ROI.h.

89{ m_HadIsol = value; }

◆ setTauClus()

void EmTau_ROI::setTauClus ( float value)
inline

Set the deposited ET in the "tau cluster".

Definition at line 85 of file EmTau_ROI.h.

85{ m_TauClus = value; }

◆ setVersion()

virtual void IAthenaBarCode::setVersion ( AthenaBarCodeVersion_t )
inlinevirtualinherited

Reimplemented in AthenaBarCodeBase, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM >, ParticleImpl< ::Analysis::TauJetNavigation, ::P4ImplEEtaPhiM >, ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< egammaNavigation, P4ImplEEtaPhiM >, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplEEtaPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplIPtCotThPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4PtEtaPhiM >, ParticleImpl< NeutrinoNavigation, P4ImplPxPyPzE >, ParticleImpl< TruthParticleNavigation, TruthParticleMomentum, TruthParticleBase >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >, and Rec::TrackParticle.

Definition at line 93 of file AthenaKernel/AthenaKernel/IAthenaBarCode.h.

93 {
94 // throw std::runtime_error("IAthenaBarCode::setVersion():: can't setVersion() in the dummy implementation");
95 }

◆ sinPhi()

double P4PtEtaPhiMBase::sinPhi ( ) const
virtualinherited

sinus phi

Implements I4Momentum.

Definition at line 60 of file P4PtEtaPhiMBase.cxx.

61{
62 return std::sin(this->phi());
63}

◆ sinTh()

double P4PtEtaPhiMBase::sinTh ( ) const
virtualinherited

sinus theta

Implements I4Momentum.

Definition at line 75 of file P4PtEtaPhiMBase.cxx.

76{
77 // avoid numeric overflow if very large eta
78
79 double aEta=std::abs(this->eta());
80 if ( aEta>710) {
81 aEta=710;
82 }
83
84 return 1./std::cosh(aEta);
85}

◆ tanTh()

double P4PtEtaPhiMBase::tanTh ( ) const
virtualinherited

tan theta

Implements I4Momentum.

Definition at line 87 of file P4PtEtaPhiMBase.cxx.

88{
89 // avoid numeric overflow if very large eta
90
91 double theEta=this->eta();
92 if ( std::abs(theEta)>710) {
93 theEta=theEta>0 ? 710 : -710;
94 return 1./std::sinh(theEta);
95 }
96
97 return 1./std::sinh(this->eta());
98}

Member Data Documentation

◆ m_Core

float EmTau_ROI::m_Core
private

ET of RoI core cluster (used to select window)

Definition at line 113 of file EmTau_ROI.h.

◆ m_EMClus

float EmTau_ROI::m_EMClus
private

Deposited ET in the "EM cluster".

Definition at line 114 of file EmTau_ROI.h.

◆ m_EMIsol

float EmTau_ROI::m_EMIsol
private

EM calorimeter isolation.

Definition at line 116 of file EmTau_ROI.h.

◆ m_eta

float EmTau_ROI::m_eta
private

eta coordinate of RoI

Definition at line 105 of file EmTau_ROI.h.

◆ m_HadCore

float EmTau_ROI::m_HadCore
private

ET of inner hadronic isolation sum.

Definition at line 118 of file EmTau_ROI.h.

◆ m_HadIsol

float EmTau_ROI::m_HadIsol
private

Outer Hadron calorimeter isolation.

Definition at line 117 of file EmTau_ROI.h.

◆ m_phi

float EmTau_ROI::m_phi
private

phi coordinate of RoI

Definition at line 106 of file EmTau_ROI.h.

◆ m_roiWord

uint32_t EmTau_ROI::m_roiWord
private

32bit encoded ROI word

Definition at line 103 of file EmTau_ROI.h.

◆ m_TauClus

float EmTau_ROI::m_TauClus
private

Deposited ET in the "tau cluster".

Definition at line 115 of file EmTau_ROI.h.

◆ m_thresholdNames

thresholds_type EmTau_ROI::m_thresholdNames
private

Names of the passed thresholds.

Definition at line 110 of file EmTau_ROI.h.

◆ m_thresholdValues

thr_value_type EmTau_ROI::m_thresholdValues
private

Values of the passed thresholds.

Definition at line 111 of file EmTau_ROI.h.

◆ m_thrPattern

uint32_t EmTau_ROI::m_thrPattern
private

threshold bit pattern

Definition at line 108 of file EmTau_ROI.h.

◆ UNDEFINEDBARCODE

const AthenaBarCode_t IAthenaBarCode::UNDEFINEDBARCODE = (AthenaBarCode_t)(-1)
staticinherited

Definition at line 52 of file AthenaKernel/AthenaKernel/IAthenaBarCode.h.

◆ UNDEFINEDVERSION

const AthenaBarCode_t IAthenaBarCode::UNDEFINEDVERSION = UNDEFINEDBARCODE
staticinherited

Definition at line 53 of file AthenaKernel/AthenaKernel/IAthenaBarCode.h.


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