diff --git a/RecoTracker/LST/test/LSTAlpakaTester.py b/RecoTracker/LST/test/LSTAlpakaTester.py deleted file mode 100644 index 44013a0690b5b..0000000000000 --- a/RecoTracker/LST/test/LSTAlpakaTester.py +++ /dev/null @@ -1,128 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from Configuration.Eras.Era_Phase2C17I13M9_cff import Phase2C17I13M9 - -process = cms.Process('RECO',Phase2C17I13M9) - -# 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('SimGeneral.MixingModule.mixNoPU_cfi') -process.load('Configuration.Geometry.GeometryExtended2026D88Reco_cff') -process.load('Configuration.StandardSequences.MagneticField_cff') -process.load('Configuration.StandardSequences.RawToDigi_cff') -process.load('Configuration.StandardSequences.Reconstruction_cff') -process.load('Configuration.StandardSequences.EndOfProcess_cff') -process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff') - -## Timing -#process.Timing = cms.Service("Timing") -#process.options.wantSummary = cms.untracked.bool(True) - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(1), - output = cms.optional.untracked.allowed(cms.int32,cms.PSet) -) - -# Input source -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring('file:/home/users/evourlio/TrackingNTupleProduction/CMSSW_12_6_0_pre2/src/step2_DIGI_L1TrackTrigger_L1_DIGI2RAW_HLT.root'), - #fileNames = cms.untracked.vstring('file:/home/users/phchang/work/lst/samples/CMSSW_12_5_0/src/step2_DIGI_L1TrackTrigger_L1_DIGI2RAW_HLT_PU.root'), - secondaryFileNames = cms.untracked.vstring() -) - -process.options = cms.untracked.PSet( - IgnoreCompletely = cms.untracked.vstring(), - Rethrow = cms.untracked.vstring(), - accelerators = cms.untracked.vstring('*'), - allowUnscheduled = cms.obsolete.untracked.bool, - canDeleteEarly = cms.untracked.vstring(), - deleteNonConsumedUnscheduledModules = cms.untracked.bool(True), - dumpOptions = cms.untracked.bool(False), - emptyRunLumiMode = cms.obsolete.untracked.string, - eventSetup = cms.untracked.PSet( - forceNumberOfConcurrentIOVs = cms.untracked.PSet( - allowAnyLabel_=cms.required.untracked.uint32 - ), - numberOfConcurrentIOVs = cms.untracked.uint32(0) - ), - fileMode = cms.untracked.string('FULLMERGE'), - forceEventSetupCacheClearOnNewRun = cms.untracked.bool(False), - makeTriggerResults = cms.obsolete.untracked.bool, - numberOfConcurrentLuminosityBlocks = cms.untracked.uint32(0), - numberOfConcurrentRuns = cms.untracked.uint32(1), - numberOfStreams = cms.untracked.uint32(0), - numberOfThreads = cms.untracked.uint32(1), - printDependencies = cms.untracked.bool(False), - sizeOfStackForThreadsInKB = cms.optional.untracked.uint32, - throwIfIllegalParameter = cms.untracked.bool(True), - wantSummary = cms.untracked.bool(False) -) - -# Production Info -process.configurationMetadata = cms.untracked.PSet( - annotation = cms.untracked.string('step3 nevts:10'), - name = cms.untracked.string('Applications'), - version = cms.untracked.string('$Revision: 1.19 $') -) - -# Output definition - -process.output = cms.OutputModule("PoolOutputModule", - fileName = cms.untracked.string('LSTAlpakaTesterOutput.root'), - outputCommands = cms.untracked.vstring('keep *_lst*_*_*') -) - -# Additional output definition - -# Other statements -from Configuration.AlCa.GlobalTag import GlobalTag -process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:phase2_realistic_T21', '') - -# Tasks and Sequences for LST inputs -process.load("RecoTracker.LST.lst_cff") -lstInputTask = cms.Task(process.lstInitialStepSeedTracks,process.lstHighPtTripletStepSeedTracks,process.siPhase2RecHits) -lstInputSequence = cms.Sequence(lstInputTask) - -# Main LST Producer -process.load('Configuration.StandardSequences.Accelerators_cff') -process.load("HeterogeneousCore.AlpakaCore.ProcessAcceleratorAlpaka_cfi") -process.load("RecoTracker.LST.lstProducer_cff") - -# Track Fitting -import RecoTracker.TrackProducer.TrackProducer_cfi -process.lstTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone( - useSimpleMF = cms.bool(True), - SimpleMagneticField = cms.string("ParabolicMf"), - Propagator = cms.string('PropagatorWithMaterialParabolicMf'), - TTRHBuilder = cms.string('WithAngleAndTemplate'), - src = cms.InputTag("lstOutputConverter"), - AlgorithmName = cms.string("lst"), - Fitter = cms.string("FlexibleKFFittingSmoother") -) - -# Path and EndPath definitions -process.raw2digi_step = cms.Path(process.RawToDigi) -process.reconstruction_step = cms.Path(process.reconstruction_trackingOnly*lstInputSequence*process.lstPixelSeedInputProducer*process.lstPhase2OTHitsInputProducer*process.lstProducer*process.lstOutputConverter*process.lstTracks) -process.endjob_step = cms.EndPath(process.endOfProcess) -process.output_step = cms.EndPath(process.output) - -# Schedule definition -process.schedule = cms.Schedule(process.raw2digi_step,process.reconstruction_step,process.endjob_step,process.output_step) -from PhysicsTools.PatAlgos.tools.helpers import associatePatAlgosToolsTask -associatePatAlgosToolsTask(process) - - - -# Customisation from command line - -#Have logErrorHarvester wait for the same EDProducers to finish as those providing data for the OutputModule -from FWCore.Modules.logErrorHarvester_cff import customiseLogErrorHarvesterUsingOutputCommands -process = customiseLogErrorHarvesterUsingOutputCommands(process) - -# Add early deletion of temporary data products to reduce peak memory need -from Configuration.StandardSequences.earlyDeleteSettings_cff import customiseEarlyDelete -process = customiseEarlyDelete(process) -# End adding early deletion diff --git a/RecoTracker/LST/test/LSTInputTester.py b/RecoTracker/LST/test/LSTInputTester.py deleted file mode 100644 index 103e0e23c3d4e..0000000000000 --- a/RecoTracker/LST/test/LSTInputTester.py +++ /dev/null @@ -1,114 +0,0 @@ -# Auto generated configuration file -# using: -# Revision: 1.19 -# Source: /local/reps/CMSSW/CMSSW/Configuration/Applications/python/ConfigBuilder.py,v -# with command line options: step3 --conditions auto:phase2_realistic_T21 --datatier GEN-SIM-RECO,MINIAODSIM --eventcontent FEVTDEBUGHLT,MINIAODSIM --geometry Extended2026D77 --era Phase2C11I13M9 -n 10 --filein file:/home/users/evourlio/TrackingNTupleProduction/CMSSW_12_6_0_pre2/src/step2_DIGI_L1TrackTrigger_L1_DIGI2RAW_HLT.root -s RAW2DIGI,RECO:reconstruction_trackingOnly --no_exec -import FWCore.ParameterSet.Config as cms - -from Configuration.Eras.Era_Phase2C11I13M9_cff import Phase2C11I13M9 - -process = cms.Process('RECO',Phase2C11I13M9) - -# 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('SimGeneral.MixingModule.mixNoPU_cfi') -process.load('Configuration.Geometry.GeometryExtended2026D77Reco_cff') -process.load('Configuration.StandardSequences.MagneticField_cff') -process.load('Configuration.StandardSequences.RawToDigi_cff') -process.load('Configuration.StandardSequences.Reconstruction_cff') -process.load('Configuration.StandardSequences.EndOfProcess_cff') -process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff') - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(10), - output = cms.optional.untracked.allowed(cms.int32,cms.PSet) -) - -# Input source -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring('file:/home/users/evourlio/TrackingNTupleProduction/CMSSW_12_6_0_pre2/src/step2_DIGI_L1TrackTrigger_L1_DIGI2RAW_HLT.root'), - secondaryFileNames = cms.untracked.vstring() -) - -process.options = cms.untracked.PSet( - FailPath = cms.untracked.vstring(), - IgnoreCompletely = cms.untracked.vstring(), - Rethrow = cms.untracked.vstring(), - SkipEvent = cms.untracked.vstring(), - accelerators = cms.untracked.vstring('*'), - allowUnscheduled = cms.obsolete.untracked.bool, - canDeleteEarly = cms.untracked.vstring(), - deleteNonConsumedUnscheduledModules = cms.untracked.bool(True), - dumpOptions = cms.untracked.bool(False), - emptyRunLumiMode = cms.obsolete.untracked.string, - eventSetup = cms.untracked.PSet( - forceNumberOfConcurrentIOVs = cms.untracked.PSet( - allowAnyLabel_=cms.required.untracked.uint32 - ), - numberOfConcurrentIOVs = cms.untracked.uint32(0) - ), - fileMode = cms.untracked.string('FULLMERGE'), - forceEventSetupCacheClearOnNewRun = cms.untracked.bool(False), - makeTriggerResults = cms.obsolete.untracked.bool, - numberOfConcurrentLuminosityBlocks = cms.untracked.uint32(0), - numberOfConcurrentRuns = cms.untracked.uint32(1), - numberOfStreams = cms.untracked.uint32(0), - numberOfThreads = cms.untracked.uint32(1), - printDependencies = cms.untracked.bool(False), - sizeOfStackForThreadsInKB = cms.optional.untracked.uint32, - throwIfIllegalParameter = cms.untracked.bool(True), - wantSummary = cms.untracked.bool(False) -) - -# Production Info -process.configurationMetadata = cms.untracked.PSet( - annotation = cms.untracked.string('step3 nevts:10'), - name = cms.untracked.string('Applications'), - version = cms.untracked.string('$Revision: 1.19 $') -) - -# Output definition - -process.output = cms.OutputModule("PoolOutputModule", - fileName = cms.untracked.string('LSTInputTesterOutput.root'), - outputCommands = cms.untracked.vstring('keep *_lst*InputProducer_*_*') -) - -# Additional output definition - -# Other statements -from Configuration.AlCa.GlobalTag import GlobalTag -process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:phase2_realistic_T21', '') - -# Tasks and Sequences for LST inputs -process.load("RecoTracker.LST.lst_cff") -process.load("Validation.RecoTrack.trackingNtuple_cff") -lstInputTask = cms.Task(process.trackingNtupleSeedSelectors,process.siPhase2RecHits) -lstInputSequence = cms.Sequence(lstInputTask) - -# Path and EndPath definitions -process.raw2digi_step = cms.Path(process.RawToDigi) -process.reconstruction_step = cms.Path(process.reconstruction_trackingOnly*lstInputSequence*process.lstPixelSeedInputProducer*process.lstPhase2OTHitsInputProducer) -process.endjob_step = cms.EndPath(process.endOfProcess) -process.output_step = cms.EndPath(process.output) - -# Schedule definition -process.schedule = cms.Schedule(process.raw2digi_step,process.reconstruction_step,process.endjob_step,process.output_step) -from PhysicsTools.PatAlgos.tools.helpers import associatePatAlgosToolsTask -associatePatAlgosToolsTask(process) - - - -# Customisation from command line - -#Have logErrorHarvester wait for the same EDProducers to finish as those providing data for the OutputModule -from FWCore.Modules.logErrorHarvester_cff import customiseLogErrorHarvesterUsingOutputCommands -process = customiseLogErrorHarvesterUsingOutputCommands(process) - -# Add early deletion of temporary data products to reduce peak memory need -from Configuration.StandardSequences.earlyDeleteSettings_cff import customiseEarlyDelete -process = customiseEarlyDelete(process) -# End adding early deletion diff --git a/RecoTracker/LSTCore/README.md b/RecoTracker/LSTCore/README.md deleted file mode 100644 index cc313ba97ddf1..0000000000000 --- a/RecoTracker/LSTCore/README.md +++ /dev/null @@ -1,42 +0,0 @@ -# LSTCore proof of concept - -**This is a proof of concept for how I think we could continue working towards the CMSSW integration while keeping the standalone version alive.** - -This branch of CMSSW contains all of the relevant LST code and can be built entirely within CMSSW. The setup process is what you would expect. - -```bash -export CMSSW_VERSION=CMSSW_14_1_0_pre3 -export CMSSW_BRANCH=${CMSSW_VERSION}_LST_X_LSTCore -source /cvmfs/cms.cern.ch/cmsset_default.sh -cmsrel $CMSSW_VERSION -cd $CMSSW_VERSION/src -cmsenv -git cms-init -git remote add SegLink https://github.com/SegmentLinking/cmssw.git -git fetch SegLink ${CMSSW_BRANCH}:SegLink_cmssw -git checkout SegLink_cmssw -git cms-addpkg RecoTracker/LST RecoTracker/LSTCore Configuration/ProcessModifiers RecoTracker/ConversionSeedGenerators RecoTracker/FinalTrackSelectors RecoTracker/IterativeTracking -git submodule update --init --recursive -scram b -j 8 -``` - -## How it works - -The [TrackLooper repository](https://github.com/SegmentLinking/TrackLooper) is included as a git submodule in `RecoTracker/LSTCore` and the rest of the structure is set up using symlinks. Since we have made a lot of progress getting the code ready for CMSSW, it was just a matter of writing a simple `BuildFile.xml` file. - -## Benefits - -- It would make it easier to work towards the full integration if we have a self-contained thing. It would probably be easier to slowly adapt more of the "proper" CMSSW conventions instead of having to switch them all at once. -- We can keep the standalone version alive for as long as needed. -- Our CI can start running the checks that are done by the `cms-bot` for CMSSW PRs. - -## Disadvantages - -- I might be better to work towards having a single CMSSW package instead of having them separated in `LST` and `LSTCore`. However, I think we could use a similar approach in that case. -- I couldn't think of anything else, but there's likely other disadvantages. - -## Things to do - -- There are a few minor changes that need to be made to the current LST package to get it to work with LSTCore. -- At some point we'll have to figure out how to properly integrate the `data` directory. -