|
ATLAS Offline Software
|
Go to the documentation of this file.
6 #ifndef PARTICLE_JET_LABEL_COMMON_H
7 #define PARTICLE_JET_LABEL_COMMON_H
61 const std::string& linkName);
63 const std::vector<const xAOD::TruthParticle*>&)
const;
65 using IPLV = std::vector<ElementLink<xAOD::IParticleContainer>>;
70 std::vector<const xAOD::TruthParticle*>
b;
71 std::vector<const xAOD::TruthParticle*>
c;
72 std::vector<const xAOD::TruthParticle*>
tau;
100 (
const std::vector<const xAOD::TruthParticle*>&
parents
101 , std::vector<const xAOD::TruthParticle*>&
children
106 tool.declareProperty(
"LabelName",
n->singleint=
"",
"Jet label attribute to be added.");
107 tool.declareProperty(
"DoubleLabelName",
n->doubleint=
"",
"Jet label attribute to be added (with the possibility of up to 2 matched hadrons).");
108 tool.declareProperty(
"LabelPtName",
n->pt=
"",
"Attribute for labelling particle pt");
109 tool.declareProperty(
"LabelLxyName",
n->Lxy=
"",
"Attribute for Lxy of labelling particle");
110 tool.declareProperty(
"LabelDRName",
n->dr=
"",
"Attribute for dR(part, jet) for labelling particle");
111 tool.declareProperty(
"LabelPdgIdName",
n->pdgId=
"",
"Attribute for pdgID of labelling particle");
112 tool.declareProperty(
"LabelPositionDPhiName",
n->positionDPhi=
"",
"Attribute for the position dPhi of the labeling particle ");
113 tool.declareProperty(
"LabelPositionDEtaName",
n->positionDEta=
"",
"Attribute for the position dEta of the labeling particle ");
114 tool.declareProperty(
"LabelBarcodeName",
n->barcode=
"",
"Attribute for barcode of labeling particle");
115 tool.declareProperty(
"ChildLxyName",
n->childLxy=
"",
"Attribute for the labeling particle child Lxy");
116 tool.declareProperty(
"ChildPtName",
n->childPt=
"",
"Attribute for the labeling particle child Pt");
117 tool.declareProperty(
"ChildPdgIdName",
n->childPdgId=
"",
"Attribute for the labeling particle child pdg ID");
118 tool.declareProperty(
"ChildPositionDPhiName",
n->childPositionDPhi=
"",
"Attribute for the position dPhi of the labeling particle child");
119 tool.declareProperty(
"ChildPositionDEtaName",
n->childPositionDEta=
"",
"Attribute for the position dEta of the labeling particle child");
SG::AuxElement::Decorator< float > childLxy
LabelDecorators(const LabelNames &)
parents
print ("==> buf:",buf)
std::string childPositionDEta
void declareProperties(T &tool, LabelNames *n)
float partDR(const xAOD::TruthParticle *part, const xAOD::Jet &jet)
SG::AuxElement::Decorator< int > barcode
float positionDEta(const xAOD::TruthParticle *part, const xAOD::Jet &jet, const Amg::Vector3D &origin)
SG::AuxElement::Decorator< float > Lxy
Amg::Vector3D p3(const xAOD::TruthVertex *p)
SG::AuxElement::Decorator< int > doubleint
SG::AuxElement::Decorator< IPLV > m_dec
std::vector< const xAOD::TruthParticle * > c
Helper class to provide type-safe access to aux data.
std::vector< const xAOD::TruthParticle * > tau
std::vector< const xAOD::TruthParticle * > b
Class describing a truth particle in the MC record.
void childrenRemoved(const std::vector< const xAOD::TruthParticle * > &parents, std::vector< const xAOD::TruthParticle * > &children)
SG::AuxElement::Decorator< float > pt
float partPt(const xAOD::TruthParticle *part)
Class describing a truth vertex in the MC record.
SG::AuxElement::Decorator< int > pdgId
SG::AuxElement::Decorator< int > childPdgId
std::string childPositionDPhi
IParticleLinker(const SG::ReadHandleKey< xAOD::TruthParticleContainer > &, const std::string &linkName)
SG::AuxElement::Decorator< float > childPt
Eigen::Matrix< double, 3, 1 > Vector3D
SG::AuxElement::Decorator< float > positionDEta
Amg::Vector3D signalProcessP3(const xAOD::TruthEventContainer &)
float positionDPhi(const xAOD::TruthParticle *part, const xAOD::Jet &jet, const Amg::Vector3D &origin)
void setJetLabels(const xAOD::Jet &jet, const Particles &particles, const LabelNames &names)
float partLxy(const xAOD::TruthParticle *part, const Amg::Vector3D &origin)
int partPdgId(const xAOD::TruthParticle *part)
SG::AuxElement::Decorator< float > childPositionDEta
SG::AuxElement::Decorator< float > positionDPhi
void decorate(const xAOD::Jet &, const std::vector< const xAOD::TruthParticle * > &) const
SG::AuxElement::Decorator< float > childPositionDPhi
SG::AuxElement::Decorator< int > singleint
SG::AuxElement::Decorator< float > dr
std::vector< ElementLink< xAOD::IParticleContainer > > IPLV