CMS 3D CMS Logo

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