ATLAS Offline Software
Loading...
Searching...
No Matches
JpsiPlusPsiCascade.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 Contact: Xin Chen <xin.chen@cern.ch>
4*/
5#ifndef JPSIPLUSPSICASCADE_H
6#define JPSIPLUSPSICASCADE_H
7
9#include "GaudiKernel/ToolHandle.h"
14#include <vector>
15// dummy EventContext for AnalysisBase
17
18namespace Trk {
19 class IVertexFitter;
20 class TrkVKalVrtFitter;
22 class VxCascadeInfo;
23 class V0Tools;
24}
25
26namespace DerivationFramework {
27 class CascadeTools;
28}
29
30namespace DerivationFramework {
31
32 class JpsiPlusPsiCascade : public extends<AthAlgTool, IAugmentationTool>
33 {
34 public:
35 JpsiPlusPsiCascade(const std::string& t, const std::string& n, const IInterface* p);
36 virtual ~JpsiPlusPsiCascade() = default;
37 virtual StatusCode initialize() override;
38 StatusCode performSearch(std::vector<Trk::VxCascadeInfo*> *cascadeinfoContainer, std::vector<Trk::VxCascadeInfo*> *cascadeinfoContainer_noConstr, const EventContext& ctx) const;
39 virtual StatusCode addBranches(const EventContext& ctx) const override;
40
41 private:
44 std::vector<std::string> m_vertexJpsiHypoNames;
45 std::vector<std::string> m_vertexPsiHypoNames;
50
62 double m_vtx1Daug1MassHypo; // mass hypothesis of 1st daughter from vertex 1
63 double m_vtx1Daug2MassHypo; // mass hypothesis of 2nd daughter from vertex 1
64 double m_vtx1Daug3MassHypo; // mass hypothesis of 3rd daughter from vertex 1
65 double m_vtx1Daug4MassHypo; // mass hypothesis of 4th daughter from vertex 1
66 double m_vtx2Daug1MassHypo; // mass hypothesis of 1st daughter from vertex 2
67 double m_vtx2Daug2MassHypo; // mass hypothesis of 2nd daughter from vertex 2
68
71 double m_mass_psi;
79 double m_chi2cut;
80 unsigned int m_maxCandidates;
81
82 ToolHandle < Trk::TrkVKalVrtFitter > m_iVertexFitter;
83 PublicToolHandle < Analysis::PrimaryVertexRefitter > m_pvRefitter;
84 PublicToolHandle < Trk::V0Tools > m_V0Tools;
85 PublicToolHandle < DerivationFramework::CascadeTools > m_CascadeTools;
86
89 std::string m_hypoName;
93 };
94}
95
96#endif
SG::WriteHandleKeyArray< xAOD::VertexContainer > m_cascadeOutputsKeys
SG::WriteHandleKey< xAOD::VertexContainer > m_refPVContainerName
virtual StatusCode initialize() override
PublicToolHandle< DerivationFramework::CascadeTools > m_CascadeTools
StatusCode performSearch(std::vector< Trk::VxCascadeInfo * > *cascadeinfoContainer, std::vector< Trk::VxCascadeInfo * > *cascadeinfoContainer_noConstr, const EventContext &ctx) const
SG::ReadHandleKey< xAOD::VertexContainer > m_vertexPsiContainerKey
std::vector< std::string > m_vertexJpsiHypoNames
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_trackContainerName
PublicToolHandle< Analysis::PrimaryVertexRefitter > m_pvRefitter
SG::ReadHandleKey< xAOD::VertexContainer > m_VxPrimaryCandidateName
Name of primary vertex container.
PublicToolHandle< Trk::V0Tools > m_V0Tools
JpsiPlusPsiCascade(const std::string &t, const std::string &n, const IInterface *p)
virtual StatusCode addBranches(const EventContext &ctx) const override
SG::ReadHandleKey< xAOD::VertexContainer > m_vertexContainerKey
ToolHandle< Trk::TrkVKalVrtFitter > m_iVertexFitter
std::vector< std::string > m_vertexPsiHypoNames
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfo_key
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
Interface class for vertex fitting AlgTools, for more detailed information, take a look at the header...
THE reconstruction tool.
HandleKeyArray< WriteHandle< T >, WriteHandleKey< T >, Gaudi::DataHandle::Writer > WriteHandleKeyArray
Ensure that the ATLAS eigen extensions are properly loaded.