ATLAS Offline Software
Loading...
Searching...
No Matches
JpsiPlusDs1Cascade.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 JPSIPLUSDS1CASCADE_H
5#define JPSIPLUSDS1CASCADE_H
6//*********************
7// JpsiPlusDs1Cascade 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>
19// dummy EventContext for AnalysisBase
21
22namespace HepPDT{
23 class ParticleDataTable;
24}
25
26namespace Trk {
27 class IVertexFitter;
28 class TrkVKalVrtFitter;
30 class VxCascadeInfo;
31 class V0Tools;
32}
33
34namespace DerivationFramework {
35 class CascadeTools;
36}
37
38namespace DerivationFramework {
39
40 class JpsiPlusDs1Cascade : public extends<AthAlgTool, IAugmentationTool>
41 {
42 public:
43 JpsiPlusDs1Cascade(const std::string& t, const std::string& n, const IInterface* p);
45 virtual StatusCode initialize() override;
46 StatusCode performSearch(std::vector<Trk::VxCascadeInfo*> *cascadeinfoContainer, const EventContext& ctx ) const;
47 virtual StatusCode addBranches(const EventContext& ctx) const override;
48
49 private:
50 std::string m_vertexContainerKey; // FIXME Use Handles
51 std::string m_vertexD0ContainerKey; // FIXME Use Handles
52 std::string m_vertexK0ContainerKey; // FIXME Use Handles
53 std::vector<std::string> m_cascadeOutputsKeys; // FIXME Use Handles
54
56
69 double m_vtx0MassHypo; // mass hypothesis of vertex 0
70 double m_vtx1MassHypo; // mass hypothesis of vertex 1
71 double m_vtx2MassHypo; // mass hypothesis of vertex 2
72 double m_vtx0Daug1MassHypo; // mass hypothesis of 1st daughter from vertex 0
73 double m_vtx0Daug2MassHypo; // mass hypothesis of 2nd daughter from vertex 0
74 double m_vtx0Daug3MassHypo; // mass hypothesis of 3rd daughter from vertex 0
75 double m_vtx1Daug1MassHypo; // mass hypothesis of 1st daughter from vertex 1
76 double m_vtx1Daug2MassHypo; // mass hypothesis of 2nd daughter from vertex 1
77 double m_vtx2Daug1MassHypo; // mass hypothesis of 1st daughter from vertex 2
78 double m_vtx2Daug2MassHypo; // mass hypothesis of 2nd daughter from vertex 2
79
80 const HepPDT::ParticleDataTable* m_particleDataTable;
86 double m_chi2cut;
87
88 SG::ReadHandleKey<xAOD::EventInfo> m_eventInfo_key{this, "EventInfo", "EventInfo", "Input event information"};
89 ToolHandle < Trk::TrkVKalVrtFitter > m_iVertexFitter;
90 ToolHandle < Analysis::PrimaryVertexRefitter > m_pvRefitter;
91 ToolHandle < Trk::V0Tools > m_V0Tools;
92 ToolHandle < DerivationFramework::CascadeTools > m_CascadeTools;
93 ServiceHandle<IPartPropSvc> m_partPropSvc{this, "PartPropSvc", "PartPropSvc"};
94
97 std::string m_hypoName;
98 //This parameter will allow us to optimize the number of PVs under consideration as the probability
99 //of a useful primary vertex drops significantly the higher you go
103
104 double getParticleMass(int particlecode) const;
105 };
106}
107
108#endif
std::vector< std::string > m_cascadeOutputsKeys
double getParticleMass(int particlecode) const
ToolHandle< DerivationFramework::CascadeTools > m_CascadeTools
std::string m_hypoName
name of the mass hypothesis.
ServiceHandle< IPartPropSvc > m_partPropSvc
JpsiPlusDs1Cascade(const std::string &t, const std::string &n, const IInterface *p)
ToolHandle< Trk::TrkVKalVrtFitter > m_iVertexFitter
virtual StatusCode initialize() override
ToolHandle< Analysis::PrimaryVertexRefitter > m_pvRefitter
virtual StatusCode addBranches(const EventContext &ctx) const override
std::string m_VxPrimaryCandidateName
Name of primary vertex container // FIXME Use Handles.
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfo_key
const HepPDT::ParticleDataTable * m_particleDataTable
StatusCode performSearch(std::vector< Trk::VxCascadeInfo * > *cascadeinfoContainer, const EventContext &ctx) const
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.