Tracker Numbering Builder

All the CmsTracker…Builder='s inherit from =CmsTrackerLevelBuilder. It looks like a tree of classes is created and their method build is called to sort and assign the detids to the different modules. The branching is done by converting a string from DDD to an enum and by deciding which CmsTracker…Builder to call. The hierarchy is:
  • CmsTrackerBuilder
    • CmsTrackerSubStrctBuilder
      • CmsTrackerLayerBuilder
        • CmsTrackerStringBuilder
        • CmsTrackerRodBuilder
        • CmsTrackerLadderBuilder
      • CmsTrackerWheelBuilder
        • CmsTrackerRingBuilder
        • CmsTrackerPetalBuilder
      • CmsTrackerDiskBuilder
        • CmsTrackerPanelBuilder

For the phase 2 upgrade it should be possible to define another builder for the outer tracker disks to be called by CmsTrackerDiskBuilder to build properly the Outer Tracker disks

Track Refitting

Comments (based on 3_9_5)

The TrackRefitter, as any TrackProducerBase, needs many ES objects. One of the is the TrajectoryFitter, through the TrajectoryFitterRecord. The name of the TrajectoryFitter is the parameter Fitter of the configuration. In RecoTracker.TrackProducer.TrackRefitter_cfi the fitter is KFFittingSmootherWithOutliersRejectionAndRK.
module ESProducer name fitter smoother
KFFittingSmoother KFFittingSmootherESProducer KFFittingSmoother KFFitter KFSmoother
MRHFittingSmoother KFFittingSmootherESProducer MRHFittingSmoother MRHFitter MRHSmoother
RK1DFittingSmoother KFFittingSmootherESProducer RK1DFittingSmoother RK1DFitter RK1DSmoother
RKOutliers1DFittingSmoother KFFittingSmootherESProducer RKOutliers1DFittingSmoother RK1DFitter RK1DSmoother
RKFittingSmoother KFFittingSmootherESProducer RKFittingSmoother RKFitter RKSmoother
KFFittingSmootherWithOutliersRejectionAndRK KFFittingSmootherESProducer KFFittingSmootherWithOutliersRejectionAndRK RKFitter RKSmoother

module ESProducer name propagator updator estimator
KFTrajectoryFitter KFTrajectoryFitterESProducer KFFitter PropagatorWithMaterial KFUpdator Chi2
MRHTrajectoryFitter KFTrajectoryFitterESProducer MRHFitter RungeKuttaTrackerPropagator KFUpdator MRHChi2
RK1DTrajectoryFitter KFTrajectoryFitterESProducer RK1DFitter RungeKuttaTrackerPropagator KFSwitching1DUpdator Chi2
RKTrajectoryFitter KFTrajectoryFitterESProducer RKFitter RungeKuttaTrackerPropagator KFUpdator Chi2

module ESProducer name propagator updator estimator
KFTrajectorySmoother KFTrajectorySmootherESProducer KFSmoother PropagatorWithMaterial KFUpdator Chi2
MRHTrajectorySmoother KFTrajectorySmootherESProducer MRHSmoother RungeKuttaTrackerPropagator KFUpdator MRHChi2
RK1DTrajectorySmoother KFTrajectorySmootherESProducer RK1DSmoother RungeKuttaTrackerPropagator KFSwitching1DUpdator Chi2
RKTrajectorySmoother KFTrajectorySmootherESProducer RKSmoother RungeKuttaTrackerPropagator KFUpdator Chi2

Configuration

The configuration file to be used when tracks have to be refitted is: RecoTracker.TrackProducer.TrackRefitters_cff

Trajectories, Tracks and TSOS

TSOS

How to get a TrajectoryStateClosestToBeamLine

Seeding

Iteration Configurations

Seeding algorithm

Common Tools
There are:
  • Seeding with triplets:
    • globalSeedsFromTriplets which is cloned from seedGeneratorFromRegionHitsEDProducer. The EDProducer class is SeedGeneratorFromRegionHitsEDProducer. It contains:
      • a TrackingRegionProducerFactory
      • theGenerator which is a SeedGeneratorFromRegionHits
        • it is configured with a theHitsGenerator, aComaparitor and aCreator
        • for each region theHitsGenerator "run" is executed
        • when theHitsGenerator is a CombinedHitTripletGenerator (plugin is called StandardHitTripletGenerator):
          • theGenerators collection is filled with one HitTripletGeneratorFromPairandLayers for each seeding layer combination
            • a seeding layer combination is made of a pair of layers plus all the other third layers
          • "hitsTriplets" is called and for each element of theGenerators
            • it is in each element of theGenerators that the "TooManyTriplets" threshold is applied. If passed all the OrderedHitTriplets produced so far are deleted and only the remaning seeding layer combinations can contribute
            • the number of seed threshold is in OrderedHitsFactoryPSet.GeneratorPSet.maxElement

  • Seeding with pairs:
    • globalSeedsFromPairsWithVertices which is cloned from seedGeneratorFromRegionHitsEDProducer and:
      • it uses the plugin StandardHitPairGenerator which corresponds to the class CombinedHitPairGenerator. For each combination of seeding layers a HitPairGeneratorFromLayerPair is created. The number of seed threshold is in OrderedHitsFactoryPSet.maxElement. This threshold is applied to each seeding layer pairs. This means that the total number of seeds can exceed this threshold.
      • it uses GlobalTrackingRegionFromVerticesProducer
    • globalMixedSeeds which is cloned from seedGeneratorFromRegionHitsEDProducer and:
      • it uses the plugin StandardHitPairGenerator (see above) and the number of seed threshold is in OrderedHitsFactoryPSet.maxElement
      • it uses GlobalTrackingRegionFromBeamSpot

