ATLAS Offline Software
Public Types | Public Member Functions | Static Public Attributes | Private Attributes | List of all members
Muon_ROI Class Reference

Muon RoI class for analysis. More...

#include <Muon_ROI.h>

Inheritance diagram for Muon_ROI:
Collaboration diagram for Muon_ROI:

Public Types

enum  RoISource { Barrel, Endcap, Forward }
 RoI source enumeration. More...
 
enum  Hemisphere { Positive, Negative }
 RoI hemisphere enumeration. More...
 
enum  Charge { Neg = 0, Pos = 1, Undef = 100 }
 Charge sign. More...
 
enum  Kind {
  P4EETAPHIM, P4IPTCOTTHPHIM, P4PTETAPHIM, P4PXPYPZE,
  UNKNOWN
}
 

Public Member Functions

 Muon_ROI (uint32_t roiWord, double eta, double phi, const std::string &thrName, double thrValue)
 Constructor used when creating the object from RoIBResult data. More...
 
 Muon_ROI ()
 Default constructor (for persistency purposes) More...
 
virtual ~Muon_ROI ()
 Destructor. More...
 
uint32_t getROIWord () const
 Return the original 32-bit RoI word given by the LVL1 muon trigger. More...
 
float getEta () const
 Legacy function returning the eta coordinate of the RoI. More...
 
float getPhi () const
 Legacy function returning the phi coordinate of the RoI. More...
 
std::string getThrName () const
 Return the name of the highest threshold this RoI passed. More...
 
float getThrValue () const
 Return the value of the highest threshold this RoI passed. More...
 
int getThrNumber () const
 Get the logic number of the highest threshold this RoI passed. More...
 
int getRoI () const
 Get the "RoI number" (position inside the sector) More...
 
int getSectorAddress () const
 Get the full sector address. More...
 
bool isFirstCandidate () const
 Returns if the candidate had the highest pT in the sector. More...
 
bool isMoreCandInRoI () const
 Returns if there were other muons detected in the same RoI. More...
 
bool isMoreCandInSector () const
 Returns if there were other muons detected in the same sector. More...
 
RoISource getSource () const
 Returns the system that detected the muon candidate. More...
 
Hemisphere getHemisphere () const
 Returns the hemisphere that detected the muon candidate. More...
 
Charge getCharge () const
 Returns the charge sign of the muon candidate. More...
 
bool isVetoed () const
 Returns the veto flag for the candidate. More...
 
virtual double pt () const
 Return the value of the highest threshold this RoI passed. More...
 
virtual double eta () const
 Return the eta coordinate of the center of the RoI. More...
 
virtual double phi () const
 Return the phi coordinate of the center of the RoI. More...
 
virtual double m () const
 Return the mass of the object, always 0.0 for RoIs. More...
 
virtual double px () const
 x component of momentum More...
 
virtual double py () const
 y component of momentum More...
 
virtual double pz () const
 z component of momentum More...
 
virtual double e () const
 energy More...
 
virtual double p () const
 magnitude of 3-momentum. More...
 
virtual double p2 () const
 square of momentum magnitude More...
 
virtual double m2 () const
 mass squared More...
 
virtual double et () const
 transverse energy defined to be e*sin(theta) More...
 
virtual double iPt () const
 inverse of transverse momentum More...
 
virtual double rapidity () const
 rapidity More...
 
virtual double cosPhi () const
 cosinus phi More...
 
virtual double sinPhi () const
 sinus phi More...
 
virtual double cotTh () const
 cottan theta More...
 
virtual double cosTh () const
 cosinus theta More...
 
virtual double sinTh () const
 sinus theta More...
 
virtual double tanTh () const
 tan theta More...
 
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
More...
 
virtual const I4MomentumErrorerrors () const
 Access to errors, if available; returns 0 if no errors. More...
 
virtual void set4Mom (const I4Momentum &theI4Mom)
 set all 4-mom from another I4Momentum reference DUMMY IMPLEMENTATION
More...
 
virtual void set4Mom (const I4Momentum *const theI4Mom)
 set all 4-mom from another I4Momentum pointer DUMMY IMPLEMENTATION More...
 
virtual void set4Mom (const CLHEP::HepLorentzVector &theHlv)
 set all 4-mom from a CLHEP HepLorentzVector DUMMY IMPLEMENTATION More...
 
I4Momentum::Kind kind () const
 tells what kind of P4XYZT this is More...
 
