ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
DerivationFramework
DerivationFrameworkBPhys
src
PsiPlusPsiCascade.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 PSIPLUSPSICASCADE_H
6
#define PSIPLUSPSICASCADE_H
7
8
#include "
AthenaBaseComps/AthAlgTool.h
"
9
#include "GaudiKernel/ToolHandle.h"
10
#include "
DerivationFrameworkInterfaces/IAugmentationTool.h
"
11
#include "
JpsiUpsilonTools/PrimaryVertexRefitter.h
"
12
#include "
xAODTracking/VertexContainer.h
"
13
#include "
xAODEventInfo/EventInfo.h
"
14
#include <vector>
15
// dummy EventContext for AnalysisBase
16
#include "
AsgTools/CurrentContext.h
"
17
18
namespace
Trk
{
19
class
IVertexFitter
;
20
class
TrkVKalVrtFitter
;
21
class
IVertexCascadeFitter
;
22
class
VxCascadeInfo
;
23
class
V0Tools
;
24
}
25
26
namespace
DerivationFramework
{
27
class
CascadeTools
;
28
}
29
30
namespace
DerivationFramework
{
31
32
class
PsiPlusPsiCascade
:
public
extends<AthAlgTool, IAugmentationTool>
33
{
34
public
:
35
PsiPlusPsiCascade
(
const
std::string&
type
,
const
std::string& name,
const
IInterface* parent);
36
virtual
~PsiPlusPsiCascade
() =
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
:
42
SG::ReadHandleKey<xAOD::VertexContainer>
m_vertexPsi1ContainerKey
;
43
SG::ReadHandleKey<xAOD::VertexContainer>
m_vertexPsi2ContainerKey
;
44
std::vector<std::string>
m_vertexPsi1HypoNames
;
45
std::vector<std::string>
m_vertexPsi2HypoNames
;
46
SG::WriteHandleKeyArray<xAOD::VertexContainer>
m_cascadeOutputsKeys
;
47
SG::ReadHandleKey<xAOD::VertexContainer>
m_VxPrimaryCandidateName
;
48
SG::ReadHandleKey<xAOD::TrackParticleContainer>
m_trackContainerName
;
49
SG::ReadHandleKey<xAOD::EventInfo>
m_eventInfo_key
;
50
51
double
m_jpsi1MassLower
;
52
double
m_jpsi1MassUpper
;
53
double
m_jpsi2MassLower
;
54
double
m_jpsi2MassUpper
;
55
double
m_diTrack1MassLower
;
56
double
m_diTrack1MassUpper
;
57
double
m_diTrack2MassLower
;
58
double
m_diTrack2MassUpper
;
59
double
m_psi1MassLower
;
60
double
m_psi1MassUpper
;
61
double
m_psi2MassLower
;
62
double
m_psi2MassUpper
;
63
double
m_MassLower
;
64
double
m_MassUpper
;
65
int
m_vtx1Daug_num
;
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
double
m_vtx1Daug3MassHypo
;
// mass hypothesis of 3rd daughter from vertex 1
69
double
m_vtx1Daug4MassHypo
;
// mass hypothesis of 4th daughter from vertex 1
70
int
m_vtx2Daug_num
;
71
double
m_vtx2Daug1MassHypo
;
// mass hypothesis of 1st daughter from vertex 2
72
double
m_vtx2Daug2MassHypo
;
// mass hypothesis of 2nd daughter from vertex 2
73
double
m_vtx2Daug3MassHypo
;
// mass hypothesis of 3rd daughter from vertex 2
74
double
m_vtx2Daug4MassHypo
;
// mass hypothesis of 4th daughter from vertex 2
75
76
double
m_massPsi1
;
77
double
m_massPsi2
;
78
double
m_massJpsi1
;
79
double
m_massJpsi2
;
80
double
m_massDiTrk1
;
81
double
m_massDiTrk2
;
82
bool
m_constrPsi1
;
83
bool
m_constrPsi2
;
84
bool
m_constrJpsi1
;
85
bool
m_constrJpsi2
;
86
bool
m_constrDiTrk1
;
87
bool
m_constrDiTrk2
;
88
double
m_chi2cut_Psi1
;
89
double
m_chi2cut_Psi2
;
90
double
m_chi2cut
;
91
bool
m_removeDuplicatePairs
;
92
unsigned
int
m_maxCandidates
;
93
94
ToolHandle < Trk::TrkVKalVrtFitter >
m_iVertexFitter
;
95
PublicToolHandle < Analysis::PrimaryVertexRefitter >
m_pvRefitter
;
96
PublicToolHandle < Trk::V0Tools >
m_V0Tools
;
97
PublicToolHandle < DerivationFramework::CascadeTools >
m_CascadeTools
;
98
99
bool
m_refitPV
;
100
SG::WriteHandleKey<xAOD::VertexContainer>
m_refPVContainerName
;
101
std::string
m_hypoName
;
102
int
m_PV_max
;
103
int
m_DoVertexType
;
104
size_t
m_PV_minNTracks
;
105
};
106
}
107
108
#endif
AthAlgTool.h
CurrentContext.h
IAugmentationTool.h
PrimaryVertexRefitter.h
VertexContainer.h
DerivationFramework::CascadeTools
Definition
CascadeTools.h:18
DerivationFramework::PsiPlusPsiCascade::m_vtx2Daug_num
int m_vtx2Daug_num
Definition
PsiPlusPsiCascade.h:70
DerivationFramework::PsiPlusPsiCascade::m_vtx1Daug1MassHypo
double m_vtx1Daug1MassHypo
Definition
PsiPlusPsiCascade.h:66
DerivationFramework::PsiPlusPsiCascade::m_vtx2Daug1MassHypo
double m_vtx2Daug1MassHypo
Definition
PsiPlusPsiCascade.h:71
DerivationFramework::PsiPlusPsiCascade::m_vtx2Daug3MassHypo
double m_vtx2Daug3MassHypo
Definition
PsiPlusPsiCascade.h:73
DerivationFramework::PsiPlusPsiCascade::m_massPsi2
double m_massPsi2
Definition
PsiPlusPsiCascade.h:77
DerivationFramework::PsiPlusPsiCascade::m_jpsi1MassLower
double m_jpsi1MassLower
Definition
PsiPlusPsiCascade.h:51
DerivationFramework::PsiPlusPsiCascade::m_removeDuplicatePairs
bool m_removeDuplicatePairs
Definition
PsiPlusPsiCascade.h:91
DerivationFramework::PsiPlusPsiCascade::m_maxCandidates
unsigned int m_maxCandidates
Definition
PsiPlusPsiCascade.h:92
DerivationFramework::PsiPlusPsiCascade::m_psi1MassUpper
double m_psi1MassUpper
Definition
PsiPlusPsiCascade.h:60
DerivationFramework::PsiPlusPsiCascade::m_diTrack1MassLower
double m_diTrack1MassLower
Definition
PsiPlusPsiCascade.h:55
DerivationFramework::PsiPlusPsiCascade::m_chi2cut
double m_chi2cut
Definition
PsiPlusPsiCascade.h:90
DerivationFramework::PsiPlusPsiCascade::m_chi2cut_Psi2
double m_chi2cut_Psi2
Definition
PsiPlusPsiCascade.h:89
DerivationFramework::PsiPlusPsiCascade::m_constrJpsi2
bool m_constrJpsi2
Definition
PsiPlusPsiCascade.h:85
DerivationFramework::PsiPlusPsiCascade::m_refitPV
bool m_refitPV
Definition
PsiPlusPsiCascade.h:99
DerivationFramework::PsiPlusPsiCascade::m_constrPsi1
bool m_constrPsi1
Definition
PsiPlusPsiCascade.h:82
DerivationFramework::PsiPlusPsiCascade::m_vtx1Daug_num
int m_vtx1Daug_num
Definition
PsiPlusPsiCascade.h:65
DerivationFramework::PsiPlusPsiCascade::m_vtx1Daug2MassHypo
double m_vtx1Daug2MassHypo
Definition
PsiPlusPsiCascade.h:67
DerivationFramework::PsiPlusPsiCascade::m_cascadeOutputsKeys
SG::WriteHandleKeyArray< xAOD::VertexContainer > m_cascadeOutputsKeys
Definition
PsiPlusPsiCascade.h:46
DerivationFramework::PsiPlusPsiCascade::m_vtx2Daug2MassHypo
double m_vtx2Daug2MassHypo
Definition
PsiPlusPsiCascade.h:72
DerivationFramework::PsiPlusPsiCascade::m_PV_max
int m_PV_max
Definition
PsiPlusPsiCascade.h:102
DerivationFramework::PsiPlusPsiCascade::m_constrJpsi1
bool m_constrJpsi1
Definition
PsiPlusPsiCascade.h:84
DerivationFramework::PsiPlusPsiCascade::m_vertexPsi1ContainerKey
SG::ReadHandleKey< xAOD::VertexContainer > m_vertexPsi1ContainerKey
Definition
PsiPlusPsiCascade.h:42
DerivationFramework::PsiPlusPsiCascade::initialize
virtual StatusCode initialize() override
Definition
PsiPlusPsiCascade.cxx:23
DerivationFramework::PsiPlusPsiCascade::m_CascadeTools
PublicToolHandle< DerivationFramework::CascadeTools > m_CascadeTools
Definition
PsiPlusPsiCascade.h:97
DerivationFramework::PsiPlusPsiCascade::~PsiPlusPsiCascade
virtual ~PsiPlusPsiCascade()=default
DerivationFramework::PsiPlusPsiCascade::m_diTrack2MassLower
double m_diTrack2MassLower
Definition
PsiPlusPsiCascade.h:57
DerivationFramework::PsiPlusPsiCascade::m_vtx2Daug4MassHypo
double m_vtx2Daug4MassHypo
Definition
PsiPlusPsiCascade.h:74
DerivationFramework::PsiPlusPsiCascade::m_eventInfo_key
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfo_key
Definition
PsiPlusPsiCascade.h:49
DerivationFramework::PsiPlusPsiCascade::m_V0Tools
PublicToolHandle< Trk::V0Tools > m_V0Tools
Definition
PsiPlusPsiCascade.h:96
DerivationFramework::PsiPlusPsiCascade::m_hypoName
std::string m_hypoName
Definition
PsiPlusPsiCascade.h:101
DerivationFramework::PsiPlusPsiCascade::m_iVertexFitter
ToolHandle< Trk::TrkVKalVrtFitter > m_iVertexFitter
Definition
PsiPlusPsiCascade.h:94
DerivationFramework::PsiPlusPsiCascade::m_massDiTrk2
double m_massDiTrk2
Definition
PsiPlusPsiCascade.h:81
DerivationFramework::PsiPlusPsiCascade::m_vtx1Daug4MassHypo
double m_vtx1Daug4MassHypo
Definition
PsiPlusPsiCascade.h:69
DerivationFramework::PsiPlusPsiCascade::m_vertexPsi1HypoNames
std::vector< std::string > m_vertexPsi1HypoNames
Definition
PsiPlusPsiCascade.h:44
DerivationFramework::PsiPlusPsiCascade::addBranches
virtual StatusCode addBranches(const EventContext &ctx) const override
Definition
PsiPlusPsiCascade.cxx:61
DerivationFramework::PsiPlusPsiCascade::m_pvRefitter
PublicToolHandle< Analysis::PrimaryVertexRefitter > m_pvRefitter
Definition
PsiPlusPsiCascade.h:95
DerivationFramework::PsiPlusPsiCascade::m_jpsi1MassUpper
double m_jpsi1MassUpper
Definition
PsiPlusPsiCascade.h:52
DerivationFramework::PsiPlusPsiCascade::m_massPsi1
double m_massPsi1
Definition
PsiPlusPsiCascade.h:76
DerivationFramework::PsiPlusPsiCascade::m_massJpsi2
double m_massJpsi2
Definition
PsiPlusPsiCascade.h:79
DerivationFramework::PsiPlusPsiCascade::m_PV_minNTracks
size_t m_PV_minNTracks
Definition
PsiPlusPsiCascade.h:104
DerivationFramework::PsiPlusPsiCascade::m_jpsi2MassUpper
double m_jpsi2MassUpper
Definition
PsiPlusPsiCascade.h:54
DerivationFramework::PsiPlusPsiCascade::m_vertexPsi2ContainerKey
SG::ReadHandleKey< xAOD::VertexContainer > m_vertexPsi2ContainerKey
Definition
PsiPlusPsiCascade.h:43
DerivationFramework::PsiPlusPsiCascade::m_diTrack2MassUpper
double m_diTrack2MassUpper
Definition
PsiPlusPsiCascade.h:58
DerivationFramework::PsiPlusPsiCascade::m_DoVertexType
int m_DoVertexType
Definition
PsiPlusPsiCascade.h:103
DerivationFramework::PsiPlusPsiCascade::m_chi2cut_Psi1
double m_chi2cut_Psi1
Definition
PsiPlusPsiCascade.h:88
DerivationFramework::PsiPlusPsiCascade::m_vertexPsi2HypoNames
std::vector< std::string > m_vertexPsi2HypoNames
Definition
PsiPlusPsiCascade.h:45
DerivationFramework::PsiPlusPsiCascade::performSearch
StatusCode performSearch(std::vector< Trk::VxCascadeInfo * > *cascadeinfoContainer, std::vector< Trk::VxCascadeInfo * > *cascadeinfoContainer_noConstr, const EventContext &ctx) const
Definition
PsiPlusPsiCascade.cxx:366
DerivationFramework::PsiPlusPsiCascade::m_psi2MassLower
double m_psi2MassLower
Definition
PsiPlusPsiCascade.h:61
DerivationFramework::PsiPlusPsiCascade::m_psi2MassUpper
double m_psi2MassUpper
Definition
PsiPlusPsiCascade.h:62
DerivationFramework::PsiPlusPsiCascade::m_jpsi2MassLower
double m_jpsi2MassLower
Definition
PsiPlusPsiCascade.h:53
DerivationFramework::PsiPlusPsiCascade::m_massDiTrk1
double m_massDiTrk1
Definition
PsiPlusPsiCascade.h:80
DerivationFramework::PsiPlusPsiCascade::m_constrDiTrk1
bool m_constrDiTrk1
Definition
PsiPlusPsiCascade.h:86
DerivationFramework::PsiPlusPsiCascade::m_VxPrimaryCandidateName
SG::ReadHandleKey< xAOD::VertexContainer > m_VxPrimaryCandidateName
Name of primary vertex container.
Definition
PsiPlusPsiCascade.h:47
DerivationFramework::PsiPlusPsiCascade::PsiPlusPsiCascade
PsiPlusPsiCascade(const std::string &type, const std::string &name, const IInterface *parent)
Definition
PsiPlusPsiCascade.cxx:253
DerivationFramework::PsiPlusPsiCascade::m_diTrack1MassUpper
double m_diTrack1MassUpper
Definition
PsiPlusPsiCascade.h:56
DerivationFramework::PsiPlusPsiCascade::m_MassUpper
double m_MassUpper
Definition
PsiPlusPsiCascade.h:64
DerivationFramework::PsiPlusPsiCascade::m_constrDiTrk2
bool m_constrDiTrk2
Definition
PsiPlusPsiCascade.h:87
DerivationFramework::PsiPlusPsiCascade::m_refPVContainerName
SG::WriteHandleKey< xAOD::VertexContainer > m_refPVContainerName
Definition
PsiPlusPsiCascade.h:100
DerivationFramework::PsiPlusPsiCascade::m_vtx1Daug3MassHypo
double m_vtx1Daug3MassHypo
Definition
PsiPlusPsiCascade.h:68
DerivationFramework::PsiPlusPsiCascade::m_massJpsi1
double m_massJpsi1
Definition
PsiPlusPsiCascade.h:78
DerivationFramework::PsiPlusPsiCascade::m_constrPsi2
bool m_constrPsi2
Definition
PsiPlusPsiCascade.h:83
DerivationFramework::PsiPlusPsiCascade::m_MassLower
double m_MassLower
Definition
PsiPlusPsiCascade.h:63
DerivationFramework::PsiPlusPsiCascade::m_psi1MassLower
double m_psi1MassLower
Definition
PsiPlusPsiCascade.h:59
DerivationFramework::PsiPlusPsiCascade::m_trackContainerName
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_trackContainerName
Definition
PsiPlusPsiCascade.h:48
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition
StoreGate/StoreGate/WriteHandleKey.h:40
Trk::IVertexCascadeFitter
Definition
IVertexCascadeFitter.h:28
Trk::IVertexFitter
Interface class for vertex fitting AlgTools, for more detailed information, take a look at the header...
Definition
IVertexFitter.h:55
Trk::TrkVKalVrtFitter
Definition
TrkVKalVrtFitter.h:67
Trk::V0Tools
Definition
V0Tools.h:36
Trk::VxCascadeInfo
Definition
VxCascadeInfo.h:47
DerivationFramework
THE reconstruction tool.
Definition
CascadeTools.h:16
SG::WriteHandleKeyArray
HandleKeyArray< WriteHandle< T >, WriteHandleKey< T >, Gaudi::DataHandle::Writer > WriteHandleKeyArray
Definition
WriteHandleKeyArray.h:32
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition
FakeTrackBuilder.h:9
type
EventInfo.h
Generated on
for ATLAS Offline Software by
1.17.0