From 69fb87d0bf02bea6d1322bfce06027c29a4457fe Mon Sep 17 00:00:00 2001 From: michaelmackenzie Date: Wed, 3 Dec 2025 14:50:19 -0600 Subject: [PATCH 1/2] Combine Triggered and Triggerable outputs, define MC trigger bits --- JobConfig/digitize/NoField.fcl | 9 +++++---- JobConfig/digitize/OffSpill.fcl | 18 ++++++++++-------- JobConfig/digitize/OnSpill.fcl | 8 ++++---- JobConfig/digitize/OnSpillPOMS.fcl | 1 - JobConfig/digitize/prolog.fcl | 20 ++------------------ 5 files changed, 21 insertions(+), 35 deletions(-) diff --git a/JobConfig/digitize/NoField.fcl b/JobConfig/digitize/NoField.fcl index d1fc5bb5..731d211d 100644 --- a/JobConfig/digitize/NoField.fcl +++ b/JobConfig/digitize/NoField.fcl @@ -7,14 +7,15 @@ # add trigger filters physics.filters : { @table::physics.filters @table::Trig_extrPosMenuPSConfig } # Define the default list of triggerable paths -physics.TriggerablePaths : [ "TriggerableLHPath" ] +physics.TriggerablePaths : [ "TriggerableLHPath", "TriggerableCaloPath"] +physics.TriggerableBits : [ "20:TriggerableLHPath", "25:TriggerableCaloPath"] # add the trigger paths -physics.trigger_paths : ["DigitizePath", @sequence::physics.TriggerablePaths, @sequence::Trig_extrPosMenu.trigger_paths] +physics.trigger_paths : ["DigitizePath", @sequence::physics.TriggerableBits, @sequence::Trig_extrPosMenu.trigger_paths] # configure 'Triggered' output to be calibration triggers outputs.TriggeredOutput.SelectEvents : [ @sequence::Digitize.TrkTriggers, - @sequence::Digitize.CaloTriggers ] -outputs.TriggerableOutput.SelectEvents : [ @sequence::physics.TriggerablePaths ] + @sequence::Digitize.CaloTriggers, + @sequence::physics.TriggerablePaths ] # set the spill type physics.producers.EWMProducer.SpillType : 0 # Temporarily turn off Crv noise diff --git a/JobConfig/digitize/OffSpill.fcl b/JobConfig/digitize/OffSpill.fcl index 16c6c9a1..3739a698 100644 --- a/JobConfig/digitize/OffSpill.fcl +++ b/JobConfig/digitize/OffSpill.fcl @@ -2,19 +2,21 @@ # set the spill type physics.producers.EWMProducer.SpillType : 0 -# configure 'Triggered' output to include calib triggers -outputs.TriggeredOutput.SelectEvents : [ - @sequence::Digitize.SignalTriggers, - @sequence::Digitize.TrkTriggers, - @sequence::Digitize.CaloTriggers ] + # Lower thresholds for LoopHelix triggerable physics.filters.TriggerableLH.MinParticleMom : 50.0 physics.filters.TriggerableLH.MaxParticleMom : 300.0 # Define the default list of triggerable paths -physics.TriggerablePaths : [ "TriggerableLHPath", "TriggerableCHPath"] +physics.TriggerablePaths : [ "TriggerableLHPath", "TriggerableCHPath"] +physics.TriggerableBits : [ "20:TriggerableLHPath", "30:TriggerableCHPath"] # Define the trigger path -physics.trigger_paths : [ "DigitizePath", @sequence::physics.TriggerablePaths, @sequence::Trig_physMenu.trigger_paths] -outputs.TriggerableOutput.SelectEvents : [ @sequence::physics.TriggerablePaths ] +physics.trigger_paths : [ "DigitizePath", @sequence::physics.TriggerableBits, @sequence::Trig_physMenu.trigger_paths] +# configure 'Triggered' output to include calib triggers +outputs.TriggeredOutput.SelectEvents : [ + @sequence::Digitize.SignalTriggers, + @sequence::Digitize.TrkTriggers, + @sequence::Digitize.CaloTriggers, + @sequence::physics.TriggerablePaths ] physics.filters.TriggerableCHPrescale.prescaleFactor : 10 # only record 10% of triggerable high-momentum tracks # Temporarily turn off Crv noise physics.producers.CrvSiPMCharges.ThermalRate : 0 diff --git a/JobConfig/digitize/OnSpill.fcl b/JobConfig/digitize/OnSpill.fcl index c80fba69..3e61df8b 100644 --- a/JobConfig/digitize/OnSpill.fcl +++ b/JobConfig/digitize/OnSpill.fcl @@ -3,12 +3,12 @@ # set the spill type physics.producers.EWMProducer.SpillType : 1 # Define the default list of triggerable paths -physics.TriggerablePaths : [ "TriggerableLHPath", "TriggerableTwoTrackPath", "TriggerableCaloPath"] +physics.TriggerablePaths : [ "TriggerableLHPath", "TriggerableTwoTrackPath", "TriggerableCaloPath"] +physics.TriggerableBits : [ "20:TriggerableLHPath", "21:TriggerableTwoTrackPath", "25:TriggerableCaloPath"] # Define the trigger path -physics.trigger_paths : [ "DigitizePath", @sequence::physics.TriggerablePaths, @sequence::Trig_physMenu.trigger_paths] +physics.trigger_paths : [ "DigitizePath", @sequence::physics.TriggerableBits, @sequence::Trig_physMenu.trigger_paths] # configure 'Triggered' output to be signal -outputs.TriggeredOutput.SelectEvents : @local::Digitize.SignalTriggers -outputs.TriggerableOutput.SelectEvents : [ @sequence::physics.TriggerablePaths ] +outputs.TriggeredOutput.SelectEvents : [@sequence::Digitize.SignalTriggers, @sequence::physics.TriggerablePaths ] # Final configuration #include "Production/JobConfig/common/epilog.fcl" #include "Production/JobConfig/digitize/OnSpill_epilog.fcl" diff --git a/JobConfig/digitize/OnSpillPOMS.fcl b/JobConfig/digitize/OnSpillPOMS.fcl index 856a0fa4..a5ae08cf 100644 --- a/JobConfig/digitize/OnSpillPOMS.fcl +++ b/JobConfig/digitize/OnSpillPOMS.fcl @@ -5,4 +5,3 @@ services.DbService.version: "{dbversion}" services.DbService.verbose: 2 services.SeedService.baseSeed: "{seed}" outputs.TriggeredOutput.fileName: "dig.mu2e.{desc}OnSpillTriggered.MDC2020{release}_{dbpurpose}_{dbversion}.{sequence}.art" -outputs.TriggerableOutput.fileName: "dig.mu2e.{desc}OnSpillTriggerable.MDC2020{release}_{dbpurpose}_{dbversion}.{sequence}.art" diff --git a/JobConfig/digitize/prolog.fcl b/JobConfig/digitize/prolog.fcl index d626ad77..e22091a7 100644 --- a/JobConfig/digitize/prolog.fcl +++ b/JobConfig/digitize/prolog.fcl @@ -184,20 +184,13 @@ Digitize: { ] # - # Output Stream for events passing relevant triggers + # Output Stream for events passing relevant triggers (including potential MC triggers) # TriggeredOutput : { module_type : RootOutput fileName : "dig.owner.Triggered.version.sequencer.art" } # - # Output stream for MC-truth selected events - # - TriggerableOutput : { - module_type : RootOutput - fileName : "dig.owner.Triggerable.version.sequencer.art" - } - # # trigger selections that can be used to finalize the triggerOutput selection, depending on digitization mode and source # SignalTriggers : [ "cpr_Trk*_80*", "apr_Trk*_80*" ] # active trigger lines selecting events with 'high' momentum tracks with KinKal fits @@ -216,19 +209,10 @@ Digitize.TriggeredOutput.outputCommands : [ "drop *_*_*_*", @sequence::Digitize.MCDigiProducts ] -Digitize.TriggerableOutput.outputCommands : [ "drop *_*_*_*", - @sequence::Digitize.GeneralProducts, - @sequence::Digitize.GeneralMCProducts, - @sequence::Digitize.DigiProducts, - @sequence::Digitize.TriggerProducts, - @sequence::Digitize.MCDigiProducts -] - Digitize.Outputs : { TriggeredOutput : @local::Digitize.TriggeredOutput - TriggerableOutput : @local::Digitize.TriggerableOutput } -Digitize.EndPath : [ @sequence::Digitize.EndSequence, TriggeredOutput, TriggerableOutput ] +Digitize.EndPath : [ @sequence::Digitize.EndSequence, TriggeredOutput ] # override the trigger digitization sequence TrigRecoSequences.cfoDataGen : [ @sequence::Digitize.DigitizeSequence, ProcessCFOData ] END_PROLOG From be154d10d5e2058f01dea91ad85bac622d714c43 Mon Sep 17 00:00:00 2001 From: michaelmackenzie Date: Wed, 21 Jan 2026 11:27:42 -0600 Subject: [PATCH 2/2] Rename output of digitization, update mixing select events --- JobConfig/digitize/NoField.fcl | 2 +- JobConfig/digitize/OffSpill.fcl | 2 +- JobConfig/digitize/OnSpill.fcl | 2 +- JobConfig/digitize/OnSpillPOMS.fcl | 2 +- JobConfig/digitize/prolog.fcl | 10 +++++----- JobConfig/mixing/Mix.fcl | 5 +++-- JobConfig/mixing/MixTrigVal.fcl | 8 +++++--- 7 files changed, 17 insertions(+), 14 deletions(-) diff --git a/JobConfig/digitize/NoField.fcl b/JobConfig/digitize/NoField.fcl index 731d211d..ea9c1f2d 100644 --- a/JobConfig/digitize/NoField.fcl +++ b/JobConfig/digitize/NoField.fcl @@ -12,7 +12,7 @@ physics.TriggerableBits : [ "20:TriggerableLHPath", "25:TriggerableCaloPath"] # add the trigger paths physics.trigger_paths : ["DigitizePath", @sequence::physics.TriggerableBits, @sequence::Trig_extrPosMenu.trigger_paths] # configure 'Triggered' output to be calibration triggers -outputs.TriggeredOutput.SelectEvents : [ +outputs.Output.SelectEvents : [ @sequence::Digitize.TrkTriggers, @sequence::Digitize.CaloTriggers, @sequence::physics.TriggerablePaths ] diff --git a/JobConfig/digitize/OffSpill.fcl b/JobConfig/digitize/OffSpill.fcl index 3739a698..467e228e 100644 --- a/JobConfig/digitize/OffSpill.fcl +++ b/JobConfig/digitize/OffSpill.fcl @@ -12,7 +12,7 @@ physics.TriggerableBits : [ "20:TriggerableLHPath", "30:TriggerableCHPath"] # Define the trigger path physics.trigger_paths : [ "DigitizePath", @sequence::physics.TriggerableBits, @sequence::Trig_physMenu.trigger_paths] # configure 'Triggered' output to include calib triggers -outputs.TriggeredOutput.SelectEvents : [ +outputs.Output.SelectEvents : [ @sequence::Digitize.SignalTriggers, @sequence::Digitize.TrkTriggers, @sequence::Digitize.CaloTriggers, diff --git a/JobConfig/digitize/OnSpill.fcl b/JobConfig/digitize/OnSpill.fcl index 3e61df8b..8dde801d 100644 --- a/JobConfig/digitize/OnSpill.fcl +++ b/JobConfig/digitize/OnSpill.fcl @@ -8,7 +8,7 @@ physics.TriggerableBits : [ "20:TriggerableLHPath", "21:TriggerableTwoTrackPath # Define the trigger path physics.trigger_paths : [ "DigitizePath", @sequence::physics.TriggerableBits, @sequence::Trig_physMenu.trigger_paths] # configure 'Triggered' output to be signal -outputs.TriggeredOutput.SelectEvents : [@sequence::Digitize.SignalTriggers, @sequence::physics.TriggerablePaths ] +outputs.Output.SelectEvents : [@sequence::Digitize.SignalTriggers, @sequence::physics.TriggerablePaths ] # Final configuration #include "Production/JobConfig/common/epilog.fcl" #include "Production/JobConfig/digitize/OnSpill_epilog.fcl" diff --git a/JobConfig/digitize/OnSpillPOMS.fcl b/JobConfig/digitize/OnSpillPOMS.fcl index a5ae08cf..200fbb58 100644 --- a/JobConfig/digitize/OnSpillPOMS.fcl +++ b/JobConfig/digitize/OnSpillPOMS.fcl @@ -4,4 +4,4 @@ services.DbService.purpose: "MDC2020_{dbpurpose}" services.DbService.version: "{dbversion}" services.DbService.verbose: 2 services.SeedService.baseSeed: "{seed}" -outputs.TriggeredOutput.fileName: "dig.mu2e.{desc}OnSpillTriggered.MDC2020{release}_{dbpurpose}_{dbversion}.{sequence}.art" +outputs.Output.fileName: "dig.mu2e.{desc}OnSpill.MDC2020{release}_{dbpurpose}_{dbversion}.{sequence}.art" diff --git a/JobConfig/digitize/prolog.fcl b/JobConfig/digitize/prolog.fcl index e22091a7..e3bfb971 100644 --- a/JobConfig/digitize/prolog.fcl +++ b/JobConfig/digitize/prolog.fcl @@ -186,9 +186,9 @@ Digitize: { # # Output Stream for events passing relevant triggers (including potential MC triggers) # - TriggeredOutput : { + Output : { module_type : RootOutput - fileName : "dig.owner.Triggered.version.sequencer.art" + fileName : "dig.owner.output.version.sequencer.art" } # # trigger selections that can be used to finalize the triggerOutput selection, depending on digitization mode and source @@ -201,7 +201,7 @@ Digitize: { EndSequence : [digiCompressionCheck] } -Digitize.TriggeredOutput.outputCommands : [ "drop *_*_*_*", +Digitize.Output.outputCommands : [ "drop *_*_*_*", @sequence::Digitize.GeneralProducts, @sequence::Digitize.GeneralMCProducts, @sequence::Digitize.DigiProducts, @@ -210,9 +210,9 @@ Digitize.TriggeredOutput.outputCommands : [ "drop *_*_*_*", ] Digitize.Outputs : { - TriggeredOutput : @local::Digitize.TriggeredOutput + Output : @local::Digitize.Output } -Digitize.EndPath : [ @sequence::Digitize.EndSequence, TriggeredOutput ] +Digitize.EndPath : [ @sequence::Digitize.EndSequence, Output ] # override the trigger digitization sequence TrigRecoSequences.cfoDataGen : [ @sequence::Digitize.DigitizeSequence, ProcessCFOData ] END_PROLOG diff --git a/JobConfig/mixing/Mix.fcl b/JobConfig/mixing/Mix.fcl index 99520586..cb5c2e6c 100644 --- a/JobConfig/mixing/Mix.fcl +++ b/JobConfig/mixing/Mix.fcl @@ -20,6 +20,8 @@ physics : { TriggerableLHPath : [ @sequence::Mixing.MixSequence, @sequence::Digitize.TriggerableLHSequence ] TriggerableTwoTrackPath : [ @sequence::Mixing.MixSequence, @sequence::Digitize.TriggerableTwoTrackSequence ] TriggerableCaloPath : [ @sequence::Mixing.MixSequence, @sequence::Digitize.TriggerableCaloSequence ] + TriggerablePaths : [ "TriggerableLHPath", "TriggerableTwoTrackPath", "TriggerableCaloPath"] + TriggerableBits : [ "20:TriggerableLHPath", "21:TriggerableTwoTrackPath", "25:TriggerableCaloPath"] # define the trigger sequences and paths @table::TrigRecoSequences @table::TrigSequences @@ -36,8 +38,7 @@ physics.TriggerablePaths : [ "TriggerableLHPath", "TriggerableTwoTrackPath", "Tr # define paths physics.trigger_paths : [ "DigitizePath", @sequence::physics.TriggerablePaths, @sequence::Trig_physMenu.trigger_paths] # configure 'Triggered' output to be signal -outputs.TriggeredOutput.SelectEvents : @local::Digitize.SignalTriggers -outputs.TriggerableOutput.SelectEvents : [ @sequence::physics.TriggerablePaths ] +outputs.Output.SelectEvents : [@sequence::Digitize.SignalTriggers, @sequence::physics.TriggerablePaths ] # Final configuration #include "Production/JobConfig/common/epilog.fcl" #include "Production/JobConfig/digitize/epilog.fcl" diff --git a/JobConfig/mixing/MixTrigVal.fcl b/JobConfig/mixing/MixTrigVal.fcl index 499e44dd..8a383031 100644 --- a/JobConfig/mixing/MixTrigVal.fcl +++ b/JobConfig/mixing/MixTrigVal.fcl @@ -20,10 +20,12 @@ physics : { # define the trigger sequences and paths @table::TrigRecoSequences @table::TrigSequences + TriggerablePaths : [ "TriggerableLHPath", "TriggerableTwoTrackPath", "TriggerableCaloPath"] + TriggerableBits : [ "20:TriggerableLHPath", "21:TriggerableTwoTrackPath", "25:TriggerableCaloPath"] } # define output streams -outputs : { TriggeredOutput : @local::Digitize.TriggeredOutput } -physics.EndPath : [ @sequence::Digitize.EndSequence, TriggeredOutput ] +outputs : { Output : @local::Digitize.Output } +physics.EndPath : [ @sequence::Digitize.EndSequence, Output ] physics.end_paths : [ EndPath ] # final overrides # set the event timing for OnSpill @@ -31,7 +33,7 @@ physics.producers.EWMProducer.SpillType : 1 # add the trigger paths physics.trigger_paths : [ "0:DigitizePath", @sequence::Trig_valMenu.trigger_paths] # configure 'Triggered' output to be signal -outputs.TriggeredOutput.SelectEvents : @local::Digitize.SignalTriggers +outputs.Output.SelectEvents : [@sequence::Digitize.SignalTriggers, @sequence::physics.TriggerablePaths ] # configure 'Triggerable' to be empty physics.TriggerablePath : [] # Final configuration