ATLAS Offline Software
V0MainDecorator.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef INDETV0FINDER_V0MAINDECORATOR_H
6 #define INDETV0FINDER_V0MAINDECORATOR_H
7 
9 #include "GaudiKernel/ToolHandle.h"
12 #include "GaudiKernel/IPartPropSvc.h"
13 
14 namespace InDet
15 {
16 
18  {
19  public:
20  V0MainDecorator(const std::string& t, const std::string& n, const IInterface* p);
23  StatusCode decorateV0(xAOD::VertexContainer *container, const EventContext& ctx) const;
24  StatusCode decorateks(xAOD::VertexContainer *container, const EventContext& ctx) const;
25  StatusCode decoratela(xAOD::VertexContainer *container, const EventContext& ctx) const;
26  StatusCode decoratelb(xAOD::VertexContainer *container, const EventContext& ctx) const;
27  private:
28 
29  IntegerProperty m_masses{this, "masses", 1};
30  DoubleProperty m_masspi{this, "masspi", 139.57};
31  DoubleProperty m_massp{this, "massp", 938.272};
32  DoubleProperty m_masse{this, "masse", 0.510999};
33  DoubleProperty m_massK0S{this, "massK0s", 497.672};
34  DoubleProperty m_massLambda{this, "massLambda", 1115.68};
35  ToolHandle<Trk::V0Tools> m_V0Tools {this, "V0Tools", "Trk::V0Tools", "V0 tools to calculate things like Lxy"};
36  StatusCode initKey(const std::string&, SG::WriteDecorHandleKey<xAOD::VertexContainer> &decokey) const;
37 
38  Gaudi::Property<std::string> m_v0Key
39  { this, "V0ContainerName", "V0Candidates", "V0 container name (same calling alg)" };
40  Gaudi::Property<std::string> m_ksKey { this, "KshortContainerName", "KshortCandidates", "Ks container" };
41  Gaudi::Property<std::string> m_laKey { this, "LambdaContainerName", "LambdaCandidates",
42  "Lambda container" };
43  Gaudi::Property<std::string> m_lbKey { this, "LambdabarContainerName", "LambdabarCandidates",
44  "Lambdabar container" };
45 
46 
48  { this, "KsMass_v0", ".Kshort_mass", "Ks mass for v0" };
50  { this, "KsMassErr_v0", ".Kshort_massError", "Ks mass error for v0" };
52  { this, "LaMass_v0", ".Lambda_mass", "Lambda mass for v0" };
54  { this, "LaMassErr_v0", ".Lambda_massError", "Lambda mass error for v0" };
56  { this, "LbMass_v0", ".Lambdabar_mass", "Lambdabar mass for v0" };
58  { this, "LbMassErr_v0", ".Lambdabar_massError", "Lambdabar mass error for v0" };
60  { this, "Pt_v0", ".pT", "Transverse momentum for v0" };
62  { this, "PtErr_v0", ".pTError", "Transverse momentum error for v0" };
64  { this, "Rxy_v0", ".Rxy", "Rxy for v0" };
66  { this, "RxyErr_v0", ".RxyError", "Rxy error for v0" };
68  { this, "Px_v0", ".px", "Px for v0" };
70  { this, "Py_v0", ".py", "Py for v0" };
72  { this, "Pz_v0", ".pz", "Pz for v0" };
73 
74  // Ks decorators
76  { this, "Mass_ks", ".mass", "mass for Ks" };
78  { this, "MassErr_ks", ".massError", "mass error for Ks" };
80  { this, "Pt_ks", ".pT", "Transverse momentum for Ks" };
82  { this, "PtErr_ks", ".pTError", "Transverse momentum error for Ks" };
84  { this, "Rxy_ks", ".Rxy", "Rxy for Ks" };
86  { this, "RxyErr_ks", ".RxyError", "Rxy error for Ks" };
88  { this, "Px_ks", ".px", "Px for Ks" };
90  { this, "Py_ks", ".py", "Py for Ks" };
92  { this, "Pz_ks", ".pz", "Pz for Ks" };
93 
94  // Lambda decorators
96  { this, "Mass_la", ".mass", "mass for Lambda" };
98  { this, "MassErr_la", ".massError", "mass error for Lambda" };
100  { this, "Pt_la", ".pT", "Transverse momentum for Lambda" };
102  { this, "PtErr_la", ".pTError", "Transverse momentum error for Lambda" };
104  { this, "Rxy_la", ".Rxy", "Rxy for la" };
106  { this, "RxyErr_la", ".RxyError", "Rxy error for Lambda" };
108  { this, "Px_la", ".px", "Px for Lambda" };
110  { this, "Py_la", ".py", "Py for Lambda" };
112  { this, "Pz_la", ".pz", "Pz for Lambda" };
113 
114  // Lambdabar decorators
116  { this, "Mass_lb", ".mass", "mass for Lambdabar" };
118  { this, "MassErr_lb", ".massError", "mass error for Lambdabar" };
120  { this, "Pt_lb", ".pT", "Transverse momentum for Lambdabar" };
122  { this, "PtErr_lb", ".pTError", "Transverse momentum error for Lambdabar" };
124  { this, "Rxy_lb", ".Rxy", "Rxy for Lambdabar" };
126  { this, "RxyErr_lb", ".RxyError", "Rxy error for Lambdabar" };
128  { this, "Px_lb", ".px", "Px for Lambdabar" };
130  { this, "Py_lb", ".py", "Py for Lambdabar" };
132  { this, "Pz_lb", ".pz", "Pz for Lambdabar" };
133 
134  ServiceHandle<IPartPropSvc> m_partPropSvc{this, "PartPropSvc", "PartPropSvc"};
135  };
136 
137 }
138 
139 
140 #endif
InDet::V0MainDecorator::m_decorPx_v0
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPx_v0
Definition: V0MainDecorator.h:68
InDet::V0MainDecorator::m_decorPy_ks
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPy_ks
Definition: V0MainDecorator.h:90
SG::WriteDecorHandleKey
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
Definition: StoreGate/StoreGate/WriteDecorHandleKey.h:89
V0Tools.h
InDet::V0MainDecorator::m_decorMass_la
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorMass_la
Definition: V0MainDecorator.h:96
InDet::V0MainDecorator::m_decorLbMass
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorLbMass
Definition: V0MainDecorator.h:56
VertexContainerFwd.h
InDet::V0MainDecorator::m_decorPz_v0
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPz_v0
Definition: V0MainDecorator.h:72
InDet::V0MainDecorator::m_decorMassErr_la
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorMassErr_la
Definition: V0MainDecorator.h:98
InDet::V0MainDecorator::initKey
StatusCode initKey(const std::string &, SG::WriteDecorHandleKey< xAOD::VertexContainer > &decokey) const
Definition: V0MainDecorator.cxx:18
InDet::V0MainDecorator::m_massLambda
DoubleProperty m_massLambda
Lambda mass (1115.68 MeV)
Definition: V0MainDecorator.h:34
InDet::V0MainDecorator::m_massK0S
DoubleProperty m_massK0S
Kshort mass (497.672 MeV)
Definition: V0MainDecorator.h:33
InDet::V0MainDecorator::m_V0Tools
ToolHandle< Trk::V0Tools > m_V0Tools
Definition: V0MainDecorator.h:35
InDet
Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
InDet::V0MainDecorator::m_decorKsMassErr
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorKsMassErr
Definition: V0MainDecorator.h:50
InDet::V0MainDecorator::m_decorLaMass
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorLaMass
Definition: V0MainDecorator.h:52
InDet::V0MainDecorator::m_laKey
Gaudi::Property< std::string > m_laKey
Definition: V0MainDecorator.h:41
InDet::V0MainDecorator::m_massp
DoubleProperty m_massp
proton mass (938.272 MeV)
Definition: V0MainDecorator.h:31
InDet::V0MainDecorator::m_decorPy_v0
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPy_v0
Definition: V0MainDecorator.h:70
InDet::V0MainDecorator::m_decorPtErr_la
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPtErr_la
Definition: V0MainDecorator.h:102
InDet::V0MainDecorator::m_decorPx_la
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPx_la
Definition: V0MainDecorator.h:108
InDet::V0MainDecorator::m_decorPt_la
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPt_la
Definition: V0MainDecorator.h:100
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
InDet::V0MainDecorator::m_decorRxy_ks
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorRxy_ks
Definition: V0MainDecorator.h:84
InDet::V0MainDecorator::m_decorRxy_v0
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorRxy_v0
Definition: V0MainDecorator.h:64
InDet::V0MainDecorator::m_decorRxyErr_lb
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorRxyErr_lb
Definition: V0MainDecorator.h:126
InDet::V0MainDecorator::m_decorPtErr_ks
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPtErr_ks
Definition: V0MainDecorator.h:82
InDet::V0MainDecorator::m_lbKey
Gaudi::Property< std::string > m_lbKey
Definition: V0MainDecorator.h:43
InDet::V0MainDecorator::m_decorPy_lb
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPy_lb
Definition: V0MainDecorator.h:130
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
InDet::V0MainDecorator::decoratela
StatusCode decoratela(xAOD::VertexContainer *container, const EventContext &ctx) const
Definition: V0MainDecorator.cxx:178
InDet::V0MainDecorator::decoratelb
StatusCode decoratelb(xAOD::VertexContainer *container, const EventContext &ctx) const
Definition: V0MainDecorator.cxx:213
InDet::V0MainDecorator::m_decorPt_lb
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPt_lb
Definition: V0MainDecorator.h:120
InDet::V0MainDecorator::m_decorRxyErr_v0
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorRxyErr_v0
Definition: V0MainDecorator.h:66
InDet::V0MainDecorator::m_decorMassErr_lb
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorMassErr_lb
Definition: V0MainDecorator.h:118
beamspotman.n
n
Definition: beamspotman.py:731
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
InDet::V0MainDecorator::m_partPropSvc
ServiceHandle< IPartPropSvc > m_partPropSvc
Definition: V0MainDecorator.h:134
AthAlgTool.h
InDet::V0MainDecorator::~V0MainDecorator
~V0MainDecorator()
InDet::V0MainDecorator::decorateV0
StatusCode decorateV0(xAOD::VertexContainer *container, const EventContext &ctx) const
Definition: V0MainDecorator.cxx:94
InDet::V0MainDecorator::m_decorPy_la
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPy_la
Definition: V0MainDecorator.h:110
InDet::V0MainDecorator::m_masse
DoubleProperty m_masse
electron mass (0.510999 MeV)
Definition: V0MainDecorator.h:32
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
InDet::V0MainDecorator::m_decorPtErr_v0
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPtErr_v0
Definition: V0MainDecorator.h:62
InDet::V0MainDecorator::m_decorRxyErr_la
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorRxyErr_la
Definition: V0MainDecorator.h:106
InDet::V0MainDecorator::m_masses
IntegerProperty m_masses
= 1 if using PDG values, = 2 if user set (1)
Definition: V0MainDecorator.h:29
InDet::V0MainDecorator::m_ksKey
Gaudi::Property< std::string > m_ksKey
Definition: V0MainDecorator.h:40
InDet::V0MainDecorator
Definition: V0MainDecorator.h:18
InDet::V0MainDecorator::m_decorPt_v0
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPt_v0
Definition: V0MainDecorator.h:60
InDet::V0MainDecorator::m_v0Key
Gaudi::Property< std::string > m_v0Key
Definition: V0MainDecorator.h:39
InDet::V0MainDecorator::m_decorPz_la
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPz_la
Definition: V0MainDecorator.h:112
InDet::V0MainDecorator::m_decorMass_ks
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorMass_ks
Definition: V0MainDecorator.h:76
InDet::V0MainDecorator::m_decorRxy_lb
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorRxy_lb
Definition: V0MainDecorator.h:124
InDet::V0MainDecorator::m_decorRxy_la
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorRxy_la
Definition: V0MainDecorator.h:104
InDet::V0MainDecorator::m_decorLaMassErr
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorLaMassErr
Definition: V0MainDecorator.h:54
InDet::V0MainDecorator::m_decorRxyErr_ks
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorRxyErr_ks
Definition: V0MainDecorator.h:86
InDet::V0MainDecorator::V0MainDecorator
V0MainDecorator(const std::string &t, const std::string &n, const IInterface *p)
Definition: V0MainDecorator.cxx:12
InDet::V0MainDecorator::m_decorPt_ks
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPt_ks
Definition: V0MainDecorator.h:80
InDet::V0MainDecorator::m_masspi
DoubleProperty m_masspi
pion mass (139.57 MeV)
Definition: V0MainDecorator.h:30
InDet::V0MainDecorator::m_decorPz_ks
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPz_ks
Definition: V0MainDecorator.h:92
InDet::V0MainDecorator::m_decorPx_ks
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPx_ks
Definition: V0MainDecorator.h:88
InDet::V0MainDecorator::m_decorMass_lb
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorMass_lb
Definition: V0MainDecorator.h:116
InDet::V0MainDecorator::m_decorLbMassErr
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorLbMassErr
Definition: V0MainDecorator.h:58
AthAlgTool
Definition: AthAlgTool.h:26
InDet::V0MainDecorator::m_decorPtErr_lb
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPtErr_lb
Definition: V0MainDecorator.h:122
InDet::V0MainDecorator::decorateks
StatusCode decorateks(xAOD::VertexContainer *container, const EventContext &ctx) const
Definition: V0MainDecorator.cxx:142
InDet::V0MainDecorator::initialize
StatusCode initialize()
Definition: V0MainDecorator.cxx:26
InDet::V0MainDecorator::m_decorMassErr_ks
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorMassErr_ks
Definition: V0MainDecorator.h:78
InDet::V0MainDecorator::m_decorPz_lb
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPz_lb
Definition: V0MainDecorator.h:132
InDet::V0MainDecorator::m_decorKsMass
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorKsMass
Definition: V0MainDecorator.h:48
ServiceHandle< IPartPropSvc >
InDet::V0MainDecorator::m_decorPx_lb
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPx_lb
Definition: V0MainDecorator.h:128