-
Notifications
You must be signed in to change notification settings - Fork 4.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #38449 from cms-trackeralign/hgPCL_PRnew
New high granularity pixel alignment for the PCL
- Loading branch information
Showing
34 changed files
with
960 additions
and
123 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
12 changes: 12 additions & 0 deletions
12
Alignment/CommonAlignmentProducer/python/ALCARECOPromptCalibProdSiPixelAliHG_Output_cff.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
import FWCore.ParameterSet.Config as cms | ||
|
||
OutALCARECOPromptCalibProdSiPixelAliHG_noDrop = cms.PSet( | ||
SelectEvents = cms.untracked.PSet( | ||
SelectEvents = cms.vstring('pathALCARECOPromptCalibProdSiPixelAliHG') | ||
), | ||
outputCommands = cms.untracked.vstring( | ||
'keep *_SiPixelAliMillePedeFileConverterHG_*_*') | ||
) | ||
|
||
OutALCARECOPromptCalibProdSiPixelAliHG=OutALCARECOPromptCalibProdSiPixelAliHG_noDrop.clone() | ||
OutALCARECOPromptCalibProdSiPixelAliHG.outputCommands.insert(0, "drop *") |
79 changes: 79 additions & 0 deletions
79
Alignment/CommonAlignmentProducer/python/ALCARECOPromptCalibProdSiPixelAliHG_cff.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
import FWCore.ParameterSet.Config as cms | ||
|
||
# ------------------------------------------------------------------------------ | ||
# configure a filter to run only on the events selected by TkAlMinBias AlcaReco | ||
from Alignment.CommonAlignmentProducer.ALCARECOPromptCalibProdSiPixelAli_cff import * | ||
ALCARECOTkAlMinBiasFilterForSiPixelAliHG = ALCARECOTkAlMinBiasFilterForSiPixelAli.clone() | ||
|
||
|
||
from Alignment.CommonAlignmentProducer.LSNumberFilter_cfi import * | ||
|
||
# Ingredient: offlineBeamSpot | ||
from RecoVertex.BeamSpotProducer.BeamSpot_cfi import offlineBeamSpot | ||
|
||
# Ingredient: AlignmentTrackSelector | ||
# track selector for HighPurity tracks | ||
#-- AlignmentTrackSelector | ||
SiPixelAliHighPuritySelectorHG = SiPixelAliHighPuritySelector.clone() | ||
|
||
# track selection for alignment | ||
SiPixelAliTrackSelectorHG = SiPixelAliTrackSelector.clone( | ||
src = 'SiPixelAliTrackFitterHG' | ||
) | ||
|
||
# Ingredient: SiPixelAliTrackRefitter0 | ||
# refitting | ||
SiPixelAliTrackRefitterHG0 = SiPixelAliTrackRefitter0.clone( | ||
src = 'SiPixelAliHighPuritySelectorHG' | ||
) | ||
SiPixelAliTrackRefitterHG1 = SiPixelAliTrackRefitterHG0.clone( | ||
src = 'SiPixelAliTrackSelectorHG' | ||
) | ||
|
||
#-- Alignment producer | ||
SiPixelAliMilleAlignmentProducerHG = SiPixelAliMilleAlignmentProducer.clone( | ||
ParameterBuilder = dict( | ||
Selector = cms.PSet( | ||
alignParams = cms.vstring( | ||
"TrackerP1PXBLadder,111111", | ||
"TrackerP1PXECPanel,111111", | ||
) | ||
) | ||
), | ||
tjTkAssociationMapTag = 'SiPixelAliTrackRefitterHG1', | ||
algoConfig = MillePedeAlignmentAlgorithm.clone( | ||
binaryFile = 'milleBinaryHG_0.dat', | ||
treeFile = 'treeFileHG.root', | ||
monitorFile = 'millePedeMonitorHG.root' | ||
) | ||
) | ||
|
||
# Ingredient: SiPixelAliTrackerTrackHitFilter | ||
SiPixelAliTrackerTrackHitFilterHG = SiPixelAliTrackerTrackHitFilter.clone( | ||
src = 'SiPixelAliTrackRefitterHG0' | ||
) | ||
|
||
# Ingredient: SiPixelAliSiPixelAliTrackFitter | ||
SiPixelAliTrackFitterHG = SiPixelAliTrackFitter.clone( | ||
src = 'SiPixelAliTrackerTrackHitFilterHG' | ||
) | ||
|
||
SiPixelAliMillePedeFileConverterHG = cms.EDProducer("MillePedeFileConverter", | ||
fileDir = cms.string(SiPixelAliMilleAlignmentProducerHG.algoConfig.fileDir.value()), | ||
inputBinaryFile = cms.string(SiPixelAliMilleAlignmentProducerHG.algoConfig.binaryFile.value()), | ||
fileBlobLabel = cms.string(''), | ||
) | ||
|
||
|
||
|
||
seqALCARECOPromptCalibProdSiPixelAliHG = cms.Sequence(ALCARECOTkAlMinBiasFilterForSiPixelAliHG* | ||
lsNumberFilter* | ||
offlineBeamSpot* | ||
SiPixelAliHighPuritySelectorHG* | ||
SiPixelAliTrackRefitterHG0* | ||
SiPixelAliTrackerTrackHitFilterHG* | ||
SiPixelAliTrackFitterHG* | ||
SiPixelAliTrackSelectorHG* | ||
SiPixelAliTrackRefitterHG1* | ||
SiPixelAliMilleAlignmentProducerHG* | ||
SiPixelAliMillePedeFileConverterHG) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
80 changes: 80 additions & 0 deletions
80
Alignment/CommonAlignmentProducer/python/AlcaSiPixelAliHarvesterHG_cff.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
import FWCore.ParameterSet.Config as cms | ||
|
||
SiPixelAliMilleFileExtractorHG = cms.EDAnalyzer("MillePedeFileExtractor", | ||
fileBlobInputTag = cms.InputTag("SiPixelAliMillePedeFileConverterHG",''), | ||
fileDir = cms.string('HGalignment/'), | ||
# File names the Extractor will use to write the fileblobs in the root | ||
# file as real binary files to disk, so that the pede step can read them. | ||
# This includes the formatting directive "%04d" which will be expanded to | ||
# 0000, 0001, 0002,... | ||
outputBinaryFile = cms.string('pedeBinaryHG%04d.dat')) | ||
|
||
from Alignment.MillePedeAlignmentAlgorithm.MillePedeAlignmentAlgorithm_cfi import * | ||
from Alignment.CommonAlignmentProducer.AlignmentProducerAsAnalyzer_cff import AlignmentProducer | ||
from Alignment.MillePedeAlignmentAlgorithm.MillePedeDQMModule_cff import * | ||
|
||
SiPixelAliPedeAlignmentProducerHG = AlignmentProducer.clone( | ||
ParameterBuilder = dict( | ||
Selector = cms.PSet( | ||
alignParams = cms.vstring( | ||
"TrackerP1PXBLadder,111111", | ||
"TrackerP1PXECPanel,111111", | ||
) | ||
) | ||
), | ||
doMisalignmentScenario = False, | ||
checkDbAlignmentValidity = False, | ||
applyDbAlignment = True, | ||
tjTkAssociationMapTag = 'TrackRefitter2', | ||
saveToDB = True, | ||
trackerAlignmentRcdName = "TrackerAlignmentHGRcd" | ||
) | ||
|
||
SiPixelAliPedeAlignmentProducerHG.algoConfig = MillePedeAlignmentAlgorithm.clone( | ||
mode = 'pede', | ||
runAtPCL = True, | ||
mergeBinaryFiles = [SiPixelAliMilleFileExtractorHG.outputBinaryFile.value()], | ||
binaryFile = '', | ||
TrajectoryFactory = cms.PSet(BrokenLinesTrajectoryFactory), | ||
minNumHits = 10, | ||
fileDir = 'HGalignment/', | ||
pedeSteerer = dict( | ||
pedeCommand = 'pede', | ||
method = 'inversion 5 0.8', | ||
options = cms.vstring( | ||
#'regularisation 1.0 0.05', # non-stated pre-sigma 50 mrad or 500 mum | ||
'entries 500', | ||
'chisqcut 30.0 4.5', | ||
'threads 1 1', | ||
'closeandreopen', | ||
'skipemptycons' | ||
#'outlierdownweighting 3','dwfractioncut 0.1' | ||
#'outlierdownweighting 5','dwfractioncut 0.2' | ||
), | ||
fileDir = 'HGalignment/', | ||
runDir = cms.untracked.string('HGalignment/'), | ||
steerFile = 'pedeSteerHG', | ||
pedeDump = 'pedeHG.dump' | ||
), | ||
pedeReader = dict( | ||
fileDir = 'HGalignment/' | ||
), | ||
MillePedeFileReader = dict( | ||
fileDir = "HGalignment/", | ||
isHG = True | ||
) | ||
) | ||
|
||
SiPixelAliDQMModuleHG = SiPixelAliDQMModule.clone() | ||
SiPixelAliDQMModuleHG.MillePedeFileReader.fileDir = "HGalignment/" | ||
SiPixelAliDQMModuleHG.MillePedeFileReader.isHG = True | ||
|
||
from DQMServices.Core.DQMEDHarvester import DQMEDHarvester | ||
dqmEnvSiPixelAliHG = DQMEDHarvester('DQMHarvestingMetadata', | ||
subSystemFolder = cms.untracked.string('AlCaReco'), | ||
) | ||
|
||
ALCAHARVESTSiPixelAliHG = cms.Sequence(SiPixelAliMilleFileExtractorHG* | ||
SiPixelAliPedeAlignmentProducerHG* | ||
SiPixelAliDQMModuleHG* | ||
dqmEnvSiPixelAliHG) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
26 changes: 26 additions & 0 deletions
26
Alignment/CommonAlignmentProducer/python/customizeLSNumberFilterForRelVals.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
import FWCore.ParameterSet.Config as cms | ||
|
||
## | ||
## Do not filter out the first 20 LS when | ||
## running the PCL alignment in the RelVal case | ||
## | ||
|
||
def doNotFilterLS(process): | ||
if hasattr(process,'lsNumberFilter'): | ||
process.lsNumberFilter.minLS = 1 | ||
return process | ||
|
||
## | ||
## Required 10 instead of 500 hits per structure | ||
## when running the HG PCL alignment in the RelVal case | ||
## | ||
|
||
def lowerHitsPerStructure(process): | ||
if hasattr(process,'SiPixelAliPedeAlignmentProducerHG'): | ||
process.SiPixelAliPedeAlignmentProducerHG.algoConfig.pedeSteerer.options = cms.vstring( | ||
'entries 10', | ||
'chisqcut 30.0 4.5', | ||
'threads 1 1', | ||
'closeandreopen' | ||
) | ||
return process |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.