Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-10-08 05:12:02

0001 import FWCore.ParameterSet.Config as cms
0002 import RecoTracker.SpecialSeedGenerators.CombinatorialSeedGeneratorForCosmics_cfi
0003 def makeSimpleCosmicSeedLayers(*layers):
0004     layerList = cms.vstring()
0005     if 'ALL' in layers: 
0006         layers = [ 'TOB', 'TEC', 'TOBTEC', 'TECSKIP' ]
0007     if 'TOB' in layers:
0008         layerList += ['MTOB4+MTOB5+MTOB6',
0009                       'MTOB3+MTOB5+MTOB6',
0010                       'MTOB3+MTOB4+MTOB5',
0011                       'MTOB3+MTOB4+MTOB6',
0012                       'TOB2+MTOB4+MTOB5',
0013                       'TOB2+MTOB3+MTOB5']
0014     if 'TEC' in layers:
0015         TECwheelTriplets = [ (i,i+1,i+2) for i in range(7,0,-1)]
0016         layerList += [ 'TEC%d_pos+TEC%d_pos+TEC%d_pos' % ls for ls in TECwheelTriplets ]
0017         layerList += [ 'TEC%d_neg+TEC%d_neg+TEC%d_neg' % ls for ls in TECwheelTriplets ]
0018     if 'TECSKIP' in layers:
0019         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)  ]
0020         layerList += [ 'TEC%d_pos+TEC%d_pos+TEC%d_pos' % ls for ls in TECwheelTriplets ]
0021         layerList += [ 'TEC%d_neg+TEC%d_neg+TEC%d_neg' % ls for ls in TECwheelTriplets ]
0022     if 'TOBTEC' in layers:
0023         layerList += [ 'MTOB6+TEC1_pos+TEC2_pos',
0024                        'MTOB6+TEC1_neg+TEC2_neg',
0025                        'MTOB6+MTOB5+TEC1_pos',
0026                        'MTOB6+MTOB5+TEC1_neg' ]
0027     #print "SEEDING LAYER LIST = ", layerList
0028     return layerList
0029 
0030 layerInfo = RecoTracker.SpecialSeedGenerators.CombinatorialSeedGeneratorForCosmics_cfi.layerInfo.clone(
0031     TEC = dict(useSimpleRphiHitsCleaner = False)
0032 )
0033 layerList = makeSimpleCosmicSeedLayers('ALL'),
0034 
0035 simpleCosmicBONSeeds = cms.EDProducer("SimpleCosmicBONSeeder",
0036     TTRHBuilder = cms.string('WithTrackAngle'),
0037     ClusterCheckPSet = cms.PSet(
0038             doClusterCheck = cms.bool(True),
0039             MaxNumberOfStripClusters = cms.uint32(300),
0040             ClusterCollectionLabel = cms.InputTag("siStripClusters"),
0041             DontCountDetsAboveNClusters = cms.uint32(20),  # if N > 0, ignore in total the dets with more than N clusters
0042             MaxNumberOfPixelClusters = cms.uint32(1000),
0043             PixelClusterCollectionLabel = cms.InputTag("siPixelClusters")
0044     ),
0045     maxTriplets = cms.int32(50000),
0046     maxSeeds    = cms.int32(20000),
0047     RegionPSet = cms.PSet(
0048         originZPosition  = cms.double(0.0),    # \    These three parameters
0049         originRadius     = cms.double(150.0),  #  |-> probably don't change
0050         originHalfLength = cms.double(90.0),   # /    anything at all.
0051         ptMin = cms.double(0.5),               # pt cut, applied both at the triplet finding and at the seeding level
0052         pMin  = cms.double(1.0),               # p  cut, applied only at the seeding level
0053     ),
0054     TripletsSrc = cms.InputTag("simpleCosmicBONSeedingLayers"),
0055     TripletsDebugLevel = cms.untracked.uint32(0),  # debug triplet finding (0 to 3)
0056     seedOnMiddle    = cms.bool(False), # after finding the triplet, add only two hits to the seed
0057     rescaleError    = cms.double(1.0), # we don't need it anymore. At least for runs with BON
0058 
0059     ClusterChargeCheck = cms.PSet(
0060         checkCharge                 = cms.bool(False), # Apply cuts on cluster charge
0061         matchedRecHitsUseAnd        = cms.bool(True), # Both clusters in the pair should pass the charge cut
0062         Thresholds  = cms.PSet( # Uncorrected thresholds
0063             TIB = cms.int32(0), #
0064             TID = cms.int32(0), # Currenlty not used
0065             TOB = cms.int32(0), # 
0066             TEC = cms.int32(0), #
0067         ),
0068     ),
0069     HitsPerModuleCheck = cms.PSet(
0070         checkHitsPerModule = cms.bool(True), # Apply cuts on the number of hits per module 
0071         Thresholds  = cms.PSet( # 
0072             TIB = cms.int32(20), #
0073             TID = cms.int32(20), # FIXME: to be optimized
0074             TOB = cms.int32(20), # 
0075             TEC = cms.int32(20), #
0076         ),
0077     ),
0078     minimumGoodHitsInSeed = cms.int32(3),   # NO bad hits in the seed (set to '2' to allow one bad hit in the seed)
0079                                       
0080     writeTriplets   = cms.bool(False), # write the triplets to the Event as OwnVector<TrackingRecHit>
0081     helixDebugLevel = cms.untracked.uint32(0), # debug FastHelix (0 to 2)
0082     seedDebugLevel  = cms.untracked.uint32(0), # debug seed building (0 to 3)
0083     #***top-bottom
0084     PositiveYOnly = cms.bool(False),
0085     NegativeYOnly = cms.bool(False)
0086     #***
0087 )
0088