|
|
Go to the documentation of this file.
3 TrackSplittingTemplate=
"""
4 import FWCore.ParameterSet.Config as cms
6 process = cms.Process("splitter")
11 process.load("FWCore.MessageLogger.MessageLogger_cfi")
12 MessageLogger = cms.Service("MessageLogger",
13 destinations = cms.untracked.vstring('LOGFILE_TrackSplitting_.oO[name]Oo.',
16 ## report only every 100th record
17 process.MessageLogger.cerr.FwkReport.reportEvery = 100
19 process.load('Configuration.StandardSequences.Services_cff')
20 process.load('Configuration.StandardSequences.Geometry_cff')
22 # including global tag
23 process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff")
25 #process.GlobalTag.connect = "frontier://FrontierProd/CMS_COND_21X_GLOBALTAG"
26 # process.GlobalTag.connect="frontier://FrontierProd/CMS_COND_31X_GLOBALTAG"
27 process.GlobalTag.globaltag = ".oO[GlobalTag]Oo."
30 ###########################################
31 ##necessary fix for the moment to avoid
32 ##Assymmetric forward layers in TrackerException going through path p
33 ##---- ScheduleExecutionFailure END
34 ##an exception occurred during current event processing
35 ##cms::Exception caught in EventProcessor and rethrown
36 ##---- EventProcessorFailure END
37 ############################################
38 #import CalibTracker.Configuration.Common.PoolDBESSource_cfi
39 from CondCore.DBCommon.CondDBSetup_cfi import *
40 #load the Global Position Rcd
41 process.globalPosition = cms.ESSource("PoolDBESSource", CondDBSetup,
42 toGet = cms.VPSet(cms.PSet(
43 record =cms.string('GlobalPositionRcd'),
44 tag= cms.string('IdealGeometry')
46 connect = cms.string('frontier://FrontierProd/CMS_COND_31X_FROM21X')
48 process.es_prefer_GPRcd = cms.ESPrefer("PoolDBESSource","globalPosition")
49 ##########################################
52 # track selectors and refitting
53 process.load("Alignment.CommonAlignmentProducer.AlignmentTrackSelector_cfi")
54 process.load("RecoVertex.BeamSpotProducer.BeamSpot_cff")
55 process.load("RecoTracker.TrackProducer.TrackRefitters_cff")
58 .oO[datasetDefinition]Oo.
60 ## for craft SP skim v5
61 #process.source.inputCommands = cms.untracked.vstring("keep *","drop *_*_*_FU","drop *_*_*_HLT","drop *_MEtoEDMConverter_*_*","drop *_lumiProducer_*_REPACKER")
62 #process.source.dropDescendantsOfDroppedBranches = cms.untracked.bool( False )
66 process.load("Configuration.StandardSequences.MagneticField_AutoFromDBCurrent_cff")
69 from CondCore.DBCommon.CondDBSetup_cfi import *
72 ## tracker alignment for craft...............................................................
75 ## track hit filter.............................................................
78 import RecoTracker.TrackProducer.TrackRefitters_cff
79 process.TrackRefitter1 = RecoTracker.TrackProducer.TrackRefitterP5_cfi.TrackRefitterP5.clone(
80 src = '.oO[TrackCollection]Oo.',
81 TrajectoryInEvent = True,
82 TTRHBuilder = "WithTrackAngle",
86 process.FittingSmootherRKP5.EstimateCut = -1
88 # module configuration
89 # alignment track selector
90 process.AlignmentTrackSelector.src = "TrackRefitter1"
91 process.AlignmentTrackSelector.filter = True
92 process.AlignmentTrackSelector.applyBasicCuts = True
93 process.AlignmentTrackSelector.ptMin = 0.
94 process.AlignmentTrackSelector.pMin = 4.
95 process.AlignmentTrackSelector.ptMax = 9999.
96 process.AlignmentTrackSelector.pMax = 9999.
97 process.AlignmentTrackSelector.etaMin = -9999.
98 process.AlignmentTrackSelector.etaMax = 9999.
99 process.AlignmentTrackSelector.nHitMin = 10
100 process.AlignmentTrackSelector.nHitMin2D = 2
101 process.AlignmentTrackSelector.minHitsPerSubDet.inBPIX=4 ##skip tracks not passing the pixel
102 process.AlignmentTrackSelector.chi2nMax = 9999.
103 process.AlignmentTrackSelector.applyMultiplicityFilter = True
104 process.AlignmentTrackSelector.maxMultiplicity = 1
105 process.AlignmentTrackSelector.applyNHighestPt = False
106 process.AlignmentTrackSelector.nHighestPt = 1
107 process.AlignmentTrackSelector.seedOnlyFrom = 0
108 process.AlignmentTrackSelector.applyIsolationCut = False
109 process.AlignmentTrackSelector.minHitIsolation = 0.8
110 process.AlignmentTrackSelector.applyChargeCheck = False
111 process.AlignmentTrackSelector.minHitChargeStrip = 50.
112 process.AlignmentTrackSelector.minHitsPerSubDet.inBPIX = 2
113 #process.AlignmentTrackSelector.trackQualities = ["highPurity"]
114 #process.AlignmentTrackSelector.iterativeTrackingSteps = ["iter1","iter2"]
115 process.KFFittingSmootherWithOutliersRejectionAndRK.EstimateCut=30.0
116 process.KFFittingSmootherWithOutliersRejectionAndRK.MinNumberOfHits=4
117 #process.FittingSmootherRKP5.EstimateCut = 20.0
118 #process.FittingSmootherRKP5.MinNumberOfHits = 4
120 # configuration of the track spitting module
121 # new cuts allow for cutting on the impact parameter of the original track
122 process.load("RecoTracker.FinalTrackSelectors.cosmicTrackSplitter_cfi")
123 process.cosmicTrackSplitter.tracks = 'AlignmentTrackSelector'
124 process.cosmicTrackSplitter.tjTkAssociationMapTag = 'TrackRefitter1'
125 #process.cosmicTrackSplitter.excludePixelHits = False
127 #---------------------------------------------------------------------
128 # the output of the track hit filter are track candidates
129 # give them to the TrackProducer
130 process.load("RecoTracker.TrackProducer.CTFFinalFitWithMaterialP5_cff")
131 process.HitFilteredTracks = RecoTracker.TrackProducer.CTFFinalFitWithMaterialP5_cff.ctfWithMaterialTracksCosmics.clone(
132 src = 'cosmicTrackSplitter',
133 TrajectoryInEvent = True,
134 TTRHBuilder = "WithTrackAngle"
137 process.TrackRefitter2 = process.TrackRefitter1.clone(
138 src = 'HitFilteredTracks'
141 ### Now adding the construction of global Muons
143 process.load("Configuration.StandardSequences.ReconstructionCosmics_cff")
145 process.cosmicValidation = cms.EDAnalyzer("CosmicSplitterValidation",
146 ifSplitMuons = cms.bool(False),
147 ifTrackMCTruth = cms.bool(False),
148 checkIfGolden = cms.bool(False),
149 splitTracks = cms.InputTag("TrackRefitter2","","splitter"),
150 splitGlobalMuons = cms.InputTag("muons","","splitter"),
151 originalTracks = cms.InputTag("TrackRefitter1","","splitter"),
152 originalGlobalMuons = cms.InputTag("muons","","Rec")
155 process.TFileService = cms.Service("TFileService",
156 fileName = cms.string('.oO[outputFile]Oo.')
159 process.p = cms.Path(process.offlineBeamSpot*process.TrackRefitter1*process.AlignmentTrackSelector*process.cosmicTrackSplitter*process.HitFilteredTracks*process.TrackRefitter2*process.cosmicValidation)