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

Class representing a b-jet candidate created at EF. More...

#include <TrigEFBjet.h>

Inheritance diagram for TrigEFBjet:
Collaboration diagram for TrigEFBjet:

Public Types

enum  Kind {
  P4EETAPHIM , P4IPTCOTTHPHIM , P4PTETAPHIM , P4PXPYPZE ,
  UNKNOWN
}

Public Member Functions

 TrigEFBjet ()
 Constructor.
 TrigEFBjet (int, float, float, const Rec::TrackParticleContainer *, const VxContainer *, const VxContainer *, float, float, float xcomb, float xIP1d, float xIP2d, float xIP3d, float xChi2, float xSv, float xmvtx, float xevtx, float xnvtx)
 Constructor used by TrigBjetFex algorithm.
 ~TrigEFBjet ()=default
 Destructor.
int roiId () const
 To retrieve identifier of the RoI (unique to each LVL1 RoI).
float prmVtx () const
 To retrieve reconstructed z of primary vertex.
void validate (bool v)
 To validate TrigEFBjet object.
bool isValid () const
 To know if TrigEFBjet object is valid.
const Rec::TrackParticleContainerTrackCollection () const
 To retrieve pointer to track collection of type TrackParticle.
const VxContainerPrmVertexCollection () const
 To retrieve pointer to primary vertex collection of type VxVertex.
const VxContainerSecVertexCollection () const
 To retrieve pointer to secondary vertex collection of type VxVertex.
float xComb () const
 To retrieve best likelihood weight (combination of IP3D and SV).
float xIP1D () const
 To retrieve likelihood weight based on longitudinal impact parameter.
float xIP2D () const
 To retrieve likelihood weight based on transverse impact parameter.
float xIP3D () const
 To retrieve likelihood weight based on 2D combination of impact parameters.
float xCHI2 () const
 To retrieve probability weight based on chi2 of track fit.
float xSV () const
 To retrieve likelihood weight based on secondary vertex.
float xMVtx () const
 To retrieve likelihood weight based on mass of secondary vertex.
float xEVtx () const
 To retrieve likelihood weight based on energy of secondary vertex.
float xNVtx () const
 To retrieve likelihood weight based on number of tracks linked to secondary vertex.
virtual double pt () const
 get pt data member
virtual double eta () const
 get eta data member
virtual double phi () const
 get phi data member
virtual double m () const
 get mass data member
virtual void setPt (double thePt)
 set pt data member
virtual void setEta (double theEta)
 set eta data member
virtual void setPhi (double thePhi)
 set phi data member
virtual void setM (double theM)
 set mass data member
virtual void set4Mom (const I4Momentum &theI4Mom)
 set all 4-mom from another I4Momentum reference
virtual void set4Mom (const I4Momentum *const theI4Mom)
 set all 4-mom from another I4Momentum pointer
virtual void set4Mom (const CLHEP::HepLorentzVector &theHlv)
 set all 4-mom from a CLHEP HepLorentzVector
virtual const I4MomentumErrorerrors () const
 Access to errors, if available; returns 0 if no errors.
virtual void fillToken (INavigationToken &) const
virtual void fillToken (INavigationToken &, const std::any &) const
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.
I4Momentum::Kind kind () const
 tells what kind of P4XYZT this is
virtual std::ostream & dump (std::ostream &out) const
 Print I4Momentum content.
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

Protected Attributes

double m_pt
double m_eta
double m_phi
double m_m

Private Attributes

bool m_valid
 Boolean variable to declare the object as a valid one.
int m_roiID
 Identifier of the RoI.
const Rec::TrackParticleContainerm_track
 Pointer to the track collection.
const VxContainerm_prmvertex
 Pointer to the primary vertex collection.
const VxContainerm_secvertex
 Pointer to the secondary vertex collection.
float m_prmVtx
 Z coordinate of the primary vertex.
float m_xcomb
 Best likelihood weight (combination of IP3D and SV) - not filled yet.
float m_xIP1d
 Likelihood weight based on transverse impact parameter.
