|
| 1 | +#include "mchitmodules.fcl" |
| 2 | +#include "mctrutht0matching.fcl" |
| 3 | +#include "mcreco.fcl" |
| 4 | +#include "backtrackerservice.fcl" |
| 5 | +#include "particleinventoryservice.fcl" |
| 6 | +#include "stage1_icarus_driver_common.fcl" |
| 7 | + |
| 8 | +process_name: MCstage1p2 |
| 9 | + |
| 10 | +# Disabled Space-Charge service for calorimetry |
| 11 | +services.SpaceChargeService: { |
| 12 | + EnableCalEfieldSCE: false |
| 13 | + EnableCalSpatialSCE: false |
| 14 | + EnableCorrSCE: false |
| 15 | + EnableSimEfieldSCE: false |
| 16 | + EnableSimSpatialSCE: false |
| 17 | + InputFilename: "SCEoffsets/SCEoffsets_ICARUS_E500_voxelTH3.root" |
| 18 | + RepresentationType: "Voxelized_TH3" |
| 19 | + service_provider: "SpaceChargeServiceICARUS" |
| 20 | +} |
| 21 | + |
| 22 | +services.BackTrackerService: @local::standard_backtrackerservice |
| 23 | +# In the 2D-detsim, SimChannel objects are made by the WireCell |
| 24 | +# drift simulation (daq), not LArG4 (largeant). Thus, we need |
| 25 | +# to overwrite the truth matching labels in the calibration ntuple maker |
| 26 | +services.BackTrackerService.BackTracker.SimChannelModuleLabel: "merge" |
| 27 | +services.ParticleInventoryService: @local::standard_particleinventoryservice |
| 28 | + |
| 29 | +## Add the MC module to the list of producers |
| 30 | +physics.producers: { |
| 31 | + @table::icarus_stage1_producers |
| 32 | + |
| 33 | + #mcophit: @local::ICARUSMCOpHit |
| 34 | + mcopflashTPC0: @local::ICARUSMCOpFlashTPC0 |
| 35 | + mcopflashTPC1: @local::ICARUSMCOpFlashTPC1 |
| 36 | + mcopflashTPC2: @local::ICARUSMCOpFlashTPC2 |
| 37 | + mcopflashTPC3: @local::ICARUSMCOpFlashTPC3 |
| 38 | + |
| 39 | + cheatopflashTPC0: @local::ICARUSCheatOpFlashTPC0 |
| 40 | + cheatopflashTPC1: @local::ICARUSCheatOpFlashTPC1 |
| 41 | + cheatopflashTPC2: @local::ICARUSCheatOpFlashTPC2 |
| 42 | + cheatopflashTPC3: @local::ICARUSCheatOpFlashTPC3 |
| 43 | + |
| 44 | + ### mc producers |
| 45 | + mcreco: @local::standard_mcreco |
| 46 | + mchitfinder: @local::standard_mchitfinder |
| 47 | + mcassociationsGausCryoE: @local::standard_mcparticlehitmatching |
| 48 | + mcassociationsGausCryoW: @local::standard_mcparticlehitmatching |
| 49 | +} |
| 50 | + |
| 51 | +physics.reco: [ |
| 52 | + @sequence::icarus_reco_Gauss2D_CryoE , |
| 53 | + @sequence::icarus_reco_Gauss2D_CryoW , |
| 54 | + @sequence::icarus_reco_fm, |
| 55 | + @sequence::icarus_tpcpmtbarycentermatch, |
| 56 | + @sequence::icarus_crttrack, |
| 57 | + @sequence::icarus_crtt0tagging, |
| 58 | + caloskimCalorimetryCryoE, caloskimCalorimetryCryoW, |
| 59 | + mcassociationsGausCryoE, mcassociationsGausCryoW, |
| 60 | + mcreco |
| 61 | + ] |
| 62 | + |
| 63 | +physics.outana: [ @sequence::icarus_analysis_modules ] |
| 64 | +physics.trigger_paths: [ reco ] |
| 65 | +physics.end_paths: [ outana, stream1 ] |
| 66 | +outputs.out1.fileName: "%ifb_%tc-%p.root" |
| 67 | +outputs.out1.dataTier: "reconstructed" |
| 68 | +outputs.out1.outputCommands: [ |
| 69 | + "keep *_*_*_*", |
| 70 | + "drop *_caloskimCalorimetryCryoE_*_*", |
| 71 | + "drop *_caloskimCalorimetryCryoW_*_*" |
| 72 | +] |
| 73 | + |
| 74 | +source: |
| 75 | +{ |
| 76 | + maxEvents: 10 # Number of events to create |
| 77 | +} |
| 78 | + |
| 79 | +#Redefine TPCPMTBarycenterMatch producers with MC parameters |
| 80 | +physics.producers.tpcpmtbarycentermatchCryoE: @local::mc_tpcpmtbarycentermatchproducer_east |
| 81 | +physics.producers.tpcpmtbarycentermatchCryoW: @local::mc_tpcpmtbarycentermatchproducer_west |
| 82 | + |
| 83 | +# Turn on truth-info for track skimmer |
| 84 | +physics.analyzers.caloskimE.G4producer: "largeant" |
| 85 | +physics.analyzers.caloskimE.SimChannelproducer: "merge" |
| 86 | +physics.analyzers.caloskimE.RawDigitproducers: ["MCDecodeTPCROI:PHYSCRATEDATATPCEW", "MCDecodeTPCROI:PHYSCRATEDATATPCEE"] |
| 87 | +physics.analyzers.caloskimE.SelectEvents: [reco] |
| 88 | + |
| 89 | +physics.analyzers.caloskimW.G4producer: "largeant" |
| 90 | +physics.analyzers.caloskimW.SimChannelproducer: "merge" |
| 91 | +physics.analyzers.caloskimW.RawDigitproducers: ["MCDecodeTPCROI:PHYSCRATEDATATPCWW", "MCDecodeTPCROI:PHYSCRATEDATATPCWE"] |
| 92 | +physics.analyzers.caloskimW.SelectEvents: [reco] |
| 93 | + |
| 94 | +physics.producers.mcassociationsGausCryoE.HitParticleAssociations.HitModuleLabelVec: ["cluster3DCryoE"] |
| 95 | +physics.producers.mcassociationsGausCryoW.HitParticleAssociations.HitModuleLabelVec: ["cluster3DCryoW"] |
| 96 | + |
| 97 | +# Remove missing products in MC |
| 98 | +physics.analyzers.simpleLightAna.TriggerLabel: "" |
| 99 | +physics.analyzers.simpleLightAna.RWMLabel: "" |
| 100 | +physics.analyzers.simpleLightAna.OpDetWaveformLabels: ["opdaq"] |
| 101 | + |
| 102 | +# Configure mcreco to read SEDLite instead of SED and MCParticleLite in addition to MCParticle |
| 103 | +physics.producers.mcreco.G4ModName: @erase |
| 104 | +physics.producers.mcreco.SimChannelLabel: "filtersed" |
| 105 | +physics.producers.mcreco.MCParticleLabel: "largeant" |
| 106 | +physics.producers.mcreco.UseSimEnergyDepositLite: true |
| 107 | +physics.producers.mcreco.UseSimEnergyDeposit: false |
| 108 | +physics.producers.mcreco.IncludeDroppedParticles: true #this is now true with larsoft v09_89 and newer |
| 109 | +physics.producers.mcreco.MCParticleDroppedLabel: "largeant:droppedMCParticles" |
| 110 | +physics.producers.mcreco.MCRecoPart.SavePathPDGList: [13,-13,211,-211,111,311,310,130,321,-321,2212,2112,2224,2214,2114,1114,3122,1000010020,1000010030,1000020030,1000020040] |
| 111 | +physics.producers.mcreco.MCRecoPart.TrackIDOffsets: [0,10000000,20000000] #Account for track ID offsets in labeling primaries |
| 112 | + |
| 113 | +message: @local::icarus_message_services_prod |
| 114 | + |
| 115 | +#icarus_calonormtoolsTest: [@local::driftnorm_sql, @local::yznorm_sql, @local::tpcgain_sql] |
| 116 | +#icarus_calonormtoolsMC: [@local::tpcgain_sql] |
| 117 | + |
| 118 | +runPeriod: 2 |
| 119 | + |
| 120 | +physics.producers.SBNShowerGausCryoE.ShowerFinderTools[7].CalorimetryAlg: @local::icarus_calorimetryalgmc |
| 121 | +physics.producers.SBNShowerGausCryoE.ShowerFinderTools[7].ApplyCorrectionsInNorm: true |
| 122 | +physics.producers.SBNShowerGausCryoE.ShowerFinderTools[7].NormTools: @local::icarus_calonormtoolsMC |
| 123 | +physics.producers.SBNShowerGausCryoE.ShowerFinderTools[7].NormTools[0].MC: @local::runPeriod |
| 124 | +physics.producers.SBNShowerGausCryoE.ShowerFinderTools[7].NormTools[1].MC: @local::runPeriod |
| 125 | +physics.producers.SBNShowerGausCryoW.ShowerFinderTools[7].CalorimetryAlg: @local::icarus_calorimetryalgmc |
| 126 | +physics.producers.SBNShowerGausCryoW.ShowerFinderTools[7].ApplyCorrectionsInNorm: true |
| 127 | +physics.producers.SBNShowerGausCryoW.ShowerFinderTools[7].NormTools: @local::icarus_calonormtoolsMC |
| 128 | +physics.producers.SBNShowerGausCryoW.ShowerFinderTools[7].NormTools[0].MC: @local::runPeriod |
| 129 | +physics.producers.SBNShowerGausCryoW.ShowerFinderTools[7].NormTools[1].MC: @local::runPeriod |
| 130 | + |
| 131 | +physics.producers.SBNShowerGausCryoE.ShowerFinderTools[5].CalorimetryAlg: @local::icarus_calorimetryalgmc |
| 132 | +physics.producers.SBNShowerGausCryoE.ShowerFinderTools[5].ApplyCorrectionsInNorm: true |
| 133 | +physics.producers.SBNShowerGausCryoE.ShowerFinderTools[5].NormTools: @local::icarus_calonormtoolsMC |
| 134 | +physics.producers.SBNShowerGausCryoE.ShowerFinderTools[5].NormTools[0].MC: @local::runPeriod |
| 135 | +physics.producers.SBNShowerGausCryoE.ShowerFinderTools[5].NormTools[1].MC: @local::runPeriod |
| 136 | +physics.producers.SBNShowerGausCryoW.ShowerFinderTools[5].CalorimetryAlg: @local::icarus_calorimetryalgmc |
| 137 | +physics.producers.SBNShowerGausCryoW.ShowerFinderTools[5].ApplyCorrectionsInNorm: true |
| 138 | +physics.producers.SBNShowerGausCryoW.ShowerFinderTools[5].NormTools: @local::icarus_calonormtoolsMC |
| 139 | +physics.producers.SBNShowerGausCryoW.ShowerFinderTools[5].NormTools[0].MC: @local::runPeriod |
| 140 | +physics.producers.SBNShowerGausCryoW.ShowerFinderTools[5].NormTools[1].MC: @local::runPeriod |
| 141 | + |
| 142 | +physics.producers.SBNShowerGausCryoE.ShowerFinderTools[3].ApplyCorrectionsInNorm: true |
| 143 | +physics.producers.SBNShowerGausCryoE.ShowerFinderTools[3].NormTools: @local::icarus_calonormtoolsMC |
| 144 | +physics.producers.SBNShowerGausCryoW.ShowerFinderTools[3].NormTools[0].MC: @local::runPeriod |
| 145 | +physics.producers.SBNShowerGausCryoW.ShowerFinderTools[3].NormTools[1].MC: @local::runPeriod |
| 146 | +physics.producers.SBNShowerGausCryoW.ShowerFinderTools[3].ApplyCorrectionsInNorm: true |
| 147 | +physics.producers.SBNShowerGausCryoW.ShowerFinderTools[3].NormTools: @local::icarus_calonormtoolsMC |
| 148 | +physics.producers.SBNShowerGausCryoW.ShowerFinderTools[3].NormTools[0].MC: @local::runPeriod |
| 149 | +physics.producers.SBNShowerGausCryoW.ShowerFinderTools[3].NormTools[1].MC: @local::runPeriod |
| 150 | + |
| 151 | +services.message.destinations : |
| 152 | +{ |
| 153 | + STDCOUT: |
| 154 | + { |
| 155 | + type: "cout" #tells the message service to output this destination to cout |
| 156 | + threshold: "ERROR" #tells the message service that this destination applies to WARNING and higher level messages |
| 157 | + categories: |
| 158 | + { |
| 159 | + Cluster3DICARUS: |
| 160 | + { |
| 161 | + limit: -1 |
| 162 | + reportEvery: 1 |
| 163 | + } |
| 164 | + SimDriftElectrons: |
| 165 | + { |
| 166 | + limit: 0 |
| 167 | + } |
| 168 | + } |
| 169 | + } |
| 170 | +} |
| 171 | + |
0 commit comments