Algorithm/Algtool | Task | Cuts |
BJetBuilder | retrieves Jet/ParticleJet collection and TrackParticle container. Calls tool for TrackParticle - Jet association. Calls BTagTool for every Jet in the input collection | cuts on the jet: PtMin = 10*GeV, EtaMax = 2.5, NbTrackMin = 1. but these cuts are bypassed by default with TagJetIfNotSelected = True |
BTagTool | sets general JetTag datamembers (4 mom, aso.). Calls truth matching tool (if no truth match possible, it is set to "N/A". retrieves primary vertex container. | If there is no primary vertex no tag tool is called. BTagTool returns SC::Success to BJetBuilder. |
TagTools | each tool does a dedicated tag (lifetime, secvtx) | Loops over the TrackParticles in the Jet and selects them: pt > 1.GeV, d0 to primary vertex < 1 mm, z0 to pri vtx < 1.5 mm, precision hits (pixel + sct) >= 9, Pixel hits >= 2, B-layer hits >= 1. |
SecVtxTool special cuts | also cut on a0/sig(a0) > 1. and in the vertex fit: chi2 per track < 4. and distance between primary and secondary vertex > 0.2 mm |
Algorithm/Algtool | Stops tagging |
BJetBuilder | never, all jets are passed through unless TagJetIfNotSelected is set to False via job options |
BTagTool | stops if there is no primary vertex in the event. No tag at all will be called. The info map of the JetTag object has size 1 and will contain the TruthInfo object only. |
LifetimeTag | stops if a Jet has less than 2 good tracks, no info object will be appended to the JetTag object |
SecVtxTag | stops if a Jet has less than 2 good tracks, no info object will be appended to the JetTag object in addition does not give a usefull tag if no secondary vertex could be fitted. however in this case a info object will be given to the JetTag object which also will be used for tagging ... Advice: when reading the sec vtx info part of the JetTag check for the variable SecVtxInfo::fitType() not equal SecVtxInfo::NoFit |