ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
DerivationFramework
DerivationFrameworkBPhys
src
JpsiPlusV0Cascade.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 JPSIPLUSV0CASCADE_H
5
#define JPSIPLUSV0CASCADE_H
6
//*********************
7
// JpsiPlusV0Cascade header file
8
//
9
// Eva Bouhova <e.bouhova@cern.ch>
10
// Adam Barton <abarton@cern.ch>
11
12
#include "
AthenaBaseComps/AthAlgTool.h
"
13
#include "GaudiKernel/ToolHandle.h"
14
15
#include "
DerivationFrameworkInterfaces/IAugmentationTool.h
"
16
#include "
JpsiUpsilonTools/PrimaryVertexRefitter.h
"
17
#include <vector>
18
#include "
xAODEventInfo/EventInfo.h
"
19
#include "
xAODTracking/TrackParticleContainer.h
"
20
#include "
xAODTracking/VertexContainer.h
"
21
// dummy EventContext for AnalysisBase
22
#include "
AsgTools/CurrentContext.h
"
23
24
namespace
Trk
{
25
class
IVertexFitter
;
26
class
TrkVKalVrtFitter
;
27
class
IVertexCascadeFitter
;
28
class
VxCascadeInfo
;
29
class
V0Tools
;
30
}
31
32
namespace
DerivationFramework
{
33
class
CascadeTools
;
34
}
35
36
37
namespace
DerivationFramework
{
38
39
class
JpsiPlusV0Cascade
:
public
extends<AthAlgTool, IAugmentationTool>
40
{
41
public
:
42
JpsiPlusV0Cascade
(
const
std::string& t,
const
std::string& n,
const
IInterface* p);
43
~JpsiPlusV0Cascade
();
44
virtual
StatusCode
initialize
()
override
;
45
virtual
StatusCode
addBranches
(
const
EventContext & ctx)
const override
;
46
private
:
47
StatusCode
performSearch
(std::vector<Trk::VxCascadeInfo*>& cascadeinfoContainer,
const
EventContext& ctx )
const
;
48
49
SG::ReadHandleKey<xAOD::EventInfo>
m_eventInfo_key
{
this
,
"EventInfo"
,
"EventInfo"
,
"Input event information"
};
50
SG::ReadHandleKey<xAOD::VertexContainer>
m_vertexContainerKey
{
this
,
"JpsiVertices"
,
""
};
51
SG::ReadHandleKey<xAOD::VertexContainer>
m_vertexV0ContainerKey
{
this
,
"V0Vertices"
,
""
};
52
53
SG::ReadHandleKey<xAOD::VertexContainer>
m_VxPrimaryCandidateName
{
this
,
"VxPrimaryCandidateName"
,
"PrimaryVertices"
};
54
SG::ReadHandleKeyArray<xAOD::TrackParticleContainer>
m_RelinkContainers
{
this
,
"RelinkTracks"
, {},
"Track Containers if they need to be relinked through indirect use"
};
55
56
SG::WriteHandleKeyArray<xAOD::VertexContainer>
m_cascadeOutputsKeys
{
this
,
"CascadeVertexCollections"
, {
"JpsiPlusV0CascadeVtx1"
,
"JpsiPlusV0CascadeVtx2"
} };
57
58
Gaudi::Property<double>
m_jpsiMassLower
{
this
,
"JpsiMassLowerCut"
, 0.0};
59
Gaudi::Property<double>
m_jpsiMassUpper
{
this
,
"JpsiMassUpperCut"
, 10000.0};
60
Gaudi::Property<double>
m_V0MassLower
{
this
,
"V0MassLowerCut"
, 0.0};
61
Gaudi::Property<double>
m_V0MassUpper
{
this
,
"V0MassUpperCut"
, 10000.0};
62
Gaudi::Property<double>
m_MassLower
{
this
,
"MassLowerCut"
, 0.0};
63
Gaudi::Property<double>
m_MassUpper
{
this
,
"MassUpperCut"
, 20000.0};
64
Gaudi::Property<int>
m_v0_pid
{
this
,
"V0Hypothesis"
, 310};
65
Gaudi::Property<bool>
m_constrV0
{
this
,
"ApplyV0MassConstraint"
,
true
};
66
Gaudi::Property<bool>
m_constrJpsi
{
this
,
"ApplyJpsiMassConstraint"
,
true
};
67
68
PublicToolHandle < Trk::TrkVKalVrtFitter >
m_iVertexFitter
{
this
,
"TrkVertexFitterTool"
,
"Trk::TrkVKalVrtFitter"
};
69
PublicToolHandle < Analysis::PrimaryVertexRefitter >
m_pvRefitter
{
this
,
"PVRefitter"
,
"Analysis::PrimaryVertexRefitter"
};
// private tool
70
PublicToolHandle < Trk::V0Tools >
m_V0Tools
{
this
,
"V0Tools"
,
"Trk::V0Tools"
};
71
PublicToolHandle < DerivationFramework::CascadeTools >
m_CascadeTools
{
this
,
"CascadeTools"
,
"DerivationFramework::CascadeTools"
};
72
73
Gaudi::Property<int>
m_jpsi_trk_pdg
{
this
,
"JpsiTrackPDGID"
, 13};
// PDG ID for J/psi tracks, can be either 11 or 13
74
Gaudi::Property<bool>
m_refitPV
{
this
,
"RefitPV"
,
true
};
75
SG::WriteHandleKey<xAOD::VertexContainer>
m_refPVContainerName
{
this
,
"RefPVContainerName"
,
"RefittedPrimaryVertices"
};
76
SG::ReadHandleKey<xAOD::TrackParticleContainer>
m_jpsiTrackContainerName
{
this
,
"JpsiTrackContainerName"
,
"InDetTrackParticles"
};
77
SG::ReadHandleKey<xAOD::TrackParticleContainer>
m_v0TrackContainerName
{
this
,
"V0TrackContainerName"
,
"InDetTrackParticles"
};
78
Gaudi::Property<std::string>
m_hypoName
{
this
,
"HypothesisName"
,
"Bd"
};
79
//This parameter will allow us to optimize the number of PVs under consideration as the probability
80
//of a useful primary vertex drops significantly the higher you go
81
Gaudi::Property<int>
m_PV_max
{
this
,
"MaxnPV"
, 999};
82
Gaudi::Property<int>
m_DoVertexType
{
this
,
"DoVertexType"
, 7};
83
Gaudi::Property<size_t>
m_PV_minNTracks
{
this
,
"MinNTracksInPV"
, 0};
84
85
// Locally cached particle mass constants
86
double
m_mass_electron
{0.};
87
double
m_mass_muon
{0.};
88
double
m_mass_pion
{0.};
89
double
m_mass_proton
{0.};
90
double
m_mass_lambda
{0.};
91
double
m_mass_ks
{0.};
92
double
m_mass_jpsi
{0.};
93
double
m_mass_b0
{0.};
94
double
m_mass_lambdaB
{0.};
95
};
96
}
97
98
99
#endif
AthAlgTool.h
CurrentContext.h
TrackParticleContainer.h
IAugmentationTool.h
PrimaryVertexRefitter.h
VertexContainer.h
DerivationFramework::CascadeTools
Definition
CascadeTools.h:18
DerivationFramework::JpsiPlusV0Cascade::m_PV_max
Gaudi::Property< int > m_PV_max
Definition
JpsiPlusV0Cascade.h:81
DerivationFramework::JpsiPlusV0Cascade::m_mass_b0
double m_mass_b0
Definition
JpsiPlusV0Cascade.h:93
DerivationFramework::JpsiPlusV0Cascade::m_iVertexFitter
PublicToolHandle< Trk::TrkVKalVrtFitter > m_iVertexFitter
Definition
JpsiPlusV0Cascade.h:68
DerivationFramework::JpsiPlusV0Cascade::m_pvRefitter
PublicToolHandle< Analysis::PrimaryVertexRefitter > m_pvRefitter
Definition
JpsiPlusV0Cascade.h:69
DerivationFramework::JpsiPlusV0Cascade::m_v0_pid
Gaudi::Property< int > m_v0_pid
Definition
JpsiPlusV0Cascade.h:64
DerivationFramework::JpsiPlusV0Cascade::m_constrV0
Gaudi::Property< bool > m_constrV0
Definition
JpsiPlusV0Cascade.h:65
DerivationFramework::JpsiPlusV0Cascade::m_V0MassUpper
Gaudi::Property< double > m_V0MassUpper
Definition
JpsiPlusV0Cascade.h:61
DerivationFramework::JpsiPlusV0Cascade::m_vertexContainerKey
SG::ReadHandleKey< xAOD::VertexContainer > m_vertexContainerKey
Definition
JpsiPlusV0Cascade.h:50
DerivationFramework::JpsiPlusV0Cascade::m_VxPrimaryCandidateName
SG::ReadHandleKey< xAOD::VertexContainer > m_VxPrimaryCandidateName
Name of primary vertex container.
Definition
JpsiPlusV0Cascade.h:53
DerivationFramework::JpsiPlusV0Cascade::m_constrJpsi
Gaudi::Property< bool > m_constrJpsi
Definition
JpsiPlusV0Cascade.h:66
DerivationFramework::JpsiPlusV0Cascade::m_CascadeTools
PublicToolHandle< DerivationFramework::CascadeTools > m_CascadeTools
Definition
JpsiPlusV0Cascade.h:71
DerivationFramework::JpsiPlusV0Cascade::m_mass_jpsi
double m_mass_jpsi
Definition
JpsiPlusV0Cascade.h:92
DerivationFramework::JpsiPlusV0Cascade::JpsiPlusV0Cascade
JpsiPlusV0Cascade(const std::string &t, const std::string &n, const IInterface *p)
Definition
JpsiPlusV0Cascade.cxx:25
DerivationFramework::JpsiPlusV0Cascade::m_jpsiTrackContainerName
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_jpsiTrackContainerName
Definition
JpsiPlusV0Cascade.h:76
DerivationFramework::JpsiPlusV0Cascade::m_mass_pion
double m_mass_pion
Definition
JpsiPlusV0Cascade.h:88
DerivationFramework::JpsiPlusV0Cascade::addBranches
virtual StatusCode addBranches(const EventContext &ctx) const override
Definition
JpsiPlusV0Cascade.cxx:71
DerivationFramework::JpsiPlusV0Cascade::m_mass_muon
double m_mass_muon
Definition
JpsiPlusV0Cascade.h:87
DerivationFramework::JpsiPlusV0Cascade::m_V0MassLower
Gaudi::Property< double > m_V0MassLower
Definition
JpsiPlusV0Cascade.h:60
DerivationFramework::JpsiPlusV0Cascade::m_mass_electron
double m_mass_electron
Definition
JpsiPlusV0Cascade.h:86
DerivationFramework::JpsiPlusV0Cascade::m_RelinkContainers
SG::ReadHandleKeyArray< xAOD::TrackParticleContainer > m_RelinkContainers
Definition
JpsiPlusV0Cascade.h:54
DerivationFramework::JpsiPlusV0Cascade::m_V0Tools
PublicToolHandle< Trk::V0Tools > m_V0Tools
Definition
JpsiPlusV0Cascade.h:70
DerivationFramework::JpsiPlusV0Cascade::m_jpsi_trk_pdg
Gaudi::Property< int > m_jpsi_trk_pdg
Definition
JpsiPlusV0Cascade.h:73
DerivationFramework::JpsiPlusV0Cascade::performSearch
StatusCode performSearch(std::vector< Trk::VxCascadeInfo * > &cascadeinfoContainer, const EventContext &ctx) const
Definition
JpsiPlusV0Cascade.cxx:362
DerivationFramework::JpsiPlusV0Cascade::m_vertexV0ContainerKey
SG::ReadHandleKey< xAOD::VertexContainer > m_vertexV0ContainerKey
Definition
JpsiPlusV0Cascade.h:51
DerivationFramework::JpsiPlusV0Cascade::m_eventInfo_key
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfo_key
Definition
JpsiPlusV0Cascade.h:49
DerivationFramework::JpsiPlusV0Cascade::m_mass_proton
double m_mass_proton
Definition
JpsiPlusV0Cascade.h:89
DerivationFramework::JpsiPlusV0Cascade::m_refPVContainerName
SG::WriteHandleKey< xAOD::VertexContainer > m_refPVContainerName
Definition
JpsiPlusV0Cascade.h:75
DerivationFramework::JpsiPlusV0Cascade::initialize
virtual StatusCode initialize() override
Definition
JpsiPlusV0Cascade.cxx:33
DerivationFramework::JpsiPlusV0Cascade::~JpsiPlusV0Cascade
~JpsiPlusV0Cascade()
Definition
JpsiPlusV0Cascade.cxx:30
DerivationFramework::JpsiPlusV0Cascade::m_PV_minNTracks
Gaudi::Property< size_t > m_PV_minNTracks
Definition
JpsiPlusV0Cascade.h:83
DerivationFramework::JpsiPlusV0Cascade::m_refitPV
Gaudi::Property< bool > m_refitPV
Definition
JpsiPlusV0Cascade.h:74
DerivationFramework::JpsiPlusV0Cascade::m_mass_lambda
double m_mass_lambda
Definition
JpsiPlusV0Cascade.h:90
DerivationFramework::JpsiPlusV0Cascade::m_MassLower
Gaudi::Property< double > m_MassLower
Definition
JpsiPlusV0Cascade.h:62
DerivationFramework::JpsiPlusV0Cascade::m_jpsiMassUpper
Gaudi::Property< double > m_jpsiMassUpper
Definition
JpsiPlusV0Cascade.h:59
DerivationFramework::JpsiPlusV0Cascade::m_mass_lambdaB
double m_mass_lambdaB
Definition
JpsiPlusV0Cascade.h:94
DerivationFramework::JpsiPlusV0Cascade::m_MassUpper
Gaudi::Property< double > m_MassUpper
Definition
JpsiPlusV0Cascade.h:63
DerivationFramework::JpsiPlusV0Cascade::m_hypoName
Gaudi::Property< std::string > m_hypoName
name of the mass hypothesis.
Definition
JpsiPlusV0Cascade.h:78
DerivationFramework::JpsiPlusV0Cascade::m_DoVertexType
Gaudi::Property< int > m_DoVertexType
Definition
JpsiPlusV0Cascade.h:82
DerivationFramework::JpsiPlusV0Cascade::m_jpsiMassLower
Gaudi::Property< double > m_jpsiMassLower
Definition
JpsiPlusV0Cascade.h:58
DerivationFramework::JpsiPlusV0Cascade::m_v0TrackContainerName
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_v0TrackContainerName
Definition
JpsiPlusV0Cascade.h:77
DerivationFramework::JpsiPlusV0Cascade::m_mass_ks
double m_mass_ks
Definition
JpsiPlusV0Cascade.h:91
DerivationFramework::JpsiPlusV0Cascade::m_cascadeOutputsKeys
SG::WriteHandleKeyArray< xAOD::VertexContainer > m_cascadeOutputsKeys
Definition
JpsiPlusV0Cascade.h:56
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::ReadHandleKeyArray
HandleKeyArray< ReadHandle< T >, ReadHandleKey< T >, Gaudi::DataHandle::Reader > ReadHandleKeyArray
Definition
StoreGate/StoreGate/ReadHandleKeyArray.h:32
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
EventInfo.h
Generated on
for ATLAS Offline Software by
1.17.0