Seeding Modifications for Displaced Tracks

Complete: 3

Goal of the page

Before reading this page, you should already have familiarised yourself with the seeding algorithms used to find tracks produced near the beam-line: hit-pair seeding and hit-triplet seeding.

This page will explain modifications to these standard seeding algorithms, which allow them to find particles produced at distances of up to 50 cm from the beam-line. These are run by default in CMSSW 3.1 and are used to produce the general track collection.

This documentation was written for CMSSW 3.1.

Contacts

I.Tomalin, C.Saout

Introduction

Usage of the algorithm

Pixel-Pair Seeding for Displaced Tracks

Use of this is illustrated in RecoTracker/IterativeTracking/python/ThStep_cff.py. In particular, note how the SeedingLayersESProducer is used to specify which seeding layers should be used. Also note how the seed-finder GlobalMixedSeeds is configured. Of particular importance are the following three lines, which specify minimum allowed Pt, and the half-length and radius of cylinder (centred on the detector origin and orientated parallel to the beam axis) inside which particles are assumed to be produced. The originRadius in particular is much larger than for conventional tracking.

thPLSeeds.RegionFactoryPSet.RegionPSet.ptMin = 0.35
thPLSeeds.RegionFactoryPSet.RegionPSet.originHalfLength = 7.0
thPLSeeds.RegionFactoryPSet.RegionPSet.originRadius = 1.2

Also note the lines:

import TrackingTools.MaterialEffects.MaterialPropagator_cfi
MaterialPropagatorPtMin035 = TrackingTools.MaterialEffects.MaterialPropagator_cfi.MaterialPropagator.clone(
    ComponentName = 'PropagatorWithMaterialPtMin035',
    ptMin = 0.35
    )

import RecoTracker.TkSeedGenerator.SeedFromConsecutiveHitsStraightLineCreator_cfi
thPLSeeds.SeedCreatorPSet = RecoTracker.TkSeedGenerator.SeedFromConsecutiveHitsStraightLineCreator_cfi.SeedFromConsecutiveHitsStraightLineCreator.clone(
    propagator = cms.string('PropagatorWithMaterialPtMin035')
)

These specify that a variant ("straight-line seeding") of the standard seed-finding software should be used, that does not make unwarrented assumptions about the particle being produced at the detector origin. (The standard seed-finder makes an a priori assumption that the curvature of the track is approximately given by a circle passing through the origin and the two seed hits. The modified software makes the a priori assumption that the curvature of the track is approximately zero. In both cases, a very large uncertainty is assigned to this a priori estimate, proportional to 1/ptMin, where ptMin is the minimum Pt which the seed finder is configured to search for. With the modified software, this apriori assumption is statistically compatible with the true curvature of the track, whereas with the standard software it is not, so the tracking fails).

This modified seeding must be used with the propagator shown above, with "ptMin" set equal to the ptMin used for the seeding. This propagator is described here.

Pixel-Triplet Seeding for Displaced Tracks

Use of this is illustrated in RecoTracker/IterativeTracking/python/SecStep_cff.py. However, this file must be slightly modified to find displaced tracks. Notice how the GlobalSeedsFromTriplets are used to seed the tracks. Of particular importance are the following three lines, which specify minimum allowed Pt, and the half-length and radius of cylinder (centred on the detector origin and orientated parallel to the beam axis) inside which particles are assumed to be produced. The originRadius parameter is not actually present in the example file, so you must add it yourself, to ensure that the default value of only 0.2 cm is not used.

secTriplets.RegionFactoryPSet.RegionPSet.ptMin = 0.2
secTriplets.RegionFactoryPSet.RegionPSet.originHalfLength = 17.5
secTriplets.RegionFactoryPSet.RegionPSet.originRadius = 1.2

Also note the lines:

#secTriplets.SeedCreatorPSet.ComponentName = 'SeedFromConsecutiveHitsTripletOnlyCreator'
#from RecoPixelVertexing.PixelTriplets.PixelTripletLargeTipGenerator_cfi import *
#secTriplets.OrderedHitsFactoryPSet.GeneratorPSet = cms.PSet(PixelTripletLargeTipGenerator)

These specify that a variant ("large tip") of the standard seed-finding software should be used, that does not make unwarrented assumptions about the particle flying along a perfectly straight line in the r-z plane. (This assumption is only true for infinite momentum particles produced at the detector origin). Note that you must uncomment these lines in the configuration file, since this code is not used in the standard RECO tracking sequence.

Strip-Tracker Seeding for Displaced Tracks

To find particles produced outside the Pixel Tracker, the only option is to seed the tracks in the Strip Tracker. The double-layers are used for this, since they provide 3-D coordinates. Use of this is illustrated in RecoTracker/IterativeTracking/python/PixelLessStep_cff.py for seeding in TIB layers 1-2 and TEC ring 1 and in RecoTracker/IterativeTracking/python/TobTecStep_cff.py for seeding in TOB layers 1-2 and TEC ring 5. In particular, note how the SeedingLayersESProducer is used to specify which seeding layers should be used. Also note how the seed-finder GlobalMixedSeeds is configured. Of particular importance are the following three lines, which specify minimum allowed Pt, and the half-length and radius of cylinder (centred on the detector origin and orientated parallel to the beam axis) inside which particles are assumed to be produced. The originRadius in particular is much larger than for conventional tracking.

thPLSeeds.RegionFactoryPSet.RegionPSet.ptMin = 0.35
thPLSeeds.RegionFactoryPSet.RegionPSet.originHalfLength = 10.0
thPLSeeds.RegionFactoryPSet.RegionPSet.originRadius = 5.0

N.B. In practise, the tracking will find particles with impact parameters up to 2-3 times originRadius, since the seed-finder has insufficient information to make a precise estimate of the track's impact parameter that it can cut on.

Software architecture

Explain the design of the algorithm to ensure that the software can be maintained once the existing authors have left:
  • design arguments - why this is done as it is done
  • description of algorithm.

Testing

Review status

Reviewer/Editor and Date (copy from screen) Comments
GiuseppeCerati - 17 Mar 2009 created template page
IanTomalin - 7 Apr 2009 Added documentation

Responsible: ResponsibleIndividual
Last reviewed by: Most recent reviewer

Edit | Attach | Watch | Print version | History: r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r2 - 2009-04-09 - IanTomalin
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    CMSPublic All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback