Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:28:00

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 from RecoLocalTracker.SubCollectionProducers.ClusterSelectorTopBottom_cfi import *
0004 from RecoLocalTracker.SiStripRecHitConverter.SiStripRecHitConverter_cfi import *
0005 from RecoLocalTracker.SiStripRecHitConverter.SiStripRecHitMatcher_cfi import *
0006 from RecoLocalTracker.SiStripRecHitConverter.StripCPEfromTrackAngle_cfi import *
0007 from RecoLocalTracker.SiStripZeroSuppression.SiStripZeroSuppression_cfi import *
0008 from RecoLocalTracker.SiStripClusterizer.SiStripClusterizer_cfi import *
0009 from RecoLocalTracker.SiPixelRecHits.SiPixelRecHits_cfi import *
0010 from RecoTracker.SpecialSeedGenerators.CombinatorialSeedGeneratorForCosmicsP5_cff import combinatorialcosmicseedfinderP5, combinatorialcosmicseedingtripletsP5, combinatorialcosmicseedingpairsTOBP5, combinatorialcosmicseedingpairsTECposP5, combinatorialcosmicseedingpairsTECnegP5
0011 from RecoTracker.SpecialSeedGenerators.SimpleCosmicBONSeeder_cff import simpleCosmicBONSeeds, simpleCosmicBONSeedingLayers
0012 from RecoTracker.TkSeedGenerator.GlobalCombinedSeeds_cff import globalCombinedSeeds
0013 from RecoTracker.MeasurementDet.MeasurementTrackerESProducer_cff import MeasurementTracker
0014 from RecoTracker.CkfPattern.CkfTrackCandidatesP5_cff import GroupedCkfTrajectoryBuilderP5
0015 from RecoTracker.CkfPattern.CkfTrackCandidatesP5_cff import ckfTrackCandidatesP5
0016 from RecoTracker.TrackProducer.CTFFinalFitWithMaterialP5_cff import ctfWithMaterialTracksCosmics
0017 from RecoTracker.SpecialSeedGenerators.CosmicSeedP5Pairs_cff import cosmicseedfinderP5
0018 from RecoTracker.SingleTrackPattern.CosmicTrackFinderP5_cff import cosmicCandidateFinderP5
0019 from RecoTracker.SingleTrackPattern.CosmicTrackFinderP5_cff import cosmictrackfinderCosmics
0020 
0021 
0022 siPixelRecHitsTop = siPixelRecHits.clone(src = 'siPixelClustersTop')
0023 siPixelRecHitsBottom = siPixelRecHits.clone(src = 'siPixelClustersBottom')
0024 siStripMatchedRecHitsTop = siStripMatchedRecHits.clone(ClusterProducer = 'siStripClustersTop')
0025 siStripMatchedRecHitsBottom = siStripMatchedRecHits.clone(ClusterProducer = 'siStripClustersBottom')
0026 
0027 from RecoLocalTracker.SubCollectionProducers.TopBottomClusterInfoProducer_cfi import topBottomClusterInfoProducer
0028 topBottomClusterInfoProducerTop = topBottomClusterInfoProducer.clone()
0029 topBottomClusterInfoProducerBottom = topBottomClusterInfoProducer.clone(
0030     stripClustersNew   = 'siStripClustersBottom',
0031     pixelClustersNew   = 'siPixelClustersBottom',
0032     stripMonoHitsNew   = 'siStripMatchedRecHitsBottom:rphiRecHit',
0033     stripStereoHitsNew = 'siStripMatchedRecHitsBottom:stereoRecHit',
0034     pixelHitsNew       = 'siPixelRecHitsBottom'
0035 )
0036 ###LOCAL RECO TASK and SEQUENCE
0037 trackerlocalrecoTopTask = cms.Task(siPixelClustersTop,
0038                                           siPixelRecHitsTop,
0039                                           siStripClustersTop,
0040                                           siStripMatchedRecHitsTop,
0041                                           topBottomClusterInfoProducerTop)
0042 trackerlocalrecoTop = cms.Sequence(trackerlocalrecoTopTask)
0043 trackerlocalrecoBottomTask = cms.Task(siPixelClustersBottom,
0044                                           siPixelRecHitsBottom,
0045                                           siStripClustersBottom,
0046                                           siStripMatchedRecHitsBottom,
0047                                           topBottomClusterInfoProducerBottom)
0048 trackerlocalrecoBottom = cms.Sequence(trackerlocalrecoBottomTask)
0049 
0050 ###CKF TOP
0051 combinatorialcosmicseedingtripletsP5Top = combinatorialcosmicseedingtripletsP5.clone(
0052     TIB  = dict(matchedRecHits = 'siStripMatchedRecHitsTop:matchedRecHit'),
0053     MTIB = dict(rphiRecHits    = 'siStripMatchedRecHitsTop:rphiRecHit'),
0054     TOB  = dict(matchedRecHits = 'siStripMatchedRecHitsTop:matchedRecHit'),
0055     MTOB = dict(rphiRecHits    = 'siStripMatchedRecHitsTop:rphiRecHit'),
0056     TEC  = dict(matchedRecHits = 'siStripMatchedRecHitsTop:matchedRecHit',
0057                 rphiRecHits    = 'siStripMatchedRecHitsTop:rphiRecHit')
0058 )
0059 
0060 combinatorialcosmicseedingpairsTOBP5Top = combinatorialcosmicseedingpairsTOBP5.clone(
0061     TIB  = dict(matchedRecHits = 'siStripMatchedRecHitsTop:matchedRecHit'),
0062     MTIB = dict(rphiRecHits    = 'siStripMatchedRecHitsTop:rphiRecHit'),
0063     TOB  = dict(matchedRecHits = 'siStripMatchedRecHitsTop:matchedRecHit'),
0064     MTOB = dict(rphiRecHits    = 'siStripMatchedRecHitsTop:rphiRecHit'),
0065     TEC  = dict(matchedRecHits = 'siStripMatchedRecHitsTop:matchedRecHit',
0066                 rphiRecHits    = 'siStripMatchedRecHitsTop:rphiRecHit')
0067 )
0068 
0069 combinatorialcosmicseedingpairsTECposP5Top = combinatorialcosmicseedingpairsTECposP5.clone(
0070     TEC = dict(matchedRecHits = 'siStripMatchedRecHitsTop:matchedRecHit',
0071                rphiRecHits    = 'siStripMatchedRecHitsTop:rphiRecHit')
0072 )
0073 
0074 combinatorialcosmicseedingpairsTECnegP5Top = combinatorialcosmicseedingpairsTECnegP5.clone(
0075     TEC = dict(matchedRecHits = 'siStripMatchedRecHitsTop:matchedRecHit',
0076                rphiRecHits    = 'siStripMatchedRecHitsTop:rphiRecHit')
0077 )
0078 
0079 combinatorialcosmicseedfinderP5Top = combinatorialcosmicseedfinderP5.clone(
0080     SeedsFromPositiveY      = True,
0081     SeedsFromNegativeY      = False,
0082     ClusterCollectionLabel  = 'siStripClustersTop',
0083     MaxNumberOfStripClusters = 150,
0084 
0085     OrderedHitsFactoryPSets = {0: dict(LayerSrc = "combinatorialcosmicseedingtripletsP5Top"),
0086                                1: dict(LayerSrc = "combinatorialcosmicseedingpairsTOBP5Top"),
0087                                2: dict(LayerSrc = "combinatorialcosmicseedingpairsTECposP5Top"),
0088                                3: dict(LayerSrc = "combinatorialcosmicseedingpairsTECposP5Top"),
0089                                4: dict(LayerSrc = "combinatorialcosmicseedingpairsTECnegP5Top"),
0090                                5: dict(LayerSrc = "combinatorialcosmicseedingpairsTECnegP5Top")
0091     }
0092 
0093 )
0094 
0095 simpleCosmicBONSeedingLayersTop = simpleCosmicBONSeedingLayers.clone(
0096     TIB   = dict(matchedRecHits = 'siStripMatchedRecHitsTop:matchedRecHit'),
0097     MTIB  = dict(rphiRecHits    = 'siStripMatchedRecHitsTop:rphiRecHit'),
0098     TOB   = dict(matchedRecHits = 'siStripMatchedRecHitsTop:matchedRecHit'),
0099     MTOB  = dict(rphiRecHits    = 'siStripMatchedRecHitsTop:rphiRecHit'),
0100     TEC   = dict(matchedRecHits = 'siStripMatchedRecHitsTop:matchedRecHit',
0101                  rphiRecHits    = 'siStripMatchedRecHitsTop:rphiRecHit')
0102 )
0103 
0104 simpleCosmicBONSeedsTop = simpleCosmicBONSeeds.clone(
0105     PositiveYOnly    = True,
0106     NegativeYOnly    = False,
0107     ClusterCheckPSet = dict(
0108     ClusterCollectionLabel    = 'siStripClustersTop',
0109     MaxNumberOfStripClusters = 150,
0110     ),
0111     TripletsSrc      = 'simpleCosmicBONSeedingLayersTop',
0112 )
0113 
0114 combinedP5SeedsForCTFTop = globalCombinedSeeds.clone(
0115     seedCollections = ['combinatorialcosmicseedfinderP5Top',
0116                        'simpleCosmicBONSeedsTop']
0117 )
0118 
0119 MeasurementTrackerTop = MeasurementTracker.clone(
0120     ComponentName = 'MeasurementTrackerTop'
0121 )
0122 
0123 GroupedCkfTrajectoryBuilderP5Top = GroupedCkfTrajectoryBuilderP5.clone()
0124 
0125 ckfTrackCandidatesP5Top = ckfTrackCandidatesP5.clone(
0126     TrajectoryBuilderPSet = dict(refToPSet_ = 'GroupedCkfTrajectoryBuilderP5Top'),
0127     NavigationSchool      = 'CosmicNavigationSchool',
0128     src                   = 'combinedP5SeedsForCTFTop', #ok for 32X
0129     useHitsSplitting      = True
0130 )
0131 
0132 ctfWithMaterialTracksP5Top = ctfWithMaterialTracksCosmics.clone(
0133     src                = 'ckfTrackCandidatesP5Top',
0134     Fitter             = 'FittingSmootherRKP5',
0135     clusterRemovalInfo = 'topBottomClusterInfoProducerTop'
0136 )
0137 
0138 ctftracksP5TopTask = cms.Task(combinatorialcosmicseedingtripletsP5Top,
0139                               combinatorialcosmicseedingpairsTOBP5Top,
0140                               combinatorialcosmicseedingpairsTECposP5Top,
0141                               combinatorialcosmicseedingpairsTECnegP5Top,
0142                               combinatorialcosmicseedfinderP5Top,
0143                               simpleCosmicBONSeedingLayersTop,
0144                               simpleCosmicBONSeedsTop,
0145                               combinedP5SeedsForCTFTop,
0146                               ckfTrackCandidatesP5Top,
0147                               ctfWithMaterialTracksP5Top)
0148 ctftracksP5Top = cms.Sequence(ctftracksP5TopTask)
0149 
0150 ###CKF BOTTOM
0151 combinatorialcosmicseedingtripletsP5Bottom = combinatorialcosmicseedingtripletsP5.clone(
0152     TIB  = dict(matchedRecHits = 'siStripMatchedRecHitsBottom:matchedRecHit'),
0153     MTIB = dict(rphiRecHits    = 'siStripMatchedRecHitsBottom:rphiRecHit'),
0154     TOB  = dict(matchedRecHits = 'siStripMatchedRecHitsBottom:matchedRecHit'),
0155     MTOB = dict(rphiRecHits    = 'siStripMatchedRecHitsBottom:rphiRecHit'),
0156     TEC  = dict(matchedRecHits = 'siStripMatchedRecHitsBottom:matchedRecHit',
0157                 rphiRecHits    = 'siStripMatchedRecHitsBottom:rphiRecHit')
0158 )
0159 
0160 combinatorialcosmicseedingpairsTOBP5Bottom = combinatorialcosmicseedingpairsTOBP5.clone(
0161     TIB  = dict(matchedRecHits = 'siStripMatchedRecHitsBottom:matchedRecHit'),
0162     MTIB = dict(rphiRecHits    = 'siStripMatchedRecHitsBottom:rphiRecHit'),
0163     TOB  = dict(matchedRecHits = 'siStripMatchedRecHitsBottom:matchedRecHit'),
0164     MTOB = dict(rphiRecHits    = 'siStripMatchedRecHitsBottom:rphiRecHit'),
0165     TEC  = dict(matchedRecHits = 'siStripMatchedRecHitsBottom:matchedRecHit',
0166                 rphiRecHits    = 'siStripMatchedRecHitsBottom:rphiRecHit')
0167 )
0168 
0169 combinatorialcosmicseedingpairsTECposP5Bottom = combinatorialcosmicseedingpairsTECposP5.clone(
0170     TEC = dict(matchedRecHits = 'siStripMatchedRecHitsBottom:matchedRecHit',
0171                rphiRecHits    = 'siStripMatchedRecHitsBottom:rphiRecHit')
0172 )
0173 
0174 combinatorialcosmicseedingpairsTECnegP5Bottom = combinatorialcosmicseedingpairsTECnegP5.clone(
0175     TEC = dict(matchedRecHits = 'siStripMatchedRecHitsBottom:matchedRecHit',
0176                rphiRecHits    = 'siStripMatchedRecHitsBottom:rphiRecHit')
0177 )
0178 
0179 combinatorialcosmicseedfinderP5Bottom = combinatorialcosmicseedfinderP5.clone(
0180     SeedsFromPositiveY      = False,
0181     SeedsFromNegativeY      = True,
0182     ClusterCollectionLabel    = 'siStripClustersBottom',
0183     MaxNumberOfStripClusters = 150,
0184     OrderedHitsFactoryPSets = {0: dict(PropagationDirection = 'oppositeToMomentum', LayerSrc = "combinatorialcosmicseedingtripletsP5Bottom"),
0185                                1: dict(PropagationDirection = 'oppositeToMomentum', LayerSrc = "combinatorialcosmicseedingpairsTOBP5Bottom"),
0186                                2: dict(PropagationDirection = 'oppositeToMomentum', LayerSrc = "combinatorialcosmicseedingpairsTECposP5Bottom"),
0187                                3: dict(PropagationDirection = 'oppositeToMomentum', LayerSrc = "combinatorialcosmicseedingpairsTECposP5Bottom"),
0188                                4: dict(PropagationDirection = 'oppositeToMomentum', LayerSrc = "combinatorialcosmicseedingpairsTECnegP5Bottom"),
0189                                5: dict(PropagationDirection = 'oppositeToMomentum', LayerSrc = "combinatorialcosmicseedingpairsTECnegP5Bottom"),
0190     }
0191 )
0192 
0193 simpleCosmicBONSeedingLayersBottom = simpleCosmicBONSeedingLayers.clone(
0194     TIB  = dict(matchedRecHits = 'siStripMatchedRecHitsBottom:matchedRecHit'),
0195     MTIB = dict(rphiRecHits    = 'siStripMatchedRecHitsBottom:rphiRecHit'),
0196     TOB  = dict(matchedRecHits = 'siStripMatchedRecHitsBottom:matchedRecHit'),
0197     MTOB = dict(rphiRecHits    = 'siStripMatchedRecHitsBottom:rphiRecHit'),
0198     TEC  = dict(matchedRecHits = 'siStripMatchedRecHitsBottom:matchedRecHit',
0199                 rphiRecHits    = 'siStripMatchedRecHitsBottom:rphiRecHit')
0200 )
0201 
0202 simpleCosmicBONSeedsBottom = simpleCosmicBONSeeds.clone(
0203     PositiveYOnly    = False,
0204     NegativeYOnly    = True,
0205     ClusterCheckPSet = dict(
0206     ClusterCollectionLabel    = 'siStripClustersBottom',
0207         MaxNumberOfStripClusters = 150
0208     ),
0209     TripletsSrc      = 'simpleCosmicBONSeedingLayersBottom'
0210 )
0211 
0212 combinedP5SeedsForCTFBottom = globalCombinedSeeds.clone(
0213     seedCollections = ['combinatorialcosmicseedfinderP5Bottom',
0214                        'simpleCosmicBONSeedsBottom']
0215 )
0216 
0217 MeasurementTrackerBottom = MeasurementTracker.clone(
0218     ComponentName = 'MeasurementTrackerBottom'
0219 )
0220 
0221 GroupedCkfTrajectoryBuilderP5Bottom = GroupedCkfTrajectoryBuilderP5.clone()
0222 
0223 ckfTrackCandidatesP5Bottom = ckfTrackCandidatesP5.clone(
0224     TrajectoryBuilderPSet = dict(refToPSet_ = 'GroupedCkfTrajectoryBuilderP5Bottom'),
0225     NavigationSchool      = 'CosmicNavigationSchool',
0226     src                   = 'combinedP5SeedsForCTFBottom', #ok for 32X
0227     useHitsSplitting = True
0228 )
0229 
0230 ctfWithMaterialTracksP5Bottom = ctfWithMaterialTracksCosmics.clone(
0231     src                = 'ckfTrackCandidatesP5Bottom',
0232     Fitter             = 'FittingSmootherRKP5',
0233     clusterRemovalInfo = 'topBottomClusterInfoProducerBottom'
0234 )
0235 
0236 ctftracksP5BottomTask = cms.Task(combinatorialcosmicseedingtripletsP5Bottom,
0237                                  combinatorialcosmicseedingpairsTOBP5Bottom,
0238                                  combinatorialcosmicseedingpairsTECposP5Bottom,
0239                                  combinatorialcosmicseedingpairsTECnegP5Bottom,
0240                                  combinatorialcosmicseedfinderP5Bottom,
0241                                  simpleCosmicBONSeedingLayersBottom,
0242                                  simpleCosmicBONSeedsBottom,
0243                                  combinedP5SeedsForCTFBottom,
0244                                  ckfTrackCandidatesP5Bottom,
0245                                  ctfWithMaterialTracksP5Bottom)
0246 ctftracksP5Bottom = cms.Sequence(ctftracksP5BottomTask)
0247 
0248 #COSMIC TOP
0249 cosmicseedfinderP5Top = cosmicseedfinderP5.clone(
0250     stereorecHits             = 'siStripMatchedRecHitsTop:stereoRecHit',
0251     matchedRecHits            = 'siStripMatchedRecHitsTop:matchedRecHit',
0252     rphirecHits               = 'siStripMatchedRecHitsTop:rphiRecHit',
0253     ClusterCollectionLabel    = 'siStripClustersTop',
0254     PositiveYOnly             = True,
0255     NegativeYOnly             = False,
0256     MaxNumberOfStripClusters = 150
0257 )
0258 
0259 cosmicCandidateFinderP5Top = cosmicCandidateFinderP5.clone(
0260     cosmicSeeds    = 'cosmicseedfinderP5Top',
0261     stereorecHits  = 'siStripMatchedRecHitsTop:stereoRecHit',
0262     HitProducer    = 'siStripRecHitsTop',
0263     pixelRecHits   = 'siPixelRecHitsTop',
0264     matchedRecHits = 'siStripMatchedRecHitsTop:matchedRecHit',
0265     rphirecHits    = 'siStripMatchedRecHitsTop:rphiRecHit'
0266 )
0267 
0268 cosmictrackfinderP5Top = cosmictrackfinderCosmics.clone(
0269     src                = 'cosmicCandidateFinderP5Top',
0270     clusterRemovalInfo = 'topBottomClusterInfoProducerTop'
0271 )
0272 
0273 cosmictracksP5TopTask = cms.Task(cosmicseedfinderP5Top,
0274                                  cosmicCandidateFinderP5Top,
0275                                  cosmictrackfinderP5Top)
0276 cosmictracksP5Top = cms.Sequence(cosmictracksP5TopTask)
0277 
0278 #COSMIC BOTTOM
0279 cosmicseedfinderP5Bottom = cosmicseedfinderP5.clone(
0280     stereorecHits             = 'siStripMatchedRecHitsBottom:stereoRecHit',
0281     matchedRecHits            = 'siStripMatchedRecHitsBottom:matchedRecHit',
0282     rphirecHits               = 'siStripMatchedRecHitsBottom:rphiRecHit',
0283     ClusterCollectionLabel    = 'siStripClustersBottom',
0284     PositiveYOnly             = False,
0285     NegativeYOnly             = True,
0286     MaxNumberOfStripClusters = 150
0287 )
0288 
0289 cosmicCandidateFinderP5Bottom = cosmicCandidateFinderP5.clone(
0290     cosmicSeeds    = 'cosmicseedfinderP5Bottom',
0291     stereorecHits  = 'siStripMatchedRecHitsBottom:stereoRecHit',
0292     HitProducer    = 'siStripRecHitsBottom',
0293     pixelRecHits   = 'siPixelRecHitsBottom',
0294     matchedRecHits = 'siStripMatchedRecHitsBottom:matchedRecHit',
0295     rphirecHits    = 'siStripMatchedRecHitsBottom:rphiRecHit'
0296 )
0297 
0298 cosmictrackfinderP5Bottom = cosmictrackfinderCosmics.clone(
0299     src                = 'cosmicCandidateFinderP5Bottom',
0300     clusterRemovalInfo = 'topBottomClusterInfoProducerBottom'
0301 )
0302 
0303 cosmictracksP5BottomTask = cms.Task(cosmicseedfinderP5Bottom,
0304                                     cosmicCandidateFinderP5Bottom,
0305                                     cosmictrackfinderP5Bottom)
0306 cosmictracksP5Bottom = cms.Sequence(cosmictracksP5BottomTask)
0307 
0308 #TOP SEQUENCE
0309 # (SK) keep rstracks commented out in case of resurrection
0310 tracksP5TopTask = cms.Task(ctftracksP5TopTask, cosmictracksP5TopTask)
0311 tracksP5Top = cms.Sequence(tracksP5TopTask)
0312 #BOTTOM SEQUENCE
0313 # (SK) keep rstracks commented out in case of resurrection
0314 tracksP5BottomTask = cms.Task(ctftracksP5BottomTask, cosmictracksP5BottomTask)
0315 tracksP5Bottom = cms.Sequence(tracksP5BottomTask)