5#ifndef INDETV0FINDER_V0MAINDECORATOR_H
6#define INDETV0FINDER_V0MAINDECORATOR_H
9#include "GaudiKernel/ToolHandle.h"
12#include "GaudiKernel/IPartPropSvc.h"
20 V0MainDecorator(
const std::string& t,
const std::string& n,
const IInterface* p);
35 ToolHandle<Trk::V0Tools>
m_V0Tools {
this,
"V0Tools",
"Trk::V0Tools",
"V0 tools to calculate things like Lxy"};
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",
43 Gaudi::Property<std::string>
m_lbKey {
this,
"LambdabarContainerName",
"LambdabarCandidates",
44 "Lambdabar container" };
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" };
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" };
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" };
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" };
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPx_ks
DoubleProperty m_masse
electron mass (0.510999 MeV)
StatusCode decorateV0(xAOD::VertexContainer *container, const EventContext &ctx) const
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPx_v0
StatusCode decoratela(xAOD::VertexContainer *container, const EventContext &ctx) const
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorRxyErr_v0
Gaudi::Property< std::string > m_v0Key
ServiceHandle< IPartPropSvc > m_partPropSvc
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPy_v0
DoubleProperty m_massK0S
Kshort mass (497.672 MeV)
Gaudi::Property< std::string > m_lbKey
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorMassErr_ks
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorMassErr_la
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorRxyErr_la
DoubleProperty m_massp
proton mass (938.272 MeV)
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorLbMassErr
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPtErr_v0
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorLbMass
DoubleProperty m_massLambda
Lambda mass (1115.68 MeV)
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorKsMassErr
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPt_ks
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPt_v0
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPtErr_ks
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorKsMass
V0MainDecorator(const std::string &t, const std::string &n, const IInterface *p)
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPtErr_la
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorMass_ks
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorRxy_v0
StatusCode decoratelb(xAOD::VertexContainer *container, const EventContext &ctx) const
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPy_la
StatusCode initKey(const std::string &, SG::WriteDecorHandleKey< xAOD::VertexContainer > &decokey) const
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorRxy_la
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPz_v0
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPz_lb
IntegerProperty m_masses
= 1 if using PDG values, = 2 if user set (1)
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPt_la
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPy_lb
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorRxyErr_ks
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPtErr_lb
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorLaMassErr
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPx_la
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorMass_lb
Gaudi::Property< std::string > m_laKey
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorMass_la
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPz_ks
DoubleProperty m_masspi
pion mass (139.57 MeV)
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPz_la
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorMassErr_lb
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPt_lb
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorRxyErr_lb
Gaudi::Property< std::string > m_ksKey
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPx_lb
ToolHandle< Trk::V0Tools > m_V0Tools
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorLaMass
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorRxy_lb
StatusCode decorateks(xAOD::VertexContainer *container, const EventContext &ctx) const
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPy_ks
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorRxy_ks
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
constexpr double protonMassInMeV
the mass of the proton (in MeV)
constexpr double KZeroMassInMeV
the mass of the neutral kaon (K0) (in MeV)
constexpr double chargedPionMassInMeV
the mass of the charged pion (in MeV)
constexpr double electronMassInMeV
the mass of the electron (in MeV)
constexpr double lambdaMassInMeV
the mass of the lambda baryon (in MeV)
VertexContainer_v1 VertexContainer
Definition of the current "Vertex container version".