float m_xIP2d
 Likelihood weight based on longitudinal impact parameter.
float m_xIP3d
 Likelihood weight based on 2D combination of impact parameters.
float m_xChi2
 Probability weight based on chi2 of track fit.
float m_xSv
 Likelihood weight based on secondary vertex - not filled yet.
float m_xmvtx
 Likelihood weight based on mass of secondary vertex - not filled yet.
float m_xevtx
 Likelihood weight based on energy of secondary vertex - not filled yet.
float m_xnvtx
 Likelihood weight based on number of tracks linked to secondary vertex - not filled yet.

Detailed Description

Class representing a b-jet candidate created at EF.

Author
Andrea Coccaro Andre.nosp@m.a.Co.nosp@m.ccaro.nosp@m.@ge..nosp@m.infn..nosp@m.it

Definition at line 37 of file TrigEFBjet.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

◆ TrigEFBjet() [1/2]

TrigEFBjet::TrigEFBjet ( )

Constructor.

Definition at line 18 of file TrigEFBjet.cxx.

18 :
19 P4PtEtaPhiM(0,0,0,1.*CLHEP::MeV),
21 m_valid(false),
22 m_roiID(-1),
23 m_track(0),
24 m_prmvertex(0),
25 m_secvertex(0),
26 m_prmVtx(-1.),
27 m_xcomb(-1.),
28 m_xIP1d(-1.),
29 m_xIP2d(-1.),
30 m_xIP3d(-1.),
31 m_xChi2(-1.),
32 m_xSv(-1.),
33 m_xmvtx(-1.),
34 m_xevtx(-1.),
35 m_xnvtx(-1.)
36{}
P4PtEtaPhiM()
default constructor
Definition P4PtEtaPhiM.h:83
int m_roiID
Identifier of the RoI.
Definition TrigEFBjet.h:97
float m_xSv
Likelihood weight based on secondary vertex - not filled yet.
Definition TrigEFBjet.h:120
float m_xIP3d
Likelihood weight based on 2D combination of impact parameters.
Definition TrigEFBjet.h:116
float m_xIP2d
Likelihood weight based on longitudinal impact parameter.
Definition TrigEFBjet.h:114
const Rec::TrackParticleContainer * m_track
Pointer to the track collection.
Definition TrigEFBjet.h:100
const VxContainer * m_secvertex
Pointer to the secondary vertex collection.
Definition TrigEFBjet.h:104
bool m_valid
Boolean variable to declare the object as a valid one.
Definition TrigEFBjet.h:94
float m_xevtx
Likelihood weight based on energy of secondary vertex - not filled yet.
Definition TrigEFBjet.h:124
const VxContainer * m_prmvertex
Pointer to the primary vertex collection.
Definition TrigEFBjet.h:102
float m_xChi2
Probability weight based on chi2 of track fit.
Definition TrigEFBjet.h:118
float m_xnvtx
Likelihood weight based on number of tracks linked to secondary vertex - not filled yet.
Definition TrigEFBjet.h:126
float m_prmVtx
Z coordinate of the primary vertex.
Definition TrigEFBjet.h:107
float m_xmvtx
Likelihood weight based on mass of secondary vertex - not filled yet.
Definition TrigEFBjet.h:122
float m_xcomb
Best likelihood weight (combination of IP3D and SV) - not filled yet.
Definition TrigEFBjet.h:110
float m_xIP1d
Likelihood weight based on transverse impact parameter.
Definition TrigEFBjet.h:112

◆ TrigEFBjet() [2/2]

TrigEFBjet::TrigEFBjet ( int roi,
float eta,
float phi,
const Rec::TrackParticleContainer * track,
const VxContainer * prmvertex,
const VxContainer * secvertex,
float prmvtx,
float ptJet,
float xcomb,
float xIP1d,
float xIP2d,
float xIP3d,
float xChi2,
float xSv,
float xmvtx,
float xevtx,
float xnvtx )

Constructor used by TrigBjetFex algorithm.

Definition at line 39 of file TrigEFBjet.cxx.

