CMS 3D CMS Logo

ALCARECOPromptCalibProdSiPixelAli_cff.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 # ------------------------------------------------------------------------------
4 # configure a filter to run only on the events selected by TkAlMinBias AlcaReco
5 import copy
7 ALCARECOTkAlMinBiasFilterForSiPixelAli = copy.deepcopy(hltHighLevel)
8 ALCARECOTkAlMinBiasFilterForSiPixelAli.HLTPaths = ['pathALCARECOTkAlMinBias']
9 ALCARECOTkAlMinBiasFilterForSiPixelAli.throw = True
10 ALCARECOTkAlMinBiasFilterForSiPixelAli.TriggerResultsTag = cms.InputTag("TriggerResults","","RECO")
11 
13 
14 # Ingredient: offlineBeamSpot
15 from RecoVertex.BeamSpotProducer.BeamSpot_cfi import offlineBeamSpot
16 
17 # Ingredient: AlignmentTrackSelector
18 # track selector for HighPurity tracks
19 #-- AlignmentTrackSelector
20 from Alignment.CommonAlignmentProducer.AlignmentTrackSelector_cfi import AlignmentTrackSelector
21 SiPixelAliHighPuritySelector = AlignmentTrackSelector.clone(
22  applyBasicCuts = True,
23  #filter = True,
24  src = 'ALCARECOTkAlMinBias',
25  trackQualities = ["highPurity"],
26  pMin = 4.,
27  )
28 
29 
30 
31 # track selection for alignment
32 from Alignment.CommonAlignmentProducer.AlignmentTrackSelector_cfi import AlignmentTrackSelector
33 SiPixelAliTrackSelector = AlignmentTrackSelector.clone(
34  src = 'SiPixelAliTrackFitter',
35  applyBasicCuts = True,
36  pMin = 8.,
37  ptMin = 1.0,
38  etaMin = -999.,
39  etaMax = 999.,
40  nHitMin = 8,
41  nHitMin2D = 2,
42  chi2nMax = 9999.,
43  applyMultiplicityFilter = False,
44  maxMultiplicity = 1,
45  applyNHighestPt = False,
46  nHighestPt = 1,
47  seedOnlyFrom = 0,
48  applyIsolationCut = False,
49  minHitIsolation = 0.8,
50  applyChargeCheck = False,
51  minHitChargeStrip = 30.,
52 )
53 #Special option for PCL
54 SiPixelAliTrackSelector.minHitsPerSubDet.inPIXEL = 2
55 
56 
57 # Ingredient: SiPixelAliTrackRefitter0
58 # refitting
62 # In the following use
63 # TrackRefitter (normal tracks), TrackRefitterP5 (cosmics) or TrackRefitterBHM (beam halo)
64 
65 SiPixelAliTrackRefitter0 = TrackRefitter.clone(
66  src = 'SiPixelAliHighPuritySelector', #'ALCARECOTkAlMinBias'#'ALCARECOTkAlCosmicsCTF0T' #'ALCARECOTkAlMuonIsolated'
67  NavigationSchool = '', # to avoid filling hit pattern
68  )
69 
70 SiPixelAliTrackRefitter1 = SiPixelAliTrackRefitter0.clone(
71  src = 'SiPixelAliTrackSelector'
72 )
73 
74 #-- Alignment producer
76 from Alignment.CommonAlignmentProducer.AlignmentProducerAsAnalyzer_cff import AlignmentProducer
77 SiPixelAliMilleAlignmentProducer = copy.deepcopy(AlignmentProducer)
78 SiPixelAliMilleAlignmentProducer.ParameterBuilder.Selector = cms.PSet(
79  alignParams = cms.vstring(
80  "PixelHalfBarrels,111111",
81  "PXECHalfCylinders,111111",
82  )
83  )
84 
85 SiPixelAliMilleAlignmentProducer.doMisalignmentScenario = False #True
86 
87 
88 SiPixelAliMilleAlignmentProducer.checkDbAlignmentValidity = False
89 SiPixelAliMilleAlignmentProducer.applyDbAlignment = True
90 SiPixelAliMilleAlignmentProducer.tjTkAssociationMapTag = 'SiPixelAliTrackRefitter1'
91 
92 SiPixelAliMilleAlignmentProducer.algoConfig = MillePedeAlignmentAlgorithm
93 SiPixelAliMilleAlignmentProducer.algoConfig.mode = 'mille'
94 SiPixelAliMilleAlignmentProducer.algoConfig.runAtPCL = True
95 SiPixelAliMilleAlignmentProducer.algoConfig.mergeBinaryFiles = cms.vstring()
96 SiPixelAliMilleAlignmentProducer.algoConfig.binaryFile = 'milleBinary_0.dat'
97 SiPixelAliMilleAlignmentProducer.algoConfig.TrajectoryFactory = cms.PSet(
98  #process.BrokenLinesBzeroTrajectoryFactory
99  BrokenLinesTrajectoryFactory
100  )
101 
102 
103 
104 
105 # Ingredient: SiPixelAliTrackerTrackHitFilter
107 # Reference config at /afs/cern.ch/cms/CAF/CMSALCA/ALCA_TRACKERALIGN/MP/MPproduction/aliConfigTemplates/Cosmics38T_BL_default_cfg.py
108 SiPixelAliTrackerTrackHitFilter = HitFilter.TrackerTrackHitFilter.clone(
109  src = 'SiPixelAliTrackRefitter0', #'ALCARECOTkAlCosmicsCTF0T',
110  # this is needed only if you require some selections; but it will work even if you don't ask for them
111  useTrajectories= True,
112  minimumHits = 8,
113  replaceWithInactiveHits = True,
114  rejectBadStoNHits = True,
115  commands = cms.vstring("keep PXB","keep PXE","keep TIB","keep TID","keep TOB","keep TEC"), #,"drop TID stereo","drop TEC stereo")
116  stripAllInvalidHits = False,
117  StoNcommands = cms.vstring("ALL 12.0"),
118  rejectLowAngleHits = True,
119  TrackAngleCut = 0.17, # in rads, starting from the module surface; .35 for cosmcics ok, .17 for collision tracks
120  usePixelQualityFlag = True #False
121  )
122 
123 # Ingredient: SiPixelAliSiPixelAliTrackFitter
125 SiPixelAliTrackFitter = fitWithMaterial.ctfWithMaterialTracks.clone(
126  src = 'SiPixelAliTrackerTrackHitFilter',
127  # TTRHBuilder = 'WithAngleAndTemplate', #should already be default
128  NavigationSchool = ''
129  )
130 
131 
140 
141 SiPixelAliMillePedeFileConverter = cms.EDProducer("MillePedeFileConverter",
142  #FIXME: convert to untracked?
143  fileDir = cms.string(SiPixelAliMilleAlignmentProducer.algoConfig.fileDir.value()),
144  inputBinaryFile = cms.string(SiPixelAliMilleAlignmentProducer.algoConfig.binaryFile.value()),
145  #FIXME: why was the label removed? Don't we want a label?
146  fileBlobLabel = cms.string(''),
147  )
148 
149 
150 
151 seqALCARECOPromptCalibProdSiPixelAli = cms.Sequence(ALCARECOTkAlMinBiasFilterForSiPixelAli*
152  lsNumberFilter*
153  offlineBeamSpot*
154  SiPixelAliHighPuritySelector*
155  SiPixelAliTrackRefitter0*
156  SiPixelAliTrackerTrackHitFilter*
157  SiPixelAliTrackFitter*
158  SiPixelAliTrackSelector*
159  SiPixelAliTrackRefitter1*
160  SiPixelAliMilleAlignmentProducer*
161  SiPixelAliMillePedeFileConverter)
dont throw on unknown path names