|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef JPSIXPLUSDISPLACED_H
6 #define JPSIXPLUSDISPLACED_H
9 #include "GaudiKernel/ToolHandle.h"
10 #include "GaudiKernel/IPartPropSvc.h"
25 class TrkVKalVrtFitter;
26 class IVertexCascadeFitter;
31 namespace InDet {
class VertexPointEstimator; }
38 static const InterfaceID IID_JpsiXPlusDisplaced(
"JpsiXPlusDisplaced", 1, 0);
69 const std::vector<MesonCandidate>&
vector()
const;
77 static const InterfaceID&
interfaceID() {
return IID_JpsiXPlusDisplaced;}
81 StatusCode performSearch(std::vector<Trk::VxCascadeInfo*>& cascadeinfoContainer,
const std::vector<std::pair<const xAOD::Vertex*,V0Enum> >& selectedV0Candidates,
const std::vector<const xAOD::TrackParticle*>& tracksDisplaced)
const;
215 void fitV0Container(
xAOD::VertexContainer* V0ContainerNew,
const std::vector<const xAOD::TrackParticle*>& selectedTracks,
const std::vector<const xAOD::TrackParticleContainer*>& trackCols)
const;
std::vector< std::string > m_vertexJXHypoNames
const xAOD::Vertex * FindVertex(const xAOD::VertexContainer *cont, const xAOD::Vertex *v) const
virtual StatusCode addBranches() const override
Pass the thinning service
ToolHandle< Trk::ITrackSelectorTool > m_trkSelector
MesonCandidate getDstpmCandidate(const xAOD::Vertex *JXvtx, const std::vector< double > &massesJX, const xAOD::TrackParticle *extraTrk1, const xAOD::TrackParticle *extraTrk2, const xAOD::TrackParticle *extraTrk3) const
static const InterfaceID & interfaceID()
ToolHandle< Trk::TrkVKalVrtFitter > m_iVertexFitter
ToolHandle< Trk::TrkV0VertexFitter > m_iV0Fitter
SG::ReadHandleKey< xAOD::VertexContainer > m_vertexV0ContainerKey
size_t m_maxMesonCandidates
void push_back(const MesonCandidate &etac)
unsigned int m_maxMainVCandidates
XiCandidate getXiCandidate(const xAOD::Vertex *V0vtx, const V0Enum V0, const xAOD::TrackParticle *track3) const
std::vector< double > m_massesV0_pipi
TLorentzVector p4_disVtrack
Property holding a SG store/key/clid from which a ReadHandle is made.
TLorentzVector p4_V0track1
const xAOD::Vertex * V0vtx
MesonCandidateVector(size_t num, bool orderByPt)
const std::vector< MesonCandidate > & vector() const
const xAOD::TrackParticle * track
SG::WriteHandleKey< xAOD::VertexContainer > m_v0VtxOutputKey
ToolHandle< InDet::VertexPointEstimator > m_vertexEstimator
double m_extraTrk2MassHypo
std::vector< MesonCandidate > m_vector
StatusCode performSearch(std::vector< Trk::VxCascadeInfo * > &cascadeinfoContainer, const std::vector< std::pair< const xAOD::Vertex *, V0Enum > > &selectedV0Candidates, const std::vector< const xAOD::TrackParticle * > &tracksDisplaced) const
ToolHandle< Reco::ITrackToVertex > m_trackToVertexTool
std::vector< Trk::VxCascadeInfo * > fitMainVtx(const xAOD::Vertex *JXvtx, const std::vector< double > &massesJX, const xAOD::Vertex *V0vtx, const V0Enum V0, const xAOD::TrackParticleContainer *trackContainer, const std::vector< const xAOD::TrackParticleContainer * > &trackCols) const
Property holding a SG store/key/clid from which a WriteHandle is made.
ToolHandle< Trk::V0Tools > m_V0Tools
SG::ReadHandleKeyArray< xAOD::TrackParticleContainer > m_RelinkContainers
::StatusCode StatusCode
StatusCode definition for legacy code.
bool d0Pass(const xAOD::TrackParticle *track, const xAOD::Vertex *PV) const
const xAOD::Vertex * V0vtx
double m_disVDaug3MassHypo
SG::ReadHandleKey< xAOD::VertexContainer > m_VxPrimaryCandidateName
ToolHandle< Trk::ITrackSelectorTool > m_v0TrkSelector
double m_extraTrk3MassHypo
const xAOD::TrackParticle * extraTrack1
std::vector< double > m_massesV0_ppi
MesonCandidate getDpmCandidate(const xAOD::Vertex *JXvtx, const std::vector< double > &massesJX, const xAOD::TrackParticle *extraTrk1, const xAOD::TrackParticle *extraTrk2, const xAOD::TrackParticle *extraTrk3) const
ToolHandle< Trk::IExtrapolator > m_extrapolator
MesonCandidate getEtacCandidate(const xAOD::Vertex *V0vtx, const V0Enum V0, const xAOD::TrackParticle *extraTrk1, const xAOD::TrackParticle *extraTrk2) const
double m_diTrackMassUpper
double m_diTrackMassLower
void fitV0Container(xAOD::VertexContainer *V0ContainerNew, const std::vector< const xAOD::TrackParticle * > &selectedTracks, const std::vector< const xAOD::TrackParticleContainer * > &trackCols) const
const xAOD::TrackParticle * extraTrack2
virtual ~JpsiXPlusDisplaced()=default
Ensure that the ATLAS eigen extensions are properly loaded.
unsigned int m_maxJXCandidates
ToolHandle< DerivationFramework::CascadeTools > m_CascadeTools
TLorentzVector p4_V0track2
double m_extraTrk1MassHypo
JpsiXPlusDisplaced(const std::string &type, const std::string &name, const IInterface *parent)
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_TrkParticleCollection
Class describing a Vertex.
virtual StatusCode initialize() override
ToolHandle< Analysis::PrimaryVertexRefitter > m_pvRefitter
double m_DisplacedMassUpper
const xAOD::TrackParticle * extraTrack3
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfo_key
double m_V0ExtraMassUpper
SG::WriteHandleKeyArray< xAOD::VertexContainer > m_cascadeOutputKeys
double m_DisplacedMassLower
ServiceHandle< IPartPropSvc > m_partPropSvc
Class describing a TrackParticle.
std::string m_V0Hypothesis
double m_V0ExtraMassLower
std::vector< double > m_massesV0_pip
ToolHandle< Trk::IVertexFitter > m_iGammaFitter
SG::ReadHandleKey< xAOD::VertexContainer > m_vertexJXContainerKey
unsigned int m_maxV0Candidates
SG::WriteHandleKey< xAOD::VertexContainer > m_refPVContainerName
unsigned int m_maxDisVCandidates