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
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
.
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