Skip to content
1 change: 1 addition & 0 deletions fcl/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ add_subdirectory(caf)
add_subdirectory(services)
add_subdirectory(utilities)
add_subdirectory(compatibility)
add_subdirectory(numi-anaA)
add_subdirectory(syst_variations)

install_fhicl()
44 changes: 44 additions & 0 deletions fcl/caf/SystTools/configs/config_test_Multisigma.fcl
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
GENIEReWeight_Multisigma_Tool_Config: {

tool_type: "GENIEReWeight"

# Updated 25 July 2023 by S. Gardiner
instance_name: "ICARUS_v2_multisigma"

# Keep one GENIEReWeight instance per discrete dial tweak in memory
# Requires no reconfigures within the event loop
UseFullHERG: true

ignore_parameter_dependence: true

################################## CCQE Parameters

# This dial varies the strength of the RPA corrections that are applied in
# the Valencia CCQE model. The implementation was contributed to GENIE by
# MicroBooNE and is documented in Phys. Rev. D 105, 072001 (2022).
RPA_CCQE_central_value: 0
RPA_CCQE_variation_descriptor: "[-1,+1,-2,+2,-3,+3]"

# This dial varies the strength of the electromagnetic potential used by
# the Valencia CCQE model to apply Coulomb corrections to the cross
# section. The implementation was contributed to GENIE by MicroBooNE and is
# documented in Phys. Rev. D 105, 072001 (2022).
CoulombCCQE_central_value: 0
CoulombCCQE_variation_descriptor: "[-1,+1,-2,+2,-3,+3]"

# Photon angular distribution in Delta -> photon N decays
# ThetaDelta2NRad = 0 gives the default isotropic angular distribution
# ThetaDelta2NRad = 1 gives an alternative distribution proportional to
# cos^2(theta). See also Phys. Rev. D 105, 072001 (2022).
ThetaDelta2NRad_central_value: 0
ThetaDelta2NRad_variation_descriptor: "[1.0]"

NormCCCOH_central_value: 0
NormCCCOH_variation_descriptor: "[-1,+1,-2,+2,-3,+3]"

NormNCCOH_central_value: 0
NormNCCOH_variation_descriptor: "[-1,+1,-2,+2,-3,+3]"

}

syst_providers: [GENIEReWeight_Multisigma_Tool_Config]
9 changes: 6 additions & 3 deletions fcl/caf/cafmaker_defs.fcl
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
#include "eventweight_genie_sbn.fcl"
#include "eventweight_genie_systtools.fcl"
#include "eventweight_flux_sbn.fcl"
#include "eventweight_geant4_sbn.fcl"
#include "mcreco.fcl"
#include "mcsproducer.fcl"
#include "rangeproducer.fcl"
Expand Down Expand Up @@ -119,6 +120,7 @@ recoana_caf_preprocess_producers: {
genieweight: @local::sbn_eventweight_genie
systtools: @local::sbn_systtools
fluxweight: @local::sbn_eventweight_flux
geant4weight: @local::sbn_eventweight_geant4
}

# Overwrite labels
Expand All @@ -138,6 +140,7 @@ recoana_caf_preprocess_producers.pandoraPidGausCryoW.CalorimetryModuleLabel: "pa

recoana_caf_preprocess_producers.genieweight.weight_functions: @local::recoana_caf_preprocess_producers.genieweight.weight_functions_genie
recoana_caf_preprocess_producers.fluxweight.weight_functions: @local::recoana_caf_preprocess_producers.fluxweight.weight_functions_flux
recoana_caf_preprocess_producers.geant4weight.weight_functions: @local::recoana_caf_preprocess_producers.geant4weight.weight_functions_reint