virtual std::ostream & dump (std::ostream &out) const
 Print I4Momentum content. More...
 
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 More...
 
float m_eta
 eta coordinate of RoI More...
 
float m_phi
 phi coordinate of RoI More...
 
std::string m_thrName
 Name of the highest threshold this RoI passed. More...
 
float m_thrValue
 Value of the highest threshold this RoI passed. More...
 

Detailed Description

Muon RoI class for analysis.

   The RoI now inherits from INavigable4Momentum to make it easier to use
   in an analysis (especially EventView).
Author
Tadashi Maeno
Attila Krasznahorkay
Version
Revision
1.6
Date
Date
2008-05-08 15:00:11
See also
INavigable4Momentum

Definition at line 33 of file Muon_ROI.h.

Member Enumeration Documentation

◆ Charge

Charge sign.

Enumerator
Neg 

Candidate is a mu- from a TGC sector.

Pos 

Candidate is a mu+ from a TGC sector.

Undef 

This is an RPC candidate.

Definition at line 58 of file Muon_ROI.h.

58  {
59  Neg = 0,
60  Pos = 1,
61  Undef = 100
62  };

◆ Hemisphere

RoI hemisphere enumeration.

Enumerator
Positive 

The candidate came from the +z side (side A)

Negative 

The candidate came from the -z side (side C)

Definition at line 53 of file Muon_ROI.h.

53  {
54  Positive,
55  Negative
56  };

◆ Kind

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

Definition at line 33 of file I4Momentum.h.

◆ RoISource

RoI source enumeration.

Enumerator
Barrel 

The muon candidate was detected in the barrel region.

Endcap 

The muon candidate was detected in the endcap region.

Forward 

The muon candidate was detected in the forward region.

Definition at line 47 of file Muon_ROI.h.

47  {
48  Barrel,
49  Endcap,
50  Forward
51  };

Constructor & Destructor Documentation

◆ Muon_ROI() [1/2]

Muon_ROI::Muon_ROI ( uint32_t  roiWord,
double  eta,
double  phi,
const std::string &  thrName,
double  thrValue 
)

Constructor used when creating the object from RoIBResult data.

The constructor just initialises all the member variables to the values given to it.

Definition at line 13 of file Muon_ROI.cxx.

15  : m_roiWord( roiWord ), m_eta( eta ), m_phi( phi ), m_thrName( thrName ),
16  m_thrValue( thrValue ) {
17 
18 }

◆ Muon_ROI() [2/2]

Muon_ROI::Muon_ROI ( )

Default constructor (for persistency purposes)

The constructor initialises all member variables to dummy initial values.

Definition at line 23 of file Muon_ROI.cxx.

24  : m_roiWord( 0 ), m_eta( 0. ), m_phi( 0. ), m_thrName( "" ), m_thrValue( 0. ) {
25 
26 }

◆ ~Muon_ROI()

Muon_ROI::~Muon_ROI ( )
virtual

Destructor.

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

Definition at line 32 of file Muon_ROI.cxx.

32  {
33 
34 }

Member Function Documentation

◆ 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 }

◆ 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 }

◆ 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 }

◆ 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 }

◆ 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  }

◆ eta()

virtual double Muon_ROI::eta ( ) const
inlinevirtual

Return the eta coordinate of the center of the RoI.

Implements I4Momentum.

Definition at line 99 of file Muon_ROI.h.

