CMS 3D CMS Logo

SimpleCosmicBONSeeder_cfi.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
4  layerList = cms.vstring()
5  if 'ALL' in layers:
6  layers = [ 'TOB', 'TEC', 'TOBTEC', 'TECSKIP' ]
7  if 'TOB' in layers:
8  layerList += ['MTOB4+MTOB5+MTOB6',
9  'MTOB3+MTOB5+MTOB6',
10  'MTOB3+MTOB4+MTOB5',
11  'MTOB3+MTOB4+MTOB6',
12  'TOB2+MTOB4+MTOB5',
13  'TOB2+MTOB3+MTOB5']
14  if 'TEC' in layers:
15  TECwheelTriplets = [ (i,i+1,i+2) for i in range(7,0,-1)]
16  layerList += [ 'TEC%d_pos+TEC%d_pos+TEC%d_pos' % ls for ls in TECwheelTriplets ]
17  layerList += [ 'TEC%d_neg+TEC%d_neg+TEC%d_neg' % ls for ls in TECwheelTriplets ]
18  if 'TECSKIP' in layers:
19  TECwheelTriplets = [ (i-1,i+1,i+2) for i in range(7,1,-1)] + [ (i-1,i,i+2) for i in range(7,1,-1) ]
20  layerList += [ 'TEC%d_pos+TEC%d_pos+TEC%d_pos' % ls for ls in TECwheelTriplets ]
21  layerList += [ 'TEC%d_neg+TEC%d_neg+TEC%d_neg' % ls for ls in TECwheelTriplets ]
22  if 'TOBTEC' in layers:
23  layerList += [ 'MTOB6+TEC1_pos+TEC2_pos',
24  'MTOB6+TEC1_neg+TEC2_neg',
25  'MTOB6+MTOB5+TEC1_pos',
26  'MTOB6+MTOB5+TEC1_neg' ]
27  #print "SEEDING LAYER LIST = ", layerList
28  return layerList
29 
30 layerInfo = RecoTracker.SpecialSeedGenerators.CombinatorialSeedGeneratorForCosmics_cfi.layerInfo.clone(
31  TEC = dict(useSimpleRphiHitsCleaner = False)
32 )
33 layerList = makeSimpleCosmicSeedLayers('ALL'),
34 
35 simpleCosmicBONSeeds = cms.EDProducer("SimpleCosmicBONSeeder",
36  TTRHBuilder = cms.string('WithTrackAngle'),
37  ClusterCheckPSet = cms.PSet(
38  doClusterCheck = cms.bool(True),
39  MaxNumberOfCosmicClusters = cms.uint32(300),
40  ClusterCollectionLabel = cms.InputTag("siStripClusters"),
41  DontCountDetsAboveNClusters = cms.uint32(20), # if N > 0, ignore in total the dets with more than N clusters
42  MaxNumberOfPixelClusters = cms.uint32(300),
43  PixelClusterCollectionLabel = cms.InputTag("siPixelClusters")
44  ),
45  maxTriplets = cms.int32(50000),
46  maxSeeds = cms.int32(20000),
47  RegionPSet = cms.PSet(
48  originZPosition = cms.double(0.0), # \ These three parameters
49  originRadius = cms.double(150.0), # |-> probably don't change
50  originHalfLength = cms.double(90.0), # / anything at all.
51  ptMin = cms.double(0.5), # pt cut, applied both at the triplet finding and at the seeding level
52  pMin = cms.double(1.0), # p cut, applied only at the seeding level
53  ),
54  TripletsSrc = cms.InputTag("simpleCosmicBONSeedingLayers"),
55  TripletsDebugLevel = cms.untracked.uint32(0), # debug triplet finding (0 to 3)
56  seedOnMiddle = cms.bool(False), # after finding the triplet, add only two hits to the seed
57  rescaleError = cms.double(1.0), # we don't need it anymore. At least for runs with BON
58 
59  ClusterChargeCheck = cms.PSet(
60  checkCharge = cms.bool(False), # Apply cuts on cluster charge
61  matchedRecHitsUseAnd = cms.bool(True), # Both clusters in the pair should pass the charge cut
62  Thresholds = cms.PSet( # Uncorrected thresholds
63  TIB = cms.int32(0), #
64  TID = cms.int32(0), # Currenlty not used
65  TOB = cms.int32(0), #
66  TEC = cms.int32(0), #
67  ),
68  ),
69  HitsPerModuleCheck = cms.PSet(
70  checkHitsPerModule = cms.bool(True), # Apply cuts on the number of hits per module
71  Thresholds = cms.PSet( #
72  TIB = cms.int32(20), #
73  TID = cms.int32(20), # FIXME: to be optimized
74  TOB = cms.int32(20), #
75  TEC = cms.int32(20), #
76  ),
77  ),
78  minimumGoodHitsInSeed = cms.int32(3), # NO bad hits in the seed (set to '2' to allow one bad hit in the seed)
79 
80  writeTriplets = cms.bool(False), # write the triplets to the Event as OwnVector<TrackingRecHit>
81  helixDebugLevel = cms.untracked.uint32(0), # debug FastHelix (0 to 2)
82  seedDebugLevel = cms.untracked.uint32(0), # debug seed building (0 to 3)
83  #***top-bottom
84  PositiveYOnly = cms.bool(False),
85  NegativeYOnly = cms.bool(False)
86  #***
87 )
88