# Producers for making SCE products
recoana_sce_producers: {
Expand Down Expand Up @@ -272,7 +275,7 @@ caf_preprocess_data_sequence: [
ShowerCosmicDistCryoE, ShowerCosmicDistCryoW
]

caf_preprocess_evtw_sequence: [@sequence::caf_preprocess_sequence, rns, genieweight, fluxweight]
caf_preprocess_evtw_sequence: [@sequence::caf_preprocess_sequence, rns, genieweight, fluxweight, geant4weight]

caf_preprocess_sce_sequence: [ mcreco,
# Run the SCE correction
Expand All @@ -294,7 +297,7 @@ caf_preprocess_sce_sequence: [ mcreco,
# TODO: rns??
]

caf_preprocess_sce_evtw_sequence: [@sequence::caf_preprocess_sce_sequence, rns, genieweight, fluxweight]
caf_preprocess_sce_evtw_sequence: [@sequence::caf_preprocess_sce_sequence, rns, genieweight, fluxweight, geant4weight]

# CAFMaker config
cafmaker: @local::standard_cafmaker
Expand Down Expand Up @@ -329,7 +332,7 @@ cafmaker.OpFlashLabel: "opflash"
cafmaker.TriggerLabel: "emuTrigger"
cafmaker.FlashTrigLabel: "" # unavailable
cafmaker.SimChannelLabel: "largeant"
cafmaker.SystWeightLabels: ["genieweight", "fluxweight"]
cafmaker.SystWeightLabels: ["genieweight", "fluxweight", "geant4weight"]
cafmaker.TPCPMTBarycenterMatchLabel: "tpcpmtbarycentermatch"
cafmaker.TrackHitFillRREndCut: 30 # include entire PID region

Expand Down
68 changes: 68 additions & 0 deletions fcl/caf/cafmakerjob_icarus_data_rereco_numi.fcl
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
#include "stage1_icarus_defs.fcl"
#include "cafmakerjob_icarus_data.fcl"

process_name: stage1REDO

services:
{
TFileService: { }
IICARUSChannelMap: @local::icarus_channelmappinggservice
@table::icarus_wirecalibration_services
SpaceChargeService: @local::icarus_spacecharge
IFBeam: {}
}

physics.producers: {
@table::physics.producers
@table::icarus_stage1_producers
}

physics.filters: {
@table::icarus_stage1_filters
}

physics.analyzers: {
@table::icarus_stage1_analyzers
}

physics.runprod: [
@sequence::icarus_filter_cluster3D,
@sequence::icarus_pandora_Gauss,
# @sequence::icarus_reco_fm,
# @sequence::icarus_crttrack,
# @sequence::icarus_crtt0match,
caloskimCalorimetryCryoE, caloskimCalorimetryCryoW,

@sequence::physics.runprod
]
physics.outana: [ caloskimE, caloskimW]
physics.stream1: []

physics.trigger_paths: [ runprod ]
physics.end_paths: [ outana, stream1 ]

source.inputCommands: [
"keep *_*_*_*",
"drop *_*_*_stage1"
]

physics.analyzers.caloskimE.SelectEvents: [ runprod ]
physics.analyzers.caloskimW.SelectEvents: [ runprod ]

services.SpaceChargeService: {
EnableCalEfieldSCE: false
EnableCalSpatialSCE: false
EnableCorrSCE: false
EnableSimEfieldSCE: false
EnableSimSpatialSCE: false
InputFilename: "SCEoffsets/SCEoffsets_ICARUS_E500_voxelTH3.root"
RepresentationType: "Voxelized_TH3"
service_provider: "SpaceChargeServiceICARUS"
}

### adding t0 info in the calorimetry variables
physics.producers.pandoraCaloGausCryoE.T0ModuleLabel: "pandoraGausCryoE"
physics.producers.pandoraCaloGausCryoW.T0ModuleLabel: "pandoraGausCryoW"

# physics.producers.pandoraCaloGausCryoE.ChargeMethod: 2 # SumADC
# physics.producers.pandoraCaloGausCryoW.ChargeMethod: 2 # SumADC
3 changes: 3 additions & 0 deletions fcl/caf/cafmakerjob_icarus_data_rereco_numi_Run1.fcl
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#include "cafmakerjob_icarus_data_rereco_numi.fcl"

services.Geometry: @local::icarus_geometry_services_no_overburden_legacy_icarus_v3.Geometry
4 changes: 4 additions & 0 deletions fcl/caf/cafmakerjob_icarus_data_rereco_numi_Run2OffBeam.fcl
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#include "cafmakerjob_icarus_data_rereco_numi.fcl"

# Get EXT
physics.runprod: [numiextinfo, @sequence::physics.runprod]
5 changes: 5 additions & 0 deletions fcl/caf/cafmakerjob_icarus_data_rereco_numi_Run2OnBeam.fcl
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#include "cafmakerjob_icarus_data_rereco_numi.fcl"

# Get POT
# physics.runprod: [numiinfo, @sequence::physics.runprod]

4 changes: 2 additions & 2 deletions fcl/caf/cafmakerjob_icarus_systtools_and_fluxwgt.fcl
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#include "cafmakerjob_icarus.fcl"

physics.runprod: [ @sequence::caf_preprocess_sequence, rns, systtools, fluxweight, cafmaker ]
physics.runprod: [ @sequence::caf_preprocess_sequence, rns, systtools, fluxweight, geant4weight, cafmaker ]

physics.producers.cafmaker.SystWeightLabels: ["systtools", "fluxweight"]
physics.producers.cafmaker.SystWeightLabels: ["systtools", "fluxweight", "geant4weight"]

60 changes: 60 additions & 0 deletions fcl/caf/cafmakerjob_rereco_numi_icarus_systtools_and_fluxwgt.fcl
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
#include "stage1_icarus_defs.fcl"
#include "services_icarus_simulation.fcl"
#include "cafmakerjob_icarus.fcl"

process_name: stage1REDO

services:
{
TFileService: { }
IICARUSChannelMap: @local::icarus_channelmappinggservice
@table::icarus_wirecalibration_services
SpaceChargeService: @local::icarus_spacecharge
IFBeam: {}
}
services.ParticleInventoryService: @local::standard_particleinventoryservice


physics.producers: {
@table::physics.producers
@table::icarus_stage1_producers
}

physics.filters: {
@table::icarus_stage1_filters
}

physics.analyzers: {
@table::icarus_stage1_analyzers
}

physics.runprod: [
rns,
@sequence::icarus_filter_cluster3D,
@sequence::icarus_pandora_Gauss,
# @sequence::icarus_reco_fm,
# @sequence::icarus_crttrack,
# @sequence::icarus_crtt0match,
caloskimCalorimetryCryoE, caloskimCalorimetryCryoW,
systtools, fluxweight, geant4weight,

@sequence::physics.runprod
]

physics.outana: [ caloskimE, caloskimW]
physics.stream1: []

physics.trigger_paths: [ runprod ]
physics.end_paths: [ outana, stream1 ]

source.inputCommands: [
"keep *_*_*_*",
"drop *_*_*_stage1"
]

physics.analyzers.caloskimE.SelectEvents: [ runprod ]
physics.analyzers.caloskimW.SelectEvents: [ runprod ]

physics.producers.cafmaker.SystWeightLabels: ["systtools", "fluxweight", "geant4weight"]
#include "cafmaker_add_detsim2d_icarus.fcl"

91 changes: 91 additions & 0 deletions fcl/gen/MultiVertex/cohlikevertex_icarus.fcl
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
#include "services_icarus_simulation.fcl"
#include "beamgates_icarus.fcl"

process_name: CohLikeVertexGen

CohLikeVertex: {
module_type : "MultiPartVertex"
DebugMode : 1
G4Time : 1500
G4TimeJitter : 0
TPCRange : [[0,0], [0,1], [0,2], [0,3], [1,0], [1,1], [1,2], [1,3]]
XRange : [10]
YRange : [10]
ZRange : [10, 100]
MultiMax : 2
MultiMin : 2
ParticleParameter: {
PDGCode : [ [13, -13], [211,-211]]
MinMulti : [ 1, 1]
MaxMulti : [ 1, 1]
ProbWeight : [ 1, 1]
KERange : [ [0.2,4], [0.2,4]]
MomRange : []
}
}

services:
{
scheduler: { defaultExceptions: false } # Make all uncaught exceptions fatal.
# Load the service that manages root files for histograms.
TFileService: { fileName: "multivertex_hist_uboone.root" }
TimeTracker: {}
MemoryTracker: { ignoreTotal: 1 } # default is one
RandomNumberGenerator: {} #ART native random number generator
#FileCatalogMetadata: @local::art_file_catalog_mc
@table::icarus_gen_services
}

#Start each new event with an empty event.
source:
{
module_type: EmptyEvent
timestampPlugin: { plugin_type: "GeneratedEventTimestamp" }
maxEvents: 10 # Number of events to create
firstRun: 1 # Run number to use for this file
firstEvent: 1 # number of first event in the file
}

# Define and configure some modules to do work on each event.
# First modules are defined; they are scheduled later.
# Modules are grouped by type.
physics:
{

producers:
{
generator: @local::CohLikeVertex
beamgate: @local::icarus_standardbeamgate_NuMI # from beamgates_icarus.fcl
rns: { module_type: "RandomNumberSaver" }
}

#define the producer and filter modules for this path, order matters,
#filters reject all following items. see lines starting physics.producers below
simulate: [ rns, generator, beamgate ]

#define the output stream, there could be more than one if using filters
stream1: [ out1 ]

#trigger_paths is a keyword and contains the paths that modify the art::event,
#ie filters and producers
trigger_paths: [simulate]

#end_paths is a keyword and contains the paths that do not modify the art::Event,
#ie analyzers and output streams. these all run simultaneously
end_paths: [stream1]
}

#block to define where the output goes. if you defined a filter in the physics
#block and put it in the trigger_paths then you need to put a SelectEvents: {SelectEvents: [XXX]}
#entry in the output stream you want those to go to, where XXX is the label of the filter module(s)
outputs:
{
out1:
{
module_type: RootOutput
fileName: "prod_multivertex_icarus_%tc_gen.root"
dataTier: "generated"
compressionLevel: 1
saveMemoryObjectThreshold: 0
}
}
4 changes: 4 additions & 0 deletions fcl/gen/mevprtl/alp/alp_gen_icarus_M350.fcl
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#include "alp_corsika_p_gen_icarus.fcl"

alpM: 0.35
#include "set_alpM.fcl"
4 changes: 4 additions & 0 deletions fcl/gen/mevprtl/alp/alp_gen_icarus_M400.fcl
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#include "alp_corsika_p_gen_icarus.fcl"

alpM: 0.4
#include "set_alpM.fcl"
4 changes: 4 additions & 0 deletions fcl/gen/mevprtl/alp/alp_gen_icarus_M450.fcl
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#include "alp_corsika_p_gen_icarus.fcl"

alpM: 0.45
#include "set_alpM.fcl"
6 changes: 6 additions & 0 deletions fcl/gen/mevprtl/alp/alp_gen_icarus_M650.fcl
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#include "alp_corsika_p_gen_icarus.fcl"

alpM: 0.65
#include "set_alpM.fcl"
alpfa: 1e6
#include "set_alpfa.fcl"
6 changes: 6 additions & 0 deletions fcl/gen/mevprtl/alp/alp_gen_icarus_M750.fcl
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#include "alp_corsika_p_gen_icarus.fcl"

alpM: 0.75
#include "set_alpM.fcl"
alpfa: 1e6
#include "set_alpfa.fcl"
13 changes: 13 additions & 0 deletions fcl/gen/mevprtl/higgs/dissH_M280.fcl
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#include "dissonant_higgs_gen.fcl"

physics.producers.generator.Decay.AllowPionDecay: false
physics.producers.generator.Decay.AllowPi0Decay: false

physics.producers.generator.Decay.ReferenceHiggsMixing: 3e-5
physics.producers.generator.Flux.MixingAngle: 3e-5

physics.producers.generator.RayTrace.MaxWeightFudge: 1.
physics.producers.generator.RayTrace.ReferenceLabSolidAngle: 1e-4

higgsM: 0.28
#include "set_higgsM.fcl"
Loading