42 :
43 P4PtEtaPhiM((double)ptJet,(double)eta,(double)phi, 1.*CLHEP::MeV), NavigableTerminalNode(),
44 m_valid(false),
45 m_roiID(roi),
46 m_track(track),
47 m_prmvertex(prmvertex),
48 m_secvertex(secvertex),
49 m_prmVtx(prmvtx),
50 m_xcomb(xcomb),
51 m_xIP1d(xIP1d),
52 m_xIP2d(xIP2d),
53 m_xIP3d(xIP3d),
54 m_xChi2(xChi2),
55 m_xSv(xSv),
56 m_xmvtx(xmvtx),
57 m_xevtx(xevtx),
58 m_xnvtx(xnvtx)
59{}
virtual double phi() const =0
phi in [-pi,pi[
virtual double eta() const =0
pseudo rapidity

◆ ~TrigEFBjet()

TrigEFBjet::~TrigEFBjet ( )
default

Destructor.

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}
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 * P4PtEtaPhiM::errors ( ) const
virtualinherited

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

Reimplemented from P4PtEtaPhiMBase.

Definition at line 7 of file P4PtEtaPhiM.cxx.

8{
9 return 0;
10}

◆ 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()

double P4PtEtaPhiM::eta ( void ) const
inlinevirtualinherited

get eta data member

Implements I4Momentum.

Definition at line 106 of file P4PtEtaPhiM.h.

107{ return m_eta;}
double m_eta
Definition P4PtEtaPhiM.h:77

◆ 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

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

◆ isValid()

bool TrigEFBjet::isValid ( ) const

To know if TrigEFBjet object is valid.

Definition at line 64 of file TrigEFBjet.cxx.

64{ return m_valid; }

◆ 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()

double P4PtEtaPhiM::m ( void ) const
inlinevirtualinherited

get mass data member

Implements I4Momentum.

Definition at line 112 of file P4PtEtaPhiM.h.

113{ return m_m;}

◆ 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()

double P4PtEtaPhiM::phi ( void ) const
inlinevirtualinherited

get phi data member

Implements I4Momentum.

Definition at line 109 of file P4PtEtaPhiM.h.

110{ return m_phi;}
double m_phi
Definition P4PtEtaPhiM.h:78

◆ PrmVertexCollection()

const VxContainer * TrigEFBjet::PrmVertexCollection ( ) const

To retrieve pointer to primary vertex collection of type VxVertex.

Definition at line 71 of file TrigEFBjet.cxx.

71{ return m_prmvertex; }

◆ prmVtx()

float TrigEFBjet::prmVtx ( ) const

To retrieve reconstructed z of primary vertex.

Definition at line 68 of file TrigEFBjet.cxx.

68{ return m_prmVtx; }

◆ pt()

double P4PtEtaPhiM::pt ( void ) const
inlinevirtualinherited

get pt data member

Implements I4Momentum.

Definition at line 103 of file P4PtEtaPhiM.h.

104{ return m_pt;}
double m_pt
Definition P4PtEtaPhiM.h:76

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

◆ roiId()

int TrigEFBjet::roiId ( ) const

To retrieve identifier of the RoI (unique to each LVL1 RoI).

Definition at line 66 of file TrigEFBjet.cxx.

66{ return m_roiID; }

◆ SecVertexCollection()

const VxContainer * TrigEFBjet::SecVertexCollection ( ) const

To retrieve pointer to secondary vertex collection of type VxVertex.

Definition at line 72 of file TrigEFBjet.cxx.

72{ return m_secvertex; }

◆ set4Mom() [1/3]

void P4PtEtaPhiM::set4Mom ( const CLHEP::HepLorentzVector & theHlv)
inlinevirtualinherited

set all 4-mom from a CLHEP HepLorentzVector

Reimplemented from P4PtEtaPhiMBase.

Definition at line 140 of file P4PtEtaPhiM.h.

141{
142 m_pt=theHlv.perp();
143 m_eta=theHlv.eta();
144 //FIXME protect against negative energy
145 //assert(m_e >= 0,"P4PtEtaPhiM::set4Mom cannot have negative energy");
146 //assert(m_e >= 0);
147 // FIXME of the FIXME in fact it is not necessary to prtoect against negative energy
148 // and besides Seal assert does not work
149 // ASSERT( m_e >= 0 );
150 m_phi=theHlv.phi();
151 m_m=theHlv.m();
152
153
154}

◆ set4Mom() [2/3]

void P4PtEtaPhiM::set4Mom ( const I4Momentum & theI4Mom)
inlinevirtualinherited

set all 4-mom from another I4Momentum reference

Reimplemented from P4PtEtaPhiMBase.

Definition at line 127 of file P4PtEtaPhiM.h.

128{
129 m_pt=theI4Mom.pt();
130 m_eta=theI4Mom.eta();
131 m_phi=theI4Mom.phi();
132 m_m=theI4Mom.m();
133}

◆ set4Mom() [3/3]

void P4PtEtaPhiM::set4Mom ( const I4Momentum *const theI4Mom)
inlinevirtualinherited

set all 4-mom from another I4Momentum pointer

Reimplemented from P4PtEtaPhiMBase.

Definition at line 135 of file P4PtEtaPhiM.h.

136{
137 this->set4Mom(*theI4Mom);
138}
virtual void set4Mom(const I4Momentum &theI4Mom)
set all 4-mom from another I4Momentum reference

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

◆ setEta()

void P4PtEtaPhiM::setEta ( double theEta)
inlinevirtualinherited

set eta data member

Definition at line 118 of file P4PtEtaPhiM.h.

119{ m_eta = theEta;}

◆ setM()

void P4PtEtaPhiM::setM ( double theM)
inlinevirtualinherited

set mass data member

Definition at line 124 of file P4PtEtaPhiM.h.

125{ m_m = theM;}

◆ setPhi()

void P4PtEtaPhiM::setPhi ( double thePhi)
inlinevirtualinherited

set phi data member

Definition at line 121 of file P4PtEtaPhiM.h.

122{ m_phi = thePhi;}

◆ setPt()

void P4PtEtaPhiM::setPt ( double thePt)
inlinevirtualinherited

set pt data member

Definition at line 115 of file P4PtEtaPhiM.h.

116{ m_pt = thePt;}

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

◆ TrackCollection()

const Rec::TrackParticleContainer * TrigEFBjet::TrackCollection ( ) const

To retrieve pointer to track collection of type TrackParticle.

Definition at line 70 of file TrigEFBjet.cxx.

70{ return m_track; }

◆ validate()

void TrigEFBjet::validate ( bool v)

To validate TrigEFBjet object.

Definition at line 62 of file TrigEFBjet.cxx.

◆ xCHI2()

float TrigEFBjet::xCHI2 ( ) const

To retrieve probability weight based on chi2 of track fit.

Definition at line 78 of file TrigEFBjet.cxx.

78{ return m_xChi2; }

◆ xComb()

float TrigEFBjet::xComb ( ) const

To retrieve best likelihood weight (combination of IP3D and SV).

Definition at line 74 of file TrigEFBjet.cxx.

74{ return m_xcomb; }

◆ xEVtx()

float TrigEFBjet::xEVtx ( ) const

To retrieve likelihood weight based on energy of secondary vertex.

Definition at line 81 of file TrigEFBjet.cxx.

81{ return m_xevtx; }

◆ xIP1D()

float TrigEFBjet::xIP1D ( ) const

To retrieve likelihood weight based on longitudinal impact parameter.

Definition at line 75 of file TrigEFBjet.cxx.

75{ return m_xIP1d; }

◆ xIP2D()

float TrigEFBjet::xIP2D ( ) const

To retrieve likelihood weight based on transverse impact parameter.

Definition at line 76 of file TrigEFBjet.cxx.

76{ return m_xIP2d; }

◆ xIP3D()

float TrigEFBjet::xIP3D ( ) const

To retrieve likelihood weight based on 2D combination of impact parameters.

Definition at line 77 of file TrigEFBjet.cxx.

77{ return m_xIP3d; }

◆ xMVtx()

float TrigEFBjet::xMVtx ( ) const

To retrieve likelihood weight based on mass of secondary vertex.

Definition at line 80 of file TrigEFBjet.cxx.

80{ return m_xmvtx; }

◆ xNVtx()

float TrigEFBjet::xNVtx ( ) const

To retrieve likelihood weight based on number of tracks linked to secondary vertex.

Definition at line 82 of file TrigEFBjet.cxx.

82{ return m_xnvtx; }

◆ xSV()

float TrigEFBjet::xSV ( ) const

To retrieve likelihood weight based on secondary vertex.

Definition at line 79 of file TrigEFBjet.cxx.

79{ return m_xSv; }

Member Data Documentation

◆ m_eta

double P4PtEtaPhiM::m_eta
protectedinherited

Definition at line 77 of file P4PtEtaPhiM.h.

◆ m_m

double P4PtEtaPhiM::m_m
protectedinherited

Definition at line 79 of file P4PtEtaPhiM.h.

◆ m_phi

double P4PtEtaPhiM::m_phi
protectedinherited

Definition at line 78 of file P4PtEtaPhiM.h.

◆ m_prmvertex

const VxContainer* TrigEFBjet::m_prmvertex
private

Pointer to the primary vertex collection.

Definition at line 102 of file TrigEFBjet.h.

◆ m_prmVtx

float TrigEFBjet::m_prmVtx
private

Z coordinate of the primary vertex.

Definition at line 107 of file TrigEFBjet.h.

◆ m_pt

double P4PtEtaPhiM::m_pt
protectedinherited

Definition at line 76 of file P4PtEtaPhiM.h.

◆ m_roiID

int TrigEFBjet::m_roiID
private

Identifier of the RoI.

Definition at line 97 of file TrigEFBjet.h.

◆ m_secvertex

const VxContainer* TrigEFBjet::m_secvertex
private

Pointer to the secondary vertex collection.

Definition at line 104 of file TrigEFBjet.h.

◆ m_track

const Rec::TrackParticleContainer* TrigEFBjet::m_track
private

Pointer to the track collection.

Definition at line 100 of file TrigEFBjet.h.

◆ m_valid

bool TrigEFBjet::m_valid
private

Boolean variable to declare the object as a valid one.

Definition at line 94 of file TrigEFBjet.h.

◆ m_xChi2

float TrigEFBjet::m_xChi2
private

Probability weight based on chi2 of track fit.

Definition at line 118 of file TrigEFBjet.h.

◆ m_xcomb

float TrigEFBjet::m_xcomb
private

Best likelihood weight (combination of IP3D and SV) - not filled yet.

Definition at line 110 of file TrigEFBjet.h.

◆ m_xevtx

float TrigEFBjet::m_xevtx
private

Likelihood weight based on energy of secondary vertex - not filled yet.

Definition at line 124 of file TrigEFBjet.h.

◆ m_xIP1d

float TrigEFBjet::m_xIP1d
private

Likelihood weight based on transverse impact parameter.

Definition at line 112 of file TrigEFBjet.h.

◆ m_xIP2d

float TrigEFBjet::m_xIP2d
private

Likelihood weight based on longitudinal impact parameter.

Definition at line 114 of file TrigEFBjet.h.

◆ m_xIP3d

float TrigEFBjet::m_xIP3d
private

Likelihood weight based on 2D combination of impact parameters.

Definition at line 116 of file TrigEFBjet.h.

◆ m_xmvtx

float TrigEFBjet::m_xmvtx
private

Likelihood weight based on mass of secondary vertex - not filled yet.

Definition at line 122 of file TrigEFBjet.h.

◆ m_xnvtx

float TrigEFBjet::m_xnvtx
private

Likelihood weight based on number of tracks linked to secondary vertex - not filled yet.

Definition at line 126 of file TrigEFBjet.h.

◆ m_xSv

float TrigEFBjet::m_xSv
private

Likelihood weight based on secondary vertex - not filled yet.

Definition at line 120 of file TrigEFBjet.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: