13 const std::string& n,
const IInterface* p):
16 declareInterface<SVForIPTool>(
this);
20 bool & canUseSvxDirection,
22 const std::string & secVxFinderName,
25 std::vector< ElementLink< xAOD::VertexContainer > > myVertices;
26 BTag->variable<std::vector<ElementLink<xAOD::VertexContainer> > >(secVxFinderName,
"vertices", myVertices);
28 if (myVertices.empty()) {
29 ATH_MSG_DEBUG(
" No secondary vertex found for getting the B flight direction (for the IP sign calculation)");
32 canUseSvxDirection=
true;
33 SvxDirection=(*myVertices[0])->position()-priVtx.
position();
34 ATH_MSG_VERBOSE(
" Get direction from InDetVKalVertex: phi: " << SvxDirection.phi() <<
35 " theta: " << SvxDirection.theta() );
45 const std::string & secVxFinderName)
const
47 std::vector<ElementLink<xAOD::TrackParticleContainer> > TrkFromV0_ELs;
48 BTag->variable<std::vector<ElementLink<xAOD::TrackParticleContainer> > >(secVxFinderName,
"badTracksIP", TrkFromV0_ELs);
49 for (
const auto& link : TrkFromV0_ELs) {
50 if (link.isValid()) TrkFromV0.push_back(*link);
#define ATH_MSG_VERBOSE(x)
#define ATH_MSG_WARNING(x)
bool isValid(const T &p)
Av: we implement here an ATLAS-sepcific convention: all particles which are 99xxxxx are fine.
const Amg::Vector3D & position() const
Returns the 3-pos.
Eigen::Matrix< double, 3, 1 > Vector3D
The namespace of all packages in PhysicsAnalysis/JetTagging.
BTagging_v1 BTagging
Definition of the current "BTagging version".
Vertex_v1 Vertex
Define the latest version of the vertex class.