ATLAS Offline Software
Loading...
Searching...
No Matches
JpsiPlusDpstCascade.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4#ifndef JPSIPLUSDPSTCASCADE_H
5#define JPSIPLUSDPSTCASCADE_H
6//*********************
7// JpsiPlusDpstCascade header file
8//
9// Eva Bouhova <e.bouhova@cern.ch>
10// Adam Barton <abarton@cern.ch>
11
13#include "GaudiKernel/ToolHandle.h"
16#include <vector>
18// dummy EventContext for AnalysisBase
20
21namespace Trk {
22 class IVertexFitter;
23 class TrkVKalVrtFitter;
25 class VxCascadeInfo;
26 class V0Tools;
27}
28
29namespace DerivationFramework {
30 class CascadeTools;
31}
32
33namespace DerivationFramework {
34
35 class JpsiPlusDpstCascade : public extends<AthAlgTool, IAugmentationTool>
36 {
37 public:
38 JpsiPlusDpstCascade(const std::string& t, const std::string& n, const IInterface* p);
40 virtual StatusCode initialize() override;
41 StatusCode performSearch(std::vector<Trk::VxCascadeInfo*> *cascadeinfoContainer, const EventContext& ctx ) const;
42 virtual StatusCode addBranches(const EventContext& ctx) const override;
43
44 private:
45 std::string m_vertexContainerKey; // FIXME Use Handles
46 std::string m_vertexD0ContainerKey; // FIXME Use Handles
47 std::vector<std::string> m_cascadeOutputsKeys; // FIXME Use Handles
48
50
61 double m_vtx0MassHypo; // mass hypothesis of vertex 0
62 double m_vtx1MassHypo; // mass hypothesis of vertex 1
63 double m_vtx0Daug1MassHypo; // mass hypothesis of 1st daughter from vertex 0
64 double m_vtx0Daug2MassHypo; // mass hypothesis of 2nd daughter from vertex 0
65 double m_vtx0Daug3MassHypo; // mass hypothesis of 3rd daughter from vertex 0
66 double m_vtx1Daug1MassHypo; // mass hypothesis of 1st daughter from vertex 1
67 double m_vtx1Daug2MassHypo; // mass hypothesis of 2nd daughter from vertex 1
68
69
74 double m_chi2cut;
75
76 SG::ReadHandleKey<xAOD::EventInfo> m_eventInfo_key{this, "EventInfo", "EventInfo", "Input event information"};
77 ToolHandle < Trk::TrkVKalVrtFitter > m_iVertexFitter;
78 PublicToolHandle < Analysis::PrimaryVertexRefitter > m_pvRefitter;
79 PublicToolHandle < Trk::V0Tools > m_V0Tools;
80 PublicToolHandle < DerivationFramework::CascadeTools > m_CascadeTools;
81
84 std::string m_hypoName;
85 //This parameter will allow us to optimize the number of PVs under consideration as the probability
86 //of a useful primary vertex drops significantly the higher you go
90
91 };
92}
93
94#endif
PublicToolHandle< Trk::V0Tools > m_V0Tools
std::string m_VxPrimaryCandidateName
Name of primary vertex container // FIXME Use Handles.
PublicToolHandle< Analysis::PrimaryVertexRefitter > m_pvRefitter
ToolHandle< Trk::TrkVKalVrtFitter > m_iVertexFitter
std::vector< std::string > m_cascadeOutputsKeys
std::string m_hypoName
name of the mass hypothesis.
PublicToolHandle< DerivationFramework::CascadeTools > m_CascadeTools
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfo_key
JpsiPlusDpstCascade(const std::string &t, const std::string &n, const IInterface *p)
StatusCode performSearch(std::vector< Trk::VxCascadeInfo * > *cascadeinfoContainer, const EventContext &ctx) const
virtual StatusCode addBranches(const EventContext &ctx) const override
Property holding a SG store/key/clid from which a ReadHandle is made.
Interface class for vertex fitting AlgTools, for more detailed information, take a look at the header...
THE reconstruction tool.
Ensure that the ATLAS eigen extensions are properly loaded.