CMS 3D CMS Logo

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