00001 import FWCore.ParameterSet.Config as cms
00002
00003
00004
00005
00006 from RecoTracker.MeasurementDet.MeasurementTrackerESProducer_cff import *
00007
00008 from RecoTracker.TransientTrackingRecHit.TTRHBuilders_cff import *
00009
00010 from RecoTracker.SpecialSeedGenerators.CosmicSeedP5Pairs_cff import *
00011 from RecoTracker.SingleTrackPattern.CosmicTrackFinderP5_cff import *
00012
00013
00014 from RecoTracker.SpecialSeedGenerators.CombinatorialSeedGeneratorForCosmicsP5_cff import *
00015 from RecoTracker.SpecialSeedGenerators.SimpleCosmicBONSeeder_cfi import *
00016 from RecoTracker.TkSeedGenerator.GlobalCombinedSeeds_cff import *
00017 combinedP5SeedsForCTF = RecoTracker.TkSeedGenerator.GlobalCombinedSeeds_cfi.globalCombinedSeeds.clone()
00018 combinedP5SeedsForCTF.seedCollections = cms.VInputTag(
00019 cms.InputTag('combinatorialcosmicseedfinderP5'),
00020 cms.InputTag('simpleCosmicBONSeeds'),
00021 )
00022
00023 combinedP5SeedsForCTF.PairCollection = cms.InputTag('combinatorialcosmicseedfinderP5')
00024 combinedP5SeedsForCTF.TripletCollection = cms.InputTag('simpleCosmicBONSeeds')
00025
00026 from RecoTracker.CkfPattern.CkfTrackCandidatesP5_cff import *
00027 ckfTrackCandidatesP5.src = cms.InputTag('combinedP5SeedsForCTF')
00028
00029 ckfTrackCandidatesP5.SeedProducer = 'combinedP5SeedsForCTF'
00030
00031 from RecoTracker.TrackProducer.CTFFinalFitWithMaterialP5_cff import *
00032
00033 from RecoTracker.RoadSearchSeedFinder.RoadSearchSeedsP5_cff import *
00034 from RecoTracker.RoadSearchCloudMaker.RoadSearchCloudsP5_cff import *
00035 from RecoTracker.RoadSearchTrackCandidateMaker.RoadSearchTrackCandidatesP5_cff import *
00036 from RecoTracker.TrackProducer.RSFinalFitWithMaterialP5_cff import *
00037
00038
00039
00040 ckfTrackCandidatesP5LHCNavigation = ckfTrackCandidatesP5.clone(NavigationSchool = cms.string('SimpleNavigationSchool'))
00041 ctfWithMaterialTracksP5LHCNavigation = ctfWithMaterialTracksP5.clone(src = cms.InputTag("ckfTrackCandidatesP5LHCNavigation"))
00042
00043 ctftracksP5 = cms.Sequence(combinatorialcosmicseedfinderP5*simpleCosmicBONSeeds*combinedP5SeedsForCTF*
00044 ckfTrackCandidatesP5*ctfWithMaterialTracksP5+
00045 ckfTrackCandidatesP5LHCNavigation*ctfWithMaterialTracksP5LHCNavigation)
00046
00047 rstracksP5 = cms.Sequence(roadSearchSeedsP5*roadSearchCloudsP5*rsTrackCandidatesP5*rsWithMaterialTracksP5)
00048
00049 from RecoTracker.FinalTrackSelectors.cosmicTrackSplitter_cfi import *
00050 cosmicTrackSplitter.tjTkAssociationMapTag = 'cosmicTrackFinderP5'
00051 cosmicTrackSplitter.tracks = 'cosmicTrackFinderP5'
00052 splittedTracksP5 = ctfWithMaterialTracksP5.clone(src = cms.InputTag("cosmicTrackSplitter"))
00053
00054 cosmictracksP5 = cms.Sequence(cosmicseedfinderP5*cosmicCandidateFinderP5*cosmicTrackFinderP5*cosmicTrackSplitter*splittedTracksP5)
00055
00056
00057
00058
00059 from RecoTracker.FinalTrackSelectors.TrackCandidateTopBottomHitFilter_cfi import *
00060 import copy
00061
00062 combinatorialcosmicseedfinderP5Top = copy.deepcopy(combinatorialcosmicseedfinderP5)
00063 simpleCosmicBONSeedsTop = copy.deepcopy(simpleCosmicBONSeeds)
00064 combinedP5SeedsForCTFTop = copy.deepcopy(combinedP5SeedsForCTF)
00065 ckfTrackCandidatesP5Top = copy.deepcopy(ckfTrackCandidatesP5)
00066 ctfWithMaterialTracksP5Top = copy.deepcopy(ctfWithMaterialTracksP5)
00067 filterCkfTop = copy.deepcopy(trackCandidateTopBottomHitFilter);
00068 combinatorialcosmicseedfinderP5Top.SeedsFromPositiveY = True
00069 combinatorialcosmicseedfinderP5Top.SeedsFromNegativeY = False
00070 simpleCosmicBONSeedsTop.PositiveYOnly = True
00071 simpleCosmicBONSeedsTop.NegativeYOnly = False
00072 combinedP5SeedsForCTFTop.PairCollection = 'combinatorialcosmicseedfinderP5Top'
00073 combinedP5SeedsForCTFTop.TripletCollection = 'simpleCosmicBONSeedsTop'
00074 ckfTrackCandidatesP5Top.NavigationSchool = 'CosmicNavigationSchool'
00075 ckfTrackCandidatesP5Top.SeedProducer = 'combinedP5SeedsForCTFTop'
00076 ckfTrackCandidatesP5Top.useHitsSplitting = True
00077 filterCkfTop.Input = 'ckfTrackCandidatesP5Top'
00078 filterCkfTop.SeedY = 1.
00079 ctfWithMaterialTracksP5Top.src = 'filterCkfTop'
00080 ctfWithMaterialTracksP5Top.Fitter = 'FittingSmootherRKP5'
00081 ctftracksP5Top = cms.Sequence(combinatorialcosmicseedfinderP5Top*simpleCosmicBONSeedsTop*combinedP5SeedsForCTFTop*
00082 ckfTrackCandidatesP5Top*filterCkfTop*ctfWithMaterialTracksP5Top)
00083
00084
00085 cosmicseedfinderP5Top = copy.deepcopy(cosmicseedfinderP5)
00086 cosmicCandidateFinderP5Top = copy.deepcopy(cosmicCandidateFinderP5)
00087 cosmictrackfinderP5Top = copy.deepcopy(cosmicTrackFinderP5)
00088 filterCosmicTop = copy.deepcopy(trackCandidateTopBottomHitFilter);
00089 cosmicseedfinderP5Top.PositiveYOnly = True
00090 cosmicseedfinderP5Top.NegativeYOnly = False
00091 cosmicCandidateFinderP5Top.cosmicSeeds = 'cosmicseedfinderP5Top'
00092 filterCosmicTop.Input = 'cosmicCandidateFinderP5Top'
00093 filterCosmicTop.SeedY = 1.
00094 cosmictrackfinderP5Top.src = 'filterCosmicTop'
00095 cosmictracksP5Top = cms.Sequence(cosmicseedfinderP5Top*cosmicCandidateFinderP5Top*filterCosmicTop*cosmictrackfinderP5Top)
00096
00097
00098 roadSearchSeedsP5Top = copy.deepcopy(roadSearchSeedsP5)
00099 roadSearchCloudsP5Top = copy.deepcopy(roadSearchCloudsP5)
00100 rsTrackCandidatesP5Top = copy.deepcopy(rsTrackCandidatesP5)
00101 rsWithMaterialTracksP5Top = copy.deepcopy(rsWithMaterialTracksP5)
00102 filterRSTop = copy.deepcopy(trackCandidateTopBottomHitFilter);
00103 roadSearchSeedsP5Top.AllPositiveOnly = True
00104 roadSearchCloudsP5Top.SeedProducer = 'roadSearchSeedsP5Top'
00105 rsTrackCandidatesP5Top.CloudProducer = 'roadSearchCloudsP5Top'
00106 rsTrackCandidatesP5Top.SplitMatchedHits = True
00107 filterRSTop.Input = 'rsTrackCandidatesP5Top'
00108 filterRSTop.SeedY = 1.
00109 rsWithMaterialTracksP5Top.src = 'filterRSTop'
00110 rstracksP5Top = cms.Sequence(roadSearchSeedsP5Top*roadSearchCloudsP5Top*
00111 rsTrackCandidatesP5Top*filterRSTop*rsWithMaterialTracksP5Top)
00112
00113
00114 tracksP5Top = cms.Sequence(ctftracksP5Top+cosmictracksP5Top+rstracksP5Top)
00115
00116
00117
00118
00119 combinatorialcosmicseedfinderP5Bottom = copy.deepcopy(combinatorialcosmicseedfinderP5)
00120 simpleCosmicBONSeedsBottom = copy.deepcopy(simpleCosmicBONSeeds)
00121 combinedP5SeedsForCTFBottom = copy.deepcopy(combinedP5SeedsForCTF)
00122 ckfTrackCandidatesP5Bottom = copy.deepcopy(ckfTrackCandidatesP5)
00123 ctfWithMaterialTracksP5Bottom = copy.deepcopy(ctfWithMaterialTracksP5)
00124 filterCkfBottom = copy.deepcopy(trackCandidateTopBottomHitFilter);
00125 combinatorialcosmicseedfinderP5Bottom.SeedsFromPositiveY = False
00126 combinatorialcosmicseedfinderP5Bottom.SeedsFromNegativeY = True
00127 combinatorialcosmicseedfinderP5Bottom.OrderedHitsFactoryPSets[0].PropagationDirection = cms.string('oppositeToMomentum')
00128 combinatorialcosmicseedfinderP5Bottom.OrderedHitsFactoryPSets[1].PropagationDirection = cms.string('oppositeToMomentum')
00129 combinatorialcosmicseedfinderP5Bottom.OrderedHitsFactoryPSets[2].PropagationDirection = cms.string('oppositeToMomentum')
00130 combinatorialcosmicseedfinderP5Bottom.OrderedHitsFactoryPSets[3].PropagationDirection = cms.string('oppositeToMomentum')
00131 combinatorialcosmicseedfinderP5Bottom.OrderedHitsFactoryPSets[4].PropagationDirection = cms.string('oppositeToMomentum')
00132 combinatorialcosmicseedfinderP5Bottom.OrderedHitsFactoryPSets[5].PropagationDirection = cms.string('oppositeToMomentum')
00133
00134 simpleCosmicBONSeedsBottom.PositiveYOnly = False
00135 simpleCosmicBONSeedsBottom.NegativeYOnly = True
00136 combinedP5SeedsForCTFBottom.PairCollection = 'combinatorialcosmicseedfinderP5Bottom'
00137 combinedP5SeedsForCTFBottom.TripletCollection = 'simpleCosmicBONSeedsBottom'
00138 ckfTrackCandidatesP5Bottom.NavigationSchool = 'CosmicNavigationSchool'
00139 ckfTrackCandidatesP5Bottom.SeedProducer = 'combinedP5SeedsForCTFBottom'
00140 ckfTrackCandidatesP5Bottom.useHitsSplitting = True
00141 filterCkfBottom.Input = 'ckfTrackCandidatesP5Bottom'
00142 filterCkfBottom.SeedY = -1.
00143 ctfWithMaterialTracksP5Bottom.src = 'filterCkfBottom'
00144 ctfWithMaterialTracksP5Bottom.Fitter = 'FittingSmootherRKP5'
00145 ctftracksP5Bottom = cms.Sequence(combinatorialcosmicseedfinderP5Bottom*simpleCosmicBONSeedsBottom*combinedP5SeedsForCTFBottom*
00146 ckfTrackCandidatesP5Bottom*filterCkfBottom*ctfWithMaterialTracksP5Bottom)
00147
00148
00149 cosmicseedfinderP5Bottom = copy.deepcopy(cosmicseedfinderP5)
00150 cosmicCandidateFinderP5Bottom = copy.deepcopy(cosmicCandidateFinderP5)
00151 cosmictrackfinderP5Bottom = copy.deepcopy(cosmicTrackFinderP5)
00152 filterCosmicBottom = copy.deepcopy(trackCandidateTopBottomHitFilter);
00153 cosmicseedfinderP5Bottom.PositiveYOnly = False
00154 cosmicseedfinderP5Bottom.NegativeYOnly = True
00155 cosmicCandidateFinderP5Bottom.cosmicSeeds = 'cosmicseedfinderP5Bottom'
00156 filterCosmicBottom.Input = 'cosmicCandidateFinderP5Bottom'
00157 filterCosmicBottom.SeedY = -1.
00158 cosmictrackfinderP5Bottom.src = 'filterCosmicBottom'
00159 cosmictracksP5Bottom = cms.Sequence(cosmicseedfinderP5Bottom*cosmicCandidateFinderP5Bottom*filterCosmicBottom*cosmictrackfinderP5Bottom)
00160
00161
00162
00163 roadSearchSeedsP5Bottom = copy.deepcopy(roadSearchSeedsP5)
00164 roadSearchCloudsP5Bottom = copy.deepcopy(roadSearchCloudsP5)
00165 rsTrackCandidatesP5Bottom = copy.deepcopy(rsTrackCandidatesP5)
00166 rsWithMaterialTracksP5Bottom = copy.deepcopy(rsWithMaterialTracksP5)
00167 filterRSBottom = copy.deepcopy(trackCandidateTopBottomHitFilter);
00168 roadSearchSeedsP5Bottom.AllNegativeOnly = True
00169 roadSearchCloudsP5Bottom.SeedProducer = 'roadSearchSeedsP5Bottom'
00170 rsTrackCandidatesP5Bottom.CloudProducer = 'roadSearchCloudsP5Bottom'
00171 rsTrackCandidatesP5Bottom.SplitMatchedHits = True
00172
00173 filterRSBottom.Input = 'rsTrackCandidatesP5Bottom'
00174 filterRSBottom.SeedY = -1.
00175 rsWithMaterialTracksP5Bottom.src = 'filterRSBottom'
00176 rstracksP5Bottom = cms.Sequence(roadSearchSeedsP5Bottom*roadSearchCloudsP5Bottom*
00177 rsTrackCandidatesP5Bottom*filterRSBottom*rsWithMaterialTracksP5Bottom)
00178
00179
00180 tracksP5Bottom = cms.Sequence(ctftracksP5Bottom+cosmictracksP5Bottom+rstracksP5Bottom)
00181
00182 trackerCosmics_TopBot = cms.Sequence(tracksP5Top+tracksP5Bottom)
00183
00184
00185
00186
00187 tracksP5 = cms.Sequence(cosmictracksP5*ctftracksP5*rstracksP5*trackerCosmics_TopBot)
00188
00189 ckfTrackCandidatesP5.useHitsSplitting = True
00190 rsTrackCandidatesP5.SplitMatchedHits = True
00191
00192