CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
SimpleCosmicBONSeeder_cfi.py
Go to the documentation of this file.
2 
4 
6  layerList = cms.vstring()
7  if 'ALL' in layers:
8  layers = [ 'TOB', 'TEC', 'TOBTEC', 'TECSKIP' ]
9  if 'TOB' in layers:
10  layerList += ['TOB4+TOB5+TOB6',
11  'TOB3+TOB5+TOB6',
12  'TOB3+TOB4+TOB5',
13  'TOB3+TOB4+TOB6',
14  'TOB2+TOB4+TOB5',
15  'TOB2+TOB3+TOB5']
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 += [ 'TOB6+TEC1_pos+TEC2_pos',
26  'TOB6+TEC1_neg+TEC2_neg',
27  'TOB6+TOB5+TEC1_pos',
28  'TOB6+TOB5+TEC1_neg' ]
29  #print "SEEDING LAYER LIST = ", layerList
30  return layerList
31 
32 
33 simpleCosmicBONSeeds = cms.EDProducer("SimpleCosmicBONSeeder",
34  TTRHBuilder = cms.string('WithTrackAngle'),
35  ClusterCheckPSet = cms.PSet(
36  doClusterCheck = cms.bool(True),
37  MaxNumberOfCosmicClusters = cms.uint32(300),
38  ClusterCollectionLabel = cms.InputTag("siStripClusters"),
39  DontCountDetsAboveNClusters = cms.uint32(20), # if N > 0, ignore in total the dets with more than N clusters
40  MaxNumberOfPixelClusters = cms.uint32(300),
41  PixelClusterCollectionLabel = cms.InputTag("siPixelClusters")
42  ),
43  maxTriplets = cms.int32(50000),
44  maxSeeds = cms.int32(20000),
45  RegionPSet = cms.PSet(
46  originZPosition = cms.double(0.0), # \ These three parameters
47  originRadius = cms.double(150.0), # |-> probably don't change
48  originHalfLength = cms.double(90.0), # / anything at all.
49  ptMin = cms.double(0.5), # pt cut, applied both at the triplet finding and at the seeding level
50  pMin = cms.double(1.0), # p cut, applied only at the seeding level
51  ),
52  TripletsPSet = cms.PSet(
53  layerInfo,
54  layerList = makeSimpleCosmicSeedLayers('ALL'),
55  debugLevel = cms.untracked.uint32(0), # debug triplet finding (0 to 3)
56  ),
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 simpleCosmicBONSeeds.TripletsPSet.TEC.useSimpleRphiHitsCleaner = False