99 { 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

◆ getCharge()

Muon_ROI::Charge Muon_ROI::getCharge ( ) const

Returns the charge sign of the muon candidate.

Endcap and forward sectors can tell you what was the charge of the muon candidate.

Barrel candidates can't do this.

See also
Muon_ROI::RoISource
Muon_ROI::getSource()

Definition at line 160 of file Muon_ROI.cxx.

160  {
161 
162  if( getSource() == Barrel ) return Undef;
163  if( m_roiWord & 0x8000000 ) {
164  return Pos;
165  } else {
166  return Neg;
167  }
168 }

◆ getEta()

float Muon_ROI::getEta ( ) const
inline

Legacy function returning the eta coordinate of the RoI.

Definition at line 67 of file Muon_ROI.h.

67 { return m_eta; }

◆ getHemisphere()

Muon_ROI::Hemisphere Muon_ROI::getHemisphere ( ) const

Returns the hemisphere that detected the muon candidate.

The function decodes the sector hemisphere encoded in the 8-bit sector address into an easy to understand enumeration.

See also
Muon_ROI::getSectorAddress()
Muon_ROI::Hemisphere

Definition at line 144 of file Muon_ROI.cxx.

144  {
145 
146  if( this->getSectorAddress() & 0x1 ) {
147  return Positive;
148  } else {
149  return Negative;
150  }
151 }

◆ getPhi()

float Muon_ROI::getPhi ( ) const
inline

Legacy function returning the phi coordinate of the RoI.

Definition at line 69 of file Muon_ROI.h.

69 { return m_phi; }

◆ getRoI()

int Muon_ROI::getRoI ( ) const

Get the "RoI number" (position inside the sector)

A muon's spacial location is identified from the sector number and the hemisphere that detected it.

Each sector is additionally divided into multiple areas, called RoIs that tell you which part of the sector the muon candidate was detected in.

Returns
Integer number smaller than 147

Definition at line 56 of file Muon_ROI.cxx.

56  {
57 
58  if( this->getSource() == Forward ) {
59  return ( ( m_roiWord >> 2 ) & 0x3f );
60  } else if( this->getSource() == Endcap ) {
61  return ( ( m_roiWord >> 2 ) & 0xff );
62  } else if( this->getSource() == Barrel ) {
63  return ( ( m_roiWord >> 2 ) & 0x1f );
64  }
65 
66  return 0;
67 }

◆ getROIWord()

uint32_t Muon_ROI::getROIWord ( ) const
inline

Return the original 32-bit RoI word given by the LVL1 muon trigger.

Definition at line 65 of file Muon_ROI.h.

65 { return m_roiWord; }

◆ getSectorAddress()

int Muon_ROI::getSectorAddress ( ) const

Get the full sector address.

The sector address is an 8-bit identifier of the sector.

For its detailed description, see page 38 of https://edms.cern.ch/file/248757/1/mirod.pdf

The least significant bit shown which hemisphere the sector is in (0: positive side, 1: negative side), the upper (1 or 2) bits show what kind of sector it is, the rest of the address is the number of the sector.

Returns
An 8-bit identifier

Definition at line 80 of file Muon_ROI.cxx.

80  {
81 
82  return ( ( m_roiWord >> 14 ) & 0xff );
83 }

◆ getSource()

Muon_ROI::RoISource Muon_ROI::getSource ( ) const

Returns the system that detected the muon candidate.

The function decodes the sector type encoded in the 8-bit sector address into an easy to understand enumeration.

See also
Muon_ROI::getSectorAddress()
Muon_ROI::RoISource

Definition at line 126 of file Muon_ROI.cxx.

126  {
127 
128  if( this->getSectorAddress() & 0x80 ) {
129  return Endcap;
130  } else if( this->getSectorAddress() & 0x40 ) {
131  return Forward;
132  } else {
133  return Barrel;
134  }
135 }

◆ getThrName()

std::string Muon_ROI::getThrName ( ) const
inline

Return the name of the highest threshold this RoI passed.

Definition at line 71 of file Muon_ROI.h.

71 { return m_thrName; }

◆ getThrNumber()

int Muon_ROI::getThrNumber ( ) const

Get the logic number of the highest threshold this RoI passed.

Each detected LVL1 muon candidate is assigned a pT threshold.

The hardware can assign one of 6 pT thresholds to the candidate, which are numbered from 1 to 6.

Returns
Integer number in the [1, 6] range

Definition at line 43 of file Muon_ROI.cxx.

43  {
44 
45  return ( ( m_roiWord >> 11 ) & 0x7 );
46 }

◆ getThrValue()

float Muon_ROI::getThrValue ( ) const
inline

Return the value of the highest threshold this RoI passed.

Definition at line 73 of file Muon_ROI.h.

73 { return m_thrValue; }

◆ getVersion()

virtual AthenaBarCodeVersion_t IAthenaBarCode::getVersion ( ) const
inlinevirtualinherited

◆ hasSameAthenaBarCode()

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

◆ hasSameAthenaBarCodeExceptVersion()

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

◆ 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 }

◆ 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  }

◆ isFirstCandidate()

bool Muon_ROI::isFirstCandidate ( ) const

Returns if the candidate had the highest pT in the sector.

Each muon trigger sector can only send information about a maximum of two LVL1 muon candidate to the central trigger.

If this flag is true, this candidate had the highest pT threshold assigned to it in its sector. If it's false, it was the second candidate in its sector.

