CMS 3D CMS Logo

quadrupletseedmerging_cff.py
Go to the documentation of this file.
1 
2 import FWCore.ParameterSet.Config as cms
3 
4 # creating quadruplet SeedingLayerSets for the merger;
5 PixelSeedMergerQuadruplets = cms.PSet(
6  appendToDataLabel = cms.string( "" ),
7 
8  # this simply describes all possible layer/disk combinations
9  # on which quadruplets are expected to appear
10  layerList = cms.vstring(
11  ## straightforward combinations:
12  'BPix1+BPix2+BPix3+BPix4',
13  'BPix1+BPix2+BPix3+FPix1_pos',
14  'BPix1+BPix2+BPix3+FPix1_neg',
15  'BPix1+BPix2+FPix1_pos+FPix2_pos',
16  'BPix1+BPix2+FPix1_neg+FPix2_neg',
17  'BPix1+FPix1_pos+FPix2_pos+FPix3_pos',
18  'BPix1+FPix1_neg+FPix2_neg+FPix3_neg'
19 # ## "gap" combinations:
20 # 'BPix2+FPix1_pos+FPix2_pos+FPix3_pos',
21 # 'BPix2+FPix1_neg+FPix2_neg+FPix3_neg',
22 # 'BPix1+BPix2+FPix2_pos+FPix3_pos',
23 # 'BPix1+BPix2+FPix2_neg+FPix3_neg',
24 # 'BPix1+BPix2+FPix1_pos+FPix3_pos',
25 # 'BPix1+BPix2+FPix1_neg+FPix3_neg'
26  ),
27 
28  BPix = cms.PSet(
29  TTRHBuilder = cms.string( "PixelTTRHBuilderWithoutAngle" ),
30  HitProducer = cms.string( "siPixelRecHits" ),
31  ),
32  FPix = cms.PSet(
33  TTRHBuilder = cms.string( "PixelTTRHBuilderWithoutAngle" ),
34  HitProducer = cms.string( "siPixelRecHits" ),
35  ),
36  TEC = cms.PSet( )
37 )
38 
39 _layerListForPhase2 = ['BPix1+BPix2+BPix3+BPix4',
40  'BPix1+BPix2+BPix3+FPix1_pos','BPix1+BPix2+BPix3+FPix1_neg',
41  'BPix1+BPix2+FPix1_pos+FPix2_pos', 'BPix1+BPix2+FPix1_neg+FPix2_neg',
42  'BPix1+FPix1_pos+FPix2_pos+FPix3_pos', 'BPix1+FPix1_neg+FPix2_neg+FPix3_neg',
43 # removed as redundant in current geometry (here for documentation)
44 # 'FPix1_pos+FPix2_pos+FPix3_pos+FPix4_pos', 'FPix1_neg+FPix2_neg+FPix3_neg+FPix4_neg',
45  'FPix2_pos+FPix3_pos+FPix4_pos+FPix5_pos', 'FPix2_neg+FPix3_neg+FPix4_neg+FPix5_neg',
46  'FPix3_pos+FPix4_pos+FPix5_pos+FPix6_pos', 'FPix3_neg+FPix4_neg+FPix5_neg+FPix6_neg',
47  'FPix4_pos+FPix5_pos+FPix6_pos+FPix7_pos', 'FPix4_neg+FPix5_neg+FPix6_neg+FPix7_neg',
48  'FPix5_pos+FPix6_pos+FPix7_pos+FPix8_pos', 'FPix5_neg+FPix6_neg+FPix7_neg+FPix8_neg',
49 # removed as redunant and covering effectively only eta>4 (here for documentation, to be optimized after TDR)
50 # 'FPix5_pos+FPix6_pos+FPix7_pos+FPix9_pos', 'FPix5_neg+FPix6_neg+FPix7_neg+FPix9_neg',
51 # 'FPix6_pos+FPix7_pos+FPix8_pos+FPix9_pos', 'FPix6_neg+FPix7_neg+FPix8_neg+FPix9_neg'
52 ]
53 
54 # Needed to have pixelTracks to not to look like depending
55 # siPixelRecHits (that is inserted in reco sequences in
56 # InitialStepPreSplitting). The quadruplet merger does not use these
57 # hit collections (it uses the hits of the triplets), so this is only
58 # to make framework's circular dependency checker happy.
59 _forPhase1 = dict(
60  BPix = dict(HitProducer = "siPixelRecHitsPreSplitting"),
61  FPix = dict(HitProducer = "siPixelRecHitsPreSplitting"),
62 )
63 from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1
64 trackingPhase1.toModify(PixelSeedMergerQuadruplets, **_forPhase1)
65 from Configuration.Eras.Modifier_trackingPhase1QuadProp_cff import trackingPhase1QuadProp
66 trackingPhase1QuadProp.toModify(PixelSeedMergerQuadruplets, **_forPhase1)
67 from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
68 trackingPhase2PU140.toModify(PixelSeedMergerQuadruplets, layerList = _layerListForPhase2, **_forPhase1)