Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 from RecoTracker.ConversionSeedGenerators.PhotonConversionTrajectorySeedProducerFromQuadruplets_cfi import *
0004 
0005 from RecoLocalTracker.SubCollectionProducers.trackClusterRemover_cfi import *
0006 conv2Clusters = trackClusterRemover.clone(
0007     maxChi2               = 30.0,
0008     trajectories          = 'convStepTracks',
0009     pixelClusters         = 'siPixelClusters',
0010     stripClusters         = 'siStripClusters',
0011     oldClusterRemovalInfo = 'convClusters',
0012     overrideTrkQuals      = 'convStepSelector:convStep',
0013     TrackQuality          = 'highPurity'
0014 )
0015 
0016 import RecoTracker.TkSeedingLayers.seedingLayersEDProducer_cfi as _mod
0017 
0018 conv2LayerPairs = _mod.seedingLayersEDProducer.clone(
0019                                 layerList = ['BPix1+BPix2', 
0020                                              'BPix2+BPix3', 
0021                                              'BPix2+FPix1_pos', 
0022                                              'BPix2+FPix1_neg', 
0023                                              'BPix2+FPix2_pos', 
0024                                              'BPix2+FPix2_neg', 
0025 
0026                                              'FPix1_pos+FPix2_pos', 
0027                                              'FPix1_neg+FPix2_neg',
0028 
0029                                              'BPix3+TIB1', 
0030                                              
0031                                              'TIB1+TID1_pos', 
0032                                              'TIB1+TID1_neg', 
0033                                              'TIB1+TID2_pos', 
0034                                              'TIB1+TID2_neg',
0035                                              'TIB1+TIB2',
0036                                              
0037                                              'TIB2+TID1_pos', 
0038                                              'TIB2+TID1_neg', 
0039                                              'TIB2+TID2_pos', 
0040                                              'TIB2+TID2_neg', 
0041                                              'TIB2+TIB3',
0042                                              
0043                                              'TIB3+TIB4', 
0044                                              'TIB3+TID1_pos', 
0045                                              'TIB3+TID1_neg', 
0046 
0047                                              'TIB4+TOB1',
0048 
0049                                              'TOB1+TOB2', 
0050                                              'TOB1+TEC1_pos', 
0051                                              'TOB1+TEC1_neg', 
0052 
0053                                              'TOB2+TOB3',  
0054                                              'TOB2+TEC1_pos', 
0055                                              'TOB2+TEC1_neg', 
0056                                              
0057                                              'TOB3+TOB4', 
0058                                              'TOB3+TEC1_pos', 
0059                                              'TOB3+TEC1_neg', 
0060                                              
0061                                              'TOB4+TOB5',
0062 
0063                                              'TOB5+TOB6',
0064 
0065                                              'TID1_pos+TID2_pos', 
0066                                              'TID2_pos+TID3_pos', 
0067                                              'TID3_pos+TEC1_pos', 
0068 
0069                                              'TID1_neg+TID2_neg', 
0070                                              'TID2_neg+TID3_neg', 
0071                                              'TID3_neg+TEC1_neg', 
0072 
0073                                              'TEC1_pos+TEC2_pos', 
0074                                              'TEC2_pos+TEC3_pos', 
0075                                              'TEC3_pos+TEC4_pos',
0076                                              'TEC4_pos+TEC5_pos',
0077                                              'TEC5_pos+TEC6_pos',
0078                                              'TEC6_pos+TEC7_pos',
0079                                              'TEC7_pos+TEC8_pos',
0080 
0081                                              'TEC1_neg+TEC2_neg', 
0082                                              'TEC2_neg+TEC3_neg', 
0083                                              'TEC3_neg+TEC4_neg',
0084                                              'TEC4_neg+TEC5_neg',
0085                                              'TEC5_neg+TEC6_neg',
0086                                              'TEC6_neg+TEC7_neg',
0087                                              'TEC7_neg+TEC8_neg'
0088                                              #other combinations could be added
0089                                              ],
0090                                 
0091                                 BPix = dict(
0092                                     TTRHBuilder = cms.string('WithTrackAngle'),
0093                                     HitProducer = cms.string('siPixelRecHits'),
0094                                     skipClusters = cms.InputTag('conv2Clusters'),
0095                                     ),
0096                                 FPix = dict(
0097                                     TTRHBuilder = cms.string('WithTrackAngle'),
0098                                     HitProducer = cms.string('siPixelRecHits'),
0099                                     skipClusters = cms.InputTag('conv2Clusters'),
0100                                     ),
0101                                 TIB1 = cms.PSet(
0102                                     TTRHBuilder = cms.string('WithTrackAngle'), 
0103                                     clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
0104                                     matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
0105                                     skipClusters = cms.InputTag('conv2Clusters'),
0106                                     ),
0107                                 TIB2 = cms.PSet(
0108                                     TTRHBuilder = cms.string('WithTrackAngle'), 
0109                                     clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
0110                                     matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
0111                                     skipClusters = cms.InputTag('conv2Clusters'),
0112                                     ),
0113                                 TIB3 = cms.PSet(
0114                                     TTRHBuilder = cms.string('WithTrackAngle'), 
0115                                     clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
0116                                     rphiRecHits = cms.InputTag('siStripMatchedRecHits','rphiRecHit'),
0117                                     skipClusters = cms.InputTag('conv2Clusters'),
0118                                     ),
0119                                 TIB4 = cms.PSet(
0120                                     TTRHBuilder = cms.string('WithTrackAngle'), 
0121                                     clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
0122                                     rphiRecHits = cms.InputTag('siStripMatchedRecHits','rphiRecHit'),
0123                                     skipClusters = cms.InputTag('conv2Clusters'),
0124                                     ),
0125                                 TID1 = cms.PSet(
0126                                     useSimpleRphiHitsCleaner = cms.bool(False),
0127                                     matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
0128                                     useRingSlector = cms.bool(True),
0129                                     TTRHBuilder = cms.string('WithTrackAngle'), 
0130                                     clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
0131                                     maxRing = cms.int32(2),
0132                                     minRing = cms.int32(1),
0133                                     skipClusters = cms.InputTag('conv2Clusters'),
0134                                     ),
0135                                 TID2 = cms.PSet(
0136                                     useSimpleRphiHitsCleaner = cms.bool(False),
0137                                     matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
0138                                     useRingSlector = cms.bool(True),
0139                                     TTRHBuilder = cms.string('WithTrackAngle'), 
0140                                     clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
0141                                     maxRing = cms.int32(2),
0142                                     minRing = cms.int32(1),
0143                                     skipClusters = cms.InputTag('conv2Clusters'),
0144                                     ),
0145                                 TID3 = cms.PSet(
0146                                     useSimpleRphiHitsCleaner = cms.bool(False),
0147                                     matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
0148                                     useRingSlector = cms.bool(True),
0149                                     TTRHBuilder = cms.string('WithTrackAngle'), 
0150                                     clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
0151                                     maxRing = cms.int32(2),
0152                                     minRing = cms.int32(1),
0153                                     skipClusters = cms.InputTag('conv2Clusters'),
0154                                     ),
0155                                 TEC = dict(
0156                                     useSimpleRphiHitsCleaner = cms.bool(False),
0157                                     minRing = cms.int32(1),
0158                                     matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
0159                                     useRingSlector = cms.bool(True),
0160                                     TTRHBuilder = cms.string('WithTrackAngle'), 
0161                                     clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
0162                                     rphiRecHits = cms.InputTag('siStripMatchedRecHits','rphiRecHitUnmatched'),
0163                                     maxRing = cms.int32(7),
0164                                     stereoRecHits = cms.InputTag('siStripMatchedRecHits','stereoRecHitUnmatched'),
0165                                     skipClusters = cms.InputTag('conv2Clusters'),
0166                                     ),
0167                                 TOB1 = cms.PSet(
0168                                     matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
0169                                     TTRHBuilder = cms.string('WithTrackAngle'), 
0170                                     clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
0171                                     skipClusters = cms.InputTag('conv2Clusters'),
0172                                     ),
0173                                 TOB2 = cms.PSet(
0174                                     matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
0175                                     TTRHBuilder = cms.string('WithTrackAngle'), 
0176                                     clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
0177                                     skipClusters = cms.InputTag('conv2Clusters'),
0178                                     ),
0179                                 TOB3 = cms.PSet(
0180                                     TTRHBuilder = cms.string('WithTrackAngle'), 
0181                                     clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
0182                                     rphiRecHits = cms.InputTag('siStripMatchedRecHits','rphiRecHit'),
0183                                     skipClusters = cms.InputTag('conv2Clusters'),
0184                                     ),
0185                                 TOB4 = cms.PSet(
0186                                     TTRHBuilder = cms.string('WithTrackAngle'), 
0187                                     clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
0188                                     rphiRecHits = cms.InputTag('siStripMatchedRecHits','rphiRecHit'),
0189                                     skipClusters = cms.InputTag('conv2Clusters'),
0190                                     ),
0191                                 TOB5 = cms.PSet(
0192                                     TTRHBuilder = cms.string('WithTrackAngle'), 
0193                                     clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
0194                                     rphiRecHits = cms.InputTag('siStripMatchedRecHits','rphiRecHit'),
0195                                     skipClusters = cms.InputTag('conv2Clusters'),
0196                                     ),
0197                                 TOB6 = cms.PSet(
0198                                     TTRHBuilder = cms.string('WithTrackAngle'), 
0199                                     clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
0200                                     rphiRecHits = cms.InputTag('siStripMatchedRecHits','rphiRecHit'),
0201                                     skipClusters = cms.InputTag('conv2Clusters'),
0202                                     )
0203                                 )
0204 
0205 
0206 photonConvTrajSeedFromQuadruplets.TrackRefitter      = 'generalTracks'
0207 photonConvTrajSeedFromQuadruplets.primaryVerticesTag = 'pixelVertices'
0208 
0209 
0210 # TRACKER DATA CONTROL
0211 
0212 # QUALITY CUTS DURING TRACK BUILDING
0213 import TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff
0214 conv2CkfTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
0215     maxLostHits         = 1,
0216     minimumNumberOfHits = 3,
0217     minPt               = 0.1
0218 )
0219 
0220 # TRACK BUILDING
0221 import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi
0222 conv2CkfTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
0223     trajectoryFilter = dict(refToPSet_ = 'conv2CkfTrajectoryFilter'),
0224     minNrOfHitsForRebuild = 3,
0225     maxCand               = 2,
0226 )
0227 
0228 # MAKING OF TRACK CANDIDATES
0229 import RecoTracker.CkfPattern.CkfTrackCandidates_cfi
0230 conv2TrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
0231     src = 'photonConvTrajSeedFromQuadruplets:conv2SeedCandidates',
0232     TrajectoryBuilderPSet = dict(refToPSet_ = 'conv2CkfTrajectoryBuilder')
0233 )
0234 
0235 import TrackingTools.TrackFitters.RungeKuttaFitters_cff
0236 conv2StepFitterSmoother = TrackingTools.TrackFitters.RungeKuttaFitters_cff.KFFittingSmootherWithOutliersRejectionAndRK.clone(
0237     ComponentName = 'conv2StepFitterSmoother',
0238     EstimateCut   = 30,
0239     Smoother      = 'conv2StepRKSmoother'
0240 )
0241     
0242 conv2StepRKTrajectorySmoother = TrackingTools.TrackFitters.RungeKuttaFitters_cff.RKTrajectorySmoother.clone(
0243     ComponentName = 'conv2StepRKSmoother',
0244     errorRescaling = 10.0
0245 )
0246        
0247 # TRACK FITTING
0248 import RecoTracker.TrackProducer.TrackProducer_cfi
0249 conv2StepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
0250     src = 'conv2TrackCandidates',
0251     AlgorithmName = 'conversionStep',
0252     Fitter = 'conv2StepFitterSmoother',
0253 )
0254 
0255 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
0256 conv2StepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
0257     src='conv2StepTracks',
0258     trackSelectors= cms.VPSet(
0259         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
0260             name = 'conv2StepLoose',
0261             applyAdaptedPVCuts = False,
0262             chi2n_par = 3.0,
0263             res_par = ( 0.003, 0.001 ),
0264             minNumberLayers = 3,
0265             maxNumberLostLayers = 1,
0266             minNumber3DLayers = 1,
0267             d0_par1 = ( 5., 8.0 ),
0268             dz_par1 = ( 5., 8.0 ),
0269             d0_par2 = ( 5., 8.0 ),
0270             dz_par2 = ( 5., 8.0 )
0271             ),
0272         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
0273             name = 'conv2StepTight',
0274             preFilterName = 'conv2StepLoose',
0275             chi2n_par = 2.5,
0276             res_par = ( 0.003, 0.001 ),
0277             minNumberLayers = 3,
0278             maxNumberLostLayers = 1,
0279             minNumber3DLayers = 1,
0280             d0_par1 = ( 5., 8.0 ),
0281             dz_par1 = ( 5., 8.0 ),
0282             d0_par2 = ( 5., 8.0 ),
0283             dz_par2 = ( 5., 8.0 )
0284             ),
0285         RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
0286             name = 'conv2Step',
0287             preFilterName = 'conv2StepTight',
0288             chi2n_par = 2.0,
0289             res_par = ( 0.003, 0.001 ),
0290             minNumberLayers = 3,
0291             maxNumberLostLayers = 1,
0292             minNumber3DLayers = 1,
0293             d0_par1 = ( 5., 8.0 ),
0294             dz_par1 = ( 5., 8.0 ),
0295             d0_par2 = ( 5., 8.0 ),
0296             dz_par2 = ( 5., 8.0 )
0297             ),
0298     ) #end of vpset
0299 ) #end of clone
0300 
0301 Conv2StepTask = cms.Task( conv2Clusters 
0302                          , conv2LayerPairs
0303                          , photonConvTrajSeedFromQuadruplets 
0304                          , conv2TrackCandidates
0305                          , conv2StepTracks
0306                          , conv2StepSelector)
0307 Conv2Step = cms.Sequence( Conv2StepTask )