Definition at line 92 of file Muon_ROI.cxx.

92  {
93 
94  return ( ( m_roiWord >> 22 ) & 0x1 );
95 }

◆ isMoreCandInRoI()

bool Muon_ROI::isMoreCandInRoI ( ) const

Returns if there were other muons detected in the same RoI.

One RoI (one part of the trigger sector) can only send information about one LVL1 muon candidate to the central trigger.

This flag is true if the particular RoI that detected this muon candidate also detected another candidate with lower pT.

Definition at line 103 of file Muon_ROI.cxx.

103  {
104 
105  return ( ( m_roiWord >> 1 ) & 0x1 );
106 }

◆ isMoreCandInSector()

bool Muon_ROI::isMoreCandInSector ( ) const

Returns if there were other muons detected in the same sector.

This flag is set to true if the sector that this muon candidate came from, detected more than 2 LVL1 muon candidates.

See also
Muon_ROI::isFirstCandidate()

Definition at line 114 of file Muon_ROI.cxx.

114  {
115 
116  return ( m_roiWord & 0x1 );
117 }

◆ isVetoed()

bool Muon_ROI::isVetoed ( ) const

Returns the veto flag for the candidate.

When the overlap handling is activated in the MuCTPI, candidates can be ignored in the multiplicity sum sent to the CTP.

This flag tells you whether this particular candidate was ignored in the multiplicity sum.

Definition at line 175 of file Muon_ROI.cxx.

175  {
176 
177  return ( m_roiWord & 0x10000000 );
178 }

◆ 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 Muon_ROI::m ( ) const
inlinevirtual

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

Implements I4Momentum.

Definition at line 103 of file Muon_ROI.h.

103 { 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 Rec::TrackParticle, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE >, ParticleSigStateImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< NavigableTerminalNode, P4ImplEEtaPhiM, ParticleEvent::Base >, ParticleImpl< TruthParticleNavigation, TruthParticleMomentum, TruthParticleBase >, ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4PtEtaPhiM >, ParticleImpl< ::Analysis::TauJetNavigation, ::P4ImplEEtaPhiM >, ParticleImpl< Navigable< DataVector< INavigable4Momentum >, double, std::vector< std::pair< ElementLink< DataVector< INavigable4Momentum > >, double > > >, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< egammaNavigation, P4ImplEEtaPhiM >, ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM >, ParticleImpl< NavigableTerminalNode, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplIPtCotThPhiM, ParticleEvent::Base >, ParticleImpl< NeutrinoNavigation, P4ImplPxPyPzE >, and AthenaBarCodeBase.

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 Muon_ROI::phi ( ) const
inlinevirtual

Return the phi coordinate of the center of the RoI.

Implements I4Momentum.

Definition at line 101 of file Muon_ROI.h.

101 { return m_phi; }

◆ pt()

virtual double Muon_ROI::pt ( ) const
inlinevirtual

Return the value of the highest threshold this RoI passed.

Implements I4Momentum.

Definition at line 97 of file Muon_ROI.h.

97 { return m_thrValue; }

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

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  }

◆ setVersion()

virtual void IAthenaBarCode::setVersion ( AthenaBarCodeVersion_t  )
inlinevirtualinherited

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

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_eta

float Muon_ROI::m_eta
private

eta coordinate of RoI

Definition at line 108 of file Muon_ROI.h.

◆ m_phi

float Muon_ROI::m_phi
private

phi coordinate of RoI

Definition at line 109 of file Muon_ROI.h.

◆ m_roiWord

uint32_t Muon_ROI::m_roiWord
private

32bit encoded ROI word

Definition at line 106 of file Muon_ROI.h.

◆ m_thrName

std::string Muon_ROI::m_thrName
private

Name of the highest threshold this RoI passed.

Definition at line 111 of file Muon_ROI.h.

◆ m_thrValue

float Muon_ROI::m_thrValue
private

Value of the highest threshold this RoI passed.