Different iteration configurations
pixelTracks
In 39x:
  • It uses PixelTrackProducer which:

newSeedFromTriplets (0th step)
In 39x:
  • cloned from globalSeedsFromTriplets which is cloned from seedGeneratorFromRegionHitsEDProducer and:
    • it uses StandardHitTripletGenerator and the number of seed threshold is in OrderedHitsFactoryPSet.GeneratorPSet.maxElement
    • PixelTripletHLTGenerator used as seed generator (inherits from HitTripletGeneratorFromPairAndLayers)
    • it uses as SeedComparitor LowPtClusterShapeSeedComparitor

newSeedFromPairs (1st step)
In 39x:
  • cloned from globalSeedsFromPairsWithVertices which is cloned from seedGeneratorFromRegionHitsEDProducer and:
    • it used StandardHitPairGenerator and the number of seed threshold is in OrderedHitsFactoryPSet.maxElement

secTriplets (2nd step)
In 39x
  • cloned from globalSeedsFromTriplets which is cloned from seedGeneratorFromRegionHitsEDProducer and:
    • it uses StandardHitTripletGenerator and the number of seed threshold is in OrderedHitsFactoryPSet.GeneratorPSet.maxElement
    • PixelTripletHLTGenerator used as seed generator (inherits from HitTripletGeneratorFromPairAndLayers)
    • it uses as SeedComparitor LowPtClusterShapeSeedComparitor

thTripletsA (3rd step)
In 39x
  • cloned from globalSeedsFromTriplets which is cloned from seedGeneratorFromRegionHitsEDProducer and:
    • it uses GlobalRegionProducerFromBeamSpot
    • it uses StandardHitTripletGenerator and the number of seed threshold is in OrderedHitsFactoryPSet.GeneratorPSet.maxElement
    • PixelTripletLargeTipGenerator used as seed generator (inherits from HitTripletGeneratorFromPairAndLayers)
    • no SeedComparitor

thTripletsB (3rd step)
In 39x
  • cloned from globalSeedsFromTriplets which is cloned from seedGeneratorFromRegionHitsEDProducer and:
    • it uses GlobalRegionProducerFromBeamSpot
    • it uses StandardHitTripletGenerator and the number of seed threshold is in OrderedHitsFactoryPSet.GeneratorPSet.maxElement
    • PixelTripletLargeTipGenerator used as seed generator (inherits from HitTripletGeneratorFromPairAndLayers)
    • no SeedComparitor

fourthPLSeeds (4th step)
In 39x
  • cloned from globalMixedSeeds which is cloned from seedGeneratorFromRegionHitsEDProducer and:
    • it used StandardHitPairGenerator and the number of seed threshold is in OrderedHitsFactoryPSet.maxElement

fifthSeeds (5th step)
In 39x
  • cloned from globalMixedSeeds which is cloned from seedGeneratorFromRegionHitsEDProducer and:
    • it used StandardHitPairGenerator and the number of seed threshold is in OrderedHitsFactoryPSet.maxElement

How to set threshold on the total number of OrderedHitTriplets (seed candidates)

process.newSeedFromTriplets.OrderedHitsFactoryPSet.GeneratorPSet.maxElement = cms.uint32(100000) process.newSeedFromPairs.OrderedHitsFactoryPSet.maxElement = cms.uint32(100000) process.secTriplets.OrderedHitsFactoryPSet.GeneratorPSet.maxElement = cms.uint32(100000) process.thTripletsA.OrderedHitsFactoryPSet.GeneratorPSet.maxElement = cms.uint32(100000) process.thTripletsB.OrderedHitsFactoryPSet.GeneratorPSet.maxElement = cms.uint32(100000) process.fourthPLSeeds.OrderedHitsFactoryPSet.maxElement = cms.uint32(100000) process.fifthSeeds.OrderedHitsFactoryPSet.maxElement = cms.uint32(100000)

process.pixelTracks.OrderedHitsFactoryPSet.GeneratorPSet.maxElement = cms.uint32(100000)

Global Tracking Region configurations

