|
ATLAS Offline Software
|
Go to the documentation of this file.
52 #ifndef XAOD_BPHYSHELPER_H
53 #define XAOD_BPHYSHELPER_H
63 #include "TLorentzVector.h"
64 #include "TMatrixTSym.h"
150 const std::vector<TVector3>&
refTrks();
236 std::vector<float>
py,
237 std::vector<float>
pz);
246 #ifndef XAOD_ANALYSIS
266 #endif // not XAOD_ANALYSIS
342 const std::vector<const xAOD::Muon*>&
muons();
343 const std::vector<const xAOD::Electron*>&
electrons();
738 #define BPHYS_CHECK( EXP ) { if( ! EXP ) ATH_MSG_WARNING ( "Call of \"" << #EXP << "\" failed" ); }
740 #endif // XAOD_BPHYSHELPER_H
const std::vector< const xAOD::Electron * > & electrons()
xAOD::MuonContainer * muonContainer
int RefitPVStatus(const pv_type vertexType=BPhysHelper::PV_MIN_A0)
Get the exitCode of the refitter for vertex of type pv_type.
float refTrkCharge(const size_t index) const
Returns charge of the i-th track.
TVector3 totalP()
: Returns total 3-momentum calculated from the refitted tracks
float setA0xyErr(const float val, const pv_type vertexType=BPhysHelper::PV_MIN_A0)
transverse impact parameter error
xAOD::ElectronContainer * electronContainer
int nMuons()
: Methods providing access to the linked muons
static const std::vector< TVector3 > s_emptyVectorOfTVector3
static const std::string pv_type_str[]
int nRefTrks()
Returns number of stored refitted track momenta.
int nCascadeVertices()
: Links to cascade vertices
std::vector< const xAOD::Electron * > m_cachedElectrons
bool setRefitPVStatus(int code, const pv_type vertexType=BPhysHelper::PV_MIN_A0)
Set the exitCode of the refitter for vertex of type pv_type.
std::vector< const xAOD::Vertex * > m_cachedCascadeVertices
float a0xyErr(const pv_type vertexType=BPhysHelper::PV_MIN_A0)
rtansverse impact parameter error
std::vector< TVector3 > m_cachedRefTracks
const xAOD::Muon * muon(const size_t index)
Returns pointer to the i-th linked muon.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
bool setCascadeVertices(const std::vector< const xAOD::Vertex * > &vertices, const xAOD::VertexContainer *vertexContainer)
Sets links to cascade vertices.
float ptErr()
Returns pT error.
bool setPrecedingVertices(const std::vector< const xAOD::Vertex * > &vertices, const xAOD::VertexContainer *vertexContainer)
Sets links to preceding vertices.
float z0Err(const pv_type vertexType=BPhysHelper::PV_MIN_A0)
longitudinal impact parameter error
TMatrixTSym< double > m_cachedCov
float lxyErr(const pv_type vertexType=BPhysHelper::PV_MIN_A0)
its error
Class providing the definition of the 4-vector interface.
float z0(const pv_type vertexType=BPhysHelper::PV_MIN_A0)
longitudinal impact parameter
float lxyzErr(const pv_type vertexType=BPhysHelper::PV_MIN_A0)
its error
std::vector< const xAOD::Muon * > m_cachedMuons
static const std::vector< const xAOD::Electron * > s_emptyVectorOfElectrons
int nRefTrksCascade()
Returns number of stored refitted tracks INCLUDING those from the linked cascade vertices.
bool setPtErr(const float val)
Set pT error.
pv_type
: Enum type of the PV
float setA0xy(const float val, const pv_type vertexType=BPhysHelper::PV_MIN_A0)
transverse impact parameter
float lxyz(const pv_type vertexType=BPhysHelper::PV_MIN_A0)
decay distance
bool m_precedingVerticesCached
const xAOD::Electron * electron(const size_t index)
const xAOD::Vertex * m_b
Cached B decay xAOD vertex.
static const std::vector< const xAOD::Vertex * > s_emptyVectorOfVertices
const xAOD::Vertex * precedingVertex(const size_t index)
Returns pointer to a preceding vertex.
BPhysHelper(const xAOD::Vertex *b)
: Main constructor
std::vector< const xAOD::Vertex * > m_cachedPrecedingVertices
float setZ0Err(const float val, const pv_type vertexType=BPhysHelper::PV_MIN_A0)
longitudinal impact parameter error
float setA0Err(const float val, const pv_type vertexType=BPhysHelper::PV_MIN_A0)
3D impact parameter error
const xAOD::Vertex * origPv(const pv_type vertexType=BPhysHelper::PV_MIN_A0)
original PV
bool setElectrons(const std::vector< const xAOD::Electron * > &electrons, const xAOD::ElectronContainer *electronContainer)
static const std::vector< const xAOD::Muon * > s_emptyVectorOfMuons
bool setRefTrks()
: Sets refitted track momenta
bool setLxy(const float val, const pv_type vertexType=BPhysHelper::PV_MIN_A0)
Set the transverse decay distance and its error measured between the refitted primary vertex of type ...
bool cachePrecedingVertices()
: Cache preceding vertices
const xAOD::IParticle * refTrkOrigin(const size_t index) const
: Returns the original track (charged or neutral) corresponding to the i-th refitted track
bool m_cascadeVerticesCached
bool setMuons(const std::vector< const xAOD::Muon * > &muons, const xAOD::MuonContainer *muonContainer)
Set links to muons.
bool setPv(const xAOD::Vertex *pv, const xAOD::VertexContainer *vertexContainer, const pv_type vertexType=BPhysHelper::PV_MIN_A0)
Set the refitted collision vertex of type pv_type.
const std::vector< const xAOD::Vertex * > & cascadeVertices()
Returns vector of pointers to cascade vertices.
const xAOD::Vertex * vtx() const
Getter method for the cached xAOD::Vertex.
static const TMatrixTSym< double > s_emptyMatrix
bool cacheCov()
: Cache covariance matrix
bool setLxyErr(const float val, const pv_type vertexType=BPhysHelper::PV_MIN_A0)
its error
bool cacheRefTracks()
: Cache refitted tracks
float a0Err(const pv_type vertexType=BPhysHelper::PV_MIN_A0)
3D impact parameter error
bool cacheMuons()
: Cache linked muons
const std::vector< const xAOD::Vertex * > & precedingVertices()
Returns vector of pointers to preceding vertices.
bool setOrigPv(const xAOD::Vertex *pv, const xAOD::VertexContainer *vertexContainer, const pv_type vertexType=BPhysHelper::PV_MIN_A0)
Set the original collision vertex of type pv_type.
float lxy(const pv_type vertexType=BPhysHelper::PV_MIN_A0)
Get the transverse decay distance and its error measured between the refitted primary vertex of type ...
Class describing a Vertex.
TVector3 refTrk(const size_t index)
Returns i-th refitted track 3-momentum.
float a0xy(const pv_type vertexType=BPhysHelper::PV_MIN_A0)
transverse impact parameter
int nPrecedingVertices()
: Links to preceding vertices
const xAOD::Vertex * pv(const pv_type vertexType=BPhysHelper::PV_MIN_A0)
Get the refitted collision vertex of type pv_type.
const std::vector< TVector3 > & refTrks()
Returns refitted track momenta.
bool setLxyzErr(const float val, const pv_type vertexType=BPhysHelper::PV_MIN_A0)
its error
float setA0(const float val, const pv_type vertexType=BPhysHelper::PV_MIN_A0)
Set the 3D and transverse impact parameters and their error.
static const unsigned int n_pv_types
float setZ0(const float val, const pv_type vertexType=BPhysHelper::PV_MIN_A0)
longitudinal impact parameter
const std::vector< const xAOD::Muon * > & muons()
Returns linked muons.
float a0(const pv_type vertexType=BPhysHelper::PV_MIN_A0)
Get the 3D, transverse, and longitudinal impact parameters and their error.
bool setLxyz(const float val, const pv_type vertexType=BPhysHelper::PV_MIN_A0)
decay distance
const TMatrixTSym< double > & covariance()
: Returns full covariance matrix
const xAOD::Vertex * cascadeVertex(const size_t index)
Returns pointer to a cascade vertex.
bool cacheCascadeVertices()
: Cache cascade vertices
TVector3 refTrkOriginP(const size_t index) const
Returns perigee 3-momentum of the original track corresponding i-th refitted track.