Definition at line 112 of file Muon_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:
plotBeamSpotCompare.x1
x1
Definition: plotBeamSpotCompare.py:216
IAthenaBarCode::UNDEFINEDBARCODE
static const AthenaBarCode_t UNDEFINEDBARCODE
Definition: AthenaKernel/AthenaKernel/IAthenaBarCode.h:52
Muon_ROI::Undef
@ Undef
This is an RPC candidate.
Definition: Muon_ROI.h:61
Muon_ROI::Negative
@ Negative
The candidate came from the -z side (side C)
Definition: Muon_ROI.h:55
I4Momentum::P4IPTCOTTHPHIM
@ P4IPTCOTTHPHIM
Definition: I4Momentum.h:33
Muon_ROI::eta
virtual double eta() const
Return the eta coordinate of the center of the RoI.
Definition: Muon_ROI.h:99
Muon_ROI::m_eta
float m_eta
eta coordinate of RoI
Definition: Muon_ROI.h:108
Muon_ROI::Pos
@ Pos
Candidate is a mu+ from a TGC sector.
Definition: Muon_ROI.h:60
Muon_ROI::getSource
RoISource getSource() const
Returns the system that detected the muon candidate.
Definition: Muon_ROI.cxx:126
P4PtEtaPhiMBase::e
virtual double e() const
energy
Definition: P4PtEtaPhiMBase.cxx:13
python.AthDsoLogger.out
out
Definition: AthDsoLogger.py:71
P4PtEtaPhiMBase::cotTh
virtual double cotTh() const
cottan theta
Definition: P4PtEtaPhiMBase.cxx:65
Muon_ROI::m_phi
float m_phi
phi coordinate of RoI
Definition: Muon_ROI.h:109
drawFromPickle.cos
cos
Definition: drawFromPickle.py:36
I4Momentum::pt
virtual double pt() const =0
transverse momentum
Muon_ROI::phi
virtual double phi() const
Return the phi coordinate of the center of the RoI.
Definition: Muon_ROI.h:101
Muon_ROI::Forward
@ Forward
The muon candidate was detected in the forward region.
Definition: Muon_ROI.h:50
Muon_ROI::Barrel
@ Barrel
The muon candidate was detected in the barrel region.
Definition: Muon_ROI.h:48
P4PtEtaPhiMBase::cosPhi
virtual double cosPhi() const
cosinus phi
Definition: P4PtEtaPhiMBase.cxx:55
xAOD::roiWord
roiWord
Definition: TrigMissingET_v1.cxx:36
Muon_ROI::Endcap
@ Endcap
The muon candidate was detected in the endcap region.
Definition: Muon_ROI.h:49
I4Momentum::eta
virtual double eta() const =0
pseudo rapidity
Muon_ROI::m_thrValue
float m_thrValue
Value of the highest threshold this RoI passed.
Definition: Muon_ROI.h:112
I4Momentum::phi
virtual double phi() const =0
phi in [-pi,pi[
I4Momentum::P4PTETAPHIM
@ P4PTETAPHIM
Definition: I4Momentum.h:33
P4PtEtaPhiMBase::sinPhi
virtual double sinPhi() const
sinus phi
Definition: P4PtEtaPhiMBase.cxx:60
I4Momentum::UNKNOWN
@ UNKNOWN
Definition: I4Momentum.h:33
Muon_ROI::Positive
@ Positive
The candidate came from the +z side (side A)
Definition: Muon_ROI.h:54
P4PtEtaPhiMBase::pz
virtual double pz() const
z component of momentum
Definition: P4PtEtaPhiMBase.cxx:125
I4Momentum::m
virtual double m() const =0
mass
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
Muon_ROI::m_roiWord
uint32_t m_roiWord
32bit encoded ROI word
Definition: Muon_ROI.h:106
drawFromPickle.sin
sin
Definition: drawFromPickle.py:36
IAthenaBarCode::UNDEFINEDVERSION
static const AthenaBarCode_t UNDEFINEDVERSION
Definition: AthenaKernel/AthenaKernel/IAthenaBarCode.h:53
Muon_ROI::Neg
@ Neg
Candidate is a mu- from a TGC sector.
Definition: Muon_ROI.h:59
xAOD::thrValue
thrValue
Definition: MuonRoI_v1.cxx:54
I4Momentum::P4EETAPHIM
@ P4EETAPHIM
Definition: I4Momentum.h:33
Muon_ROI::m_thrName
std::string m_thrName
Name of the highest threshold this RoI passed.
Definition: Muon_ROI.h:111
P4PtEtaPhiMBase::sinTh
virtual double sinTh() const
sinus theta
Definition: P4PtEtaPhiMBase.cxx:75
Muon_ROI::getSectorAddress
int getSectorAddress() const
Get the full sector address.
Definition: Muon_ROI.cxx:80
I4Momentum::P4PXPYPZE
@ P4PXPYPZE
Definition: I4Momentum.h:33