ATLAS Offline Software
Loading...
Searching...
No Matches
MuPlusDsCascade.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 MuPlusDsCascade_H
5#define MuPlusDsCascade_H
6//*********************
7// MuPlusDsCascade header file
8//
9// Eva Bouhova <e.bouhova@cern.ch>
10// Adam Barton <abarton@cern.ch>
11
13#include "GaudiKernel/ToolHandle.h"
14#include "GaudiKernel/IPartPropSvc.h"
17#include <vector>
21#include "GaudiKernel/IPartPropSvc.h"
22// dummy EventContext for AnalysisBase
24
25namespace Trk {
26 class IVertexFitter;
27 class TrkVKalVrtFitter;
29 class VxCascadeInfo;
30 class V0Tools;
32
33}
34
35namespace DerivationFramework {
36 class CascadeTools;
37}
38
39namespace DerivationFramework {
40
41 class MuPlusDsCascade : public extends<AthAlgTool, IAugmentationTool>
42 {
43 public:
44 MuPlusDsCascade(const std::string& t, const std::string& n, const IInterface* p);
46 virtual StatusCode initialize() override;
47 StatusCode performSearch(std::vector<Trk::VxCascadeInfo*> *cascadeinfoContainer, const EventContext& ctx) const;
48 virtual StatusCode addBranches(const EventContext& ctx) const override;
49
51
52
53 private:
54
55 std::string m_vertexContainerKey; // FIXME Use Handles
56 std::string m_vertexDxContainerKey; // FIXME Use Handles
57 std::vector<std::string> m_cascadeOutputsKeys; // FIXME Use Handles
58
60
65 double m_vtx0MassHypo; // 1st vertex mass hypothesis
66 double m_vtx1MassHypo; // 2nd vertex mass hypothesis
67 double m_vtx0Daug1MassHypo; // mass hypothesis of 1st daughter from vertex 0
68 double m_vtx1Daug1MassHypo; // mass hypothesis of 1st daughter from vertex 1
69 double m_vtx1Daug2MassHypo; // mass hypothesis of 2nd daughter from vertex 1
70 double m_vtx1Daug3MassHypo; // mass hypothesis of 3rd daughter from vertex 1
71
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 ToolHandle < Analysis::PrimaryVertexRefitter > m_pvRefitter;
79 ToolHandle < Trk::V0Tools > m_V0Tools;
80 ToolHandle < DerivationFramework::CascadeTools > m_CascadeTools;
81 std::unique_ptr<InDet::InDetTrackSelectionTool> m_trackSelectionTools;
82 ServiceHandle<IPartPropSvc> m_partPropSvc{this, "PartPropSvc", "PartPropSvc"};
83
85 std::string m_refPVContainerName; // FIXME Use Handles
86 std::string m_hypoName;
87 //This parameter will allow us to optimize the number of PVs under consideration as the probability
88 //of a useful primary vertex drops significantly the higher you go
92
94 ToolHandle < Trk::ITrackSelectorTool > m_trkSelector;
99
100
101
102 };
103}
104
105#endif
ToolHandle< Trk::ITrackSelectorTool > m_trkSelector
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfo_key
std::string m_VxPrimaryCandidateName
Name of primary vertex container.
std::vector< std::string > m_cascadeOutputsKeys
ToolHandle< DerivationFramework::CascadeTools > m_CascadeTools
virtual StatusCode addBranches(const EventContext &ctx) const override
ToolHandle< Trk::V0Tools > m_V0Tools
virtual StatusCode initialize() override
ToolHandle< Analysis::PrimaryVertexRefitter > m_pvRefitter
static xAOD::Vertex * FindVertexTrack(const xAOD::MuonContainer *c, xAOD::Vertex *v)
std::unique_ptr< InDet::InDetTrackSelectionTool > m_trackSelectionTools
MuPlusDsCascade(const std::string &t, const std::string &n, const IInterface *p)
StatusCode performSearch(std::vector< Trk::VxCascadeInfo * > *cascadeinfoContainer, const EventContext &ctx) const
ServiceHandle< IPartPropSvc > m_partPropSvc
ToolHandle< Trk::TrkVKalVrtFitter > m_iVertexFitter
std::string m_hypoName
name of the mass hypothesis.
Property holding a SG store/key/clid from which a ReadHandle is made.
The abstract interface base class for track selector tools.
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.
Vertex_v1 Vertex
Define the latest version of the vertex class.
MuonContainer_v1 MuonContainer
Definition of the current "Muon container version".