General Tools
Parameters and and algorithm are defined in RegionFactoryPSet and in RegionFactoryPSet.RegionPSet Deafult parameter blocks can be found in:
Different iteration configurations
pixelTracks
RecoPixelVertexing/ PixelTrackFitting/ python/ PixelTrackReconstruction_cfi.py In 39x:
  • default
    • GlobalRegionProducerFromBeamSpot + RegionPsetFromBeamSpotBlock : 3 sigmaZ
  • TLR
    • process.pixelTracks.RegionFactoryPSet.RegionPSet.nSigmaZ  = 4.06
    • process.pixelTracks.RegionFactoryPSet.RegionPSet.originHalfLength = cms.double(40.6)

newSeedFromTriplets (0th step)
RecoTracker/ IterativeTracking/ python/ FirstStep_cff.py In 42x:
  • default
    • cloned from globalSeedsFromTriplets which is cloned from seedGeneratorFromRegionHitsEDProducer:
      • pt cut modified to 0.8 GeV
      • GlobalRegionProducerFromBeamSpot + RegionPsetFromBeamSpotBlock : 3 sigmaZ

newSeedFromPairs (1st step)
RecoTracker/ IterativeTracking/ python/ FirstStep_cff.py In 42x:
  • default
    • cloned from globalSeedsFromPairsWithVertices which is cloned from seedGeneratorFromRegionHitsEDProducer
    • pt cut modified to 0.6 GeV, originRadius modified to 0.05
    • GlobalTrackingRegionFromVerticesProducer + RegionPSetWithVerticesBlock: 0.2 mm around the vertices

secTriplets (2nd step)
RecoTracker/ IterativeTracking/ python/ SecStep_cff.py In 42x
  • default
    • cloned from globalSeedsFromTriplets which is cloned from seedGeneratorFromRegionHitsEDProducer:
      • GlobalRegionProducerFromBeamSpot + RegionPsetFromBeamSpotBlock +
      • pt cut modified to 0.075 GeV, originHalfLength = 3.3 sigmaZ

thTripletsA (3rd step)
RecoTracker/ IterativeTracking/ python/ ThStep_cff.py In 42x
  • default
    • cloned from globalSeedsFromTriplets which is cloned from seedGeneratorFromRegionHitsEDProducer:
      • GlobalRegionProducerFromBeamSpot + RegionPsetFromBeamSpotBlockFixedZ +
      • pt cut modified to 0.25 GeV, originHalfLength = 10cm, originRadius = 2cm

thTripletsB (3rd step)
RecoTracker/ IterativeTracking/ python/ ThStep_cff.py In 39x
  • default
    • cloned from globalSeedsFromTriplets which is cloned from seedGeneratorFromRegionHitsEDProducer:
      • GlobalRegionProducerFromBeamSpot + RegionPsetFromBeamSpotBlockFixedZ +
      • pt cut modified to 0.35 GeV, originHalfLength = 10cm, originRadius = 2cm

fourthPLSeeds (4th step)
RecoTracker/ IterativeTracking/ python/PixelLessStep_cff.py In 39x
  • default
    • cloned from globalMixedSeeds which is cloned from seedGeneratorFromRegionHitsEDProducer:
      • GlobalRegionProducerFromBeamSpot + RegionPsetFromBeamSpotBlockFixedZ +
      • pt cut modified to 0.5 GeV, originHalfLength = 12cm, originRadius = 2cm

fifthSeeds (5th step)
RecoTracker/ IterativeTracking/ python/ TobTecStep_cff.py In 39x
  • default
    • cloned from globalMixedSeeds which is cloned from seedGeneratorFromRegionHitsEDProducer:
      • GlobalRegionProducerFromBeamSpot + RegionPsetFromBeamSpotBlockFixedZ +
      • pt cut modified to 0.6 GeV, originHalfLength = 30cm, originRadius = 6cm

Tracking anf HLT

Pixel Tracks

The differences between pixelTracks and hltPixelTracks are (2011/05/29):
  • OrderedHitsFactoryPSet.GeneratorPSet.maxElement = 100k offline and 10k at HLT
  • OrderedHitsFactoryPSet.GeneratorPSet.extraHitRPhitolerance = 0.032 offline and 0.06 at HLT
  • OrderedHitsFactoryPSet.GeneratorPSet.extraHitRZtolerance = 0.037 offline and 0.06 at HLT
  • FitterPSet.TTRHBuilder = hltESPTTRHBuilderPixelOnly at HLT and PixelTTRHBuilderWithoutAngle offline but they are identical (I hope...)
  • Global tracking region with +/-3sigmaZ acceptance offline and +/-24cm acceptace at HLT

-- AndreaVenturi - 04-Sep-2010

Edit | Attach | Watch | Print version | History: r14 < r13 < r12 < r11 < r10 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r14 - 2014-05-20 - AndreaVenturi
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Main All webs login

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