CMS 3D CMS Logo

RecoTrackerP5_cff.py

Go to the documentation of this file.
00001 import FWCore.ParameterSet.Config as cms
00002 
00003 #
00004 # Tracking configuration file fragment for P5 cosmic running
00005 #
00006 from RecoTracker.MeasurementDet.MeasurementTrackerESProducer_cff import *
00007 # tTRHBuilders
00008 from RecoTracker.TransientTrackingRecHit.TTRHBuilders_cff import *
00009 # COSMIC TRACK FINDER
00010 from RecoTracker.SpecialSeedGenerators.CosmicSeedP5Pairs_cff import *
00011 from RecoTracker.SingleTrackPattern.CosmicTrackFinderP5_cff import *
00012 #chi2 set to 40!!
00013 # CTF
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 #backward compatibility 2.2/3.1
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 #backward compatibility 2.2/3.1
00029 ckfTrackCandidatesP5.SeedProducer = 'combinedP5SeedsForCTF'
00030 
00031 from RecoTracker.TrackProducer.CTFFinalFitWithMaterialP5_cff import *
00032 # ROACH SEARCH
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 # TRACK INFO
00038 #include "AnalysisAlgos/TrackInfoProducer/data/TrackInfoProducerP5.cff"
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 #TOP tracking (RS, CTF, CoTF)
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 #COSMIC TOP
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 #RS TOP
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 #TOP SEQUENCE
00114 tracksP5Top = cms.Sequence(ctftracksP5Top+cosmictracksP5Top+rstracksP5Top)
00115 
00116 
00117 #Bottom tracking (RS, CTF, CoTF)
00118 #CKF BOTTOM
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 #COSMIC BOTTOM
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 #RS BOTTOM
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 #rsTrackCandidatesP5Bottom.CosmicTrackMerging = True
00173 filterRSBottom.Input = 'rsTrackCandidatesP5Bottom'
00174 filterRSBottom.SeedY = -1.
00175 rsWithMaterialTracksP5Bottom.src = 'filterRSBottom'
00176 rstracksP5Bottom = cms.Sequence(roadSearchSeedsP5Bottom*roadSearchCloudsP5Bottom*
00177                                 rsTrackCandidatesP5Bottom*filterRSBottom*rsWithMaterialTracksP5Bottom)
00178 
00179 #BOTTOM SEQUENCE
00180 tracksP5Bottom = cms.Sequence(ctftracksP5Bottom+cosmictracksP5Bottom+rstracksP5Bottom)
00181 
00182 trackerCosmics_TopBot = cms.Sequence(tracksP5Top+tracksP5Bottom)
00183 
00184 
00185 
00186 #sequence tracksP5 = {cosmictracksP5, ctftracksP5, rstracksP5, trackinfoP5}
00187 tracksP5 = cms.Sequence(cosmictracksP5*ctftracksP5*rstracksP5*trackerCosmics_TopBot)
00188 # explicitely switch on hit splitting
00189 ckfTrackCandidatesP5.useHitsSplitting = True
00190 rsTrackCandidatesP5.SplitMatchedHits = True
00191 
00192 

Generated on Tue Jun 9 17:45:21 2009 for CMSSW by  doxygen 1.5.4