Skip to content

Implementation of JetFitterV0FinderTool

First implementation of the JetFitterV0FinderTool. This tool covers step-3,4,5,6,7 of the old code!

The JetFitterV0FinderTool uses the following tools. It should be evaluated if we really need all of them.

ToolHandle<Trk::IVertexSeedFinder> m_CrossDistancesSeedFinder;
ToolHandle<Trk::IVertexFitter> m_SequentialVertexFitter; 
ToolHandle<InDet::InDetJetFitterUtils> m_jetFitterUtils; 
ToolHandle<Trk::IMode3dFinder> m_mode3dfinder;

The following methods return the necessary components for findSecVertex step.

const Trk::TwoTrackVerticesInJet* twoTrackVertices();
Amg::Vector3D JFseedDirection();	
std::vector< const Trk::ITrackLink* > tracksToUseInFirstFit();
std::vector< const Trk::ITrackLink* > tracksToUseInSecondFit();

This version on the code has been tested on 10 events and cross-checked on the old (or 'nominal') version of the code. The results are the same as far as we can see.

Comments concerning the implementation:

  • The current version of the code does not implement the following things (since the old code never these parts are commented out or never run): neutral tracks (creation and/or management), track and v0 candidates vetoes, Overlap removal. In other words: step 4 and 5 of the old code are NOT implemented yet!
  • In order to simplify the structure of the code and not rely on so many std::map we decided to introduce a (maybe temporary while we find other solutions?) decorator for the v0 candidates in order to store the two tracks associated to them. SG::AuxElement::Decorator< std::vector< const Trk::ITrackLink* > > m_tracksDecorator("VxTrackAtVertex"). This is supposed to replace things like ((myCandidate->vxTrackAtVertex()))[0].setOrigTrack ( newLinkTrack1 ); that do not accept const objects, obliging us to clone ITrackLink objects.

Since the results we observe are the same as the old code (despite the missing pieces) we'd suggest to start performing the necessary tests in order to have this MR merged. After that we can start working on the implementation of the missing parts, while other people take care of the following steps.

Note: This MR also includes Greg's changes to the BTagging package for the correct configuration of the tools. Thus, the BTagging should now be added to the sparse checkout of Athena

Tagging @parodi @cschiavi @coccaro @grbarbou

Edited by Carlo Varni

Merge request reports