How data is computed and saved in the event in BTagging framework
Complete:
Goal of this page
This page presents a proposal for new schema of b-tagging data
Method
Jet Track Association
First the tracks are associated to Jets via an AssociationMap, see RecoBTau package.
Track IP properties data
Currently this kind of data is not shared by different algorithms.
We propose to add an intermediate layer to save this data:
An intermediate object can be stored in the Event to hold data such as impact parameter values computed wrt a given PV (and so a PV reference should also be stored).
The track-IP probability can also be stored. Should it go in the same object (then HLT is forced to compute it!) ?
Example pseudo-code:
//New Product:
typedef AssociationMap<OneToOne<JetTracksAssociation,TracksInJetData>> JetTracksIPDataAssociation;
//or
//typedef AssociationMap<OneToOne<Jet,TracksInJetData>> JetTracksIPDataAssociation;
/*
This is a container of tracks data so we do not duplicate the reference to the PV used.
*/
class TracksInJetData
{
vector<TrackIPData> ipData;
vector<float> probabilities3D; //can we leave empty for HLT usage?
vector<float> probabilities2D; //can we leave empty for HLT usage?
edm::Ref<Vertex> primaryVertex;
GlobalVector direction; //direction used is not forced to be the CaloJet direction
};
struct TrackIPData
{
float impactParameter3D;
float impactParameter3DError;
float impactParameter2D;
float impactParameter2DError;
//float decayLen;
//float decayLenError;
};
Secondary vertices
Currently this kind of data is not shared by different algorithms.
Lepton Identification
Currently this kind of data is not shared by different algorithms.
Review Status
Responsible: Main.arizzi
Last reviewed by: Reviewer