|
ATLAS Offline Software
|
Go to the documentation of this file.
6 #include "HepPDT/ParticleDataTable.hh"
7 #include "GaudiKernel/IPartPropSvc.h"
34 decokey = containerKey + decokey.
key();
37 return StatusCode::SUCCESS;
90 IPartPropSvc* partPropSvc =
nullptr;
91 ATH_CHECK( service(
"PartPropSvc", partPropSvc,
true) );
92 auto *particleDataTable = partPropSvc->PDT();
94 const HepPDT::ParticleData* pd_pi = particleDataTable->particle(MC::PIPLUS);
95 const HepPDT::ParticleData* pd_p = particleDataTable->particle(MC::PROTON);
96 const HepPDT::ParticleData* pd_e = particleDataTable->particle(MC::ELECTRON);
97 const HepPDT::ParticleData* pd_K = particleDataTable->particle(MC::K0S);
98 const HepPDT::ParticleData* pd_L = particleDataTable->particle(MC::LAMBDA0);
106 return StatusCode::SUCCESS;
126 for (
auto unconstrV0 : *container )
135 double ptError =
m_V0Tools->pTError(unconstrV0);
137 double rxyError =
m_V0Tools->rxyError(unconstrV0);
140 decorKsMass( *unconstrV0 ) = mass_ks;
141 decorLaMass( *unconstrV0 ) = mass_la;
142 decorLbMass( *unconstrV0 ) = mass_lb;
143 decorKsMassErr( *unconstrV0 ) = mass_error_ks;
144 decorLaMassErr( *unconstrV0 ) = mass_error_la;
145 decorLbMassErr( *unconstrV0 ) = mass_error_lb;
146 decorPt_v0( *unconstrV0 ) =
pt;
147 decorPtErr_v0( *unconstrV0 ) =ptError;
148 decorRxy_v0( *unconstrV0 ) = rxy;
149 decorRxyErr_v0( *unconstrV0 ) =rxyError;
150 decorPx_v0( *unconstrV0 ) =
momentum.x();
151 decorPy_v0( *unconstrV0 ) =
momentum.y();
152 decorPz_v0( *unconstrV0 ) =
momentum.z();
154 return StatusCode::SUCCESS;
170 for (
auto ksV0 : *container )
175 double ptError =
m_V0Tools->pTError(ksV0);
177 double rxyError =
m_V0Tools->rxyError(ksV0);
180 decorMass_ks( *ksV0 ) = mass_ks;
181 decorMassErr_ks( *ksV0 ) = mass_error_ks;
182 decorPt_ks( *ksV0 ) =
pt;
183 decorPtErr_ks( *ksV0 ) = ptError;
184 decorRxy_ks( *ksV0 ) = rxy;
185 decorRxyErr_ks( *ksV0 ) = rxyError;
190 return StatusCode::SUCCESS;
205 for (
auto laV0 : *container )
210 double ptError =
m_V0Tools->pTError(laV0);
212 double rxyError =
m_V0Tools->rxyError(laV0);
215 decorMass_la( *laV0 ) = mass_la;
216 decorMassErr_la( *laV0 ) = mass_error_la;
217 decorPt_la( *laV0 ) =
pt;
218 decorPtErr_la( *laV0 ) = ptError;
219 decorRxy_la( *laV0 ) = rxy;
220 decorRxyErr_la( *laV0 ) = rxyError;
225 return StatusCode::SUCCESS;
240 for (
auto lbV0 : *container )
245 double ptError =
m_V0Tools->pTError(lbV0);
247 double rxyError =
m_V0Tools->rxyError(lbV0);
250 decorMass_lb( *lbV0 ) = mass_lb;
251 decorMassErr_lb( *lbV0 ) = mass_error_lb;
252 decorPt_lb( *lbV0 ) =
pt;
253 decorPtErr_lb( *lbV0 ) = ptError;
254 decorRxy_lb( *lbV0 ) = rxy;
255 decorRxyErr_lb( *lbV0 ) = rxyError;
260 return StatusCode::SUCCESS;
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPx_v0
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPy_ks
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorMass_la
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorLbMass
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPz_v0
double m_masspi
pion mass (139.57 MeV)
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorMassErr_la
StatusCode initKey(const std::string &, SG::WriteDecorHandleKey< xAOD::VertexContainer > &decokey) const
int m_masses
= 1 if using PDG values, = 2 if user set (1)
ToolHandle< Trk::V0Tools > m_V0Tools
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
DUMMY Primary Vertex Finder.
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorKsMassErr
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorLaMass
Gaudi::Property< std::string > m_laKey
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPy_v0
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPtErr_la
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPx_la
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPt_la
double m_massLambda
Lambda mass (1115.68 MeV)
double m_masse
electron mass (0.510999 MeV)
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorRxy_ks
const std::string & key() const
Return the StoreGate ID for the referenced object.
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorRxy_v0
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorRxyErr_lb
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPtErr_ks
Gaudi::Property< std::string > m_lbKey
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPy_lb
StatusCode decoratela(xAOD::VertexContainer *container, const EventContext &ctx) const
StatusCode decoratelb(xAOD::VertexContainer *container, const EventContext &ctx) const
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPt_lb
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorRxyErr_v0
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorMassErr_lb
::StatusCode StatusCode
StatusCode definition for legacy code.
Handle class for adding a decoration to an object.
Handle class for adding a decoration to an object.
StatusCode decorateV0(xAOD::VertexContainer *container, const EventContext &ctx) const
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPy_la
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPtErr_v0
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorRxyErr_la
Gaudi::Property< std::string > m_ksKey
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPt_v0
Gaudi::Property< std::string > m_v0Key
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPz_la
Eigen::Matrix< double, 3, 1 > Vector3D
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorMass_ks
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorRxy_lb
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorRxy_la
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorLaMassErr
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorRxyErr_ks
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
V0MainDecorator(const std::string &t, const std::string &n, const IInterface *p)
double m_massK0S
Kshort mass (497.672 MeV)
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPt_ks
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPz_ks
double m_massp
proton mass (938.272 MeV)
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPx_ks
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorMass_lb
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorLbMassErr
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPtErr_lb
StatusCode decorateks(xAOD::VertexContainer *container, const EventContext &ctx) const
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorMassErr_ks
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPz_lb
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorKsMass
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_decorPx_lb