#include <P4BaseEEtaPhiM.h>
P4BaseEEtaPhiM is a base class for classes with 4-momentum behavior, for which E, eta, phi and M are natural parameters, which is typically the case for a calorimeter object. Any class deriving from it should implement e(), eta(), phi(), m().
- Author
- David Rousseau rouss.nosp@m.eau@.nosp@m.lal.i.nosp@m.n2p3.nosp@m..fr
Definition at line 32 of file P4BaseEEtaPhiM.h.
◆ ~P4BaseEEtaPhiM()
P4BaseEEtaPhiM::~P4BaseEEtaPhiM |
( |
| ) |
|
|
inlinevirtual |
◆ cosPhi()
double P4BaseEEtaPhiM::cosPhi |
( |
| ) |
const |
|
inline |
◆ cosTh()
double P4BaseEEtaPhiM::cosTh |
( |
| ) |
const |
|
inline |
◆ cotTh()
double P4BaseEEtaPhiM::cotTh |
( |
| ) |
const |
|
inline |
◆ dump()
std::ostream & P4BaseEEtaPhiM::dump |
( |
std::ostream & |
out | ) |
const |
|
inline |
Print I4Momentum
content.
Definition at line 231 of file P4BaseEEtaPhiM.h.
234 s <<
"[e,eta,phi,m] ="
235 << std::right << std::scientific << std::setprecision(8)
236 << std::setw(16) << this->
e()
237 << std::setw(16) << this->
eta()
238 << std::setw(16) << this->
phi()
239 << std::setw(16) << this->
m();
◆ e()
virtual double P4BaseEEtaPhiM::e |
( |
| ) |
const |
|
pure virtual |
◆ et()
double P4BaseEEtaPhiM::et |
( |
| ) |
const |
|
inline |
◆ eta()
virtual double P4BaseEEtaPhiM::eta |
( |
| ) |
const |
|
pure virtual |
◆ hlv()
CLHEP::HepLorentzVector P4BaseEEtaPhiM::hlv |
( |
| ) |
const |
|
inline |
Definition at line 209 of file P4BaseEEtaPhiM.h.
212 const double theE = this->
e();
213 const double theCosTh = this->
cosTh();
220 const double theP = this->
p();
222 const double theSinTh = std::sqrt(1.-theCosTh*theCosTh);
223 const double thePt = theP*theSinTh;
224 const double thePx = thePt*this->
cosPhi();
225 const double thePy = thePt*this->
sinPhi();
226 const double thePz = theP*theCosTh;
228 return CLHEP::HepLorentzVector(thePx,thePy,thePz,theE);
◆ iPt()
double P4BaseEEtaPhiM::iPt |
( |
| ) |
const |
|
inline |
◆ m()
virtual double P4BaseEEtaPhiM::m |
( |
| ) |
const |
|
pure virtual |
◆ m2()
double P4BaseEEtaPhiM::m2 |
( |
| ) |
const |
|
inline |
◆ p()
double P4BaseEEtaPhiM::p |
( |
| ) |
const |
|
inline |
Definition at line 111 of file P4BaseEEtaPhiM.h.
113 const double theM=this->
m();
114 const double theE=this->
e();
123 double eSign = (theE >= 0.) ? +1. : -1.;
124 return eSign*std::sqrt(theE*theE-theM*theM);
◆ p2()
double P4BaseEEtaPhiM::p2 |
( |
| ) |
const |
|
inline |
This p2() implementaion is derived from the (somewhat unusual) Frank Paige implementation used to calculate p() above. What we do is look at what would happen if we were to square the answer returned by Frank's algorithm:
(1) The "eSign" would square to +1 and disappear, (2) The sqrt would disappear leaving theE*theE-theM*theM (3) In the event that theM==0, this theE*theE would indeed still equal theE*theE-theM*theM, so we simply return this quantity.
Definition at line 129 of file P4BaseEEtaPhiM.h.
138 const double mass = this->
m();
139 const double ene = this->
e();
◆ phi()
virtual double P4BaseEEtaPhiM::phi |
( |
| ) |
const |
|
pure virtual |
◆ pt()
double P4BaseEEtaPhiM::pt |
( |
| ) |
const |
|
inline |
◆ px()
double P4BaseEEtaPhiM::px |
( |
| ) |
const |
|
inline |
◆ py()
double P4BaseEEtaPhiM::py |
( |
| ) |
const |
|
inline |
◆ pz()
double P4BaseEEtaPhiM::pz |
( |
| ) |
const |
|
inline |
◆ rapidity()
double P4BaseEEtaPhiM::rapidity |
( |
| ) |
const |
|
inline |
Definition at line 149 of file P4BaseEEtaPhiM.h.
151 const double theE=this->
e();
152 const double thePz=this->
pz();
153 return 0.5*
std::log((theE+thePz)/(theE-thePz));
◆ sinPhi()
double P4BaseEEtaPhiM::sinPhi |
( |
| ) |
const |
|
inline |
◆ sinTh()
double P4BaseEEtaPhiM::sinTh |
( |
| ) |
const |
|
inline |
Definition at line 192 of file P4BaseEEtaPhiM.h.
196 double aEta=std::abs(this->
eta());
201 return 1./std::cosh(aEta);
◆ tanTh()
double P4BaseEEtaPhiM::tanTh |
( |
| ) |
const |
|
inline |
Definition at line 177 of file P4BaseEEtaPhiM.h.
179 double theEta=this->
eta();
180 if ( std::abs(theEta)>710) {
181 theEta=theEta>0 ? 710 : -710;
182 return 1./std::sinh(theEta);
184 return 1./this->
cotTh();
The documentation for this class was generated from the following file: