Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
92 changes: 92 additions & 0 deletions Harvesting.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
import FWCore.ParameterSet.Config as cms
import FWCore.Utilities.FileUtils as FileUtils

from Configuration.Eras.Era_Run3_2024_cff import Run3_2024
process = cms.Process('HARVESTING', Run3_2024)

# import of standard configurations
process.load('Configuration.StandardSequences.Services_cff')
process.load('SimGeneral.HepPDTESSource.pythiapdt_cfi')
process.load('FWCore.MessageService.MessageLogger_cfi')
process.load('Configuration.EventContent.EventContent_cff')
process.load('Configuration.StandardSequences.GeometryRecoDB_cff')
process.load('Configuration.StandardSequences.MagneticField_AutoFromDBCurrent_cff')
process.load('Configuration.StandardSequences.EDMtoMEAtRunEnd_cff')
process.load('Configuration.StandardSequences.Harvesting_cff')
process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')

process.configurationMetadata = cms.untracked.PSet(
version = cms.untracked.string(': 1.1 $'),
annotation = cms.untracked.string('harvest nevts:100'),
name = cms.untracked.string('PyReleaseValidation')
)
process.maxEvents = cms.untracked.PSet(
input = cms.untracked.int32(-1)
)
process.options = cms.untracked.PSet(
Rethrow = cms.untracked.vstring('ProductNotFound'),
fileMode = cms.untracked.string('FULLMERGE')
)

# Input source
process.source = cms.Source("DQMRootSource",
fileNames = cms.untracked.vstring('file:dummyfile.root')
)

# Other statements
from Configuration.AlCa.GlobalTag import GlobalTag
process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:phase1_2024_realistic', '')

# Path and EndPath definitions
process.edmtome_step = cms.Path(process.EDMtoME)
process.validationpreprodHarvesting = cms.Path(process.postValidation*process.hltpostvalidation_preprod)
process.validationprodHarvesting = cms.Path(process.postValidation*process.hltpostvalidation_prod)
process.dqmHarvesting = cms.Path(process.DQMOffline_SecondStep*process.DQMOffline_Certification)
process.validationHarvesting = cms.Path(process.postValidation*process.hltpostvalidation)
#process.validationHarvestingFS = cms.Path(process.HarvestingFastSim)
process.dqmHarvestingPOG = cms.Path(process.DQMOffline_SecondStep_PrePOG)
process.dqmsave_step = cms.Path(process.DQMSaver)

# Schedule definition
process.schedule = cms.Schedule(process.edmtome_step,process.dqmHarvesting,process.dqmsave_step)
#-----------------------------------------------------------------------------------
# Mark's changes start (everything above this point is the output from cmsDriver)
#

# For some reason a seed harvester isn't included in the standard sequences. If this next processor isn't
# run then things like efficiencies are just added together instead of recalculated.
process.dqmSaver.saveAtJobEnd = cms.untracked.bool(True)
#process.dqmSaver.workflow = "/G4e/RelVal/Validation"
#process.dqmSaver.forceRunNumber = cms.untracked.int32(1)

import FWCore.ParameterSet.Config as cms
from Validation.RecoVertex.HLTpostProcessorVertex_cfi import *

process.load('Validation.RecoTrack.HLTpostProcessorTracker_cfi')
process.postProcessorHLTtrackingSequence = cms.Sequence(process.postProcessorHLTtracking+process.postProcessorHLTtrackingSummary)

from DQM.TrackingMonitorClient.TrackingEffFromHitPatternClientConfig_cff import *
process.trackingEffFromHitPatternHLT = trackingEffFromHitPattern.clone()
process.trackingEffFromHitPatternHLT.subDirs = cms.untracked.vstring(
"HLT/Tracking/pixelTracks/HitEffFromHitPattern",
"HLT/Tracking/tracks/HitEffFromHitPattern",
)
# Remove the HLT harvesting from the validation harvesting step
process.validationHarvesting = cms.Path(process.postValidation)
process.trackingOnlyHarvesting = cms.Path(process.postProcessorHLTtrackingSequence)
process.trackingEffFromHitHarvesting = cms.Path(process.trackingEffFromHitPatternHLT)
process.vertexingHarvesting = cms.Path(process.postProcessorHLTvertexing)
process.schedule = cms.Schedule(process.edmtome_step,
process.trackingOnlyHarvesting,
process.trackingEffFromHitHarvesting,
process.vertexingHarvesting,
process.dqmsave_step)

files = cms.untracked.vstring()
files = [
'file:DQMOutput_default.root'
#'file:DQMOutput_onDemandFalse.root'
#'file:DQMOutput_onDemandFalseMaxClusterSize8.root'
#'file:DQMOutput_onDemandFalseMaxClusterSize8_mkFitMaxCand3.root'
]
process.source.fileNames = files
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,8 @@
import RecoTracker.MkFit.mkFitProducer_cfi as _mkFitProducer_cfi
import RecoTracker.MkFit.mkFitOutputConverter_cfi as _mkFitOutputConverter_cfi
mkFitSiPixelHitsPreSplitting = _mkFitSiPixelHitConverter_cfi.mkFitSiPixelHitConverter.clone(
hits = 'siPixelRecHitsPreSplitting'
hits = 'siPixelRecHitsPreSplitting',
clusters = 'siPixelClustersPreSplitting'
)
mkFitSiStripHits = _mkFitSiStripHitConverter_cfi.mkFitSiStripHitConverter.clone() # TODO: figure out better place for this module?
mkFitEventOfHitsPreSplitting = _mkFitEventOfHitsProducer_cfi.mkFitEventOfHitsProducer.clone(
Expand Down
Loading