Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
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 *
from HLTrigger.HLTfilters.hltHighLevel_cfi import *
ALCARECOTkAlMinBiasFilterForSiPixelAliHLT = hltHighLevel.clone(
    HLTPaths = ['pathALCARECOTkAlHLTTracks'], # ???
    throw = True, ## dont throw on unknown path names,
    TriggerResultsTag = "TriggerResults::RECO"
)

from Alignment.CommonAlignmentProducer.LSNumberFilter_cfi import *

# Ingredient: onlineBeamSpot
import RecoVertex.BeamSpotProducer.BeamSpotOnline_cfi
onlineBeamSpot = RecoVertex.BeamSpotProducer.BeamSpotOnline_cfi.onlineBeamSpotProducer.clone(
    useBSOnlineRecords = True,
    timeThreshold = 999999 # for express allow >48h old payloads for replays. DO NOT CHANGE
)

# Ingredient: ALCARECOTkAlMinBiasHLT
from  Alignment.CommonAlignmentProducer.ALCARECOTkAlMinBias_cff import ALCARECOTkAlMinBias
ALCARECOTkAlMinBiasHLTTracks = ALCARECOTkAlMinBias.clone(
    src = cms.InputTag("hltMergedTracks")
)

# Ingredient: AlignmentTrackSelector
# track selector for HighPurity tracks
#-- AlignmentTrackSelector
from Alignment.CommonAlignmentProducer.AlignmentTrackSelector_cfi import AlignmentTrackSelector
SiPixelAliLooseSelectorHLT = AlignmentTrackSelector.clone(
    applyBasicCuts = True,
    #filter = True,
    src = 'ALCARECOTkAlMinBiasHLTTracks',
    trackQualities = ["loose"],
    pMin = 4.,
)

# track selection for alignment
SiPixelAliTrackSelectorHLT = SiPixelAliTrackSelector.clone( 
	src = 'SiPixelAliTrackFitterHLT',
)

# Ingredient: SiPixelAliTrackRefitter0
# refitting
from RecoTracker.IterativeTracking.InitialStep_cff import *
from RecoTracker.Configuration.RecoTrackerP5_cff import *
from RecoTracker.TrackProducer.TrackRefitter_cfi import *
# In the following use
# TrackRefitter (normal tracks), TrackRefitterP5 (cosmics) or TrackRefitterBHM (beam halo)

# Ingredient: import HLT CPE ESProducers directly to avoid going out of synch
from Alignment.CommonAlignmentProducer.HLTModulesIncludes_cff import hltESPStripCPEfromTrackAngle, hltESPPixelCPEGeneric, hltESPTTRHBWithTrackAngle

SiPixelAliTrackRefitterHLT0 = TrackRefitter.clone(
    src = 'SiPixelAliLooseSelectorHLT',   #'ALCARECOTkAlMinBias'#'ALCARECOTkAlCosmicsCTF0T' #'ALCARECOTkAlMuonIsolated'
    NavigationSchool = '',            # to avoid filling hit pattern
    TTRHBuilder = 'hltESPTTRHBWithTrackAngle',
    beamSpot = 'onlineBeamSpot'
)

SiPixelAliTrackRefitterHLT1 = SiPixelAliTrackRefitter0.clone(
    src = 'SiPixelAliTrackSelectorHLT',
    TTRHBuilder = 'hltESPTTRHBWithTrackAngle',
    beamSpot = 'onlineBeamSpot'
)

#-- Alignment producer
from Alignment.MillePedeAlignmentAlgorithm.MillePedeAlignmentAlgorithm_cfi import *
from Alignment.CommonAlignmentProducer.AlignmentProducerAsAnalyzer_cff import AlignmentProducer
SiPixelAliMilleAlignmentProducerHLT = SiPixelAliMilleAlignmentProducer.clone(
    beamSpotTag = 'onlineBeamSpot',
    tjTkAssociationMapTag = 'SiPixelAliTrackRefitterHLT1',
    algoConfig = MillePedeAlignmentAlgorithm.clone(
        binaryFile = 'milleBinaryHLT_0.dat',
        treeFile = 'treeFileHLT.root',
        monitorFile = 'millePedeMonitorHLT.root'
    )
)

# Ingredient: SiPixelAliTrackerTrackHitFilterHLT
SiPixelAliTrackerTrackHitFilterHLT = SiPixelAliTrackerTrackHitFilter.clone(
	src = 'SiPixelAliTrackRefitterHLT0'
)

# Ingredient: SiPixelAliTrackFitterHLT
import RecoTracker.TrackProducer.CTFFinalFitWithMaterial_cff as fitWithMaterial
SiPixelAliTrackFitterHLT = fitWithMaterial.ctfWithMaterialTracks.clone(
    src = 'SiPixelAliTrackerTrackHitFilterHLT',
    NavigationSchool = '',
    TTRHBuilder = 'hltESPTTRHBWithTrackAngle',
    beamSpot = 'onlineBeamSpot'
)

SiPixelAliMillePedeFileConverterHLT = cms.EDProducer( 
    "MillePedeFileConverter",
    fileDir = cms.string(SiPixelAliMilleAlignmentProducerHLT.algoConfig.fileDir.value()),
    inputBinaryFile = cms.string(SiPixelAliMilleAlignmentProducerHLT.algoConfig.binaryFile.value()),
    fileBlobLabel = cms.string(''),
)

seqALCARECOPromptCalibProdSiPixelAliHLT = cms.Sequence(
    ALCARECOTkAlMinBiasFilterForSiPixelAliHLT*
    LSNumberFilter*
    onlineBeamSpot*
    SiPixelAliLooseSelectorHLT*
    SiPixelAliTrackRefitterHLT0*
    SiPixelAliTrackerTrackHitFilterHLT*
    SiPixelAliTrackFitterHLT*
    SiPixelAliTrackSelectorHLT*
    SiPixelAliTrackRefitterHLT1*
    SiPixelAliMilleAlignmentProducerHLT*
    SiPixelAliMillePedeFileConverterHLT
)