diff --git a/.muse b/.muse index c89bbd72..8b1c4c1b 100644 --- a/.muse +++ b/.muse @@ -1,2 +1,2 @@ -PATH MDC2020 -PATH MDC2020/POMS +PATH Scripts +PATH Scripts/POMS diff --git a/CampaignConfig/mdc2020_beam.cfg b/CampaignConfig/mdc2020_beam.cfg index 69063eae..e058af2e 100644 --- a/CampaignConfig/mdc2020_beam.cfg +++ b/CampaignConfig/mdc2020_beam.cfg @@ -3,12 +3,12 @@ group = mu2e experiment = mu2e wrapper = file:///${FIFE_UTILS_DIR}/libexec/fife_wrap submitter = mu2e -outdir_fcl = /pnfs/mu2e/scratch/datasets/phy-etc/cnf/mu2e/ +outdir_fcl = /pnfs/mu2e/persistent/datasets/phy-etc/cnf/mu2e/ outdir_sim = /pnfs/mu2e/scratch/datasets/phy-sim/sim/mu2e/ outdir_dts = /pnfs/mu2e/scratch/datasets/phy-sim/dts/mu2e/ outdir_sim_tape = /pnfs/mu2e/tape/phy-sim/sim/mu2e/ outdir_dts_tape = /pnfs/mu2e/tape/phy-sim/dts/mu2e/ -logdir_bck = /pnfs/mu2e/scratch/datasets/phy-etc/bck/mu2e/ +logdir_bck = /pnfs/mu2e/persistent/datasets/phy-etc/bck/mu2e/ desc = MDC2020k run_number = 1201 njobs = 500 @@ -31,7 +31,7 @@ e = SAM_EXPERIMENT e_1 = IFDH_DEBUG e_2 = POMS4_CAMPAIGN_NAME e_3 = POMS4_CAMPAIGN_STAGE_NAME -resource-provides = usage_model=DEDICATED,OPPORTUNISTIC,OFFSITE +resource-provides = usage_model=DEDICATED,OPPORTUNISTIC generate-email-summary = True expected-lifetime = 23h memory = 2500MB @@ -183,7 +183,7 @@ executable_2.name = generate_fcl executable_2.arg_4 = --run-number=%(run_number)s executable_2.arg_5 = --events-per-job=4000 executable_2.arg_6 = --njobs=%(njobs)s -executable_2.arg_7 = --embed +executable_2.arg_7 = --include executable_2.arg_8 = Production/JobConfig/beam/POT.fcl job_setup.ifdh_art = False @@ -217,7 +217,7 @@ executable.name = true executable_2.name = generate_fcl executable_2.arg_4 = --merge=500 executable_2.arg_5 = --inputs=inputs.txt -executable_2.arg_6 = --embed +executable_2.arg_6 = --include executable_2.arg_7 = Production/JobConfig/beam/BeamSplitter.fcl job_setup.ifdh_art = False @@ -255,7 +255,7 @@ job_setup.prescript_2 = dataset=sim.%(submitter)s.EleBeamCat.%(desc)s.art job_setup.prescript_3 = nfiles=`samCountFiles.sh $dataset` job_setup.prescript_4 = nevts=`samCountEvents.sh $dataset` job_setup.prescript_5 = let nskip=nevts/nfiles -job_setup.prescript_6 = echo '#include "Production/JobConfig/beam/EleBeamResampler.fcl"' >> template.fcl +job_setup.prescript_6 = echo '#include "Production/JobConfig/pileup/EleBeamResampler.fcl"' >> template.fcl job_setup.prescript_7 = echo 'physics.filters.beamResampler.mu2e.MaxEventsToSkip: '${nskip} >> template.fcl executable.name = true @@ -300,7 +300,7 @@ job_setup.prescript_2 = dataset=sim.%(submitter)s.MuBeamCat.%(desc)s.art job_setup.prescript_3 = nfiles=`samCountFiles.sh $dataset` job_setup.prescript_4 = nevts=`samCountEvents.sh $dataset` job_setup.prescript_5 = let nskip=nevts/nfiles -job_setup.prescript_6 = echo '#include "Production/JobConfig/beam/MuBeamResampler.fcl"' >> template.fcl +job_setup.prescript_6 = echo '#include "Production/JobConfig/pileup/MuBeamResampler.fcl"' >> template.fcl job_setup.prescript_7 = echo 'physics.filters.beamResampler.mu2e.MaxEventsToSkip: '${nskip} >> template.fcl executable.name = true @@ -383,7 +383,7 @@ job_setup.prescript_2 = dataset=sim.%(submitter)s.NeutralsCat.%(desc)s.art job_setup.prescript_3 = nfiles=`samCountFiles.sh $dataset` job_setup.prescript_4 = nevts=`samCountEvents.sh $dataset` job_setup.prescript_5 = let nskip=nevts/nfiles -job_setup.prescript_6 = echo '#include "Production/JobConfig/beam/NeutralsResampler.fcl"' >> template.fcl +job_setup.prescript_6 = echo '#include "Production/JobConfig/pileup/NeutralsResampler.fcl"' >> template.fcl job_setup.prescript_7 = echo 'physics.filters.neutralsResampler.mu2e.MaxEventsToSkip: '${nskip} >> template.fcl executable.name = true @@ -718,7 +718,7 @@ executable_2.name = generate_fcl executable_2.arg_4 = --inputs=inputs.txt executable_2.arg_5 = --merge=500 executable_2.arg_6 = --include -executable_2.arg_7 = Production/JobConfig/beam/MuonStopSelector.fcl +executable_2.arg_7 = Production/JobConfig/pileup/MuonStopSelector.fcl job_setup.ifdh_art = False diff --git a/CampaignConfig/mdc2020_beam.ini b/CampaignConfig/mdc2020_beam.ini index da8312b4..910bf6c0 100644 --- a/CampaignConfig/mdc2020_beam.ini +++ b/CampaignConfig/mdc2020_beam.ini @@ -1,7 +1,7 @@ [campaign] experiment = mu2e poms_role = production -name = MDC2020f_beam +name = MDC2020_beam_pileup campaign_stage_list = pot_fcl, pot, beam_cat_fcl, beam_cat, neutrals_cat_fcl, neutrals_cat, mubeam_resampler_fcl, mubeam_resampler, elebeam_resampler_fcl, elebeam_resampler, neutrals_resampler_fcl, neutrals_resampler, elebeamflash_cat_fcl, elebeamflash_cat, earlyelebeamflash_cat_fcl, earlyelebeamflash_cat, mubeamflash_cat_fcl, mubeamflash_cat, earlymubeamflash_cat_fcl, earlymubeamflash_cat, ipastops_cat_fcl, ipastops_cat, targetstops_cat_fcl, targetstops_cat, neutralsflash_cat_fcl, neutralsflash_cat, earlyneutralsflash_cat_fcl, earlyneutralsflash_cat, muonstops_fcl, muonstops, mustoppileup_fcl, mustoppileup, mustoppileup_cat_fcl, mustoppileup_cat [campaign_defaults] diff --git a/CampaignConfig/mdc2020_corsika.cfg b/CampaignConfig/mdc2020_corsika.cfg index 37c78a23..cb9303f5 100644 --- a/CampaignConfig/mdc2020_corsika.cfg +++ b/CampaignConfig/mdc2020_corsika.cfg @@ -3,12 +3,15 @@ group = mu2e experiment = mu2e wrapper = file:///${FIFE_UTILS_DIR}/libexec/fife_wrap submitter = mu2e -outdir_fcl = /pnfs/mu2e/scratch/datasets/phy-etc/cnf/mu2e/ +outdir_fcl = /pnfs/mu2e/persistent/datasets/phy-etc/cnf/mu2e/ outdir_sim = /pnfs/mu2e/scratch/datasets/phy-sim/sim/mu2e/ outdir_dts = /pnfs/mu2e/scratch/datasets/phy-sim/dts/mu2e/ -logdir_bck = /pnfs/mu2e/scratch/datasets/phy-etc/bck/mu2e/ -desc = MDC2020j -release = MDC2020j +logdir_bck = /pnfs/mu2e/persistent/datasets/phy-etc/bck/mu2e/ +outdir_dig_tape = /pnfs/mu2e/tape/phy-sim/dig/mu2e/ +outdir_dts_tape = /pnfs/mu2e/tape/phy-sim/dts/mu2e/ +outdir_sim_tape = /pnfs/mu2e/tape/phy-sim/sim/mu2e/ +desc = MDC2020k +release = MDC2020k output_dataset = override_me artRoot_dataset = override_me histRoot_dataset = override_me @@ -28,7 +31,7 @@ e = SAM_EXPERIMENT e_1 = IFDH_DEBUG e_2 = POMS4_CAMPAIGN_NAME e_3 = POMS4_CAMPAIGN_STAGE_NAME -resource-provides = usage_model=DEDICATED,OPPORTUNISTIC,OFFSITE +resource-provides = usage_model=DEDICATED,OPPORTUNISTIC generate-email-summary = True expected-lifetime = 23h memory = 2000MB @@ -42,7 +45,7 @@ append_condor_requirements='(TARGET.HAS_SINGULARITY=?=true)' debug = True find_setups = False source_1 = /cvmfs/mu2e.opensciencegrid.org/setupmu2e-art.sh -source_2 = /cvmfs/mu2e.opensciencegrid.org/Musings/SimJob/current/setup.sh +source_2 = /cvmfs/mu2e.opensciencegrid.org/Musings/SimJob/%(release)s/setup.sh setup_1 = dhtools setup_2 = ifdh_art v2_12_02 -q +e20:+prof setup_3 = ifdhc v2_5_14 @@ -69,7 +72,6 @@ add_to_dataset = cnf.%(submitter)s.%(stage_name)s.%(desc)s.fcl declare_metadata = True metadata_extractor = json add_location = True -filter_metadata = checksum add_metadata = file_format=fcl hash = 2 parallel = 5 @@ -79,21 +81,18 @@ hash_alg = sha256 addoutput = *.tbz add_to_dataset = bck.%(submitter)s.%(stage_name)s.%(desc)s.tbz declare_metadata = True -metadata_extractor = /cvmfs/mu2e.opensciencegrid.org/Musings/SimJob/current/link/Production/MDC2020/POMS/printJsonSave.sh +metadata_extractor = printJsonSave.sh add_location = True add_metadata = file_format=tbz -filter_metadata = checksum hash = 2 hash_alg = sha256 [job_output_2] addoutput = *.art -dest = %(outdir_sim)s declare_metadata = True -metadata_extractor = /cvmfs/mu2e.opensciencegrid.org/Musings/SimJob/current/link/Production/MDC2020/POMS/printJsonSave.sh +metadata_extractor = printJsonSave.sh add_location = True add_metadata = file_format=art -filter_metadata = checksum hash = 2 hash_alg = sha256 @@ -103,18 +102,15 @@ global.stage_name = CosmicDSStopsCORSIKA job_output.filter_metadata = parents,checksum job_output.dest = %(outdir_fcl)s/%(stage_name)s/%(desc)s/fcl/ -job_setup.prescript = /cvmfs/mu2e.opensciencegrid.org/Musings/SimJob/current/link/Production/MDC2020/POMS/fileNamesGenerator.sh 0 50 %(submitter)s > filenames.txt -executable.name = generate_fcl -executable.arg_1 = --description=CosmicDSStopsCORSIKA -executable.arg_2 = --dsconf=%(desc)s -executable.arg_3 = --dsowner=%(submitter)s -executable.arg_4 = --inputs=filenames.txt -executable.arg_5 = --merge-factor=1 -executable.arg_6 = --embed -executable.arg_7 = JobConfig/cosmic/S1DSStopsCORSIKA.fcl +job_setup.prescript = fileNamesGenerator.sh 0 50 %(submitter)s > filenames.txt +executable.name = true +executable_2.name = generate_fcl +executable_2.arg_4 = --inputs=filenames.txt +executable_2.arg_5 = --merge-factor=1 +executable_2.arg_6 = --include +executable_2.arg_7 = JobConfig/cosmic/S1DSStopsCORSIKA.fcl job_setup.ifdh_art = False - [stage_generation] global.stage_name = CosmicDSStopsCORSIKA job_output_2.add_to_dataset = sim.%(submitter)s.CosmicDSStopsCORSIKA.%(desc)s.art @@ -130,16 +126,16 @@ job_setup.setup_9 = gcc v9_3_0 submit.n_files_per_job = 1 sam_consumer.limit = 1 submit.dataset = cnf.%(submitter)s.CosmicDSStopsCORSIKA.%(desc)s.fcl -executable.name = /cvmfs/mu2e.opensciencegrid.org/Musings/SimJob/current/link/Production/MDC2020/POMS/getFilename.sh +executable.name = getFilename.sh job_setup.postscript_1 = samweb file-lineage parents `basename ${fname}` > parents.txt job_setup.postscript_2 = CORSIKA_EXE=`which corsika77400Linux_QGSJET_fluka` job_setup.postscript_3 = DATDIR=`dirname $CORSIKA_EXE` job_setup.postscript_4 = IFS='.' read -r -a FIELDS <<< "`cat filename.txt`" -job_setup.postscript_5 = sed -e "s:_DATDIR_:$DATDIR/:" -e "s:_DIRECT_:`pwd`/:" -e "s:_SEED1_:$RANDOM:" -e "s:_SEED2_:$RANDOM:" -e "s:_NSHOW_:3000000:" -e "s:RUNNR 1:RUNNR ${FIELDS[4]}:" /cvmfs/mu2e.opensciencegrid.org/Musings/SimJob/current/link/Production/JobConfig/cosmic/CORSIKAInput.txt > corsika_conf.txt +job_setup.postscript_5 = sed -e "s:_DATDIR_:$DATDIR/:" -e "s:_DIRECT_:`pwd`/:" -e "s:_SEED1_:$RANDOM:" -e "s:_SEED2_:$RANDOM:" -e "s:_NSHOW_:3000000:" -e "s:RUNNR 1:RUNNR ${FIELDS[4]}:" /cvmfs/mu2e.opensciencegrid.org/Musings/SimJob/%(release)s/link/Production/JobConfig/cosmic/CORSIKAInput.txt > corsika_conf.txt job_setup.postscript_6 = cat corsika_conf.txt job_setup.postscript_7 = corsika77400Linux_QGSJET_fluka < corsika_conf.txt > corsika_log.txt job_setup.postscript_8 = mv DAT* `cat filename.txt` -job_setup.postscript_9 = /cvmfs/mu2e.opensciencegrid.org/Musings/SimJob/current/link/Production/MDC2020/POMS/loggedMu2e.sh --sam-data-tier=Output:sim -c `cat torun.txt` +job_setup.postscript_9 = loggedMu2e.sh -c `cat torun.txt` job_setup.multifile = False job_setup.setup_local = True @@ -151,22 +147,19 @@ job_output.dest = %(outdir_fcl)s/%(stage_name)s/%(desc)s/fcl/ job_setup.prescript = samweb list-file-locations --defname=sim.%(submitter)s.CosmicDSStopsCORSIKA.%(desc)s.art --schema=root | cut -f1 > inputs.txt job_setup.prescript_2 = echo '#include "JobConfig/common/artcat.fcl"' >> template.fcl job_setup.prescript_3 = echo 'outputs.out.fileName: "sim.DSOWNER.CosmicDSStopsCORSIKACat.DSCONF.SEQ.art"' >> template.fcl - -executable.name = generate_fcl -executable.arg_1 = --description=%(stage_name)s -executable.arg_2 = --dsconf=%(desc)s -executable.arg_3 = --dsowner=%(submitter)s -executable.arg_4 = --merge=50 -executable.arg_5 = --inputs=inputs.txt -executable.arg_6 = --embed -executable.arg_7 = template.fcl +executable.name = true +executable_2.name = generate_fcl +executable_2.arg_4 = --merge=50 +executable_2.arg_5 = --inputs=inputs.txt +executable_2.arg_6 = --embed +executable_2.arg_7 = template.fcl job_setup.ifdh_art = False [stage_generation_cat] global.stage_name = CosmicDSStopsCORSIKACat job_output_2.add_to_dataset = sim.%(submitter)s.CosmicDSStopsCORSIKACat.%(desc)s.art -job_output_2.dest = %(outdir_sim)s/CosmicDSStopsCORSIKACat/%(desc)s/art +job_output_2.dest = %(outdir_sim_tape)s/CosmicDSStopsCORSIKACat/%(desc)s/art job_output_1.dest = %(logdir_bck)s/%(stage_name)s/%(desc)s/tbz/ global.artRoot_dataset = sim.%(submitter)s.CosmicDSStopsCORSIKACat.%(desc)s.art @@ -185,23 +178,21 @@ global.stage_name = CosmicCORSIKA job_output.dest = %(outdir_fcl)s/%(stage_name)s/%(desc)s/fcl/ job_setup.prescript = samweb list-file-locations --defname=sim.%(submitter)s.CosmicDSStopsCORSIKACat.%(desc)s.art --schema=root | cut -f1 > inputs.txt -executable.name = generate_fcl -executable.arg_1 = --description=%(stage_name)s -executable.arg_2 = --dsconf=%(desc)s -executable.arg_3 = --dsowner=%(submitter)s -executable.arg_4 = --aux=1:physics.filters.cosmicResample.fileNames:inputs.txt -executable.arg_5 = --run-number=1205 -executable.arg_6 = --events-per-job=65000 -executable.arg_7 = --njobs=293 -executable.arg_8 = --embed -executable.arg_9 = JobConfig/cosmic/S2Resampler.fcl +executable.name = true +executable_2.name = generate_fcl +executable_2.arg_4 = --aux=1:physics.filters.cosmicResample.fileNames:inputs.txt +executable_2.arg_5 = --run-number=1205 +executable_2.arg_6 = --events-per-job=65000 +executable_2.arg_7 = --njobs=293 +executable_2.arg_8 = --embed +executable_2.arg_9 = JobConfig/cosmic/S2Resampler.fcl job_setup.postscript_5 = sed -i "s/\.Cosmic\./\.CosmicCORSIKA\./g" cnf.*.fcl job_setup.ifdh_art = False [stage_resampler] global.stage_name = CosmicCORSIKA job_output_2.add_to_dataset = dts.%(submitter)s.CosmicCORSIKA.%(desc)s.art -job_output_2.dest = %(outdir_dts)s/CosmicCORSIKA/%(desc)s/art +job_output_2.dest = %(outdir_dts_tape)s/CosmicCORSIKA/%(desc)s/art job_output_1.dest = %(logdir_bck)s/%(stage_name)s/%(desc)s/tbz/ global.artRoot_dataset = dts.%(submitter)s.CosmicCORSIKA.%(desc)s.art @@ -213,9 +204,17 @@ submit.n_files_per_job = 1 submit.memory = 4000MB sam_consumer.limit = 1 submit.dataset = cnf.%(submitter)s.CosmicCORSIKA.%(desc)s.fcl -executable.arg_1 = --sam-data-tier=Output:dts job_setup.multifile = False job_setup.setup_local = True +[stage_recovery] +submit.dataset=%(override_dataset)s + [executable] -name = /cvmfs/mu2e.opensciencegrid.org/Musings/SimJob/current/link/Production/MDC2020/POMS/loggedMu2e.sh +name = loggedMu2e.sh + +[executable_2] +name = true +arg_1 = --description=%(stage_name)s +arg_2 = --dsconf=%(desc)s +arg_3 = --dsowner=%(submitter)s diff --git a/CampaignConfig/mdc2020_corsika.ini b/CampaignConfig/mdc2020_corsika.ini index fb3859a3..dc85bcfe 100644 --- a/CampaignConfig/mdc2020_corsika.ini +++ b/CampaignConfig/mdc2020_corsika.ini @@ -1,7 +1,7 @@ [campaign] experiment = mu2e poms_role = production -name = MDC2020_CORSIKAf +name = MDC2020_CORSIKA campaign_stage_list = generation_fcl, generation, generation_cat_fcl, generation_cat, resampler_fcl, resampler [campaign_defaults] @@ -15,7 +15,7 @@ param_overrides="[]" test_param_overrides="[]" merge_overrides=False login_setup=mu2epro_login -job_type=mu2e_production_jobtype +job_type=mu2e_cosmic_v2_production_jobtype stage_type=regular output_ancestor_depth=1 @@ -67,16 +67,17 @@ file_pattern_1 = %.art campaign_stage_1 = resampler_fcl file_pattern_1 = %.fcl -[job_type mu2e_production_jobtype] +[job_type corsika_mdc2020_jobtype] launch_script = fife_launch parameters = [["-c ", "/mu2e/app/users/srsoleti/workDir/Production/CampaignConfig/mdc2020_corsika.cfg"]] output_file_patterns = %.art recoveries = [["proj_status",[["-Osubmit.dataset=","%(dataset)s"]]]] -[job_type corsika_mdc2020_jobtype] +[job_type mu2e_cosmic_v2_production_jobtype] launch_script = fife_launch parameters = [["-c ", "/mu2e/app/users/srsoleti/workDir/Production/CampaignConfig/mdc2020_corsika.cfg"]] output_file_patterns = %.art +recoveries = [["proj_status",[["-Oglobal.override_dataset=','%(dataset)s"],["--stage ","recovery"]]]] [job_type generate_fcl_production_jobtype] launch_script = fife_launch diff --git a/CampaignConfig/mdc2020_mix.cfg b/CampaignConfig/mdc2020_mix.cfg index 6cbe797b..3ad1e1ba 100644 --- a/CampaignConfig/mdc2020_mix.cfg +++ b/CampaignConfig/mdc2020_mix.cfg @@ -3,11 +3,10 @@ group = mu2e experiment = mu2e wrapper = file:///${FIFE_UTILS_DIR}/libexec/fife_wrap submitter = mu2e -outdir_fcl = /pnfs/mu2e/scratch/datasets/phy-etc/cnf/mu2e/ +outdir_fcl = /pnfs/mu2e/persistent/datasets/phy-etc/cnf/mu2e/ outdir_dig_tape = /pnfs/mu2e/tape/phy-sim/dig/mu2e/ outdir_dts_tape = /pnfs/mu2e/tape/phy-sim/dts/mu2e/ - -logdir_bck = /pnfs/mu2e/scratch/datasets/phy-etc/bck/mu2e/ +logdir_bck = /pnfs/mu2e/persistent/datasets/phy-etc/bck/mu2e/ desc = MDC2020k run_number = 1210 njobs = 10 @@ -16,6 +15,7 @@ release_v = k stage_name = override_me artRoot_dataset = override_me histRoot_dataset = override_me +override_dataset = override_me [env_pass] IFDH_DEBUG = 1 @@ -31,7 +31,7 @@ e = SAM_EXPERIMENT e_1 = IFDH_DEBUG e_2 = POMS4_CAMPAIGN_NAME e_3 = POMS4_CAMPAIGN_STAGE_NAME -resource-provides = usage_model=DEDICATED,OPPORTUNISTIC,OFFSITE +resource-provides = usage_model=DEDICATED,OPPORTUNISTIC generate-email-summary = True expected-lifetime = 23h memory = 2500MB @@ -199,8 +199,6 @@ executable_2.arg_1 = CeEndpoint executable_2.arg_2 = MDC2020 executable_2.arg_3 = %(release_v)s executable_2.arg_4 = %(release_v)s -executable_2.arg_5 = 2000 -executable_2.arg_6 = %(njobs)s job_setup.ifdh_art = False @@ -245,14 +243,132 @@ job_setup.ifdh_art = False global.stage_name = NoPrimaryMix job_output_1.dest = %(logdir_bck)s/%(stage_name)s/%(desc)s/tbz/ -job_output_2.addoutput = dig.*.%(stage_name)sTriggeredMix.*art +job_output_2.addoutput = dig.*.%(stage_name)sTriggered.*art +job_output_2.add_to_dataset = dig.%(submitter)s.%(stage_name)sTriggered.%(desc)s.art +job_output_2.dest = %(outdir_dig_tape)s/%(stage_name)sTriggered/%(desc)s/art + +job_output_3.addoutput = dig.*.%(stage_name)sUntriggered.*art +job_output_3.add_to_dataset = dig.%(submitter)s.%(stage_name)sUntriggered.%(desc)s.art +job_output_3.dest = %(outdir_dig_tape)s/%(stage_name)sUntriggered/%(desc)s/art + +global.artRoot_dataset = dig.%(submitter)s.%(stage_name)sTriggered.%(desc)s.art,dig.%(submitter)s.%(stage_name)sUntriggered.%(desc)s.art + +submit.dataset = cnf.%(submitter)s.%(stage_name)s.%(desc)s.fcl +submit.n_files_per_job = 1 +sam_consumer.limit = 1 +job_setup.postscript = samweb file-lineage parents `basename ${fname}` > parents.txt + +job_setup.getconfig = True +job_setup.multifile = False +job_setup.setup_local = True + +[stage_noprimarypbimix_fcl] +global.stage_name = NoPrimaryPBISequenceMix +job_output.dest = %(outdir_fcl)s/%(stage_name)s/%(desc)s/fcl/ + +executable.name = true +executable_2.name = gen_Mix.sh +executable_2.arg_1 = NoPrimaryPBISequence +executable_2.arg_2 = MDC2020 +executable_2.arg_3 = %(release_v)s +executable_2.arg_4 = %(release_v)s + +job_setup.ifdh_art = False + +[stage_noprimarypbimix] +global.stage_name = NoPrimaryPBISequenceMix +job_output_1.dest = %(logdir_bck)s/%(stage_name)s/%(desc)s/tbz/ + +job_output_2.addoutput = dig.*.%(stage_name)sTriggered.*art job_output_2.add_to_dataset = dig.%(submitter)s.%(stage_name)sTriggered.%(desc)s.art job_output_2.dest = %(outdir_dig_tape)s/%(stage_name)sTriggered/%(desc)s/art job_output_3.addoutput = dig.*.%(stage_name)sUntriggered.*art -job_output_3.add_to_dataset = dig.%(submitter)s.N%(stage_name)sUntriggered.%(desc)s.art +job_output_3.add_to_dataset = dig.%(submitter)s.%(stage_name)sUntriggered.%(desc)s.art job_output_3.dest = %(outdir_dig_tape)s/%(stage_name)sUntriggered/%(desc)s/art +global.artRoot_dataset = dig.%(submitter)s.%(stage_name)sTriggered.%(desc)s.art,dig.%(submitter)s.%(stage_name)sUntriggered.%(desc)s.art + +submit.dataset = cnf.%(submitter)s.%(stage_name)s.%(desc)s.fcl +submit.n_files_per_job = 1 +submit.memory = 6000MB + +sam_consumer.limit = 1 +job_setup.postscript = samweb file-lineage parents `basename ${fname}` > parents.txt + +job_setup.getconfig = True +job_setup.multifile = False +job_setup.setup_local = True + +[stage_flateminus_fcl] +global.stage_name = FlateMinus +job_output.dest = %(outdir_fcl)s/%(stage_name)s/%(desc)s/fcl/ + +job_setup.prescript = samweb list-file-locations --defname=sim.%(submitter)s.MuminusStopsCat.%(desc)s.art --schema=root | cut -f1 > MuminusStopsCat.txt +job_setup.prescript_2 = dataset=sim.%(submitter)s.MuminusStopsCat.%(desc)s.art +job_setup.prescript_3 = nfiles=`samCountFiles.sh $dataset` +job_setup.prescript_4 = nevts=`samCountEvents.sh $dataset` +job_setup.prescript_5 = let nskip=nevts/nfiles +job_setup.prescript_6 = echo '#include "Production/JobConfig/primary/FlateMinus.fcl"' >> template.fcl +job_setup.prescript_7 = echo 'physics.filters.TargetStopResampler.mu2e.MaxEventsToSkip: '${nskip} >> template.fcl +job_setup.prescript_8 = echo 'physics.producers.generate.startMom : 75' >> template.fcl +job_setup.prescript_9 = echo 'physics.producers.generate.endMom : 110' >> template.fcl + +executable.name = true +executable_2.name = generate_fcl +executable_2.arg_4 = --run-number=%(run_number)s +executable_2.arg_5 = --events-per-job=4000 +executable_2.arg_6 = --njobs=100 +executable_2.arg_7 = --auxinput=1:physics.filters.TargetStopResampler.fileNames:MuminusStopsCat.txt +executable_2.arg_8 = --embed +executable_2.arg_9 = template.fcl + +job_setup.ifdh_art = False + +[stage_flateminus] +global.stage_name = FlateMinus + +job_output_1.dest = %(logdir_bck)s/%(stage_name)s/%(desc)s/tbz/ +job_output_2.addoutput = *.%(stage_name)s.*.art +job_output_2.add_to_dataset = dts.%(submitter)s.%(stage_name)s.%(desc)s.art +job_output_2.dest = %(outdir_dts_tape)s/%(stage_name)s/%(desc)s/art + +global.artRoot_dataset = dts.%(submitter)s.%(stage_name)s.%(desc)s.art + +submit.dataset = cnf.%(submitter)s.%(stage_name)s.%(desc)s.fcl +submit.n_files_per_job = 1 +sam_consumer.limit = 1 +job_setup.postscript = samweb file-lineage parents `basename ${fname}` > parents.txt +job_setup.getconfig = True +job_setup.multifile = False +job_setup.setup_local = True + +[stage_flateminusmix_fcl] +global.stage_name = FlateMinusMix +job_output.dest = %(outdir_fcl)s/%(stage_name)s/%(desc)s/fcl/ + +job_setup.prescript = samweb list-file-locations --defname=dts.%(submitter)s.FlateMinus.%(desc)s.art --schema=root | cut -f1 > CeEndpoint%(release_v)s.txt + +executable.name = true +executable_2.name = gen_Mix.sh +executable_2.arg_1 = FlateMinus +executable_2.arg_2 = MDC2020 +executable_2.arg_3 = %(release_v)s +executable_2.arg_4 = %(release_v)s + +job_setup.ifdh_art = False + +[stage_flateminusmix] +global.stage_name = FlateMinusMix +job_output_1.dest = %(logdir_bck)s/%(stage_name)s/%(desc)s/tbz/ + +job_output_2.addoutput = dig.*.%(stage_name)sTriggered.*art +job_output_2.add_to_dataset = dig.%(submitter)s.%(stage_name)sTriggered.%(desc)s.art +job_output_2.dest = %(outdir_dig_tape)s/%(stage_name)sTriggered/%(desc)s/art + +job_output_3.addoutput = dig.*.%(stage_name)sUntriggered.*art +job_output_3.add_to_dataset = dig.%(submitter)s.%(stage_name)sUntriggered.%(desc)s.art +job_output_3.dest = %(outdir_dig_tape)s/%(stage_name)sUntriggered/%(desc)s/art global.artRoot_dataset = dig.%(submitter)s.%(stage_name)sTriggered.%(desc)s.art,dig.%(submitter)s.%(stage_name)sUntriggered.%(desc)s.art submit.dataset = cnf.%(submitter)s.%(stage_name)s.%(desc)s.fcl @@ -264,6 +380,9 @@ job_setup.getconfig = True job_setup.multifile = False job_setup.setup_local = True +[stage_recovery] +submit.dataset=%(override_dataset)s + [executable] name = loggedMu2e.sh diff --git a/CampaignConfig/mdc2020_mix.ini b/CampaignConfig/mdc2020_mix.ini index c96caa98..e32a0c76 100644 --- a/CampaignConfig/mdc2020_mix.ini +++ b/CampaignConfig/mdc2020_mix.ini @@ -1,8 +1,8 @@ [campaign] experiment = mu2e poms_role = production -name = MDC2020j_mix -campaign_stage_list = ceendpoint_fcl, ceendpoint, ceendpointdigi_fcl, ceendpointdigi, ceendpointmix_fcl, ceendpointmix, noprimarymix_fcl, noprimary_mix +name = MDC2020_mix +campaign_stage_list = ceendpoint_fcl, ceendpoint, ceendpointdigi_fcl, ceendpointdigi, ceendpointmix_fcl, ceendpointmix, noprimarymix_fcl, noprimary_mix, noprimarypbimix_fcl, noprimarypbimix, flateminus_fcl, flateminus, flateminusmix_fcl, flateminusmix [campaign_defaults] vo_role=Production @@ -83,11 +83,57 @@ job_type = mu2e_mix_production_jobtype campaign_stage_1 = noprimarymix_fcl file_pattern_1 = %.fcl -[job_type mu2e_mix_production_jobtype] +[campaign_stage noprimarypbimix_fcl] +param_overrides = [["--stage ", "noprimarypbimix_fcl"]] +test_param_overrides = [["--stage ", "noprimarypbimix_fcl"]] +job_type = generate_fcl_mix_production_jobtype + +[campaign_stage noprimarypbimix] +param_overrides = [["--stage ", "noprimarypbimix"]] +test_param_overrides = [["--stage ", "noprimarypbimix"]] +job_type = mu2e_mix_production_jobtype + +[dependencies noprimarypbimix] +campaign_stage_1 = noprimarypbimix_fcl +file_pattern_1 = %.fcl + +[campaign_stage flateminus_fcl] +param_overrides = [["--stage ", "flateminus_fcl"]] +test_param_overrides = [["--stage ", "flateminus_fcl"]] +job_type = generate_fcl_mix_production_jobtype + +[campaign_stage flateminus] +param_overrides = [["--stage ", "flateminus"]] +test_param_overrides = [["--stage ", "flateminus"]] +job_type = mu2e_mix_production_jobtype + +[dependencies flateminus] +campaign_stage_1 = flateminus_fcl +file_pattern_1 = %.fcl + +[campaign_stage flateminusmix_fcl] +param_overrides = [["--stage ", "flateminusmix_fcl"]] +test_param_overrides = [["--stage ", "flateminusmix_fcl"]] +job_type = generate_fcl_mix_production_jobtype + +[dependencies flateminusmix_fcl] +campaign_stage_1 = flateminus +file_pattern_1 = %.art + +[campaign_stage flateminusmix] +param_overrides = [["--stage ", "flateminusmix"]] +test_param_overrides = [["--stage ", "flateminusmix"]] +job_type = mu2e_mix_production_jobtype + +[dependencies flateminusmix] +campaign_stage_1 = flateminusmix_fcl +file_pattern_1 = %.fcl + +[job_type mu2e_mix_v2_production_jobtype] launch_script = fife_launch parameters = [["-c ", "/mu2e/app/users/srsoleti/workDir/Production/CampaignConfig/mdc2020_mix.cfg"]] output_file_patterns = %.art -recoveries = [["proj_status",[["-Osubmit.dataset=","%(dataset)s"]]]] +recoveries = [["proj_status",[["-Oglobal.override_dataset=','%(dataset)s"],["--stage ","recovery"]]]] [job_type generate_fcl_mix_production_jobtype] launch_script = fife_launch diff --git a/JobConfig/beam/BeamSplitter.fcl b/JobConfig/beam/BeamSplitter.fcl index f5708a83..028f1453 100644 --- a/JobConfig/beam/BeamSplitter.fcl +++ b/JobConfig/beam/BeamSplitter.fcl @@ -13,7 +13,7 @@ physics: { SimParticles : BeamFilter PrintLevel : 0 ParticleCodes : [ [13, "uninitialized", "mu2eKillerVolume" ], # mu-, * , Manually stopped - [-13, "uninitialized" , "mu2eKillerVolume" ] ] # mu+, *, Manually stopped + [-13, "uninitialized" , "mu2eKillerVolume" ] ] # mu+, *, Manually stopped } } selectMuons : [muonSelector ] diff --git a/JobConfig/beam/EleBeamResampler.fcl b/JobConfig/beam/EleBeamResampler.fcl deleted file mode 100644 index f5c9dbd8..00000000 --- a/JobConfig/beam/EleBeamResampler.fcl +++ /dev/null @@ -1,115 +0,0 @@ -# -# Re-sample 'electron' beam entering the DS, propagate them to the detectors or stopping target, and write out the corresponding flash DetectorSteps and target mustops. -# Note the main flash stream has a time cut to avoid energy far outside the digitization window. A prescaled but otherwise uncut stream is used to -# record the flash peak -# -# original author: Yuri Oksuzian, 2019 -# Updated for MDC2020 (DetectorSteps): D. Brown - -#include "Offline/fcl/standardServices.fcl" -#include "Offline/CommonMC/fcl/prolog.fcl" -#include "Production/JobConfig/common/prolog.fcl" -#include "Production/JobConfig/beam/prolog.fcl" -#include "Production/JobConfig/primary/prolog.fcl" -#include "Production/JobConfig/pileup/prolog.fcl" - -process_name: EleBeamResampler - -source : { - module_type : EmptyEvent - maxEvents : @nil -} - -services : @local::Services.Sim -physics: { - producers : { - @table::Common.producers - @table::Primary.producers - compressDetStepMCs : { - @table::Primary.producers.compressDetStepMCs - @table::Pileup.producers.compressDetStepMCs - } - protonTimeOffset : @local::CommonMC.producers.protonTimeOffset - } - filters : { - @table::Common.filters - @table::Primary.filters - EarlyPrescaleFilter : { - @table::Beam.filters.PrescaleFilter - nPrescale : 1000 - } - beamResampler : @local::Beam.filters.beamResampler - DetStepFilter : { - @table::Primary.filters.DetStepFilter - @table::Pileup.filters.DetStepFilter - @table::Beam.filters.DetStepFilter - } -# instance to select flash without time cuts (prescaled) - EarlyDetStepFilter : { - @table::Primary.filters.DetStepFilter - @table::Pileup.filters.DetStepFilter - } - } - analyzers : { - @table::Common.analyzers - } - # setup paths - flashPath : [ @sequence::Beam.beamResamplerSequence, @sequence::Common.g4Sequence, @sequence::Primary.DetStepSequence, DetStepFilter, compressDetStepMCs ] - earlyFlashPath : [ @sequence::Beam.beamResamplerSequence, @sequence::Common.g4Sequence, EarlyPrescaleFilter, @sequence::Primary.DetStepSequence, EarlyDetStepFilter, compressDetStepMCs ] - trigger_paths: [ flashPath, earlyFlashPath ] - outPath : [ FlashOutput, EarlyFlashOutput ] - end_paths: [outPath] -} - -outputs: { - - FlashOutput : { - module_type: RootOutput - outputCommands: [ "drop *_*_*_*", - @sequence::Beam.DtsKeptProducts, - @sequence::Pileup.KeptProducts - ] - SelectEvents: [flashPath] - fileName : "dts.owner.EleBeamFlash.version.sequencer.art" - } - - EarlyFlashOutput : { - module_type: RootOutput - outputCommands: [ "drop *_*_*_*", - @sequence::Beam.DtsKeptProducts, - @sequence::Pileup.KeptProducts - ] - SelectEvents: [earlyFlashPath] - fileName : "dts.owner.EarlyEleBeamFlash.version.sequencer.art" - } -} - -# Point Mu2eG4 to the pre-simulated data -physics.producers.g4run.inputs: { - primaryType: "StepPoints" - primaryTag: "beamResampler:Beam" - inputMCTrajectories: "" - - simStageOverride: 1 - inputPhysVolumeMultiInfo: "beamResampler" - updateEventLevelVolumeInfos: { - input: "beamResampler:eventlevel" - outInstance: "eventlevel" - } -} -# copy over VD hits -physics.producers.g4run.SDConfig.preSimulatedHits: ["beamResampler:virtualdetector"] -# Kill stuck e+/e- -physics.producers.g4run.Mu2eG4CommonCut:{ - type: intersection - pars: - [ - {type: intersection pars: [ { type: kineticEnergy cut: 1.0 }, { type: pdgId pars: [ 11, -11] }]}, - {type: inVolume pars: [ TS2Vacuum, TS3Vacuum, TS4Vacuum, TS5Vacuum, DS2Vacuum, HallAir ]} - ] -} -#include "Production/JobConfig/common/MT.fcl" -#include "Production/JobConfig/common/epilog.fcl" -#include "Production/JobConfig/pileup/epilog.fcl" -#include "Production/JobConfig/beam/epilog.fcl" -services.GeometryService.inputFile : "Offline/Mu2eG4/geom/geom_common_no_tsu_ps.txt" diff --git a/JobConfig/beam/MuBeamResampler.fcl b/JobConfig/beam/MuBeamResampler.fcl deleted file mode 100644 index 678739eb..00000000 --- a/JobConfig/beam/MuBeamResampler.fcl +++ /dev/null @@ -1,158 +0,0 @@ -# -# Re-sample muons and associated particles entering the DS, propagate them to the detectors or stopping target, and write out the corresponding flash DetectorSteps and target mustops. -# Note the main flash stream has a time cut to avoid energy far outside the digitization window. A prescaled but otherwise uncut stream is used to -# record the flash peak -# -# original author: Yuri Oksuzian, 2019 -# Updated for MDC2020 (DetectorSteps): D. Brown - -#include "Offline/fcl/standardServices.fcl" -#include "Offline/CommonMC/fcl/prolog.fcl" -#include "Production/JobConfig/common/prolog.fcl" -#include "Production/JobConfig/beam/prolog.fcl" -#include "Production/JobConfig/primary/prolog.fcl" -#include "Production/JobConfig/pileup/prolog.fcl" - -process_name: MuBeamResampler - -source : { - module_type : EmptyEvent - maxEvents : @nil -} - -services : @local::Services.Sim -physics: { - producers : { - @table::Common.producers - @table::Primary.producers - compressDetStepMCs : { - @table::Primary.producers.compressDetStepMCs - @table::Pileup.producers.compressDetStepMCs - } - compressPVTargetStops : @local::Beam.producers.compressPVTargetStops - compressPVIPAStops : @local::Beam.producers.compressPVIPAStops - TargetMuonFinder : @local::Beam.producers.TargetMuonFinder - IPAMuonFinder : @local::Beam.producers.IPAMuonFinder - stoppedMuonDaughters : @local::Beam.producers.stoppedMuonDaughters - protonTimeOffset : @local::CommonMC.producers.protonTimeOffset - } - filters : { - @table::Common.filters - @table::Primary.filters - EarlyPrescaleFilter : { - @table::Beam.filters.PrescaleFilter - nPrescale : 30 - } - TargetStopPrescaleFilter: { - @table::Beam.filters.PrescaleFilter - nPrescale : 1000 # this depends on the resampling factor. If you change this, you MUST ALSO update Production/JobConfig/mixing/Mix.fcl - } - beamResampler : @local::Beam.filters.beamResampler - TargetStopFilter : @local::Beam.filters.TargetStopFilter - IPAStopFilter : @local::Beam.filters.IPAStopFilter - FlashFilter : @local::Beam.filters.FlashFilter - DetStepFilter : { - @table::Primary.filters.DetStepFilter - @table::Pileup.filters.DetStepFilter - @table::Beam.filters.DetStepFilter - } -# instance to select flash without time cuts (prescaled) - EarlyDetStepFilter : { - @table::Primary.filters.DetStepFilter - @table::Pileup.filters.DetStepFilter - } - } - analyzers : { - @table::Common.analyzers - } - # setup paths - targetStopPath : [ @sequence::Beam.beamResamplerSequence, @sequence::Common.g4Sequence, TargetStopPrescaleFilter, TargetMuonFinder, TargetStopFilter, compressPVTargetStops] - IPAStopPath : [ @sequence::Beam.beamResamplerSequence, @sequence::Common.g4Sequence, IPAMuonFinder, IPAStopFilter, compressPVIPAStops] - flashPath : [ @sequence::Beam.beamResamplerSequence, @sequence::Common.g4Sequence, TargetMuonFinder, stoppedMuonDaughters, FlashFilter, - @sequence::Primary.DetStepSequence, DetStepFilter, compressDetStepMCs ] - earlyFlashPath : [ @sequence::Beam.beamResamplerSequence, @sequence::Common.g4Sequence, TargetMuonFinder, stoppedMuonDaughters, FlashFilter, EarlyPrescaleFilter, - @sequence::Primary.DetStepSequence, EarlyDetStepFilter, compressDetStepMCs ] - trigger_paths: [ flashPath, earlyFlashPath, targetStopPath, IPAStopPath ] - outPath : [ FlashOutput, EarlyFlashOutput, TargetStopOutput, IPAStopOutput ] - end_paths: [outPath] -} - -outputs: { - TargetStopOutput : { - module_type: RootOutput - outputCommands: [ "drop *_*_*_*", - @sequence::Beam.SimKeptProducts, - "keep *_TargetStopFilter_*_*", - "keep *_compressPVTargetStops_*_*" - ] - SelectEvents: [targetStopPath] - fileName : "sim.owner.TargetStops.version.sequencer.art" - } - - IPAStopOutput : { - module_type: RootOutput - outputCommands: [ "drop *_*_*_*", - @sequence::Beam.SimKeptProducts, - "keep *_IPAStopFilter_*_*", - "keep *_compressPVIPAStops_*_*" - ] - SelectEvents: [IPAStopPath] - fileName : "sim.owner.IPAStops.version.sequencer.art" - } - - FlashOutput : { - module_type: RootOutput - outputCommands: [ "drop *_*_*_*", - @sequence::Beam.DtsKeptProducts, - @sequence::Pileup.KeptProducts - ] - SelectEvents: [flashPath] - fileName : "dts.owner.MuBeamFlash.version.sequencer.art" - } - - EarlyFlashOutput : { - module_type: RootOutput - outputCommands: [ "drop *_*_*_*", - @sequence::Beam.DtsKeptProducts, - @sequence::Pileup.KeptProducts - ] - SelectEvents: [earlyFlashPath] - fileName : "dts.owner.EarlyMuBeamFlash.version.sequencer.art" - } -} - -# Point Mu2eG4 to the pre-simulated data -physics.producers.g4run.inputs: { - primaryType: "StepPoints" - primaryTag: "beamResampler:Beam" - inputMCTrajectories: "" - - simStageOverride: 1 - inputPhysVolumeMultiInfo: "beamResampler" - updateEventLevelVolumeInfos: { - input: "beamResampler:eventlevel" - outInstance: "eventlevel" - } -} -# copy over VD hits -physics.producers.g4run.SDConfig.preSimulatedHits: ["beamResampler:virtualdetector"] -# Kill stuck e+/e- -physics.producers.g4run.Mu2eG4CommonCut:{ - type: intersection - pars: - [ - {type: intersection pars: [ { type: kineticEnergy cut: 1.0 }, { type: pdgId pars: [ 11, -11] }]}, - {type: inVolume pars: [ TS2Vacuum, TS3Vacuum, TS4Vacuum, TS5Vacuum, DS2Vacuum, HallAir ]} - ] -} -#include "Production/JobConfig/common/MT.fcl" -#include "Production/JobConfig/common/epilog.fcl" -#include "Production/JobConfig/pileup/epilog.fcl" -#include "Production/JobConfig/beam/epilog.fcl" -# reconfigure StepPoint producers to avoid double-counting particles from the mustop filter deep copy -physics.producers.StrawGasStepMaker.SkipTheseStepPoints : "g4run" -physics.producers.StrawGasStepMaker.KeepDeltasModule : "" -physics.producers.CaloShowerStepMaker.caloStepPointCollection : ["FlashFilter:calorimeter"] -physics.producers.CrvSteps.stepPointsModuleLabels : [ "FlashFilter" ] -physics.producers.compressDetStepMCs.simParticleTag : "FlashFilter" -services.GeometryService.inputFile : "Offline/Mu2eG4/geom/geom_common_no_tsu_ps.txt" diff --git a/JobConfig/beam/NeutralsResampler.fcl b/JobConfig/beam/NeutralsResampler.fcl deleted file mode 100644 index 1b3620be..00000000 --- a/JobConfig/beam/NeutralsResampler.fcl +++ /dev/null @@ -1,111 +0,0 @@ -# -# Re-sample (mostly neutral) particles exiting the TS or PS headed towards the CRV, and write out the corresponding flash DetectorSteps -# Note the main flash stream has a time cut to avoid energy far outside the digitization window. A prescaled but otherwise uncut stream is used to -# record the flash peak -# -# Updated for MDC2020 (DetectorSteps): D. Brown - -#include "Offline/fcl/standardServices.fcl" -#include "Offline/CommonMC/fcl/prolog.fcl" -#include "Production/JobConfig/common/prolog.fcl" -#include "Production/JobConfig/beam/prolog.fcl" -#include "Production/JobConfig/primary/prolog.fcl" -#include "Production/JobConfig/pileup/prolog.fcl" - -process_name: NeutralsResampler - -source : { - module_type : EmptyEvent - maxEvents : @nil -} - -services : @local::Services.Sim -physics: { - producers : { - @table::Common.producers - @table::Primary.producers - compressDetStepMCs : { - @table::Primary.producers.compressDetStepMCs - @table::Pileup.producers.compressDetStepMCs - } - protonTimeOffset : @local::CommonMC.producers.protonTimeOffset - } - filters : { - @table::Common.filters - EarlyPrescaleFilter : { - @table::Beam.filters.PrescaleFilter - nPrescale : 20 - } - neutralsResampler : @local::Beam.filters.neutralsResampler - DetStepFilter : { - @table::Primary.filters.DetStepFilter - @table::Pileup.filters.DetStepFilter - @table::Beam.filters.DetStepFilter - } -# instance to select flash without time cuts (prescaled) - EarlyDetStepFilter : { - @table::Primary.filters.DetStepFilter - @table::Pileup.filters.DetStepFilter - } - } - analyzers : { - @table::Common.analyzers - } - # setup paths - flashPath : [ @sequence::Beam.neutralsResamplerSequence, @sequence::Common.g4Sequence, @sequence::Primary.DetStepSequence, DetStepFilter, compressDetStepMCs ] - earlyFlashPath : [ @sequence::Beam.neutralsResamplerSequence, @sequence::Common.g4Sequence, EarlyPrescaleFilter, - @sequence::Primary.DetStepSequence, EarlyDetStepFilter, compressDetStepMCs ] - trigger_paths: [ flashPath , earlyFlashPath ] - outPath : [ FlashOutput, EarlyFlashOutput ] - end_paths: [outPath] -} - -outputs: { - FlashOutput : { - module_type: RootOutput - outputCommands: [ "drop *_*_*_*", - @sequence::Beam.DtsKeptProducts, - @sequence::Pileup.KeptProducts - ] - SelectEvents: [flashPath] - fileName: "dts.owner.NeutralsFlash.version.sequencer.art" - } - - EarlyFlashOutput : { - module_type: RootOutput - outputCommands: [ "drop *_*_*_*", - @sequence::Beam.DtsKeptProducts, - @sequence::Pileup.KeptProducts - ] - SelectEvents: [earlyFlashPath] - fileName : "dts.owner.EarlyNeutralsFlash.version.sequencer.art" - } -} - -# Point Mu2eG4 to the pre-simulated data -physics.producers.g4run.inputs: { - primaryType: "StepPoints" - primaryTag: "neutralsResampler:Neutrals" - inputMCTrajectories: "" - - simStageOverride: 1 - inputPhysVolumeMultiInfo: "neutralsResampler" - updateEventLevelVolumeInfos: { - input: "neutralsResampler:eventlevel" - outInstance: "eventlevel" - } -} -# Kill stuck e+/e- -physics.producers.g4run.Mu2eG4CommonCut:{ - type: intersection - pars: - [ - {type: intersection pars: [ { type: kineticEnergy cut: 1.0 }, { type: pdgId pars: [ 11, -11] }]}, - {type: inVolume pars: [ TS2Vacuum, TS3Vacuum, TS4Vacuum, TS5Vacuum, DS2Vacuum, HallAir ]} - ] -} -#include "Production/JobConfig/common/MT.fcl" -#include "Production/JobConfig/common/epilog.fcl" -#include "Production/JobConfig/pileup/epilog.fcl" -#include "Production/JobConfig/beam/epilog.fcl" -services.GeometryService.inputFile : "Offline/Mu2eG4/geom/geom_common_no_tsu_ps.txt" diff --git a/JobConfig/beam/POT.fcl b/JobConfig/beam/POT.fcl index 65ef1285..5e8087a3 100644 --- a/JobConfig/beam/POT.fcl +++ b/JobConfig/beam/POT.fcl @@ -11,8 +11,8 @@ process_name : POT source : { - module_type : EmptyEvent - maxEvents : @nil + module_type : EmptyEvent + maxEvents : @nil } services : @local::Services.Sim diff --git a/JobConfig/beam/POT_extmon.fcl b/JobConfig/beam/POT_extmon.fcl index 1de3eb07..cae3366d 100644 --- a/JobConfig/beam/POT_extmon.fcl +++ b/JobConfig/beam/POT_extmon.fcl @@ -11,8 +11,8 @@ process_name : POTextmon source : { - module_type : EmptyEvent - maxEvents : @nil + module_type : EmptyEvent + maxEvents : @nil } services : @local::Services.Sim @@ -24,7 +24,7 @@ physics : { generate: @local::PrimaryProtonGun compressPVextmonBeam : @local::Beam.producers.compressPVextmonBeam compressPVextmonRegion : @local::Beam.producers.compressPVextmonRegion - } + } filters: { @table::Common.filters extmonBeamFilter : @local::Beam.filters.extmonBeamFilter diff --git a/JobConfig/beam/POT_validation.fcl b/JobConfig/beam/POT_validation.fcl index 5c557d7d..f8963fa1 100644 --- a/JobConfig/beam/POT_validation.fcl +++ b/JobConfig/beam/POT_validation.fcl @@ -14,8 +14,8 @@ process_name : POT source : { - module_type : EmptyEvent - maxEvents : @nil + module_type : EmptyEvent + maxEvents : @nil } services : @local::Services.Sim @@ -30,7 +30,7 @@ physics : { compressPVextmonBeam : @local::Beam.producers.compressPVextmonBeam compressPVextmonRegion : @local::Beam.producers.compressPVextmonRegion compressPVFull : @local::Beam.producers.compressPVFull - } + } filters: { @table::Common.filters BeamFilter : @local::Beam.filters.BeamFilter @@ -96,12 +96,12 @@ outputs: { module_type : RootOutput SelectEvents: ["truncatedPath"] outputCommands: [ "drop *_*_*_*", - "keep mu2e::GenParticles_*_*_*", - "keep mu2e::GenEventCount_*_*_*", - "keep mu2e::StatusG4_*_*_*", - "keep *_g4run_*_*", - "drop uintmu2e::PhysicalVolumeInfomvstd::pairs_g4run_*_*", - "keep *_compressPVFull_*_*" + "keep mu2e::GenParticles_*_*_*", + "keep mu2e::GenEventCount_*_*_*", + "keep mu2e::StatusG4_*_*_*", + "keep *_g4run_*_*", + "drop uintmu2e::PhysicalVolumeInfomvstd::pairs_g4run_*_*", + "keep *_compressPVFull_*_*" ] fileName : "sim.owner.Truncated.version.sequencer.art" } diff --git a/JobConfig/beam/epilog.fcl b/JobConfig/beam/epilog.fcl index 75064279..a44e8e84 100644 --- a/JobConfig/beam/epilog.fcl +++ b/JobConfig/beam/epilog.fcl @@ -1,4 +1,3 @@ -# limit printout -services.message.destinations.log.categories.ArtReport.reportEvery : 1 -services.message.destinations.log.categories.ArtReport.limit : 1 -services.message.destinations.log.categories.ArtReport.timespan : 300 +# don't create MCTrajectories +physics.producers.g4run.TrajectoryControl.produce : false + diff --git a/JobConfig/beam/prolog.fcl b/JobConfig/beam/prolog.fcl index e0fa93ff..dd12fa95 100644 --- a/JobConfig/beam/prolog.fcl +++ b/JobConfig/beam/prolog.fcl @@ -5,303 +5,164 @@ BEGIN_PROLOG Beam: { - producers: { - - compressPVBeam : { - module_type: CompressPhysicalVolumes - volumesInput : "g4run" - hitInputs : [] - particleInputs : [ "BeamFilter" ] - } - - compressPVNeutrals : { - module_type: CompressPhysicalVolumes - volumesInput : "g4run" - hitInputs : [] - particleInputs : [ "NeutralsFilter" ] - } - - compressPVextmonBeam : { - module_type: CompressPhysicalVolumes - volumesInput : "g4run" - hitInputs : [] - particleInputs : [ "extmonBeamFilter" ] - } - - compressPVextmonRegion : { - module_type: CompressPhysicalVolumes - volumesInput : "g4run" - hitInputs : [] - particleInputs : [ "extmonRegionFilter" ] - } - - compressPVFull : { - module_type: CompressPhysicalVolumes - volumesInput : "g4run" - hitInputs : [] - particleInputs : [ "g4run" ] - } - - compressPVTargetStops: { - module_type: CompressPhysicalVolumes - volumesInput : "g4run" - hitInputs : [] - particleInputs : [ "TargetStopFilter" ] - } - - compressPVIPAStops: { - module_type: CompressPhysicalVolumes - volumesInput : "g4run" - hitInputs : [] - particleInputs : [ "IPAStopFilter" ] - } - -# below are used for stopped muon daughter selecting/vetoing - - TargetMuonFinder: { - module_type: "StoppedParticlesFinder" - particleInput: "g4run" - particleTypes: [ 13, -13 ] - physVolInfoInput: "g4run:eventlevel" - useEventLevelVolumeInfo: true - stoppingMaterial: "StoppingTarget_Al" - verbosityLevel: 1 - } - - IPAMuonFinder : { - module_type : StoppedParticlesFinder - particleInput : "g4run" - useEventLevelVolumeInfo: true - physVolInfoInput: "g4run:eventlevel" - stoppingMaterial : "IPAPolyethylene" - particleTypes : [ 13, -13 ] - verbosityLevel: 1 - } - - stoppedMuonDaughters: { - module_type: SimParticleDaughterSelector - particleInput: "TargetMuonFinder" - # EMCascade should not be vetoed because we do not re-simulate it - processes: [ "DIO", "NuclearCapture" ] - } - - } - - filters: { - - BeamFilter: { - module_type: FilterG4Out - mainHitInputs : [ "g4run:Beam" ] - extraHitInputs : [ "g4run:virtualdetector" ] - vetoDaughters: [] - } - - NeutralsFilter: { - module_type: FilterG4Out - mainHitInputs : [ "g4run:Neutrals" ] - extraHitInputs : [ "g4run:virtualdetector" ] - vetoDaughters: [] - } - - extmonBeamFilter: { - module_type: FilterG4Out - mainHitInputs : [ "g4run:extmonbeam" ] - extraHitInputs : [ "g4run:virtualdetector" ] - vetoDaughters: [] - } - - extmonRegionFilter: { - module_type: FilterG4Out - mainHitInputs : [ "g4run:extmonregion" ] - extraHitInputs : [ "g4run:virtualdetector" ] - vetoDaughters: [] - } - - TargetStopFilter: { - module_type: FilterG4Out - mainHitInputs: [] - extraHitInputs: [ "g4run:virtualdetector" ] - mainSPPtrInputs: [ "TargetMuonFinder" ] - } - - IPAStopFilter: { - module_type: FilterG4Out - mainHitInputs: [] - extraHitInputs: [ "g4run:virtualdetector" ] - mainSPPtrInputs: [ "IPAMuonFinder" ] - } - - FlashFilter: { - module_type: FilterG4Out - mainHitInputs: [ "g4run:tracker", "g4run:calorimeter", "g4run:CRV", "g4run:virtualdetector" ] - vetoParticles: [ "stoppedMuonDaughters" ] - } - -# DetectorSteFilter with time cut for the main flash stream -# these select energy deposits after the peak of the flash has passed, to keep useless payload down -# Note this is a partial config, it must be combined with Pileup definition - DetStepFilter : { - TimeCutConfig : { - MinimumTime : 250 # good hits are after this time - MaximumTime : 10 # not a typo: good hits are before this time - } - } - - # resamplers - - beamResampler: { - module_type: ResamplingMixer - fileNames: @nil - readMode: "sequential" - wrapFiles: true - mu2e: { - writeEventIDs : true - MaxEventsToSkip: @nil - debugLevel : 0 - products: { - genParticleMixer: { mixingMap: [ [ "generate", "" ] ] } - simParticleMixer: { mixingMap: [ [ "BeamFilter", "" ] ] } - stepPointMCMixer: { mixingMap: [ - [ "BeamFilter:virtualdetector", ":" ], - [ "BeamFilter:Beam", ":" ] - ] } - simTimeOffset : "protonTimeOffset" - volumeInfoMixer: { - srInput: "compressPVBeam" - evtOutInstanceName: "eventlevel" - } - } - } - } - - neutralsResampler: { - module_type: ResamplingMixer - fileNames: @nil - readMode: "sequential" - wrapFiles: true - mu2e: { - writeEventIDs : true - MaxEventsToSkip: @nil - debugLevel : 0 - products: { - genParticleMixer: { mixingMap: [ [ "generate", "" ] ] } - simParticleMixer: { mixingMap: [ [ "NeutralsFilter", "" ] ] } - stepPointMCMixer: { mixingMap: [ - [ "NeutralsFilter:Neutrals", ":" ] - ] } - simTimeOffset : "protonTimeOffset" - volumeInfoMixer: { - srInput: "compressPVNeutrals" - evtOutInstanceName: "eventlevel" - } - } - } - } - - PrescaleFilter : { - module_type : RandomPrescaleFilter - } - } - - # define regions where particles may eventually interact with the detectors (CRV or trracker/calo), See doc 26541 for a graphical description - # Mu2eG4 cuts are evaluated in the listed order. - # The first match wins. For the "intersection" - # type, the first false stops the evaluation. - # For the "union" type the first true stops the evaluation. - - DetectorRegionCuts: { - type: intersection - pars: [ - // Plane on the west side, outside of the wall - { type: plane normal: [ 0, 0, 1 ] point : [ 0, 0, -4851 ] }, - - // Yuri's e-mail 2015-04-10: x=1612. from CRV considerations. - // This is also large enought to enclose TS3 (its half length is 975 mm). - // Yuri: Moved the plane to cover all the shielding from stage 1. - { type: plane normal: [ -1, 0, 0 ] point : [ 2800., 0, 0 ] }, - - // Make sure the charged particle beam reaches our DS2Vacuum stopping volume - {type: notInVolume pars:[TS2Vacuum, TS3Vacuum, TS4Vacuum, TS5Vacuum, Coll31, Coll32, Coll51, TS2InnerCryoShell, TS3InnerCryoShell, TS4InnerCryoShell, TS2CryoInsVac, TS3CryoInsVac, VirtualDetector_Coll31_In, VirtualDetector_Coll32_In, VirtualDetector_Coll31_Out, VirtualDetector_Coll32_Out, Coll31OutRecord, Coll32InRecord, Coll31OutRecord, VirtualDetector_TS4_Bend, VirtualDetector_Coll5_In, VirtualDetector_Coll5_Out, VirtualDetector_Coll5_OutSurf]}, - - // This union splits the output of the above cuts - // into two exclusive streams; Beam (charged particles entering the DS) and Neutrals ((mostly)neutral particles approaching the CRV - { type: union pars: [ - { - type: intersection - pars: [ - { type: inVolume pars: [DS2Vacuum] }, - { type: isCharged } - ] - write: Beam - }, - { type: constant - value: true - write: Neutrals - } + producers: { + + compressPVBeam : { + module_type: CompressPhysicalVolumes + volumesInput : "g4run" + hitInputs : [] + particleInputs : [ "BeamFilter" ] + } + + compressPVNeutrals : { + module_type: CompressPhysicalVolumes + volumesInput : "g4run" + hitInputs : [] + particleInputs : [ "NeutralsFilter" ] + } + + compressPVextmonBeam : { + module_type: CompressPhysicalVolumes + volumesInput : "g4run" + hitInputs : [] + particleInputs : [ "extmonBeamFilter" ] + } + + compressPVextmonRegion : { + module_type: CompressPhysicalVolumes + volumesInput : "g4run" + hitInputs : [] + particleInputs : [ "extmonRegionFilter" ] + } + + compressPVFull : { + module_type: CompressPhysicalVolumes + volumesInput : "g4run" + hitInputs : [] + particleInputs : [ "g4run" ] + } + } + + filters: { + + BeamFilter: { + module_type: FilterG4Out + mainHitInputs : [ "g4run:Beam" ] + extraHitInputs : [ "g4run:virtualdetector" ] + vetoDaughters: [] + } + + NeutralsFilter: { + module_type: FilterG4Out + mainHitInputs : [ "g4run:Neutrals" ] + extraHitInputs : [ "g4run:virtualdetector" ] + vetoDaughters: [] + } + + extmonBeamFilter: { + module_type: FilterG4Out + mainHitInputs : [ "g4run:extmonbeam" ] + extraHitInputs : [ "g4run:virtualdetector" ] + vetoDaughters: [] + } + + extmonRegionFilter: { + module_type: FilterG4Out + mainHitInputs : [ "g4run:extmonregion" ] + extraHitInputs : [ "g4run:virtualdetector" ] + vetoDaughters: [] + } + + } + + # define regions where particles may eventually interact with the detectors (CRV or trracker/calo), See doc 26541 for a graphical description + # Mu2eG4 cuts are evaluated in the listed order. + # The first match wins. For the "intersection" + # type, the first false stops the evaluation. + # For the "union" type the first true stops the evaluation. + + DetectorRegionCuts: { + type: intersection + pars: [ + # Plane on the west side, outside of the wall + { type: plane normal: [ 0, 0, 1 ] point : [ 0, 0, -4851 ] }, + + # Yuri's e-mail 2015-04-10: x=1612. from CRV considerations. + # This is also large enought to enclose TS3 (its half length is 975 mm). + # Yuri: Moved the plane to cover all the shielding from stage 1. + { type: plane normal: [ -1, 0, 0 ] point : [ 2800., 0, 0 ] }, + + # Make sure the charged particle beam reaches our DS2Vacuum stopping volume + {type: notInVolume pars:[TS2Vacuum, TS3Vacuum, TS4Vacuum, TS5Vacuum, Coll31, Coll32, Coll51, TS2InnerCryoShell, TS3InnerCryoShell, TS4InnerCryoShell, TS2CryoInsVac, TS3CryoInsVac, VirtualDetector_Coll31_In, VirtualDetector_Coll32_In, VirtualDetector_Coll31_Out, VirtualDetector_Coll32_Out, Coll31OutRecord, Coll32InRecord, Coll31OutRecord, VirtualDetector_TS4_Bend, VirtualDetector_Coll5_In, VirtualDetector_Coll5_Out, VirtualDetector_Coll5_OutSurf]}, + + # This union splits the output of the above cuts + # into two exclusive streams; Beam (charged particles entering the DS) and Neutrals ((mostly)neutral particles approaching the CRV + { type: union pars: [ + { + type: intersection + pars: [ + { type: inVolume pars: [DS2Vacuum] }, + { type: isCharged } ] - } - ] - } - - # define extinction monitor region - extMonRegionCuts: { - type: intersection - pars: [ - { - type: plane - normal: @local::mu2eg4BeamDumpNormal - // Dump core center: (661.90, 527.40, -19428.2) - // A plane 950 mm beyond the core center as measured along - // the "beam" direction normal to the dump face. - // DeltaZ = L/cos(13.72 degrees) - point: [ 661.90, 527.40, -20406.10 ] - }, - - // Split the output of the "plane" cut above into two exclusive streams - { type: union pars: [ - - { type: intersection - pars: [ - { - type: inVolume - pars: - [ collimator1Channel, - HallAir, - ExtMonFNALfilterMagnetAperture, - ExtMonFNALfilterMagnetApertureMarginUp, - ExtMonFNALfilterMagnetApertureMarginDn - ] - }, - { type: isCharged } - ] - write: extmonbeam - }, - - { type: constant value: true write: extmonregion } + write: Beam + }, + { type: constant + value: true + write: Neutrals + } + ] + } + ] + } + + # define extinction monitor region + extMonRegionCuts: { + type: intersection + pars: [ + { + type: plane + normal: @local::mu2eg4BeamDumpNormal + # Dump core center: (661.90, 527.40, -19428.2) + # A plane 950 mm beyond the core center as measured along + # the "beam" direction normal to the dump face. + # DeltaZ = L/cos(13.72 degrees) + point: [ 661.90, 527.40, -20406.10 ] + }, + + # Split the output of the "plane" cut above into two exclusive streams + { type: union pars: [ + + { type: intersection + pars: [ + { + type: inVolume + pars: + [ collimator1Channel, + HallAir, + ExtMonFNALfilterMagnetAperture, + ExtMonFNALfilterMagnetApertureMarginUp, + ExtMonFNALfilterMagnetApertureMarginDn + ] + }, + { type: isCharged } ] - } - ] - } -# -# define products that need to be kept -# - SimKeptProducts : [ - "keep art::EventIDs_*_*_*", - "keep mu2e::GenParticles_*_*_*", - "keep mu2e::GenEventCount_*_*_*", - "keep mu2e::StatusG4_*_*_*" - ] + write: extmonbeam + }, - DtsKeptProducts : [ - "keep art::EventIDs_*_*_*", - "keep mu2e::GenEventCount_*_*_*", - "keep mu2e::StatusG4_*_*_*", - "keep mu2e::SimParticleart::Ptrdoublestd::map_*_*_*" + { type: constant value: true write: extmonregion } + ] + } + ] + } + # + # define products that need to be kept + # + SimKeptProducts : [ + "keep art::EventIDs_*_*_*", + "keep mu2e::GenParticles_*_*_*", + "keep mu2e::GenEventCount_*_*_*", + "keep mu2e::StatusG4_*_*_*" ] -# some commen sequences - beamResamplerSequence : [genCounter, protonTimeOffset, beamResampler] - neutralsResamplerSequence : [genCounter, protonTimeOffset, neutralsResampler] - } END_PROLOG diff --git a/JobConfig/common/epilog.fcl b/JobConfig/common/epilog.fcl index c01f3821..fb03f029 100644 --- a/JobConfig/common/epilog.fcl +++ b/JobConfig/common/epilog.fcl @@ -2,3 +2,7 @@ services.TFileService.fileName : "/dev/null" # provide time information services.TimeTracker.printSummary: true +# limit printout +services.message.destinations.log.categories.ArtReport.reportEvery : 1 +services.message.destinations.log.categories.ArtReport.limit : 1 +services.message.destinations.log.categories.ArtReport.timespan : 300 diff --git a/JobConfig/common/mu2eg4.fcl b/JobConfig/common/mu2eg4.fcl index 7406c7a9..d01d58d8 100644 --- a/JobConfig/common/mu2eg4.fcl +++ b/JobConfig/common/mu2eg4.fcl @@ -5,18 +5,18 @@ BEGIN_PROLOG #---------------------------------------------------------------- mu2e.physics.producers.g4run.flash: @local::mu2e.physics.producers.g4run.commonBase mu2e.physics.producers.g4run.flash.inputs: { - primaryType: "StepPoints" - primaryTag: "mothersFilter:DetectorMother" - inputMCTrajectories: "" - inputPhysVolumeMultiInfo: "compressPVMothers" + primaryType: "StepPoints" + primaryTag: "mothersFilter:DetectorMother" + inputMCTrajectories: "" + inputPhysVolumeMultiInfo: "compressPVMothers" } mu2e.physics.producers.g4run.flash.SDConfig.preSimulatedHits: ["mothersFilter:virtualdetector"] #---------------------------------------------------------------- mu2e.physics.producers.g4run.muons: @local::mu2e.physics.producers.g4run.commonBase mu2e.physics.producers.g4run.muons.inputs: { - primaryType: "GenParticles" - primaryTag: "generate" + primaryType: "GenParticles" + primaryTag: "generate" } mu2e.physics.producers.g4run.muons.SDConfig.preSimulatedHits: [] diff --git a/JobConfig/common/prolog.fcl b/JobConfig/common/prolog.fcl index 133aaf7e..861b7939 100644 --- a/JobConfig/common/prolog.fcl +++ b/JobConfig/common/prolog.fcl @@ -12,15 +12,15 @@ Common: { filters : { g4statusFilter: { - module_type: FilterStatusG4 - input: "g4run" - maxAcceptedStatus: 1 # status 2 and above means StepPointMCCollection may have non-dereferencable pointers + module_type: FilterStatusG4 + input: "g4run" + maxAcceptedStatus: 1 # status 2 and above means StepPointMCCollection may have non-dereferencable pointers } g4consistentFilter: { - module_type: FilterStatusG4 - input: "g4run" - maxAcceptedStatus: 9 # status 10 and above means StepPointMCCollection may have non-dereferencable pointers + module_type: FilterStatusG4 + input: "g4run" + maxAcceptedStatus: 9 # status 10 and above means StepPointMCCollection may have non-dereferencable pointers } } analyzers: { diff --git a/JobConfig/cosmic/S1DSStops.fcl b/JobConfig/cosmic/S1DSStops.fcl index d848aba2..1f6c6461 100644 --- a/JobConfig/cosmic/S1DSStops.fcl +++ b/JobConfig/cosmic/S1DSStops.fcl @@ -1,7 +1,7 @@ -// This configuration propogates cosmics from the surface towards DS. -// Cosmics hitting crvStage1End volumes are stopped and saved for later resampling. -// -// Yuri Oksuzian, 2021 +# This configuration propogates cosmics from the surface towards DS. +# Cosmics hitting crvStage1End volumes are stopped and saved for later resampling. +# +# Yuri Oksuzian, 2021 #include "Offline/fcl/standardServices.fcl" #include "Production/JobConfig/common/prolog.fcl" #include "Production/JobConfig/primary/prolog.fcl" @@ -51,5 +51,5 @@ physics.end_paths : [ EndPath ] services.TFileService.fileName : "/dev/null" services.SeedService.baseSeed : 773651 -// Need this to increase the world volume. +# Need this to increase the world volume. services.GeometryService.inputFile: "Production/JobConfig/cosmic/geom_cosmic_current.txt" diff --git a/JobConfig/cosmic/S1DSStopsCORSIKA.fcl b/JobConfig/cosmic/S1DSStopsCORSIKA.fcl index 65b9d56c..b7f127cb 100644 --- a/JobConfig/cosmic/S1DSStopsCORSIKA.fcl +++ b/JobConfig/cosmic/S1DSStopsCORSIKA.fcl @@ -1,22 +1,22 @@ #include "Production/JobConfig/cosmic/S1DSStops.fcl" targetParams: { - projectToTargetBox : true - targetBoxXmin: -10000 - targetBoxXmax: 3000 - targetBoxYmin: -5000 - targetBoxYmax: 5000 - targetBoxZmin: -5000 - targetBoxZmax: 21000 + projectToTargetBox : true + targetBoxXmin: -10000 + targetBoxXmax: 3000 + targetBoxYmin: -5000 + targetBoxYmax: 5000 + targetBoxZmin: -5000 + targetBoxZmax: 21000 } source: { - module_type: FromCorsikaBinary - fileNames: ["/pnfs/mu2e/persistent/users/srsoleti/corsika/sim.srsoleti.corsika.v1.30001.csk"] - runNumber : 1205 - showerAreaExtension : 10000 - @table::targetParams - fluxConstant: 1.8e4 + module_type: FromCorsikaBinary + fileNames: ["/pnfs/mu2e/persistent/users/srsoleti/corsika/sim.srsoleti.corsika.v1.30001.csk"] + runNumber : 1205 + showerAreaExtension : 10000 + @table::targetParams + fluxConstant: 1.8e4 } diff --git a/JobConfig/cosmic/S2Converter.fcl b/JobConfig/cosmic/S2Converter.fcl index 8f2534a1..166525df 100644 --- a/JobConfig/cosmic/S2Converter.fcl +++ b/JobConfig/cosmic/S2Converter.fcl @@ -1,6 +1,6 @@ -// Convert existing cosmic stage-2 jobs into det steps format -// In addition the configuration filters events with candidates below 500 MeV -// Yuri Oksuzian, 2021 +# Convert existing cosmic stage-2 jobs into det steps format +# In addition the configuration filters events with candidates below 500 MeV +# Yuri Oksuzian, 2021 #include "Production/JobConfig/primary/primary.fcl" @@ -23,6 +23,6 @@ physics.producers.compressDetStepMCs.simParticleTag: "detectorFilter" physics.producers.compressDetStepMCs.stepPointMCTags : [ "detectorFilter:virtualdetector", "detectorFilter:protonabsorber" ] physics.producers.compressDetStepMCs.mcTrajectoryTag: "detectorFilter" outputs.Output.fileName : "sim.owner.CosmicConverted.version.sequencer.art" -// CRY3 and CRY4 samples don't have visible energy and post step position +# CRY3 and CRY4 samples don't have visible energy and post step position physics.producers.CrvSteps.useTotalEDep: true physics.producers.CrvSteps.noPostPositionAvailable: true diff --git a/JobConfig/cosmic/S2Resampler.fcl b/JobConfig/cosmic/S2Resampler.fcl index 9eb6d984..491695b1 100644 --- a/JobConfig/cosmic/S2Resampler.fcl +++ b/JobConfig/cosmic/S2Resampler.fcl @@ -1,14 +1,14 @@ -// Re-sample cosmics from stage-1 -// Yuri Oksuzian, 2020 +# Re-sample cosmics from stage-1 +# Yuri Oksuzian, 2020 #include "Offline/CommonMC/fcl/prolog.fcl" #include "Production/JobConfig/cosmic/prolog.fcl" #include "Production/JobConfig/primary/Primary.fcl" -// Bring in info from the previous stage +# Bring in info from the previous stage physics.filters.cosmicResample: @local::Cosmic.cosmicResample physics.filters.cosmicResample.mu2e.MaxEventsToSkip: 18415 # this number depends on the production details -// Point Mu2eG4 to the pre-simulated data +# Point Mu2eG4 to the pre-simulated data physics.producers.g4run.inputs: @local::Cosmic.MultiStageParametersCosmicS2 physics.producers.cosmicTimeOffset: @local::CommonMC.producers.cosmicTimeOffset @@ -20,7 +20,7 @@ physics.producers.g4run.inputs.inputPhysVolumeMultiInfo: "cosmicResample" physics.producers.g4run.inputs.updateEventLevelVolumeInfos.input: "cosmicResample:eventlevel" physics.producers.g4run.inputs.updateEventLevelVolumeInfos.outInstance: "eventlevel" -// Kill cosmics outside of the CRV region +# Kill cosmics outside of the CRV region physics.producers.g4run.Mu2eG4CommonCut: @local::Cosmic.Mu2eG4CommonCutCosmicS2 physics.producers.g4run.SDConfig.preSimulatedHits: ["cosmicResample:CRV"] physics.producers.FindMCPrimary.PrimaryGenIds: ["CosmicCRY", "CosmicCORSIKA"] diff --git a/JobConfig/cosmic/S2ResamplerHigh.fcl b/JobConfig/cosmic/S2ResamplerHigh.fcl index ebfff936..1ebf6e84 100644 --- a/JobConfig/cosmic/S2ResamplerHigh.fcl +++ b/JobConfig/cosmic/S2ResamplerHigh.fcl @@ -1,11 +1,11 @@ -// Re-sample cosmic dsstops particles from stage-1 -// Yuri Oksuzian, 2020 +# Re-sample cosmic dsstops particles from stage-1 +# Yuri Oksuzian, 2020 #include "Production/JobConfig/cosmic/S2Resampler.fcl" physics.filters.filterS1: { - module_type: FilterCosmicsStage1 - inputs : [ "cosmicResample:CRV" ] - cutEDepMin: 16 // Filter events that deposit lower than 16 MeV in CRV + module_type: FilterCosmicsStage1 + inputs : [ "cosmicResample:CRV" ] + cutEDepMin: 16 # Filter events that deposit lower than 16 MeV in CRV } physics.PrimaryPath: [genCounter, cosmicTimeOffset, cosmicResample, filterS1, @sequence::Common.g4Sequence, @sequence::Primary.PrimarySequence] physics.filters.DetStepFilter.MaximumPartMom: 500 diff --git a/JobConfig/cosmic/S2ResamplerLow.fcl b/JobConfig/cosmic/S2ResamplerLow.fcl index ed2e9962..805ff903 100644 --- a/JobConfig/cosmic/S2ResamplerLow.fcl +++ b/JobConfig/cosmic/S2ResamplerLow.fcl @@ -1,11 +1,11 @@ -// Re-sample cosmic dsstops particles from stage-1 -// Yuri Oksuzian, 2020 +# Re-sample cosmic dsstops particles from stage-1 +# Yuri Oksuzian, 2020 #include "Production/JobConfig/cosmic/S2Resampler.fcl" physics.filters.filterS1: { - module_type: FilterCosmicsStage1 - inputs : [ "cosmicResample:CRV" ] - cutEDepMax: 16 // Filter events that deposit lower than 16 MeV in CRV + module_type: FilterCosmicsStage1 + inputs : [ "cosmicResample:CRV" ] + cutEDepMax: 16 # Filter events that deposit lower than 16 MeV in CRV } physics.PrimaryPath: [genCounter, cosmicTimeOffset, cosmicResample, filterS1, @sequence::Common.g4Sequence, @sequence::Primary.PrimarySequence] physics.filters.DetStepFilter.MaximumPartMom: 500 diff --git a/JobConfig/cosmic/filterStage1.fcl b/JobConfig/cosmic/filterStage1.fcl index f9b499b5..8b23bd8d 100644 --- a/JobConfig/cosmic/filterStage1.fcl +++ b/JobConfig/cosmic/filterStage1.fcl @@ -1,8 +1,8 @@ -// Yuri Oksuzian, 2019 -// Run this script over stage 1 dsstops -// For example: -// mu2e -c JobConfig/cosmic/filterStage1.fcl -s /pnfs/mu2e/tape/phy-sim/sim/mu2e/cosmic-g4s1s2-cryresample/cry-rs1-1019/art/34/bd/sim.mu2e.cosmic-g4s1s2-cryresample.cry-rs1-1019.002701_00022997.art -// Select cosmics with low energy depostion and/or cosmics entering through user specified CRV regions +# Yuri Oksuzian, 2019 +# Run this script over stage 1 dsstops +# For example: +# mu2e -c JobConfig/cosmic/filterStage1.fcl -s /pnfs/mu2e/tape/phy-sim/sim/mu2e/cosmic-g4s1s2-cryresample/cry-rs1-1019/art/34/bd/sim.mu2e.cosmic-g4s1s2-cryresample.cry-rs1-1019.002701_00022997.art +# Select cosmics with low energy depostion and/or cosmics entering through user specified CRV regions #include "Offline/fcl/minimalMessageService.fcl" #include "Offline/fcl/standardProducers.fcl" @@ -13,59 +13,59 @@ process_name : filterS1 source : { - module_type : RootInput + module_type : RootInput } services : { - message : @local::default_message - TFileService : { fileName : "nts.owner.filtered-s1.version.sequencer.root" } - RandomNumberGenerator : {defaultEngineKind: "MixMaxRng" } - GeometryService : { inputFile : "Offline/Mu2eG4/geom/geom_common_crv_v07.txt" } - ConditionsService : { conditionsfile : "Offline/ConditionsService/data/conditions_01.txt" } - GlobalConstantsService : { inputFile : "Offline/GlobalConstantsService/data/globalConstants_01.txt" } - Mu2eG4Helper : { } - SeedService : @local::automaticSeeds + message : @local::default_message + TFileService : { fileName : "nts.owner.filtered-s1.version.sequencer.root" } + RandomNumberGenerator : {defaultEngineKind: "MixMaxRng" } + GeometryService : { inputFile : "Offline/Mu2eG4/geom/geom_common_crv_v07.txt" } + ConditionsService : { conditionsfile : "Offline/ConditionsService/data/conditions_01.txt" } + GlobalConstantsService : { inputFile : "Offline/GlobalConstantsService/data/globalConstants_01.txt" } + Mu2eG4Helper : { } + SeedService : @local::automaticSeeds } physics : { - filters: { - filterS1: { - module_type: FilterCosmicsStage1 - inputs : [ "cosmicFilter:CRV" ] + filters: { + filterS1: { + module_type: FilterCosmicsStage1 + inputs : [ "cosmicFilter:CRV" ] -// Events with the low energy deposition in CRV. Filters 1% from the total number of events from stage 1. - cutEDepMax: 14 + # Events with the low energy deposition in CRV. Filters 1% from the total number of events from stage 1. + cutEDepMax: 14 -//Upstream region -// cutEDepMin: 14 -// cutZMax: 3000 -//Downstream region -// cutEDepMin: 14 -// cutZMin: 3000 + #Upstream region + # cutEDepMin: 14 + # cutZMax: 3000 + #Downstream region + # cutEDepMin: 14 + # cutZMin: 3000 - } - } - trig: [filterS1] - outputs: [dsout] - end_paths: [outputs] - trigger_paths: [trig] + } + } + trig: [filterS1] + outputs: [dsout] + end_paths: [outputs] + trigger_paths: [trig] } outputs: { - dsout : { - module_type : RootOutput - SelectEvents: ["trig"] - outputCommands:["keep *_*_*_*"] - fileName : "sim.owner.filtered-s1.version.sequencer.art" - } + dsout : { + module_type : RootOutput + SelectEvents: ["trig"] + outputCommands:["keep *_*_*_*"] + fileName : "sim.owner.filtered-s1.version.sequencer.art" + } } -// Limit the amount of "Begin processing the ... record" messages +# Limit the amount of "Begin processing the ... record" messages services.message.destinations.log.categories.ArtReport.reportEvery : 1 services.message.destinations.log.categories.ArtReport.limit : 1 services.message.destinations.log.categories.ArtReport.timespan : 300 -//Add Mu2e geometry service identifier +#Add Mu2e geometry service identifier services.GeometryService.simulatedDetector.tool_type : "Mu2e" services.SeedService.policy: autoIncrement services.SeedService.maxUniqueEngines: 20 diff --git a/JobConfig/cosmic/geom_cosmic.txt b/JobConfig/cosmic/geom_cosmic.txt index 3b35d192..4b2bd4d5 100644 --- a/JobConfig/cosmic/geom_cosmic.txt +++ b/JobConfig/cosmic/geom_cosmic.txt @@ -8,8 +8,6 @@ double world.minimalMargin.xmax = 500000; double world.minimalMargin.zmin = 500000; double world.minimalMargin.zmax = 500000; -// string dirt.beamline.berm.material = "G4_AIR"; - // // This tells emacs to view this file in c++ mode. // Local Variables: diff --git a/JobConfig/cosmic/geom_cosmic_current.txt b/JobConfig/cosmic/geom_cosmic_current.txt index ec060aae..e1c0347a 100644 --- a/JobConfig/cosmic/geom_cosmic_current.txt +++ b/JobConfig/cosmic/geom_cosmic_current.txt @@ -8,8 +8,6 @@ double world.minimalMargin.xmax = 500000; double world.minimalMargin.zmin = 500000; double world.minimalMargin.zmax = 500000; -// string dirt.beamline.berm.material = "G4_AIR"; - // // This tells emacs to view this file in c++ mode. // Local Variables: diff --git a/JobConfig/cosmic/prolog.fcl b/JobConfig/cosmic/prolog.fcl index 478e20c2..8e1aafcf 100644 --- a/JobConfig/cosmic/prolog.fcl +++ b/JobConfig/cosmic/prolog.fcl @@ -4,175 +4,175 @@ BEGIN_PROLOG crvOuterBox: { - type: union - pars: - [ - // Upstream plane - { type: plane normal: [ 0, 0, -1 ] point : [ 0, 0, -3400 ] }, - // Downstream plane - { type: plane normal: [ 0, 0, 1 ] point : [ 0, 0, 19800 ] }, - // +x plane - { type: plane normal: [ 1, 0, 0 ] point : [ 1500, 0, 0 ] }, - // -x plane (outside of cryo box) - { type: plane normal: [ -1, 0, 0 ] point : [ -8200, 0, 0 ] }, - // +y plane - { type: plane normal: [ 0, 1, 0 ] point : [ 0, 4000, 0 ] }, - // -y plane - { type: plane normal: [ 0, -1, 0 ] point : [ 0, -2100, 0 ] } - ] + type: union + pars: + [ + # Upstream plane + { type: plane normal: [ 0, 0, -1 ] point : [ 0, 0, -3400 ] }, + # Downstream plane + { type: plane normal: [ 0, 0, 1 ] point : [ 0, 0, 19800 ] }, + # +x plane + { type: plane normal: [ 1, 0, 0 ] point : [ 1500, 0, 0 ] }, + # -x plane (outside of cryo box) + { type: plane normal: [ -1, 0, 0 ] point : [ -8200, 0, 0 ] }, + # +y plane + { type: plane normal: [ 0, 1, 0 ] point : [ 0, 4000, 0 ] }, + # -y plane + { type: plane normal: [ 0, -1, 0 ] point : [ 0, -2100, 0 ] } + ] } crvInnerBox: { - type: intersection - pars: - [ - // Upstream plane - { type: plane normal: [ 0, 0, 1 ] point : [ 0, 0, -2200 ] }, - // Downstream plane - { type: plane normal: [ 0, 0, -1 ] point : [ 0, 0, 18500 ] }, - // +x plane - { type: plane normal: [ -1, 0, 0 ] point : [ -1500, 0, 0 ] }, - // -x plane - { type: plane normal: [ 1, 0, 0 ] point : [ -6300, 0, 0 ] }, - // +y plane - { type: plane normal: [ 0, -1, 0 ] point : [ 0, 2500, 0 ] }, - // -y plane - { type: plane normal: [ 0, 1, 0 ] point : [ 0, -2100, 0 ] } - ] + type: intersection + pars: + [ + # Upstream plane + { type: plane normal: [ 0, 0, 1 ] point : [ 0, 0, -2200 ] }, + # Downstream plane + { type: plane normal: [ 0, 0, -1 ] point : [ 0, 0, 18500 ] }, + # +x plane + { type: plane normal: [ -1, 0, 0 ] point : [ -1500, 0, 0 ] }, + # -x plane + { type: plane normal: [ 1, 0, 0 ] point : [ -6300, 0, 0 ] }, + # +y plane + { type: plane normal: [ 0, -1, 0 ] point : [ 0, 2500, 0 ] }, + # -y plane + { type: plane normal: [ 0, 1, 0 ] point : [ 0, -2100, 0 ] } + ] } crvStage1End: { - type: inVolume - pars: [DSOuterCryoShell, DSInnerCryoShell, DSUpEndWallShell, TS5OuterCryoShell, TS5CryoInsVac, TS5Vacuum, Coll51, DS1Vacuum, DS2Vacuum, DS3Vacuum] - write: crvStage1 + type: inVolume + pars: [DSOuterCryoShell, DSInnerCryoShell, DSUpEndWallShell, TS5OuterCryoShell, TS5CryoInsVac, TS5Vacuum, Coll51, DS1Vacuum, DS2Vacuum, DS3Vacuum] + write: crvStage1 } cosmicKineticEnergyCutS1: { - type: union - pars: - [ - { + type: union + pars: + [ + { type: intersection pars: [ - { type: union pars: [ @local::crvOuterBox, @local::crvInnerBox ] }, - { type: kineticEnergy cut: 10.0 }, - { type: pdgId pars: [ 22, 2112 ] } + { type: union pars: [ @local::crvOuterBox, @local::crvInnerBox ] }, + { type: kineticEnergy cut: 10.0 }, + { type: pdgId pars: [ 22, 2112 ] } ] - }, - { - // 5 MeV can only make a hit in 1 CRV layer + }, + { + # 5 MeV can only make a hit in 1 CRV layer type: intersection pars: [ - { type: union pars: [ @local::crvOuterBox, @local::crvInnerBox ] }, + { type: union pars: [ @local::crvOuterBox, @local::crvInnerBox ] }, { type: kineticEnergy cut: 5.0 }, { type: pdgId pars: [ 2212, 11, -11 ] } ] - } - ] + } + ] } cosmicKineticEnergyCutS2: { -// Kill lower momentum particles outside of the CRV box - type: intersection - pars: - [ - { type: intersection pars: [ - { type: kineticEnergy cut: 80.0 }, - { type: pdgId pars: [ 22, 11, -11, 2112 ] }]}, - { type: union pars: [ @local::crvOuterBox ] } - ] + # Kill lower momentum particles outside of the CRV box + type: intersection + pars: + [ + { type: intersection pars: [ + { type: kineticEnergy cut: 80.0 }, + { type: pdgId pars: [ 22, 11, -11, 2112 ] }]}, + { type: union pars: [ @local::crvOuterBox ] } + ] } Cosmic: { -# generator truncation filter; only needed for cosmic rays in principle - g4status: { - module_type: FilterStatusG4 - input: "g4run" - maxAcceptedStatus: 9 # status 10 and above means StepPointMCCollection may have non-dereferencable pointers - } - compressPV : { - module_type: CompressPhysicalVolumes - volumesInput : "g4run" - hitInputs : [] - particleInputs : [ "cosmicFilter" ] - } - stepPointMomentumFilter: { - module_type: FilterStepPointMomentum - inputs : [ "g4run:crvStage1" ] - cutMomentumMin: 0. // Filter all particles that hit DS region - } - cosmicFilter: { - module_type: FilterG4Out - mainHitInputs : [ "g4run:crvStage1", "g4run:CRV" ] - extraHitInputs : [] //stores only StepPoints of tracks which also have StepPoints in the mainHitInputs - mcTrajectoryInputs : [ "g4run" ] - vetoDaughters: [] - } - cosmicResample: { - module_type: ResamplingMixer - fileNames: @nil - readMode: "sequential" - wrapFiles: true - mu2e: { - writeEventIDs : true - MaxEventsToSkip: @nil - products: { - genParticleMixer: { mixingMap: [ [ "generate", "" ] ] } - simParticleMixer: { mixingMap: [ [ "cosmicFilter", ""] ] } - mcTrajectoryMixer:{ mixingMap: [ [ "cosmicFilter", ""] ] } - cosmicLivetimeMixer:{ mixingMap: [ [ "FromCorsikaBinary", ""] ] } - stepPointMCMixer: { mixingMap: [ [ "cosmicFilter:crvStage1", ":" ], [ "cosmicFilter:CRV", ":" ] ] } - volumeInfoMixer: { - evtOutInstanceName: "eventlevel" - srInput: "compressPV" - } - simTimeOffset : "cosmicTimeOffset" - } + # generator truncation filter; only needed for cosmic rays in principle + g4status: { + module_type: FilterStatusG4 + input: "g4run" + maxAcceptedStatus: 9 # status 10 and above means StepPointMCCollection may have non-dereferencable pointers + } + compressPV : { + module_type: CompressPhysicalVolumes + volumesInput : "g4run" + hitInputs : [] + particleInputs : [ "cosmicFilter" ] + } + stepPointMomentumFilter: { + module_type: FilterStepPointMomentum + inputs : [ "g4run:crvStage1" ] + cutMomentumMin: 0. # Filter all particles that hit DS region + } + cosmicFilter: { + module_type: FilterG4Out + mainHitInputs : [ "g4run:crvStage1", "g4run:CRV" ] + extraHitInputs : [] #stores only StepPoints of tracks which also have StepPoints in the mainHitInputs + mcTrajectoryInputs : [ "g4run" ] + vetoDaughters: [] + } + cosmicResample: { + module_type: ResamplingMixer + fileNames: @nil + readMode: "sequential" + wrapFiles: true + mu2e: { + writeEventIDs : true + MaxEventsToSkip: @nil + products: { + genParticleMixer: { mixingMap: [ [ "generate", "" ] ] } + simParticleMixer: { mixingMap: [ [ "cosmicFilter", ""] ] } + mcTrajectoryMixer:{ mixingMap: [ [ "cosmicFilter", ""] ] } + cosmicLivetimeMixer:{ mixingMap: [ [ "FromCorsikaBinary", ""] ] } + stepPointMCMixer: { mixingMap: [ [ "cosmicFilter:crvStage1", ":" ], [ "cosmicFilter:CRV", ":" ] ] } + volumeInfoMixer: { + evtOutInstanceName: "eventlevel" + srInput: "compressPV" + } + simTimeOffset : "cosmicTimeOffset" } - } - generateCRY: { - module_type: CRYEventGenerator - inputFile : "EventGenerator/defaultConfigs/defaultCRYconfig.txt" - } - generateCORSIKA: { - module_type : CORSIKAEventGenerator - corsikaModuleLabel: "FromCorsikaBinary" - refPointChoice: "UNDEFINED" - projectToTargetBox : true - targetBoxYmax : 5000 - intDist: -1 - } - Mu2eG4CommonCutCosmicS2:{ - type: union - pars: - [ + } + } + generateCRY: { + module_type: CRYEventGenerator + inputFile : "EventGenerator/defaultConfigs/defaultCRYconfig.txt" + } + generateCORSIKA: { + module_type : CORSIKAEventGenerator + corsikaModuleLabel: "FromCorsikaBinary" + refPointChoice: "UNDEFINED" + projectToTargetBox : true + targetBoxYmax : 5000 + intDist: -1 + } + Mu2eG4CommonCutCosmicS2:{ + type: union + pars: + [ @local::cosmicKineticEnergyCutS2, { - type: inVolume - pars: [ worldDirtBottom ] + type: inVolume + pars: [ worldDirtBottom ] } - ] - } - MultiStageParametersCosmicS2: { - primaryType: StepPoints - primaryTag: "cosmicResample:crvStage1" - inputMCTrajectories: "cosmicResample" - inputPhysVolumeMultiInfo: "" - } - Mu2eG4CommonCutCosmicS1: { - type: union - pars: - [ + ] + } + MultiStageParametersCosmicS2: { + primaryType: StepPoints + primaryTag: "cosmicResample:crvStage1" + inputMCTrajectories: "cosmicResample" + inputPhysVolumeMultiInfo: "" + } + Mu2eG4CommonCutCosmicS1: { + type: union + pars: + [ @local::cosmicKineticEnergyCutS1, @local::crvStage1End, { - type: inVolume - pars: [ worldDirtBottom ] + type: inVolume + pars: [ worldDirtBottom ] } - ] - } + ] + } } END_PROLOG diff --git a/JobConfig/digitize/OffSpill.fcl b/JobConfig/digitize/OffSpill.fcl index 62ce9537..5dd1861a 100644 --- a/JobConfig/digitize/OffSpill.fcl +++ b/JobConfig/digitize/OffSpill.fcl @@ -6,4 +6,7 @@ #include "Offline/gen/fcl/Trigger/OffSpillTrigMenu/OffSpillTrigMenu.fcl" # setthe event timing for OffSpill physics.producers.EWMProducer.SpillType : 0 +# redefine 'triggerable' to include straight tracks and require more digis +physics.filters.triggerable.maxparticlemom : 1e7 +physics.filters.triggerable.MinNDigis : 20 diff --git a/JobConfig/digitize/prolog.fcl b/JobConfig/digitize/prolog.fcl index 317ef75f..d2dab882 100644 --- a/JobConfig/digitize/prolog.fcl +++ b/JobConfig/digitize/prolog.fcl @@ -20,28 +20,28 @@ Digitize: { @table::CrvDAQPackage.producers compressDigiMCs : { - module_type : CompressDigiMCs - strawDigiMCTag : @local::DigiCompressionTags.commonStrawDigiMCTag - crvDigiMCTag : @local::DigiCompressionTags.commonCrvDigiMCTag - simParticleTags : [ @local::DigiCompressionTags.primarySimParticleTag ] - mcTrajectoryTag : @local::DigiCompressionTags.primarySimParticleTag - extraStepPointMCTags : @local::DigiCompressionTags.commonExtraStepPointMCTags - timeMapTags : [ ] - caloShowerStepTags : @local::DigiCompressionTags.primaryCaloShowerStepTags - caloShowerSimTag : @local::DigiCompressionTags.commonCaloShowerSimTag - caloShowerROTag : @local::DigiCompressionTags.commonCaloShowerROTag - primaryParticleTag : "FindMCPrimary" - keepAllGenParticles : true - rekeySimParticleCollection : true - noCompression : false + module_type : CompressDigiMCs + strawDigiMCTag : @local::DigiCompressionTags.commonStrawDigiMCTag + crvDigiMCTag : @local::DigiCompressionTags.commonCrvDigiMCTag + simParticleTags : [ @local::DigiCompressionTags.primarySimParticleTag ] + mcTrajectoryTag : @local::DigiCompressionTags.primarySimParticleTag + extraStepPointMCTags : @local::DigiCompressionTags.commonExtraStepPointMCTags + timeMapTags : [ ] + caloShowerStepTags : @local::DigiCompressionTags.primaryCaloShowerStepTags + caloShowerSimTag : @local::DigiCompressionTags.commonCaloShowerSimTag + caloShowerROTag : @local::DigiCompressionTags.commonCaloShowerROTag + primaryParticleTag : "FindMCPrimary" + keepAllGenParticles : true + rekeySimParticleCollection : true + noCompression : false - # Unused options - strawDigiMCIndexMapTag : "" - crvDigiMCIndexMapTag : "" - caloClusterMCTag : "" - crvCoincClusterMCTag : "" + # Unused options + strawDigiMCIndexMapTag : "" + crvDigiMCIndexMapTag : "" + caloClusterMCTag : "" + crvCoincClusterMCTag : "" } - PBISim : { + PBISim : { module_type: ProtonBunchIntensityFlat mean : 1 halfWidth : 0 @@ -75,8 +75,8 @@ Digitize: { @sequence::CrvDAQPackage.CrvDAQSequence, compressDigiMCs ] - TriggerProducts : [ - "keep mu2e::TriggerInfo_*_*_*", + TriggerProducts : [ + "keep mu2e::TriggerInfo_*_*_*", "keep art::TriggerResults_*_*_*", "keep mu2e::KalSeeds_TT*_*_*", "keep mu2e::HelixSeeds_TT*_*_*", @@ -85,29 +85,29 @@ Digitize: { "keep mu2e::ProtonBunchIntensity*_*_*_*" ] - DigiProducts : [ - "keep mu2e::StrawDigis_*_*_*", - "keep mu2e::StrawDigiADCWaveforms_*_*_*", - "keep mu2e::CaloDigis_*_*_*", - "keep mu2e::CrvDigis_*_*_*", - "keep mu2e::StatusG4_*_*_*", - "keep *_genCounter_*_*", - "keep mu2e::EventWindowMarker_*_*_*", - "keep mu2e::ProtonBunchTimeMC_*_*_*", - "keep mu2e::ProtonBunchTime_*_*_*", - "keep mu2e::EventWeight_*_*_*", - "keep *_compressDigiMCs_*_*" ] + DigiProducts : [ + "keep mu2e::StrawDigis_*_*_*", + "keep mu2e::StrawDigiADCWaveforms_*_*_*", + "keep mu2e::CaloDigis_*_*_*", + "keep mu2e::CrvDigis_*_*_*", + "keep mu2e::StatusG4_*_*_*", + "keep *_genCounter_*_*", + "keep mu2e::EventWindowMarker_*_*_*", + "keep mu2e::ProtonBunchTimeMC_*_*_*", + "keep mu2e::ProtonBunchTime_*_*_*", + "keep mu2e::EventWeight_*_*_*", + "keep *_compressDigiMCs_*_*" ] TriggeredOutput : { - module_type : RootOutput - SelectEvents : [ "*_trigger" ] # this selects events passing any trigger - fileName : @nil + module_type : RootOutput + SelectEvents : [ "*_trigger" ] # this selects events passing any trigger + fileName : @nil } UntriggeredOutput : { - module_type : RootOutput - RejectEvents : [ "*_trigger" ] # reject events passing any trigger - SelectEvents : [ "Untriggered" ] # require events pass 'Triggerable' filter - fileName : @nil + module_type : RootOutput + RejectEvents : [ "*_trigger" ] # reject events passing any trigger + SelectEvents : [ "Untriggered" ] # require events pass 'Triggerable' filter + fileName : @nil } EndSequence : [digiCompressionCheck] } @@ -115,12 +115,12 @@ Digitize.EndPath : [ @sequence::Digitize.EndSequence, TriggeredOutput, Untrigger # override the Trigger sequence to prepare digis Trigger.PrepareDigis: [ @sequence::CommonMC.DigiSim, @sequence::TrackerMC.DigiSim, @sequence::CaloMC.DigiSim ] Digitize.TriggeredOutput.outputCommands : [ "drop *_*_*_*", - @sequence::Digitize.DigiProducts, - @sequence::Digitize.TriggerProducts ] + @sequence::Digitize.DigiProducts, + @sequence::Digitize.TriggerProducts ] Digitize.UntriggeredOutput.outputCommands : [ "drop *_*_*_*", - @sequence::Digitize.DigiProducts, - @sequence::Digitize.TriggerProducts ] + @sequence::Digitize.DigiProducts, + @sequence::Digitize.TriggerProducts ] #outputs.Output.SelectEvents : # add output stream of 'good' events that fail the trigger; this requiers a new verison of art FIXME! diff --git a/JobConfig/examples/README b/JobConfig/examples/README deleted file mode 100644 index 6855891c..00000000 --- a/JobConfig/examples/README +++ /dev/null @@ -1,2 +0,0 @@ -This directory contains files used in invoke generate_fcl in previous (MDC2018) productions. They may -be useful for future production efforts, but do not expect to use them OOTB. diff --git a/JobConfig/examples/create_mixin_files.sh b/JobConfig/examples/create_mixin_files.sh deleted file mode 100644 index 862f61e1..00000000 --- a/JobConfig/examples/create_mixin_files.sh +++ /dev/null @@ -1,22 +0,0 @@ -# You must have previously setup mu2efiletools for this script to run -dsconf=MDC2018a -for mixin in \ -oot-CRV-cat-cat \ -neutron-CRV-cat \ -dio-CRV-cat \ -photon-CRV-cat \ -PS-CRV-cut-cat \ -TS-CRV-cat-cat \ -DS-CRV-cut-cat \ -oot-TrkCal-cat-cat \ -neutron-TrkCal-cat \ -dio-TrkCal-cat \ -photon-TrkCal-cat \ -DS-flash-TrkCal-cut-cat \ -proton-TrkCal \ -deuteron-TrkCal ; do - outfile="$mixin.txt" - dataset="sim.mu2e.$mixin.$dsconf.art" - echo "Writing files for $dataset to $outfile" - mu2eDatasetFileList $dataset > $outfile -done diff --git a/JobConfig/examples/generate_CRVcat.sh b/JobConfig/examples/generate_CRVcat.sh deleted file mode 100644 index 393c6e99..00000000 --- a/JobConfig/examples/generate_CRVcat.sh +++ /dev/null @@ -1,9 +0,0 @@ -generate_fcl --description PS-CRVcat --dsconf MDC2018a --dsowner mu2e --embed PS-CRVcat.fcl --run-number 1002 --auxinput=100:physics.filters.crvFilter.fileNames:PS-CRVfiles.txt --events-per-job 19007 --njobs 25 -rm -rf PS-CRVcat -mv 000 PS-CRVcat -generate_fcl --description TS-CRVcat --dsconf MDC2018a --dsowner mu2e --embed TS-CRVcat.fcl --run-number 1002 --auxinput=200:physics.filters.crvFilter.fileNames:TS-CRVfiles.txt --events-per-job 487 --njobs 25 -rm -rf TS-CRVcat -mv 000 TS-CRVcat -generate_fcl --description DS-CRVcat --dsconf MDC2018a --dsowner mu2e --embed DS-CRVcat.fcl --run-number 1002 --auxinput=200:physics.filters.crvFilter.fileNames:DS-CRVfiles.txt --events-per-job 56251 --njobs 25 -rm -rf DS-CRVcat -mv 000 DS-CRVcat diff --git a/JobConfig/examples/generate_CRYcosmicMix.sh b/JobConfig/examples/generate_CRYcosmicMix.sh deleted file mode 100644 index a9bdb2bb..00000000 --- a/JobConfig/examples/generate_CRYcosmicMix.sh +++ /dev/null @@ -1,23 +0,0 @@ -generate_fcl --description CRY-cosmicMix --dsconf MDC2018i --dsowner mu2e --include JobConfig/mixing/CRY-cosmicMix.fcl \ ---inputs=CRYcosmic.txt --merge-factor 1 --max-engines 30 \ ---auxinput=3:physics.filters.ootMixerCRV.fileNames:oot-CRV-cat-cat.txt \ ---auxinput=1:physics.filters.neutronMixerCRV.fileNames:neutron-CRV-cat.txt \ ---auxinput=1:physics.filters.dioMixerCRV.fileNames:dio-CRV-cat.txt \ ---auxinput=1:physics.filters.photonMixerCRV.fileNames:photon-CRV-cat.txt \ ---auxinput=5:physics.filters.PSMixerCRV.fileNames:PS-CRV-cut-cat.txt \ ---auxinput=5:physics.filters.TSMixerCRV.fileNames:TS-CRV-cat-cat.txt \ ---auxinput=5:physics.filters.DSMixerCRV.fileNames:DS-CRV-cut-cat.txt \ ---auxinput=3:physics.filters.ootMixerTrkCal.fileNames:oot-TrkCal-cat-cat.txt \ ---auxinput=1:physics.filters.neutronMixerTrkCal.fileNames:neutron-TrkCal-cat.txt \ ---auxinput=1:physics.filters.dioMixerTrkCal.fileNames:dio-TrkCal-cat.txt \ ---auxinput=1:physics.filters.photonMixerTrkCal.fileNames:photon-TrkCal-cat.txt \ ---auxinput=2:physics.filters.flashMixerTrkCal.fileNames:DS-flash-TrkCal-cut-cat.txt \ ---auxinput=1:physics.filters.protonMixerTrkCal.fileNames:proton-TrkCal.txt \ ---auxinput=1:physics.filters.deuteronMixerTrkCal.fileNames:deuteron-TrkCal.txt -for dirname in 000 001 002 003 004 005 006 007 008 009; do - if test -d $dirname; then - echo "found dir $dirname" - rm -rf CRY-cosmicMix_$dirname - mv $dirname CRY-cosmicMix_$dirname - fi -done diff --git a/JobConfig/examples/generate_Calo-cosmic.sh b/JobConfig/examples/generate_Calo-cosmic.sh deleted file mode 100644 index c100aa2e..00000000 --- a/JobConfig/examples/generate_Calo-cosmic.sh +++ /dev/null @@ -1,3 +0,0 @@ -generate_fcl --description Calo-cosmic --dsconf MDC2018e --dsowner mu2e --include JobConfig/primary/Calo-cosmic.fcl --run-number 1002 --events-per-job 20000 --njobs 20 -rm -rf Calo-cosmic -mv 000 Calo-cosmic diff --git a/JobConfig/examples/generate_Calo-cosmicMix.sh b/JobConfig/examples/generate_Calo-cosmicMix.sh deleted file mode 100644 index 65e32904..00000000 --- a/JobConfig/examples/generate_Calo-cosmicMix.sh +++ /dev/null @@ -1,19 +0,0 @@ -# Note: the jobs created by this script need at least 8GBytes of memory -generate_fcl --description Calo-cosmicMix --dsconf MDC2018d --dsowner mu2e --include JobConfig/mixing/Calo-cosmicMix.fcl \ ---inputs=calocosmic.txt --merge-factor 1 --max-engines 30 \ ---auxinput=3:physics.filters.ootMixerCRV.fileNames:oot-CRV-recat.txt \ ---auxinput=1:physics.filters.neutronMixerCRV.fileNames:neutron-CRV-cat.txt \ ---auxinput=1:physics.filters.dioMixerCRV.fileNames:dio-CRV-cat.txt \ ---auxinput=1:physics.filters.photonMixerCRV.fileNames:photon-CRV-cat.txt \ ---auxinput=5:physics.filters.PSMixerCRV.fileNames:PS-CRV-recat.txt \ ---auxinput=5:physics.filters.TSMixerCRV.fileNames:TS-CRV-recat.txt \ ---auxinput=5:physics.filters.DSMixerCRV.fileNames:DS-CRV-recat.txt \ ---auxinput=3:physics.filters.ootMixerTrkCal.fileNames:oot-TrkCal-recat.txt \ ---auxinput=1:physics.filters.neutronMixerTrkCal.fileNames:neutron-TrkCal-cat.txt \ ---auxinput=1:physics.filters.dioMixerTrkCal.fileNames:dio-TrkCal-cat.txt \ ---auxinput=1:physics.filters.photonMixerTrkCal.fileNames:photon-TrkCal-cat.txt \ ---auxinput=2:physics.filters.flashMixerTrkCal.fileNames:DS-flash-TrkCal-recat.txt \ ---auxinput=1:physics.filters.protonMixerTrkCal.fileNames:proton-TrkCal.txt \ ---auxinput=1:physics.filters.deuteronMixerTrkCal.fileNames:deuteron-TrkCal.txt -rm -rf Calo-cosmicMix -mv 000 Calo-cosmicMix diff --git a/JobConfig/examples/generate_CeEndpoint.sh b/JobConfig/examples/generate_CeEndpoint.sh deleted file mode 100644 index 9cde011f..00000000 --- a/JobConfig/examples/generate_CeEndpoint.sh +++ /dev/null @@ -1,3 +0,0 @@ -generate_fcl --description CeEndpoint --dsconf MDC2018a --dsowner mu2e --include JobConfig/primary/CeEndpoint.fcl --run-number 1002 --events-per-job 10000 --njobs 200 -rm -rf CeEndpoint -mv 000 CeEndpoint diff --git a/JobConfig/examples/generate_CeEndpointMix.sh b/JobConfig/examples/generate_CeEndpointMix.sh deleted file mode 100644 index db77ade3..00000000 --- a/JobConfig/examples/generate_CeEndpointMix.sh +++ /dev/null @@ -1,25 +0,0 @@ -# Note: the jobs created by this script need at least 8GBytes of memory -generate_fcl --description CeEndpointMix --dsconf MDC2018j --dsowner mu2e --include JobConfig/mixing/CeEndpointMix.fcl \ ---run-number 1002 --events-per-job 500 --njobs 5000 --max-engines 50 \ ---auxinput=3:physics.filters.ootMixerCRV.fileNames:oot-CRV-cat-cat.txt \ ---auxinput=1:physics.filters.neutronMixerCRV.fileNames:neutron-CRV-cat.txt \ ---auxinput=1:physics.filters.dioMixerCRV.fileNames:dio-CRV-cat.txt \ ---auxinput=1:physics.filters.photonMixerCRV.fileNames:photon-CRV-cat.txt \ ---auxinput=5:physics.filters.PSMixerCRV.fileNames:PS-CRV-cut-cat.txt \ ---auxinput=5:physics.filters.TSMixerCRV.fileNames:TS-CRV-cat-cat.txt \ ---auxinput=5:physics.filters.DSMixerCRV.fileNames:DS-CRV-cut-cat.txt \ ---auxinput=3:physics.filters.ootMixerTrkCal.fileNames:oot-TrkCal-cat-cat.txt \ ---auxinput=1:physics.filters.neutronMixerTrkCal.fileNames:neutron-TrkCal-cat.txt \ ---auxinput=1:physics.filters.dioMixerTrkCal.fileNames:dio-TrkCal-cat.txt \ ---auxinput=1:physics.filters.photonMixerTrkCal.fileNames:photon-TrkCal-cat.txt \ ---auxinput=2:physics.filters.flashMixerTrkCal.fileNames:DS-flash-TrkCal-cut-cat.txt \ ---auxinput=1:physics.filters.protonMixerTrkCal.fileNames:proton-TrkCal.txt \ ---auxinput=1:physics.filters.deuteronMixerTrkCal.fileNames:deuteron-TrkCal.txt -for dirname in 000 001 002 003 004 005 006 007 008 009; do - if test -d $dirname; then - echo "found dir $dirname" - rm -rf CeEndpointMix_$dirname - mv $dirname CeEndpointMix_$dirname - fi -done - diff --git a/JobConfig/examples/generate_CeMLeadingLog.sh b/JobConfig/examples/generate_CeMLeadingLog.sh deleted file mode 100644 index 9dacfbf7..00000000 --- a/JobConfig/examples/generate_CeMLeadingLog.sh +++ /dev/null @@ -1,3 +0,0 @@ -generate_fcl --description CeMLeadingLog --dsconf MDC2018e --dsowner mu2e --include JobConfig/primary/CeMLeadingLog.fcl --run-number 1002 --events-per-job 10000 --njobs 200 -rm -rf CeMLeadingLog -mv 000 CeMLeadingLog diff --git a/JobConfig/examples/generate_CeMLeadingLogMix.sh b/JobConfig/examples/generate_CeMLeadingLogMix.sh deleted file mode 100644 index 43650b47..00000000 --- a/JobConfig/examples/generate_CeMLeadingLogMix.sh +++ /dev/null @@ -1,19 +0,0 @@ -# Note: the jobs created by this script need at least 8GBytes of memory -generate_fcl --description CeMLeadingLogMix --dsconf MDC2018e --dsowner mu2e --include JobConfig/mixing/CeMLeadingLogMix.fcl \ ---run-number 1002 --events-per-job 500 --njobs 1000 --max-engines 30 \ ---auxinput=3:physics.filters.ootMixerCRV.fileNames:oot-CRV-recat.txt \ ---auxinput=1:physics.filters.neutronMixerCRV.fileNames:neutron-CRV-cat.txt \ ---auxinput=1:physics.filters.dioMixerCRV.fileNames:dio-CRV-cat.txt \ ---auxinput=1:physics.filters.photonMixerCRV.fileNames:photon-CRV-cat.txt \ ---auxinput=5:physics.filters.PSMixerCRV.fileNames:PS-CRV-recat.txt \ ---auxinput=5:physics.filters.TSMixerCRV.fileNames:TS-CRV-recat.txt \ ---auxinput=5:physics.filters.DSMixerCRV.fileNames:DS-CRV-recat.txt \ ---auxinput=3:physics.filters.ootMixerTrkCal.fileNames:oot-TrkCal-recat.txt \ ---auxinput=1:physics.filters.neutronMixerTrkCal.fileNames:neutron-TrkCal-cat.txt \ ---auxinput=1:physics.filters.dioMixerTrkCal.fileNames:dio-TrkCal-cat.txt \ ---auxinput=1:physics.filters.photonMixerTrkCal.fileNames:photon-TrkCal-cat.txt \ ---auxinput=2:physics.filters.flashMixerTrkCal.fileNames:DS-flash-TrkCal-recat.txt \ ---auxinput=1:physics.filters.protonMixerTrkCal.fileNames:proton-TrkCal.txt \ ---auxinput=1:physics.filters.deuteronMixerTrkCal.fileNames:deuteron-TrkCal.txt -rm -rf CeMLeadingLogMix -mv 000 CeMLeadingLogMix diff --git a/JobConfig/examples/generate_CePLeadingLog.sh b/JobConfig/examples/generate_CePLeadingLog.sh deleted file mode 100644 index 06595eb0..00000000 --- a/JobConfig/examples/generate_CePLeadingLog.sh +++ /dev/null @@ -1,3 +0,0 @@ -generate_fcl --description CePLeadingLog --dsconf MDC2018e --dsowner mu2e --include JobConfig/primary/CePLeadingLog.fcl --run-number 1002 --events-per-job 10000 --njobs 200 -rm -rf CePLeadingLog -mv 000 CePLeadingLog diff --git a/JobConfig/examples/generate_CeplusEndpoint.sh b/JobConfig/examples/generate_CeplusEndpoint.sh deleted file mode 100644 index 2a2b4265..00000000 --- a/JobConfig/examples/generate_CeplusEndpoint.sh +++ /dev/null @@ -1,3 +0,0 @@ -generate_fcl --description CeplusEndpoint --dsconf MDC2018a --dsowner mu2e --include JobConfig/primary/CeplusEndpoint.fcl --run-number 1002 --events-per-job 10000 --njobs 200 -rm -rf CeplusEndpoint -mv 000 CeplusEndpoint diff --git a/JobConfig/examples/generate_CeplusEndpointMix.sh b/JobConfig/examples/generate_CeplusEndpointMix.sh deleted file mode 100644 index 0040ee04..00000000 --- a/JobConfig/examples/generate_CeplusEndpointMix.sh +++ /dev/null @@ -1,19 +0,0 @@ -# Note: the jobs created by this script need at least 8GBytes of memory -generate_fcl --description CeplusEndpointMix --dsconf MDC2018a --dsowner mu2e --include JobConfig/mixing/CeplusEndpointMix.fcl \ ---run-number 1002 --events-per-job 500 --njobs 5000 --max-engines 30 \ ---auxinput=15:physics.filters.ootMixerCRV.fileNames:oot-CRV-cat.txt \ ---auxinput=1:physics.filters.neutronMixerCRV.fileNames:neutron-CRV-cat.txt \ ---auxinput=1:physics.filters.dioMixerCRV.fileNames:dio-CRV-cat.txt \ ---auxinput=1:physics.filters.photonMixerCRV.fileNames:photon-CRV-cat.txt \ ---auxinput=25:physics.filters.PSMixerCRV.fileNames:PS-CRV-cut.txt \ ---auxinput=25:physics.filters.TSMixerCRV.fileNames:TS-CRV-cat.txt \ ---auxinput=25:physics.filters.DSMixerCRV.fileNames:DS-CRV-cut.txt \ ---auxinput=15:physics.filters.ootMixerTrkCal.fileNames:oot-TrkCal-cat.txt \ ---auxinput=1:physics.filters.neutronMixerTrkCal.fileNames:neutron-TrkCal-cat.txt \ ---auxinput=1:physics.filters.dioMixerTrkCal.fileNames:dio-TrkCal-cat.txt \ ---auxinput=1:physics.filters.photonMixerTrkCal.fileNames:photon-TrkCal-cat.txt \ ---auxinput=10:physics.filters.flashMixerTrkCal.fileNames:DS-flash-TrkCal-cut.txt \ ---auxinput=1:physics.filters.protonMixerTrkCal.fileNames:proton-TrkCal.txt \ ---auxinput=1:physics.filters.deuteronMixerTrkCal.fileNames:deuteron-TrkCal.txt -rm -rf CeplusEndpointMix -mv 000 CeplusEndpointMix diff --git a/JobConfig/examples/generate_DS-CRV-cut.sh b/JobConfig/examples/generate_DS-CRV-cut.sh deleted file mode 100644 index 8003e65a..00000000 --- a/JobConfig/examples/generate_DS-CRV-cut.sh +++ /dev/null @@ -1,3 +0,0 @@ -generate_fcl --description DS-CRV-cut --dsconf MDC2018a --dsowner mu2e --inputs DS-CRV-cat.txt --embed JobConfig/beam/DS-CRV-cut.fcl --merge-factor=1 -rm -rf DS-CRV-cut -mv 000 DS-CRV-cut diff --git a/JobConfig/examples/generate_DS-cosmic-nofield-repro.sh b/JobConfig/examples/generate_DS-cosmic-nofield-repro.sh deleted file mode 100644 index d3a792f9..00000000 --- a/JobConfig/examples/generate_DS-cosmic-nofield-repro.sh +++ /dev/null @@ -1,8 +0,0 @@ -generate_fcl --description DS-cosmic-nofield --dsconf MDC2020Dev-a --dsowner mu2e --input DS-cosmic-nofield.txt --include JobConfig/reprocess/mdc2018--mdc2020-dev/dig-DS-cosmic-nofield.fcl --merge-factor=30 -for dirname in 000 001 002 003 004 005 006 007 008 009; do - if test -d $dirname; then - echo "found dir $dirname" - rm -rf DS-cosmic-nofield_$dirname - mv $dirname DS-cosmic-nofield_$dirname - fi -done diff --git a/JobConfig/examples/generate_DS-cosmic-nofield.sh b/JobConfig/examples/generate_DS-cosmic-nofield.sh deleted file mode 100644 index eb4d94e2..00000000 --- a/JobConfig/examples/generate_DS-cosmic-nofield.sh +++ /dev/null @@ -1,3 +0,0 @@ -generate_fcl --description DS-cosmic-nofield --dsconf MDC2018a --dsowner mu2e --include JobConfig/primary/DS-cosmic-nofield.fcl --run-number 1002 --events-per-job 20000 --njobs 500 -rm -rf DS-cosmic-nofield -mv 000 DS-cosmic-nofield diff --git a/JobConfig/examples/generate_DS-cosmic.sh b/JobConfig/examples/generate_DS-cosmic.sh deleted file mode 100644 index c0f7667a..00000000 --- a/JobConfig/examples/generate_DS-cosmic.sh +++ /dev/null @@ -1,3 +0,0 @@ -generate_fcl --description DS-cosmic --dsconf MDC2018a --dsowner mu2e --include JobConfig/primary/DS-cosmic.fcl --run-number 1002 --events-per-job 20000 --njobs 50000 -rm -rf DS-cosmic -mv 000 DS-cosmic diff --git a/JobConfig/examples/generate_DS-cosmicMix.sh b/JobConfig/examples/generate_DS-cosmicMix.sh deleted file mode 100644 index c7e01675..00000000 --- a/JobConfig/examples/generate_DS-cosmicMix.sh +++ /dev/null @@ -1,23 +0,0 @@ -generate_fcl --description DS-cosmicMix --dsconf MDC2018i --dsowner mu2e --include JobConfig/mixing/DS-cosmicMix.fcl \ ---inputs=DS-cosmic.txt --merge-factor 5 --max-engines 30 \ ---auxinput=3:physics.filters.ootMixerCRV.fileNames:oot-CRV-cat-cat.txt \ ---auxinput=1:physics.filters.neutronMixerCRV.fileNames:neutron-CRV-cat.txt \ ---auxinput=1:physics.filters.dioMixerCRV.fileNames:dio-CRV-cat.txt \ ---auxinput=1:physics.filters.photonMixerCRV.fileNames:photon-CRV-cat.txt \ ---auxinput=5:physics.filters.PSMixerCRV.fileNames:PS-CRV-cut-cat.txt \ ---auxinput=5:physics.filters.TSMixerCRV.fileNames:TS-CRV-cat-cat.txt \ ---auxinput=5:physics.filters.DSMixerCRV.fileNames:DS-CRV-cut-cat.txt \ ---auxinput=3:physics.filters.ootMixerTrkCal.fileNames:oot-TrkCal-cat-cat.txt \ ---auxinput=1:physics.filters.neutronMixerTrkCal.fileNames:neutron-TrkCal-cat.txt \ ---auxinput=1:physics.filters.dioMixerTrkCal.fileNames:dio-TrkCal-cat.txt \ ---auxinput=1:physics.filters.photonMixerTrkCal.fileNames:photon-TrkCal-cat.txt \ ---auxinput=2:physics.filters.flashMixerTrkCal.fileNames:DS-flash-TrkCal-cut-cat.txt \ ---auxinput=1:physics.filters.protonMixerTrkCal.fileNames:proton-TrkCal.txt \ ---auxinput=1:physics.filters.deuteronMixerTrkCal.fileNames:deuteron-TrkCal.txt -for dirname in 000 001 002 003 004 005 006 007 008 009; do - if test -d $dirname; then - echo "found dir $dirname" - rm -rf DS-cosmicMix_$dirname - mv $dirname DS-cosmicMix_$dirname - fi -done diff --git a/JobConfig/examples/generate_DS.sh b/JobConfig/examples/generate_DS.sh deleted file mode 100644 index 416098df..00000000 --- a/JobConfig/examples/generate_DS.sh +++ /dev/null @@ -1,3 +0,0 @@ -generate_fcl --description DS --dsconf MDC2018a --dsowner mu2e --inputs mubeam_20.txt --embed DS.fcl --merge-factor=2 -rm -rf S -mv 000 DS diff --git a/JobConfig/examples/generate_IPA-Michel.sh b/JobConfig/examples/generate_IPA-Michel.sh deleted file mode 100644 index fb576afb..00000000 --- a/JobConfig/examples/generate_IPA-Michel.sh +++ /dev/null @@ -1,3 +0,0 @@ -generate_fcl --description IPA-Michel --dsconf MDC2018a --dsowner mu2e --embed JobConfig/primary/IPA-Michel.fcl --run-number 1002 --events-per-job 200000 --njobs 200 -rm -rf IPA-Michel -mv 000 IPA-Michel diff --git a/JobConfig/examples/generate_IPA-MichelMix.sh b/JobConfig/examples/generate_IPA-MichelMix.sh deleted file mode 100644 index bdd75b3a..00000000 --- a/JobConfig/examples/generate_IPA-MichelMix.sh +++ /dev/null @@ -1,19 +0,0 @@ -# Note: the jobs created by this script need at least 8GBytes of memory -generate_fcl --description IPA-MichelMix --dsconf MDC2018a --dsowner mu2e --include JobConfig/mixing/IPA-MichelMix.fcl \ ---run-number 1002 --events-per-job 4000 --njobs 5000 --max-engines 30 \ ---auxinput=15:physics.filters.ootMixerCRV.fileNames:oot-CRV-cat.txt \ ---auxinput=1:physics.filters.neutronMixerCRV.fileNames:neutron-CRV-cat.txt \ ---auxinput=1:physics.filters.dioMixerCRV.fileNames:dio-CRV-cat.txt \ ---auxinput=1:physics.filters.photonMixerCRV.fileNames:photon-CRV-cat.txt \ ---auxinput=25:physics.filters.PSMixerCRV.fileNames:PS-CRV-cut.txt \ ---auxinput=25:physics.filters.TSMixerCRV.fileNames:TS-CRV-cat.txt \ ---auxinput=25:physics.filters.DSMixerCRV.fileNames:DS-CRV-cut.txt \ ---auxinput=15:physics.filters.ootMixerTrkCal.fileNames:oot-TrkCal-cat.txt \ ---auxinput=1:physics.filters.neutronMixerTrkCal.fileNames:neutron-TrkCal-cat.txt \ ---auxinput=1:physics.filters.dioMixerTrkCal.fileNames:dio-TrkCal-cat.txt \ ---auxinput=1:physics.filters.photonMixerTrkCal.fileNames:photon-TrkCal-cat.txt \ ---auxinput=10:physics.filters.flashMixerTrkCal.fileNames:DS-flash-TrkCal-cut.txt \ ---auxinput=1:physics.filters.protonMixerTrkCal.fileNames:proton-TrkCal.txt \ ---auxinput=1:physics.filters.deuteronMixerTrkCal.fileNames:deuteron-TrkCal.txt -rm -rf IPA-MichelMix -mv 000 IPA-MichelMix diff --git a/JobConfig/examples/generate_NoPrimary-mix-repro.sh b/JobConfig/examples/generate_NoPrimary-mix-repro.sh deleted file mode 100644 index d925dc5b..00000000 --- a/JobConfig/examples/generate_NoPrimary-mix-repro.sh +++ /dev/null @@ -1,8 +0,0 @@ -generate_fcl --description NoPrimary-mix --dsconf MDC2020DEVa --dsowner mu2e --input NP_MDC2018d.txt --include JobConfig/reprocess/mdc2018--mdc2020-dev/dig-NoPrimary-mix.fcl --merge-factor=1 -for dirname in 000 001 002 003 004 005 006 007 008 009; do - if test -d $dirname; then - echo "found dir $dirname" - rm -rf NoPrimary-mix_$dirname - mv $dirname NoPrimary-mix_$dirname - fi -done diff --git a/JobConfig/examples/generate_NoPrimary.sh b/JobConfig/examples/generate_NoPrimary.sh deleted file mode 100644 index 3dd8f3d6..00000000 --- a/JobConfig/examples/generate_NoPrimary.sh +++ /dev/null @@ -1,18 +0,0 @@ -generate_fcl --description NoPrimary --dsconf MDC2018a --dsowner mu2e --include JobConfig/mixing/NoPrimary.fcl \ ---run-number 1002 --events-per-job 500 --njobs 200 --max-engines 30 \ ---auxinput=15:physics.filters.ootMixerCRV.fileNames:oot-CRV-cat.txt \ ---auxinput=1:physics.filters.neutronMixerCRV.fileNames:neutron-CRV-cat.txt \ ---auxinput=1:physics.filters.dioMixerCRV.fileNames:dio-CRV-cat.txt \ ---auxinput=1:physics.filters.photonMixerCRV.fileNames:photon-CRV-cat.txt \ ---auxinput=25:physics.filters.PSMixerCRV.fileNames:PS-CRV-cut.txt \ ---auxinput=25:physics.filters.TSMixerCRV.fileNames:TS-CRV-cat.txt \ ---auxinput=25:physics.filters.DSMixerCRV.fileNames:DS-CRV-cut.txt \ ---auxinput=15:physics.filters.ootMixerTrkCal.fileNames:oot-TrkCal-cat.txt \ ---auxinput=1:physics.filters.neutronMixerTrkCal.fileNames:neutron-TrkCal-cat.txt \ ---auxinput=1:physics.filters.dioMixerTrkCal.fileNames:dio-TrkCal-cat.txt \ ---auxinput=1:physics.filters.photonMixerTrkCal.fileNames:photon-TrkCal-cat.txt \ ---auxinput=10:physics.filters.flashMixerTrkCal.fileNames:DS-flash-TrkCal-cut.txt \ ---auxinput=1:physics.filters.protonMixerTrkCal.fileNames:proton-TrkCal.txt \ ---auxinput=1:physics.filters.deuteronMixerTrkCal.fileNames:deuteron-TrkCal.txt -rm -rf NoPrimary -mv 000 NoPrimary diff --git a/JobConfig/examples/generate_NoPrimaryFlat.sh b/JobConfig/examples/generate_NoPrimaryFlat.sh deleted file mode 100644 index a1c2f95f..00000000 --- a/JobConfig/examples/generate_NoPrimaryFlat.sh +++ /dev/null @@ -1,18 +0,0 @@ -generate_fcl --description NoPrimaryFlat --dsconf MDC2018e --dsowner mu2e --embed JobConfig/mixing/NoPrimaryFlat.fcl \ ---run-number 1002 --events-per-job 25 --njobs 200 --max-engines 30 \ ---auxinput=3:physics.filters.ootMixerCRV.fileNames:oot-CRV-recat.txt \ ---auxinput=1:physics.filters.neutronMixerCRV.fileNames:neutron-CRV-cat.txt \ ---auxinput=1:physics.filters.dioMixerCRV.fileNames:dio-CRV-cat.txt \ ---auxinput=1:physics.filters.photonMixerCRV.fileNames:photon-CRV-cat.txt \ ---auxinput=5:physics.filters.PSMixerCRV.fileNames:PS-CRV-recat.txt \ ---auxinput=5:physics.filters.TSMixerCRV.fileNames:TS-CRV-recat.txt \ ---auxinput=5:physics.filters.DSMixerCRV.fileNames:DS-CRV-recat.txt \ ---auxinput=3:physics.filters.ootMixerTrkCal.fileNames:oot-TrkCal-recat.txt \ ---auxinput=1:physics.filters.neutronMixerTrkCal.fileNames:neutron-TrkCal-cat.txt \ ---auxinput=1:physics.filters.dioMixerTrkCal.fileNames:dio-TrkCal-cat.txt \ ---auxinput=1:physics.filters.photonMixerTrkCal.fileNames:photon-TrkCal-cat.txt \ ---auxinput=2:physics.filters.flashMixerTrkCal.fileNames:DS-flash-TrkCal-recat.txt \ ---auxinput=1:physics.filters.protonMixerTrkCal.fileNames:proton-TrkCal.txt \ ---auxinput=1:physics.filters.deuteronMixerTrkCal.fileNames:deuteron-TrkCal.txt -rm -rf NoPrimaryFlat -mv 000 NoPrimaryFlat diff --git a/JobConfig/examples/generate_PS-CRV-cut.sh b/JobConfig/examples/generate_PS-CRV-cut.sh deleted file mode 100644 index b166fadd..00000000 --- a/JobConfig/examples/generate_PS-CRV-cut.sh +++ /dev/null @@ -1,3 +0,0 @@ -generate_fcl --description PS-CRV-cut --dsconf MDC2018a --dsowner mu2e --inputs PS-CRV-cat.txt --embed JobConfig/beam/PS-CRV-cut.fcl --merge-factor=1 -rm -rf PS-CRV-cut -mv 000 PS-CRV-cut diff --git a/JobConfig/examples/generate_PS-CRV.sh b/JobConfig/examples/generate_PS-CRV.sh deleted file mode 100644 index 1cc937b2..00000000 --- a/JobConfig/examples/generate_PS-CRV.sh +++ /dev/null @@ -1,2 +0,0 @@ -generate_fcl --description PS-CRV --dsconf MDC2018a --dsowner mu2e --inputs dsregion_0506a_100.txt --embed ./PS-CRV.fcl --merge-factor=10 -mv 000 PS-CRV diff --git a/JobConfig/examples/generate_TS-CRV.sh b/JobConfig/examples/generate_TS-CRV.sh deleted file mode 100644 index 3a1edf5a..00000000 --- a/JobConfig/examples/generate_TS-CRV.sh +++ /dev/null @@ -1,2 +0,0 @@ -generate_fcl --description TS-CRV --dsconf MDC2018a --dsowner mu2e --inputs mubeam_0506a_100.txt --embed ./TS-CRV.fcl --merge-factor=10 -mv 000 TS-CRV diff --git a/JobConfig/examples/generate_deuteron.sh b/JobConfig/examples/generate_deuteron.sh deleted file mode 100644 index 125f07d0..00000000 --- a/JobConfig/examples/generate_deuteron.sh +++ /dev/null @@ -1,3 +0,0 @@ -generate_fcl --description deuteron --dsconf MDC2018a --dsowner mu2e --embed deuteron.fcl --run-number 1002 --events-per-job 1000000 --njobs 10 -rm -rf deuteron -mv 000 deuteron diff --git a/JobConfig/examples/generate_dio.sh b/JobConfig/examples/generate_dio.sh deleted file mode 100644 index 2e88926f..00000000 --- a/JobConfig/examples/generate_dio.sh +++ /dev/null @@ -1,3 +0,0 @@ -generate_fcl --description dio --dsconf MDC2018a --dsowner mu2e --embed dio.fcl --run-number 1002 --events-per-job 200000 --njobs 10 -rm -rf dio -mv 000 dio diff --git a/JobConfig/examples/generate_flash.sh b/JobConfig/examples/generate_flash.sh deleted file mode 100644 index 87e3368e..00000000 --- a/JobConfig/examples/generate_flash.sh +++ /dev/null @@ -1,3 +0,0 @@ -generate_fcl --description DS-flash --dsconf MDC2018a --dsowner mu2e --auxinput=1:physics.filters.flashResample.fileNames:mubeam_10.txt --include JobConfig/beam/DS-flash.fcl --events-per-job 200000 --njobs 10 --run-number 10021 -rm -rf DS-flash -mv 000 DS-flash diff --git a/JobConfig/examples/generate_flashcat.sh b/JobConfig/examples/generate_flashcat.sh deleted file mode 100644 index 14083579..00000000 --- a/JobConfig/examples/generate_flashcat.sh +++ /dev/null @@ -1,3 +0,0 @@ -generate_fcl --description flashcat --dsconf MDC2018a --dsowner mu2e --inputs stashflash.txt --embed flashcat.fcl --merge-factor=200 -rm -rf flashcat -mv 000 flashcat diff --git a/JobConfig/examples/generate_flashcut.sh b/JobConfig/examples/generate_flashcut.sh deleted file mode 100644 index 17e914c6..00000000 --- a/JobConfig/examples/generate_flashcut.sh +++ /dev/null @@ -1,3 +0,0 @@ -generate_fcl --description DS-flash-TrkCal-cut --dsconf MDC2018a --dsowner mu2e --inputs flash-cat.txt --embed JobConfig/beam/DS-flash-TrkCal-cut.fcl --merge-factor=1 -rm -rf DS-flash-TrkCal-cut -mv 000 DS-flash-TrkCal-cut diff --git a/JobConfig/examples/generate_flatInternalRMC.sh b/JobConfig/examples/generate_flatInternalRMC.sh deleted file mode 100644 index ef616cf8..00000000 --- a/JobConfig/examples/generate_flatInternalRMC.sh +++ /dev/null @@ -1,3 +0,0 @@ -generate_fcl --description flatInternalRMC --dsconf MDC2018a --dsowner mu2e --include JobConfig/primary/flatInternalRMC.fcl --run-number 1002 --events-per-job 60000 --njobs 500 -rm -rf flatInternalRMC -mv 000 flatInternalRMC diff --git a/JobConfig/examples/generate_flatInternalRPC.sh b/JobConfig/examples/generate_flatInternalRPC.sh deleted file mode 100644 index 5176bd95..00000000 --- a/JobConfig/examples/generate_flatInternalRPC.sh +++ /dev/null @@ -1,3 +0,0 @@ -generate_fcl --description flatInternalRPC --dsconf MDC2018a --dsowner mu2e --include JobConfig/primary/flatInternalRPC.fcl --run-number 1002 --events-per-job 60000 --njobs 500 -rm -rf flatInternalRPC -mv 000 flatInternalRPC diff --git a/JobConfig/examples/generate_flateminus.sh b/JobConfig/examples/generate_flateminus.sh deleted file mode 100644 index 059f41e8..00000000 --- a/JobConfig/examples/generate_flateminus.sh +++ /dev/null @@ -1,3 +0,0 @@ -generate_fcl --description flateminus --dsconf MDC2018a --dsowner mu2e --include JobConfig/primary/flateminus.fcl --run-number 1002 --events-per-job 10000 --njobs 200 -rm -rf flateminus -mv 000 flateminus diff --git a/JobConfig/examples/generate_flateminusMix.sh b/JobConfig/examples/generate_flateminusMix.sh deleted file mode 100644 index 5c79fef6..00000000 --- a/JobConfig/examples/generate_flateminusMix.sh +++ /dev/null @@ -1,18 +0,0 @@ -generate_fcl --description flateminusMix --dsconf MDC2018a --dsowner mu2e --include JobConfig/mixing/flateminusMix.fcl \ ---run-number 1002 --events-per-job 500 --njobs 40000 --max-engines 30 \ ---auxinput=15:physics.filters.ootMixerCRV.fileNames:oot-CRV-cat.txt \ ---auxinput=1:physics.filters.neutronMixerCRV.fileNames:neutron-CRV-cat.txt \ ---auxinput=1:physics.filters.dioMixerCRV.fileNames:dio-CRV-cat.txt \ ---auxinput=1:physics.filters.photonMixerCRV.fileNames:photon-CRV-cat.txt \ ---auxinput=25:physics.filters.PSMixerCRV.fileNames:PS-CRV-cut.txt \ ---auxinput=25:physics.filters.TSMixerCRV.fileNames:TS-CRV-cat.txt \ ---auxinput=25:physics.filters.DSMixerCRV.fileNames:DS-CRV-cut.txt \ ---auxinput=15:physics.filters.ootMixerTrkCal.fileNames:oot-TrkCal-cat.txt \ ---auxinput=1:physics.filters.neutronMixerTrkCal.fileNames:neutron-TrkCal-cat.txt \ ---auxinput=1:physics.filters.dioMixerTrkCal.fileNames:dio-TrkCal-cat.txt \ ---auxinput=1:physics.filters.photonMixerTrkCal.fileNames:photon-TrkCal-cat.txt \ ---auxinput=10:physics.filters.flashMixerTrkCal.fileNames:DS-flash-TrkCal-cut.txt \ ---auxinput=1:physics.filters.protonMixerTrkCal.fileNames:proton-TrkCal.txt \ ---auxinput=1:physics.filters.deuteronMixerTrkCal.fileNames:deuteron-TrkCal.txt -rm -rf flateminusMix -mv 000 flateminusMix diff --git a/JobConfig/examples/generate_flateplus.sh b/JobConfig/examples/generate_flateplus.sh deleted file mode 100644 index 48029a41..00000000 --- a/JobConfig/examples/generate_flateplus.sh +++ /dev/null @@ -1,3 +0,0 @@ -generate_fcl --description flateplus --dsconf MDC2018a --dsowner mu2e --include JobConfig/primary/flateplus.fcl --run-number 1002 --events-per-job 10000 --njobs 250 -rm -rf flateplus -mv 000 flateplus diff --git a/JobConfig/examples/generate_flatmugamma-calo.sh b/JobConfig/examples/generate_flatmugamma-calo.sh deleted file mode 100644 index e5480d24..00000000 --- a/JobConfig/examples/generate_flatmugamma-calo.sh +++ /dev/null @@ -1,3 +0,0 @@ -generate_fcl --description flatmugamma-calo --dsconf MDC2018a --dsowner mu2e --include JobConfig/primary/flatmugamma-calo.fcl --run-number 1002 --events-per-job 250000 --njobs 200 -rm -rf flatmugamma-calo -mv 000 flatmugamma-calo diff --git a/JobConfig/examples/generate_flatmugamma.sh b/JobConfig/examples/generate_flatmugamma.sh deleted file mode 100644 index 6958cf75..00000000 --- a/JobConfig/examples/generate_flatmugamma.sh +++ /dev/null @@ -1,3 +0,0 @@ -generate_fcl --description flatmugamma --dsconf MDC2018a --dsowner mu2e --include JobConfig/primary/flatmugamma.fcl --run-number 1002 --events-per-job 2e6 --njobs 500 -rm -rf flatmugamma -mv 000 flatmugamma diff --git a/JobConfig/examples/generate_flatmugammaMix.sh b/JobConfig/examples/generate_flatmugammaMix.sh deleted file mode 100644 index 589819dd..00000000 --- a/JobConfig/examples/generate_flatmugammaMix.sh +++ /dev/null @@ -1,18 +0,0 @@ -generate_fcl --description flatmugammaMix --dsconf MDC2018a --dsowner mu2e --include JobConfig/mixing/flatmugammaMix.fcl \ ---run-number 1002 --events-per-job 200000 --njobs 5000 --max-engines 30 \ ---auxinput=15:physics.filters.ootMixerCRV.fileNames:oot-CRV-cat.txt \ ---auxinput=1:physics.filters.neutronMixerCRV.fileNames:neutron-CRV-cat.txt \ ---auxinput=1:physics.filters.dioMixerCRV.fileNames:dio-CRV-cat.txt \ ---auxinput=1:physics.filters.photonMixerCRV.fileNames:photon-CRV-cat.txt \ ---auxinput=25:physics.filters.PSMixerCRV.fileNames:PS-CRV-cut.txt \ ---auxinput=25:physics.filters.TSMixerCRV.fileNames:TS-CRV-cat.txt \ ---auxinput=25:physics.filters.DSMixerCRV.fileNames:DS-CRV-cut.txt \ ---auxinput=15:physics.filters.ootMixerTrkCal.fileNames:oot-TrkCal-cat.txt \ ---auxinput=1:physics.filters.neutronMixerTrkCal.fileNames:neutron-TrkCal-cat.txt \ ---auxinput=1:physics.filters.dioMixerTrkCal.fileNames:dio-TrkCal-cat.txt \ ---auxinput=1:physics.filters.photonMixerTrkCal.fileNames:photon-TrkCal-cat.txt \ ---auxinput=10:physics.filters.flashMixerTrkCal.fileNames:DS-flash-TrkCal-cut.txt \ ---auxinput=1:physics.filters.protonMixerTrkCal.fileNames:proton-TrkCal.txt \ ---auxinput=1:physics.filters.deuteronMixerTrkCal.fileNames:deuteron-TrkCal.txt -rm -rf flatmugammaMix -mv 000 flatmugammaMix diff --git a/JobConfig/examples/generate_flatpigamma.sh b/JobConfig/examples/generate_flatpigamma.sh deleted file mode 100644 index 98f1abbf..00000000 --- a/JobConfig/examples/generate_flatpigamma.sh +++ /dev/null @@ -1,3 +0,0 @@ -generate_fcl --description flatpigamma --dsconf MDC2018a --dsowner mu2e --include JobConfig/primary/flatpigamma.fcl --run-number 1002 --events-per-job 2e6 --njobs 500 -rm -rf flatpigamma -mv 000 flatpigamma diff --git a/JobConfig/examples/generate_flatpigammaMix.sh b/JobConfig/examples/generate_flatpigammaMix.sh deleted file mode 100644 index 026ead46..00000000 --- a/JobConfig/examples/generate_flatpigammaMix.sh +++ /dev/null @@ -1,18 +0,0 @@ -generate_fcl --description flatpigammaMix --dsconf MDC2018a --dsowner mu2e --include JobConfig/mixing/flatpigammaMix.fcl \ ---run-number 1002 --events-per-job 1000000 --njobs 1000 --max-engines 30 \ ---auxinput=15:physics.filters.ootMixerCRV.fileNames:oot-CRV-cat.txt \ ---auxinput=1:physics.filters.neutronMixerCRV.fileNames:neutron-CRV-cat.txt \ ---auxinput=1:physics.filters.dioMixerCRV.fileNames:dio-CRV-cat.txt \ ---auxinput=1:physics.filters.photonMixerCRV.fileNames:photon-CRV-cat.txt \ ---auxinput=25:physics.filters.PSMixerCRV.fileNames:PS-CRV-cut.txt \ ---auxinput=25:physics.filters.TSMixerCRV.fileNames:TS-CRV-cat.txt \ ---auxinput=25:physics.filters.DSMixerCRV.fileNames:DS-CRV-cut.txt \ ---auxinput=15:physics.filters.ootMixerTrkCal.fileNames:oot-TrkCal-cat.txt \ ---auxinput=1:physics.filters.neutronMixerTrkCal.fileNames:neutron-TrkCal-cat.txt \ ---auxinput=1:physics.filters.dioMixerTrkCal.fileNames:dio-TrkCal-cat.txt \ ---auxinput=1:physics.filters.photonMixerTrkCal.fileNames:photon-TrkCal-cat.txt \ ---auxinput=10:physics.filters.flashMixerTrkCal.fileNames:DS-flash-TrkCal-cut.txt \ ---auxinput=1:physics.filters.protonMixerTrkCal.fileNames:proton-TrkCal.txt \ ---auxinput=1:physics.filters.deuteronMixerTrkCal.fileNames:deuteron-TrkCal.txt -rm -rf flatpigammaMix -mv 000 flatpigammaMix diff --git a/JobConfig/examples/generate_flatproton.sh b/JobConfig/examples/generate_flatproton.sh deleted file mode 100644 index 41d884f1..00000000 --- a/JobConfig/examples/generate_flatproton.sh +++ /dev/null @@ -1,3 +0,0 @@ -generate_fcl --description flatproton --dsconf MDC2018a --dsowner mu2e --embed JobConfig/primary/flatproton.fcl --run-number 1002 --events-per-job 250000 --njobs 100 -rm -rf flatproton -mv 000 flatproton diff --git a/JobConfig/examples/generate_neutron.sh b/JobConfig/examples/generate_neutron.sh deleted file mode 100644 index e10558bb..00000000 --- a/JobConfig/examples/generate_neutron.sh +++ /dev/null @@ -1,3 +0,0 @@ -generate_fcl --description neutron --dsconf MDC2018a --dsowner mu2e --embed neutron.fcl --run-number 1002 --events-per-job 200000 --njobs 10 -rm -rf neutron -mv 000 neutron diff --git a/JobConfig/examples/generate_oot.sh b/JobConfig/examples/generate_oot.sh deleted file mode 100644 index 8c415f13..00000000 --- a/JobConfig/examples/generate_oot.sh +++ /dev/null @@ -1,3 +0,0 @@ -generate_fcl --description oot --dsconf MDC2018a --dsowner mu2e --embed oot.fcl --run-number 1002 --events-per-job 500000 --njobs 10 -rm -rf oot -mv 000 oot diff --git a/JobConfig/examples/generate_ootstops.sh b/JobConfig/examples/generate_ootstops.sh deleted file mode 100644 index 78c46444..00000000 --- a/JobConfig/examples/generate_ootstops.sh +++ /dev/null @@ -1,3 +0,0 @@ -generate_fcl --description ootstops --dsconf MDC2018a --dsowner mu2e --inputs ootstops.txt --include JobConfig/beam/OOTstops.fcl --merge-factor=500 -rm -rf ootstops -mv 000 ootstops diff --git a/JobConfig/examples/generate_photon.sh b/JobConfig/examples/generate_photon.sh deleted file mode 100644 index eb27fad3..00000000 --- a/JobConfig/examples/generate_photon.sh +++ /dev/null @@ -1,3 +0,0 @@ -generate_fcl --description photon --dsconf MDC2018a --dsowner mu2e --embed photon.fcl --run-number 1002 --events-per-job 1000000 --njobs 10 -rm -rf photon -mv 000 photon diff --git a/JobConfig/examples/generate_proton.sh b/JobConfig/examples/generate_proton.sh deleted file mode 100644 index 6bfef301..00000000 --- a/JobConfig/examples/generate_proton.sh +++ /dev/null @@ -1,3 +0,0 @@ -generate_fcl --description proton --dsconf MDC2018a --dsowner mu2e --include JobConfig/primary/proton.fcl --run-number 1002 --events-per-job 1000000 --njobs 10 -rm -rf proton -mv 000 proton diff --git a/JobConfig/examples/generate_reco-CRY-cosmic-general-mix.sh b/JobConfig/examples/generate_reco-CRY-cosmic-general-mix.sh deleted file mode 100644 index 3c8ad7d4..00000000 --- a/JobConfig/examples/generate_reco-CRY-cosmic-general-mix.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash -generate_fcl --description reco-CRY-cosmic-general-mix --dsconf MDC2018h --dsowner mu2e --inputs CRY-cosmic-general-mix.txt --include JobConfig/reco/CRY-cosmic-general-mix.fcl --merge-factor=20 -for dirname in 000 001 002 003 004 005 006 007 008 009; do - if test -d $dirname; then - echo "found dir $dirname" - rm -rf reco-CRY-cosmic-general-mix_$dirname - mv $dirname reco-CRY-cosmic-general-mix_$dirname - fi -done diff --git a/JobConfig/examples/generate_reco-CeEndpoint-mix.sh b/JobConfig/examples/generate_reco-CeEndpoint-mix.sh deleted file mode 100644 index 812e4d58..00000000 --- a/JobConfig/examples/generate_reco-CeEndpoint-mix.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash -generate_fcl --description reco-CeEndpoint-mix --dsconf MDC2018h --dsowner mu2e --inputs CeEndpoint-mix.txt --include JobConfig/reco/CeEndpoint-mix.fcl --merge-factor=20 -for dirname in 000 001 002 003 004 005 006 007 008 009; do - if test -d $dirname; then - echo "found dir $dirname" - rm -rf reco-CeEndpoint-mix_$dirname - mv $dirname reco-CeEndpoint-mix_$dirname - fi -done diff --git a/JobConfig/examples/generate_reco-CeplusEndpoint-mix.sh b/JobConfig/examples/generate_reco-CeplusEndpoint-mix.sh deleted file mode 100644 index dbd6bb14..00000000 --- a/JobConfig/examples/generate_reco-CeplusEndpoint-mix.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash -generate_fcl --description reco-CeplusEndpoint-mix --dsconf MDC2018h --dsowner mu2e --inputs CeplusEndpoint-mix.txt --include JobConfig/reco/CeplusEndpoint-mix.fcl --merge-factor=20 -for dirname in 000 001 002 003 004 005 006 007 008 009; do - if test -d $dirname; then - echo "found dir $dirname" - rm -rf reco-CeplusEndpoint-mix_$dirname - mv $dirname reco-CeplusEndpoint-mix_$dirname - fi -done diff --git a/JobConfig/examples/generate_reco-DS-cosmic-mix.sh b/JobConfig/examples/generate_reco-DS-cosmic-mix.sh deleted file mode 100644 index baadf9fe..00000000 --- a/JobConfig/examples/generate_reco-DS-cosmic-mix.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash -generate_fcl --description reco-DS-cosmic-mix --dsconf MDC2018i --dsowner mu2e --inputs DS-cosmic-mix-cat.txt --include JobConfig/reco/DS-cosmic-mix.fcl --merge-factor=6 -for dirname in 000 001 002 003 004 005 006 007 008 009; do - if test -d $dirname; then - echo "found dir $dirname" - rm -rf reco-DS-cosmic-mix_$dirname - mv $dirname reco-DS-cosmic-mix_$dirname - fi -done diff --git a/JobConfig/examples/generate_reco-flateminus-mix.sh b/JobConfig/examples/generate_reco-flateminus-mix.sh deleted file mode 100644 index 8b076f5b..00000000 --- a/JobConfig/examples/generate_reco-flateminus-mix.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash -generate_fcl --description reco-flateminus-mix --dsconf MDC2018h --dsowner mu2e --inputs flateminus-mix.txt --include JobConfig/reco/flateminus-mix.fcl --merge-factor=20 -for dirname in 000 001 002 003 004 005 006 007 008 009; do - if test -d $dirname; then - echo "found dir $dirname" - rm -rf reco-flateminus-mix_$dirname - mv $dirname reco-flateminus-mix_$dirname - fi -done diff --git a/JobConfig/examples/generate_reco-flateplus-mix.sh b/JobConfig/examples/generate_reco-flateplus-mix.sh deleted file mode 100644 index 2daaf607..00000000 --- a/JobConfig/examples/generate_reco-flateplus-mix.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash -generate_fcl --description reco-flateplus-mix --dsconf MDC2018h --dsowner mu2e --inputs flateplus-mix.txt --include JobConfig/reco/flateplus-mix.fcl --merge-factor=20 -for dirname in 000 001 002 003 004 005 006 007 008 009; do - if test -d $dirname; then - echo "found dir $dirname" - rm -rf reco-flateplus-mix_$dirname - mv $dirname reco-flateplus-mix_$dirname - fi -done diff --git a/JobConfig/examples/generate_reco-flatmugamma-mix.sh b/JobConfig/examples/generate_reco-flatmugamma-mix.sh deleted file mode 100644 index 47c23a86..00000000 --- a/JobConfig/examples/generate_reco-flatmugamma-mix.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash -generate_fcl --description reco-flatmugamma-mix --dsconf MDC2018h --dsowner mu2e --inputs flatmugamma-mix.txt --include JobConfig/reco/flatmugamma-mix.fcl --merge-factor=20 -for dirname in 000 001 002 003 004 005 006 007 008 009; do - if test -d $dirname; then - echo "found dir $dirname" - rm -rf reco-flatmugamma-mix_$dirname - mv $dirname reco-flatmugamma-mix_$dirname - fi -done diff --git a/JobConfig/examples/generate_reco-flatpigamma-mix.sh b/JobConfig/examples/generate_reco-flatpigamma-mix.sh deleted file mode 100644 index acb84f27..00000000 --- a/JobConfig/examples/generate_reco-flatpigamma-mix.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash -generate_fcl --description reco-flatpigamma-mix --dsconf MDC2018h --dsowner mu2e --inputs flatpigamma-mix.txt --include JobConfig/reco/flatpigamma-mix.fcl --merge-factor=20 -for dirname in 000 001 002 003 004 005 006 007 008 009; do - if test -d $dirname; then - echo "found dir $dirname" - rm -rf reco-flatpigamma-mix_$dirname - mv $dirname reco-flatpigamma-mix_$dirname - fi -done diff --git a/JobConfig/examples/generate_tgtstops.sh b/JobConfig/examples/generate_tgtstops.sh deleted file mode 100644 index bec546f1..00000000 --- a/JobConfig/examples/generate_tgtstops.sh +++ /dev/null @@ -1,3 +0,0 @@ -generate_fcl --description tgtstops --dsconf MDC2018a --dsowner mu2e --inputs tstops.txt --include JobConfig/beam/TGTstops.fcl --merge-factor=500 -rm -rf tgtstops -mv 000 tgtstops diff --git a/JobConfig/mixing/Mix.fcl b/JobConfig/mixing/Mix.fcl index 05f626cb..ea07690f 100644 --- a/JobConfig/mixing/Mix.fcl +++ b/JobConfig/mixing/Mix.fcl @@ -32,31 +32,10 @@ outputs : { # #include "Production/JobConfig/common/epilog.fcl" #include "Production/JobConfig/digitize/epilog.fcl" -# add trigger paths -#include "Offline/gen/fcl/Trigger/OnSpillTrigMenu/OnSpillTrigMenu.fcl" -# set the event timing for Onspill -physics.producers.EWMProducer.SpillType : 1 -# minimal BField map -services.GeometryService.inputFile : "Offline/Mu2eG4/geom/geom_common_reco.txt" -# add primary and mixers to the list of step producers. Note the StrawDigi maker uses a general selector if no module is specified -physics.producers.makeSD.StrawGasStepModule : "" +#include "Production/JobConfig/mixing/epilog.fcl" +physics.producers.CrvPhotons.crvStepProcessNames : [ "","","","","" ] physics.producers.compressDigiMCs.simParticleTags : [compressDetStepMCs, @sequence::Mixing.StepMixSequence ] physics.producers.compressDigiMCs.caloShowerStepTags : [compressDetStepMCs, @sequence::Mixing.StepMixSequence ] physics.producers.CaloShowerROMaker.caloShowerStepCollection : [compressDetStepMCs, @sequence::Mixing.StepMixSequence ] physics.producers.CrvPhotons.crvStepModuleLabels : [ compressDetStepMCs, @sequence::Mixing.StepMixSequence ] -physics.producers.CrvPhotons.crvStepProcessNames : [ "","","","","" ] -# configure the mixin efficiences -physics.filters.EleBeamFlashMixer.mu2e.simStageEfficiencyTags: ["EleBeamCat", "EleBeamFlashCat" ] -physics.filters.MuBeamFlashMixer.mu2e.simStageEfficiencyTags: ["MuBeamCat", "MuBeamFlashCat" ] -physics.filters.NeutralsFlashMixer.mu2e.simStageEfficiencyTags: ["NeutralsCat", "NeutralsFlashCat" ] -physics.filters.MuStopPileupMixer.mu2e.simStageEfficiencyTags: ["MuBeamCat", "MuminusStopsCat", "MuStopPileupCat"] -physics.filters.MuStopPileupMixer.mu2e.meanEventsPerPOTFactors : [ 1000 ] # target stops are prescaled by 1000 (see Production/JobConfig/beam/MuBeamResampler.fcl) -# define the paths -physics.trigger_paths[0] : Triggered -physics.trigger_paths[1] : Untriggered -physics.end_paths : [ EndPath ] -# generic output: this is overwritten by the gen_Mix.sh script -outputs.TriggeredOutput.fileName: "dig.owner.MixTriggered.version.sequencer.art" -outputs.UntriggeredOutput.fileName: "dig.owner.MixUntriggered.version.sequencer.art" -# mixing requires the SimEfficiency tables -services.ProditionsService.simbookkeeper.useDb: true + diff --git a/JobConfig/mixing/NoPrimary.fcl b/JobConfig/mixing/NoPrimary.fcl index f1b9af1a..5a69e9b6 100644 --- a/JobConfig/mixing/NoPrimary.fcl +++ b/JobConfig/mixing/NoPrimary.fcl @@ -19,8 +19,8 @@ physics : { } analyzers: { @table::Digitize.analyzers } # same path for triggered, untriggered streams, but different selections - Triggered : [ PBISim, @sequence::Mixing.StepMixSequence, @sequence::Digitize.DigitizeSequence ] - Untriggered : [ PBISim, @sequence::Mixing.StepMixSequence, @sequence::Digitize.DigitizeSequence ] + Triggered : [ NullMCPrimary, PBISim, @sequence::Mixing.StepMixSequence, @sequence::Digitize.DigitizeSequence ] + Untriggered : [ NullMCPrimary, PBISim, @sequence::Mixing.StepMixSequence, @sequence::Digitize.DigitizeSequence ] EndPath : @local::Digitize.EndPath } # @@ -33,38 +33,16 @@ outputs : { # #include "Production/JobConfig/common/epilog.fcl" #include "Production/JobConfig/digitize/epilog.fcl" +#include "Production/JobConfig/mixing/epilog.fcl" # # patch for no primary -physics.producers.compressDigiMCs.extraStepPointMCTags : [] -physics.producers.compressDigiMCs.mcTrajectoryTag : "" -physics.producers.compressDigiMCs.primaryParticleTag : "" -physics.producers.FindMCPrimary : @erase -# add trigger paths -#include "Offline/gen/fcl/Trigger/OnSpillTrigMenu/OnSpillTrigMenu.fcl" -# set the event timing for Onspill -physics.producers.EWMProducer.SpillType : 1 -# minimal BField map -services.GeometryService.inputFile : "Offline/Mu2eG4/geom/geom_common_reco.txt" -# add mixers to the list of step producers. Note the StrawDigi maker uses a general selector if no module is specified -physics.producers.makeSD.StrawGasStepModule : "" +physics.producers.compressDigiMCs.extraStepPointMCTags : ["NullMCPrimary:virtualdetector", "NullMCPrimary:stoppingtarget", "NullMCPrimary:protonabsorber"] +physics.producers.compressDigiMCs.mcTrajectoryTag : "NullMCPrimary" +physics.producers.compressDigiMCs.primaryParticleTag : "NullMCPrimary" + +physics.producers.CrvPhotons.crvStepProcessNames : [ "","","","" ] physics.producers.compressDigiMCs.simParticleTags : [@sequence::Mixing.StepMixSequence ] physics.producers.compressDigiMCs.caloShowerStepTags : [@sequence::Mixing.StepMixSequence ] physics.producers.CaloShowerROMaker.caloShowerStepCollection : [@sequence::Mixing.StepMixSequence ] physics.producers.CrvPhotons.crvStepModuleLabels : [ @sequence::Mixing.StepMixSequence ] -physics.producers.CrvPhotons.crvStepProcessNames : [ "","","","" ] -# configure the mixin efficiences -physics.filters.EleBeamFlashMixer.mu2e.simStageEfficiencyTags: ["EleBeamCat", "EleBeamFlashCat" ] -physics.filters.MuBeamFlashMixer.mu2e.simStageEfficiencyTags: ["MuBeamCat", "MuBeamFlashCat" ] -physics.filters.NeutralsFlashMixer.mu2e.simStageEfficiencyTags: ["NeutralsCat", "NeutralsFlashCat" ] -physics.filters.MuStopPileupMixer.mu2e.simStageEfficiencyTags: ["MuBeamCat", "MuminusStopsCat", "MuStopPileupCat"] -physics.filters.MuStopPileupMixer.mu2e.meanEventsPerPOTFactors : [ 1000 ] # target stops are presampled by 1000 -# define the paths -physics.trigger_paths[0] : Triggered -physics.trigger_paths[1] : Untriggered -physics.end_paths : [ EndPath ] -# no selection for untriggered output -outputs.UntriggeredOutput.SelectEvents : [] -# generic output: this is overwritten by gen_Mix.sh -outputs.TriggeredOutput.fileName: "dig.owner.NoPrimaryTriggered.version.sequencer.art" -outputs.UntriggeredOutput.fileName: "dig.owner.NoPrimaryUntriggered.version.sequencer.art" -services.ProditionsService.simbookkeeper.useDb: true + diff --git a/JobConfig/mixing/epilog.fcl b/JobConfig/mixing/epilog.fcl new file mode 100644 index 00000000..3d95bb3b --- /dev/null +++ b/JobConfig/mixing/epilog.fcl @@ -0,0 +1,24 @@ +# set the event timing for Onspill +physics.producers.EWMProducer.SpillType : 1 +# minimal BField map +services.GeometryService.inputFile : "Offline/Mu2eG4/geom/geom_common_reco.txt" +# add primary and mixers to the list of step producers. Note the StrawDigi maker uses a general selector if no module is specified +physics.producers.makeSD.StrawGasStepModule : "" +# configure the mixin efficiences +physics.filters.EleBeamFlashMixer.mu2e.simStageEfficiencyTags: ["EleBeamCat", "EleBeamFlashCat" ] +physics.filters.MuBeamFlashMixer.mu2e.simStageEfficiencyTags: ["MuBeamCat", "MuBeamFlashCat" ] +physics.filters.NeutralsFlashMixer.mu2e.simStageEfficiencyTags: ["NeutralsCat", "NeutralsFlashCat" ] +physics.filters.MuStopPileupMixer.mu2e.simStageEfficiencyTags: ["MuBeamCat", "MuminusStopsCat", "MuStopPileupCat"] +physics.filters.MuStopPileupMixer.mu2e.meanEventsPerPOTFactors : [ 1000 ] # target stops are prescaled by 1000 (see Production/JobConfig/beam/MuBeamResampler.fcl) +# define the paths +physics.trigger_paths[0] : Triggered +physics.trigger_paths[1] : Untriggered +physics.end_paths : [ EndPath ] +# generic output: this is overwritten by the gen_Mix.sh script +outputs.TriggeredOutput.fileName: "dig.owner.MixTriggered.version.sequencer.art" +outputs.UntriggeredOutput.fileName: "dig.owner.MixUntriggered.version.sequencer.art" +# mixing requires the SimEfficiency tables +services.ProditionsService.simbookkeeper.useDb: true +# add trigger paths +#include "Offline/gen/fcl/Trigger/OnSpillTrigMenu/OnSpillTrigMenu.fcl" + diff --git a/JobConfig/mixing/prolog.fcl b/JobConfig/mixing/prolog.fcl index 4eaa3758..9957a86d 100644 --- a/JobConfig/mixing/prolog.fcl +++ b/JobConfig/mixing/prolog.fcl @@ -13,7 +13,7 @@ BEGIN_PROLOG # mixer configuration Mixing : { -# DetectorStep mixer + # DetectorStep mixer DetStepMixer: { module_type : MixBackgroundFrames fileNames : @nil @@ -21,7 +21,7 @@ Mixing : { wrapFiles : true mu2e: { protonBunchIntensityTag: "PBISim" -# meanEventsPerProton: @nil + # meanEventsPerProton: @nil simStageEfficiencyTags: @nil meanEventsPerPOTFactors : [] writeEventIDs : false @@ -40,20 +40,25 @@ Mixing : { } Mixing : { producers : { - PBISim : { + PBISim : { module_type: ProtonBunchIntensityLogNormal SDF: @nil extendedMean: @nil cutMax:@nil } +# null MCPrimary 'finder', used in NoPrimary + NullMCPrimary : { + module_type: NullMCPrimary + ExtraSteps : [ "virtualdetector", "stoppingtarget", "protonabsorber" ] + } } filters : { -# mixers for muon stop pileup, beamflash pileup, and neutrals flash pileup - MuStopPileupMixer : @local::Mixing.DetStepMixer - EleBeamFlashMixer : @local::Mixing.DetStepMixer - MuBeamFlashMixer : @local::Mixing.DetStepMixer - NeutralsFlashMixer : @local::Mixing.DetStepMixer -# filter for signal or calibration-like particles that can pass the trigger. This is mainly for cosmics + # mixers for muon stop pileup, beamflash pileup, and neutrals flash pileup + MuStopPileupMixer : @local::Mixing.DetStepMixer + EleBeamFlashMixer : @local::Mixing.DetStepMixer + MuBeamFlashMixer : @local::Mixing.DetStepMixer + NeutralsFlashMixer : @local::Mixing.DetStepMixer + # filter for signal or calibration-like particles that can pass the trigger. This is mainly for cosmics SignalFilter : { module_type : DetectorStepFilter MinimumTrkStepEnergy : 1.0e-6 # 1 ev @@ -69,18 +74,18 @@ Mixing : { } TriggeredOutput : { @table::Digitize.TriggeredOutput - outputCommands : [ "drop *_*_*_*", - @sequence::Mixing.MixingProducts, - @sequence::Digitize.DigiProducts, - @sequence::Digitize.TriggerProducts ] + outputCommands : [ "drop *_*_*_*", + @sequence::Mixing.MixingProducts, + @sequence::Digitize.DigiProducts, + @sequence::Digitize.TriggerProducts ] } UntriggeredOutput : { @table::Digitize.UntriggeredOutput - outputCommands : [ "drop *_*_*_*", - @sequence::Mixing.MixingProducts, - @sequence::Digitize.DigiProducts, - @sequence::Digitize.TriggerProducts ] + outputCommands : [ "drop *_*_*_*", + @sequence::Mixing.MixingProducts, + @sequence::Digitize.DigiProducts, + @sequence::Digitize.TriggerProducts ] SelectEvents : [ Untriggered ] } diff --git a/JobConfig/pileup/EleBeamResampler.fcl b/JobConfig/pileup/EleBeamResampler.fcl new file mode 100644 index 00000000..49b68a5f --- /dev/null +++ b/JobConfig/pileup/EleBeamResampler.fcl @@ -0,0 +1,81 @@ +# +# Re-sample 'electron' beam entering the DS, propagate them to the detectors or stopping target, and write out the corresponding flash DetectorSteps and target mustops. +# Note the main flash stream has a time cut to avoid energy far outside the digitization window. A prescaled but otherwise uncut stream is used to +# record the flash peak +# +# original author: Yuri Oksuzian, 2019 +# Updated for MDC2020 (DetectorSteps): D. Brown + +#include "Offline/fcl/standardServices.fcl" +#include "Offline/CommonMC/fcl/prolog.fcl" +#include "Production/JobConfig/common/prolog.fcl" +#include "Production/JobConfig/pileup/prolog.fcl" + +process_name: EleBeamResampler + +source : { + module_type : EmptyEvent + maxEvents : @nil +} + +services : @local::Services.Sim +physics: { + producers : { + @table::Common.producers + @table::Pileup.producers + } + filters : { + @table::Common.filters + @table::Pileup.filters + } + analyzers : { + @table::Common.analyzers + } + # setup paths + flashPath : [ @sequence::Pileup.beamResamplerSequence, @sequence::Common.g4Sequence, @sequence::Pileup.DetStepSequence ] + earlyFlashPath : [ @sequence::Pileup.beamResamplerSequence, @sequence::Common.g4Sequence, @sequence::Pileup.EarlyDetStepSequence ] + trigger_paths: [ flashPath, earlyFlashPath ] + outPath : [ FlashOutput, EarlyFlashOutput ] + end_paths: [outPath] +} + +outputs: { + + FlashOutput : { + module_type: RootOutput + outputCommands: [ "drop *_*_*_*", + @sequence::Pileup.DtsKeptProducts + ] + SelectEvents: [flashPath] + fileName : "dts.owner.EleBeamFlash.version.sequencer.art" + } + + EarlyFlashOutput : { + module_type: RootOutput + outputCommands: [ "drop *_*_*_*", + @sequence::Pileup.DtsKeptProducts + ] + SelectEvents: [earlyFlashPath] + fileName : "dts.owner.EarlyEleBeamFlash.version.sequencer.art" + } +} +# set prescale factor +physics.filters.EarlyPrescaleFilter.nPrescale : 1000 + +# Point Mu2eG4 to the pre-simulated data +physics.producers.g4run.inputs: { + primaryType: "StepPoints" + primaryTag: "beamResampler:Beam" + inputMCTrajectories: "" + simStageOverride: 1 + inputPhysVolumeMultiInfo: "beamResampler" + updateEventLevelVolumeInfos: { + input: "beamResampler:eventlevel" + outInstance: "eventlevel" + } +} +# copy over VD hits +physics.producers.g4run.SDConfig.preSimulatedHits: ["beamResampler:virtualdetector"] +#include "Production/JobConfig/common/MT.fcl" +#include "Production/JobConfig/common/epilog.fcl" +#include "Production/JobConfig/pileup/epilog.fcl" diff --git a/JobConfig/pileup/MuBeamResampler.fcl b/JobConfig/pileup/MuBeamResampler.fcl new file mode 100644 index 00000000..35b51b37 --- /dev/null +++ b/JobConfig/pileup/MuBeamResampler.fcl @@ -0,0 +1,110 @@ +# +# Re-sample muons and associated particles entering the DS, propagate them to the detectors or stopping target, and write out the corresponding flash DetectorSteps and target mustops. +# Note the main flash stream has a time cut to avoid energy far outside the digitization window. A prescaled but otherwise uncut stream is used to +# record the flash peak +# +# original author: Yuri Oksuzian, 2019 +# Updated for MDC2020 (DetectorSteps): D. Brown + +#include "Offline/fcl/standardServices.fcl" +#include "Production/JobConfig/common/prolog.fcl" +#include "Production/JobConfig/pileup/prolog.fcl" + +process_name: MuBeamResampler + +source : { + module_type : EmptyEvent + maxEvents : @nil +} + +services : @local::Services.Sim +physics: { + producers : { + @table::Common.producers + @table::Pileup.producers + } + filters : { + @table::Common.filters + @table::Pileup.filters + } + analyzers : { + @table::Common.analyzers + } + # setup paths + targetStopPath : [ @sequence::Pileup.beamResamplerSequence, @sequence::Common.g4Sequence, TargetStopPrescaleFilter, TargetMuonFinder, TargetStopFilter, compressPVTargetStops] + IPAStopPath : [ @sequence::Pileup.beamResamplerSequence, @sequence::Common.g4Sequence, IPAMuonFinder, IPAStopFilter, compressPVIPAStops] + flashPath : [ @sequence::Pileup.beamResamplerSequence, @sequence::Common.g4Sequence, @sequence::Pileup.flashSequence, @sequence::Pileup.DetStepSequence ] + earlyFlashPath : [ @sequence::Pileup.beamResamplerSequence, @sequence::Common.g4Sequence, @sequence::Pileup.flashSequence, @sequence::Pileup.EarlyDetStepSequence ] + trigger_paths: [ flashPath, earlyFlashPath, targetStopPath, IPAStopPath ] + outPath : [ FlashOutput, EarlyFlashOutput, TargetStopOutput, IPAStopOutput ] + end_paths: [outPath] +} + +outputs: { + TargetStopOutput : { + module_type: RootOutput + outputCommands: [ "drop *_*_*_*", + @sequence::Pileup.SimKeptProducts, + "keep *_TargetStopFilter_*_*", + "keep *_compressPVTargetStops_*_*" + ] + SelectEvents: [targetStopPath] + fileName : "sim.owner.TargetStops.version.sequencer.art" + } + + IPAStopOutput : { + module_type: RootOutput + outputCommands: [ "drop *_*_*_*", + @sequence::Pileup.SimKeptProducts, + "keep *_IPAStopFilter_*_*", + "keep *_compressPVIPAStops_*_*" + ] + SelectEvents: [IPAStopPath] + fileName : "sim.owner.IPAStops.version.sequencer.art" + } + + FlashOutput : { + module_type: RootOutput + outputCommands: [ "drop *_*_*_*", + @sequence::Pileup.DtsKeptProducts + ] + SelectEvents: [flashPath] + fileName : "dts.owner.MuBeamFlash.version.sequencer.art" + } + + EarlyFlashOutput : { + module_type: RootOutput + outputCommands: [ "drop *_*_*_*", + @sequence::Pileup.DtsKeptProducts + ] + SelectEvents: [earlyFlashPath] + fileName : "dts.owner.EarlyMuBeamFlash.version.sequencer.art" + } +} +# set prescale factors +physics.filters.TargetStopPrescaleFilter.nPrescale : 1000 +physics.filters.EarlyPrescaleFilter.nPrescale : 30 + +# Point Mu2eG4 to the pre-simulated data +physics.producers.g4run.inputs: { + primaryType: "StepPoints" + primaryTag: "beamResampler:Beam" + inputMCTrajectories: "" + simStageOverride: 1 + inputPhysVolumeMultiInfo: "beamResampler" + updateEventLevelVolumeInfos: { + input: "beamResampler:eventlevel" + outInstance: "eventlevel" + } +} +# copy over VD hits +physics.producers.g4run.SDConfig.preSimulatedHits: ["beamResampler:virtualdetector"] +#include "Production/JobConfig/common/MT.fcl" +#include "Production/JobConfig/common/epilog.fcl" +#include "Production/JobConfig/pileup/epilog.fcl" +# reconfigure StepPoint producers to avoid double-counting particles from the mustop filter deep copy +physics.producers.StrawGasStepMaker.SkipTheseStepPoints : "g4run" +physics.producers.StrawGasStepMaker.KeepDeltasModule : "" +physics.producers.CaloShowerStepMaker.caloStepPointCollection : ["FlashFilter:calorimeter"] +physics.producers.CrvSteps.stepPointsModuleLabels : [ "FlashFilter" ] +physics.producers.compressDetStepMCs.simParticleTag : "FlashFilter" diff --git a/JobConfig/pileup/MuStopPileup.fcl b/JobConfig/pileup/MuStopPileup.fcl index ff4939d1..5ce14963 100644 --- a/JobConfig/pileup/MuStopPileup.fcl +++ b/JobConfig/pileup/MuStopPileup.fcl @@ -15,11 +15,7 @@ services : @local::Services.Sim physics : { producers : { @table::Common.producers - @table::Primary.producers - compressDetStepMCs : { - @table::Primary.producers.compressDetStepMCs - @table::Pileup.producers.compressDetStepMCs - } + @table::Pileup.producers # resampling generator generate : { module_type: Pileup @@ -27,95 +23,88 @@ physics : { stoppingTargetMaterial : "Al" verbosity: 0 captureProducts: [ - { + { spectrum: { - nbins: 1000 - spectrumShape: "ejectedProtons" + nbins: 1000 + spectrumShape: "ejectedProtons" } spectrumVariable: "kineticEnergy" tool_type: "MuCapProtonGenerator" - }, - { + }, + { spectrum: { - nbins: 1000 - spectrumShape: "ejectedProtons" + nbins: 1000 + spectrumShape: "ejectedProtons" } spectrumVariable: "kineticEnergy" tool_type: "MuCapDeuteronGenerator" - }, - { + }, + { spectrum: { - spectrumFileName: "Offline/ConditionsService/data/neutronSpectrum.txt" - spectrumShape: "tabulated" + spectrumFileName: "Offline/ConditionsService/data/neutronSpectrum.txt" + spectrumShape: "tabulated" } spectrumVariable: "kineticEnergy" tool_type: "MuCapNeutronGenerator" - }, - { + }, + { spectrum: { - ehi: 7 - elow: 0 - spectrumShape: "flat" + ehi: 7 + elow: 0 + spectrumShape: "flat" } tool_type: "MuCapPhotonGenerator" - } + } ] decayProducts: [ - { + { spectrum: { - elow: 1 - pdgId: 11 - spectrumResolution: 1e-1 - spectrumShape: "Czarnecki" + elow: 1 + pdgId: 11 + spectrumResolution: 1e-1 + spectrumShape: "Czarnecki" } tool_type: "DIOGenerator" - } + } ] } } filters : { @table::Common.filters - @table::Primary.filters - # override step filter to select any detectable signal from any particle - DetStepFilter : { - @table::Primary.filters.DetStepFilter - @table::Pileup.filters.DetStepFilter - # No need for a timing cut: the muon stop products are already late compared to that - } + @table::Pileup.filters + TargetStopResampler : @local::Primary.filters.TargetStopResampler } - analyzers : { @table::Primary.analyzers } - PileupPath : [ TargetStopResampler, @sequence::Common.generateSequence, @sequence::Common.g4Sequence, @sequence::Primary.DetStepSequence, @sequence::Primary.DetStepFilterSequence ] - EndPath : @local::Primary.EndPath + analyzers : { @table::Common.analyzers } + PileupPath : [ TargetStopResampler, @sequence::Common.generateSequence, @sequence::Common.g4Sequence, @sequence::Pileup.DetStepSequence ] + EndPath : [ Output ] trigger_paths : [ PileupPath ] end_paths : [ EndPath ] } -outputs : { Output : { - @table::Pileup.Output - fileName: "dts.owner.MuStopPileup.version.sequencer.art" - outputCommands : [ "drop *_*_*_*", - "keep art::EventIDs_*_*_*", - "keep mu2e::GenEventCount_*_*_*", - "keep mu2e::StatusG4_*_*_*", - @sequence::Pileup.KeptProducts ] - } - # some consolidation is needed TODO +outputs : { + Output : { + module_type: RootOutput + outputCommands : [ "drop *_*_*_*", + @sequence::Pileup.DtsKeptProducts ] + SelectEvents: [PileupPath] + fileName: "dts.owner.MuStopPileup.version.sequencer.art" + } } #include "Production/JobConfig/common/MT.fcl" #include "Production/JobConfig/common/epilog.fcl" -#include "Production/JobConfig/primary/epilog.fcl" #include "Production/JobConfig/pileup/epilog.fcl" +# No time cut; muons decay late anyways, this lets us use the output for both regulary and 'Early' mixing +physics.filters.DetStepFilter.TimeCutConfig : @erase -# resampling configuration; this should be somewhere common TODO +# resampling configuration physics.producers.g4run.inputs: { - primaryType: StageParticles - primaryTag: "generate" - inputMCTrajectories: "" - simStageOverride: 2 - inputPhysVolumeMultiInfo: "TargetStopResampler" - updateEventLevelVolumeInfos: { - input: "TargetStopResampler:eventlevel" - outInstance: "eventlevel" - } + primaryType: StageParticles + primaryTag: "generate" + inputMCTrajectories: "" + simStageOverride: 2 + inputPhysVolumeMultiInfo: "TargetStopResampler" + updateEventLevelVolumeInfos: { + input: "TargetStopResampler:eventlevel" + outInstance: "eventlevel" + } } -# use reduced BField for these jobs -services.GeometryService.inputFile : "Offline/Mu2eG4/geom/geom_common_no_tsu_ps.txt" + diff --git a/JobConfig/beam/MuonStopSelector.fcl b/JobConfig/pileup/MuonStopSelector.fcl similarity index 100% rename from JobConfig/beam/MuonStopSelector.fcl rename to JobConfig/pileup/MuonStopSelector.fcl diff --git a/JobConfig/pileup/NeutralsResampler.fcl b/JobConfig/pileup/NeutralsResampler.fcl new file mode 100644 index 00000000..2b94a0c0 --- /dev/null +++ b/JobConfig/pileup/NeutralsResampler.fcl @@ -0,0 +1,77 @@ +# +# Re-sample (mostly neutral) particles exiting the TS or PS headed towards the CRV, and write out the corresponding flash DetectorSteps +# Note the main flash stream has a time cut to avoid energy far outside the digitization window. A prescaled but otherwise uncut stream is used to +# record the flash peak +# +# Updated for MDC2020 (DetectorSteps): D. Brown + +#include "Offline/fcl/standardServices.fcl" +#include "Offline/CommonMC/fcl/prolog.fcl" +#include "Production/JobConfig/common/prolog.fcl" +#include "Production/JobConfig/pileup/prolog.fcl" + +process_name: NeutralsResampler + +source : { + module_type : EmptyEvent + maxEvents : @nil +} + +services : @local::Services.Sim +physics: { + producers : { + @table::Common.producers + @table::Pileup.producers + } + filters : { + @table::Common.filters + @table::Pileup.filters + } + analyzers : { + @table::Common.analyzers + } + # setup paths + flashPath : [ @sequence::Pileup.neutralsResamplerSequence, @sequence::Common.g4Sequence, @sequence::Pileup.DetStepSequence ] + earlyFlashPath : [ @sequence::Pileup.neutralsResamplerSequence, @sequence::Common.g4Sequence, @sequence::Pileup.EarlyDetStepSequence ] + trigger_paths: [ flashPath , earlyFlashPath ] + outPath : [ FlashOutput, EarlyFlashOutput ] + end_paths: [outPath] +} + +outputs: { + FlashOutput : { + module_type: RootOutput + outputCommands: [ "drop *_*_*_*", + @sequence::Pileup.DtsKeptProducts + ] + SelectEvents: [flashPath] + fileName: "dts.owner.NeutralsFlash.version.sequencer.art" + } + + EarlyFlashOutput : { + module_type: RootOutput + outputCommands: [ "drop *_*_*_*", + @sequence::Pileup.DtsKeptProducts + ] + SelectEvents: [earlyFlashPath] + fileName : "dts.owner.EarlyNeutralsFlash.version.sequencer.art" + } +} +# set prescale factor +physics.filters.EarlyPrescaleFilter.nPrescale : 20 + +# Point Mu2eG4 to the pre-simulated data +physics.producers.g4run.inputs: { + primaryType: "StepPoints" + primaryTag: "neutralsResampler:Neutrals" + inputMCTrajectories: "" + simStageOverride: 1 + inputPhysVolumeMultiInfo: "neutralsResampler" + updateEventLevelVolumeInfos: { + input: "neutralsResampler:eventlevel" + outInstance: "eventlevel" + } +} +#include "Production/JobConfig/common/MT.fcl" +#include "Production/JobConfig/common/epilog.fcl" +#include "Production/JobConfig/pileup/epilog.fcl" diff --git a/JobConfig/pileup/epilog.fcl b/JobConfig/pileup/epilog.fcl index 3d059645..e262e76b 100644 --- a/JobConfig/pileup/epilog.fcl +++ b/JobConfig/pileup/epilog.fcl @@ -1,6 +1,17 @@ # don't create MCTrajectories physics.producers.g4run.TrajectoryControl.produce : false -# only detector SDs +# turn on detector SDs physics.producers.g4run.SDConfig.enableSD: [@sequence::physics.producers.g4run.SDConfig.enableSD ] # no special deltas treatment for pileup physics.producers.StrawGasStepMaker.KeepDeltasModule : "" +# Kill stuck e+/e- +physics.producers.g4run.Mu2eG4CommonCut:{ + type: intersection + pars: + [ + {type: intersection pars: [ { type: kineticEnergy cut: 1.0 }, { type: pdgId pars: [ 11, -11] }]}, + {type: inVolume pars: [ TS2Vacuum, TS3Vacuum, TS4Vacuum, TS5Vacuum, DS2Vacuum, HallAir ]} + ] +} +# restricted BField for efficiency +services.GeometryService.inputFile : "Offline/Mu2eG4/geom/geom_common_no_tsu_ps.txt" diff --git a/JobConfig/pileup/prolog.fcl b/JobConfig/pileup/prolog.fcl index db3aa141..12d19555 100644 --- a/JobConfig/pileup/prolog.fcl +++ b/JobConfig/pileup/prolog.fcl @@ -1,50 +1,190 @@ # # Prolog to create pileup particle steps for mixing # +#include "Offline/TrackerMC/fcl/prolog.fcl" +#include "Offline/CaloMC/fcl/prolog.fcl" +#include "Offline/CRVResponse/fcl/prolog.fcl" +#include "Offline/Filters/fcl/prolog.fcl" +#include "Offline/Compression/fcl/prolog.fcl" +# BEGIN_PROLOG Pileup: { producers : { - # override compression to be more selective - compressDetStepMCs: { + @table::TrackerMC.StepProducers + @table::CaloMC.StepProducers + CrvSteps :{ + @table::CrvSteps + stepPointsModuleLabels : ["g4run"] + } + + compressDetStepMCs : { + module_type : CompressDetStepMCs + strawGasStepTag : "StrawGasStepMaker" + caloShowerStepTag : "CaloShowerStepMaker" + crvStepTag : "CrvSteps" + simParticleTag : "g4run" + debugLevel : 0 + # save StepPoints in VDs, ProtonAbsorber and ST stepPointMCTags : [ ] # turn off VD hits for pileup compressionOptions : { - @table::DetStepCompression.extraCompression # remove some intermediate genealogy steps - keepNGenerations : 1 # only keep SimParticles producing DetectorSteps and their direct parents + @table::DetStepCompression.extraCompression # remove some intermediate genealogy steps + keepNGenerations : 1 # only keep SimParticles producing DetectorSteps and their direct parents } mcTrajectoryTag : "" # no MC Trajectories } + + TargetMuonFinder: { + module_type: "StoppedParticlesFinder" + particleInput: "g4run" + particleTypes: [ 13, -13 ] + physVolInfoInput: "g4run:eventlevel" + useEventLevelVolumeInfo: true + stoppingMaterial: "StoppingTarget_Al" + verbosityLevel: 1 + } + + IPAMuonFinder : { + module_type : StoppedParticlesFinder + particleInput : "g4run" + useEventLevelVolumeInfo: true + physVolInfoInput: "g4run:eventlevel" + stoppingMaterial : "IPAPolyethylene" + particleTypes : [ 13, -13 ] + verbosityLevel: 1 + } + + stoppedMuonDaughters: { + module_type: SimParticleDaughterSelector + particleInput: "TargetMuonFinder" + # EMCascade should not be vetoed because we do not re-simulate it + processes: [ "DIO", "NuclearCapture" ] + } + + compressPVTargetStops: { + module_type: CompressPhysicalVolumes + volumesInput : "g4run" + hitInputs : [] + particleInputs : [ "TargetStopFilter" ] + } + + compressPVIPAStops: { + module_type: CompressPhysicalVolumes + volumesInput : "g4run" + hitInputs : [] + particleInputs : [ "IPAStopFilter" ] + } + + protonTimeOffset : @local::CommonMC.producers.protonTimeOffset + } filters : { -# override step filter to select any detectable signal - DetStepFilter : { + # filter to select any detectable signal, without time cuts + EarlyDetStepFilter : { + module_type : DetectorStepFilter + StrawGasSteps : [ "StrawGasStepMaker" ] + CaloShowerSteps : [ "CaloShowerStepMaker" ] CrvSteps : [ "CrvSteps" ] # include CRV steps for pileup - # lower all the thresholds for saving an event - MinimumPartMom : 0.0 # MeV/c - MinimumTrkSteps : 1 - MinimumSumCaloStepE : 0.01 - MinimumCrvSteps : 1 + MaximumPartMom : 1e6 # MeV/c + MinimumPartMom : 0 # MeV/c + MinimumTrkStepEnergy : 1.0e-6 # 1 ev + MinimumCaloStepEnergy : 0.0 + MinimumCrvStepEnergy : 1.0e-6 # get a real value from CRV experts FIXME! + MinimumTrkSteps : 1 # primary must produce at least this many TrkSteps + MinimumCrvSteps : 1 # primary must produce at least this many TrkSteps + MinimumSumCaloStepE : 1.0e-2 # or at least this much calo energy + KeepPDG : [ ] # Loop at steps from all particle types + } + + TargetStopFilter: { + module_type: FilterG4Out + mainHitInputs: [] + extraHitInputs: [ "g4run:virtualdetector" ] + mainSPPtrInputs: [ "TargetMuonFinder" ] + } + + IPAStopFilter: { + module_type: FilterG4Out + mainHitInputs: [] + extraHitInputs: [ "g4run:virtualdetector" ] + mainSPPtrInputs: [ "IPAMuonFinder" ] + } + + FlashFilter: { + module_type: FilterG4Out + mainHitInputs: [ "g4run:tracker", "g4run:calorimeter", "g4run:CRV", "g4run:virtualdetector" ] + vetoParticles: [ "stoppedMuonDaughters" ] + } + + TargetStopPrescaleFilter : { + module_type : RandomPrescaleFilter + } + EarlyPrescaleFilter : { + module_type : RandomPrescaleFilter + } + + # resamplers + + beamResampler: { + module_type: ResamplingMixer + fileNames: @nil + readMode: "sequential" + wrapFiles: true + mu2e: { + writeEventIDs : true + MaxEventsToSkip: @nil + debugLevel : 0 + products: { + genParticleMixer: { mixingMap: [ [ "generate", "" ] ] } + simParticleMixer: { mixingMap: [ [ "BeamFilter", "" ] ] } + stepPointMCMixer: { mixingMap: [ + [ "BeamFilter:virtualdetector", ":" ], + [ "BeamFilter:Beam", ":" ] + ] } + simTimeOffset : "protonTimeOffset" + volumeInfoMixer: { + srInput: "compressPVBeam" + evtOutInstanceName: "eventlevel" + } + } + } + } + + neutralsResampler: { + module_type: ResamplingMixer + fileNames: @nil + readMode: "sequential" + wrapFiles: true + mu2e: { + writeEventIDs : true + MaxEventsToSkip: @nil + debugLevel : 0 + products: { + genParticleMixer: { mixingMap: [ [ "generate", "" ] ] } + simParticleMixer: { mixingMap: [ [ "NeutralsFilter", "" ] ] } + stepPointMCMixer: { mixingMap: [ + [ "NeutralsFilter:Neutrals", ":" ] + ] } + simTimeOffset : "protonTimeOffset" + volumeInfoMixer: { + srInput: "compressPVNeutrals" + evtOutInstanceName: "eventlevel" + } + } + } } } -# define products needed to run mixing - KeptProducts : [ "keep mu2e::StrawGasSteps_compressDetStepMCs_*_*", - "keep mu2e::CaloShowerSteps_compressDetStepMCs_*_*", - "keep mu2e::CrvSteps_compressDetStepMCs_*_*", - "keep mu2e::SimParticlemv_compressDetStepMCs_*_*", - "keep mu2e::GenParticles_compressDetStepMCs_*_*", - "keep mu2e::StatusG4_*_*_*", - "keep mu2e::GenEventCount_*_*_*" ] Output : { - module_type : RootOutput - SelectEvents : [ PileupPath ] - fileName : @nil - # drop StepPoints from calorimeter + module_type : RootOutput + SelectEvents : [ PileupPath ] + fileName : @nil + # drop StepPoints from calorimeter } -# define paths + # define paths EndPath : [ genCountLogger, Output ] -# define tools used in mustop daughter generation + # define tools used in mustop daughter generation dioGenTool : { tool_type : DIOGenerator spectrum : { @@ -54,7 +194,7 @@ Pileup: { spectrumResolution : 0.1 #MeV } } - + muonCaptureProtonGenTool : { tool_type : MuCapProtonGenerator spectrumVariable : kineticEnergy @@ -63,7 +203,7 @@ Pileup: { nbins: 1000 } } - + muonCaptureDeuteronGenTool : { tool_type : MuCapDeuteronGenerator spectrumVariable : kineticEnergy @@ -72,7 +212,7 @@ Pileup: { nbins: 1000 } } - + muonCaptureNeutronGenTool : { tool_type : MuCapNeutronGenerator spectrumVariable: kineticEnergy @@ -81,7 +221,7 @@ Pileup: { spectrumFileName: "Offline/ConditionsService/data/neutronSpectrum.txt" } } - + muonCapturePhotonGenTool : { tool_type : MuCapPhotonGenerator spectrum : { @@ -90,14 +230,57 @@ Pileup: { ehi: 7.0 # MeV } } - + # An example that isn't used in this fcl #muonCapture1809keVGammaGenTool : { # tool_type : MuCap1809keVGammaGenerator #} + # + # define products that need to be kept + # + SimKeptProducts : [ + "keep art::EventIDs_*_*_*", + "keep mu2e::GenParticles_*_*_*", + "keep mu2e::GenEventCount_*_*_*", + "keep mu2e::StatusG4_*_*_*" + ] + + DtsKeptProducts : [ + "keep art::EventIDs_*_*_*", + "keep mu2e::GenEventCount_*_*_*", + "keep mu2e::StatusG4_*_*_*", + "keep mu2e::SimParticleart::Ptrdoublestd::map_*_*_*", + "keep mu2e::StrawGasSteps_compressDetStepMCs_*_*", + "keep mu2e::CaloShowerSteps_compressDetStepMCs_*_*", + "keep mu2e::CrvSteps_compressDetStepMCs_*_*", + "keep mu2e::SimParticlemv_compressDetStepMCs_*_*", + "keep mu2e::GenParticles_compressDetStepMCs_*_*" ] + # define some common sequences + beamResamplerSequence : [genCounter, protonTimeOffset, beamResampler] + neutralsResamplerSequence : [genCounter, protonTimeOffset, neutralsResampler] + flashSequence : [ TargetMuonFinder, stoppedMuonDaughters, FlashFilter ] + + DetStepSequence : [ + @sequence::TrackerMC.StepSim, + @sequence::CaloMC.StepSim, + CrvSteps , DetStepFilter, compressDetStepMCs ] + EarlyDetStepSequence : [ + EarlyPrescaleFilter, + @sequence::TrackerMC.StepSim, + @sequence::CaloMC.StepSim, + CrvSteps , EarlyDetStepFilter, compressDetStepMCs ] + } -# define output -Pileup.Output.outputCommands : [ "drop *_*_*_*", - @sequence::Pileup.KeptProducts] +# DetctorStepFilter instance to select DetSteps outside the flash +Pileup.filters.DetStepFilter : { + @table::Pileup.filters.EarlyDetStepFilter + # select energy deposits after the peak of the flash has passed, to keep useless payload down + # Note the cut excludes hits before the digitization lower edge and after the MBtime + digitization upper edge + TimeCutConfig : { + MinimumTime : 250 # good hits are after this time + MaximumTime : 10 # not a typo: good hits are before this time + } +} + END_PROLOG diff --git a/JobConfig/primary/CeEndpoint.fcl b/JobConfig/primary/CeEndpoint.fcl index fb54f69f..2d1826d3 100644 --- a/JobConfig/primary/CeEndpoint.fcl +++ b/JobConfig/primary/CeEndpoint.fcl @@ -8,6 +8,7 @@ physics.producers.generate : { module_type : CeEndpoint inputSimParticles: TargetStopResampler stoppingTargetMaterial : "Al" + pdgId : 11 verbosity : 0 } physics.producers.FindMCPrimary.PrimaryProcess : "mu2eCeMinusEndpoint" diff --git a/JobConfig/primary/CeMLeadingLog.fcl b/JobConfig/primary/CeMLeadingLog.fcl deleted file mode 100644 index 2710bf9b..00000000 --- a/JobConfig/primary/CeMLeadingLog.fcl +++ /dev/null @@ -1,10 +0,0 @@ -# -# Radiative Ce- spectrum, based on doc 7615 spectrum -# -#include "Production/JobConfig/primary/Primary.fcl" -# set the generator -physics.producers.generate : @local::EventGenerator.producers.CeMLeadingLog -# set the stops. This should go away with art-based muon stops FIXME! -physics.producers.generate.muonStops.inputFiles : [ "mergedMuonStops/nts.mu2e.DS-TGTstops.MDC2018a.001002_00000000.root" ] -# customize the output -outputs.Output.fileName: "dts.owner.CeMLeadingLog.version.sequencer.art" diff --git a/JobConfig/primary/CePLeadingLog.fcl b/JobConfig/primary/CePLeadingLog.fcl deleted file mode 100644 index 1a64bf28..00000000 --- a/JobConfig/primary/CePLeadingLog.fcl +++ /dev/null @@ -1,10 +0,0 @@ -# -# Radiative Ce- spectrum, based on doc 7615 spectrum -# -#include "Production/JobConfig/primary/Primary.fcl" -# set the generator -physics.producers.generate : @local::EventGenerator.producers.CePLeadingLog -# set the stops. This should go away with art-based muon stops FIXME! -physics.producers.generate.muonStops.inputFiles : [ "mergedMuonStops/nts.mu2e.DS-TGTstops.MDC2018a.001002_00000000.root" ] -# customize the output -outputs.Output.fileName: "dts.owner.CePLeadingLog.version.sequencer.art" diff --git a/JobConfig/primary/CePlusEndpoint.fcl b/JobConfig/primary/CePlusEndpoint.fcl new file mode 100644 index 00000000..9498d4cf --- /dev/null +++ b/JobConfig/primary/CePlusEndpoint.fcl @@ -0,0 +1,15 @@ +# +# generate and produce Detector Steps from mono-energetic e+ using mu- target stops +# +# original author: Sophie Middleton +# +#include "Production/JobConfig/primary/TargetStopParticle.fcl" +physics.producers.generate : { + module_type : CeEndpoint + inputSimParticles: TargetStopResampler + stoppingTargetMaterial : "Al" + pdgId : -11 + verbosity : 0 +} +physics.producers.FindMCPrimary.PrimaryProcess : "mu2eCePlusEndpoint" +outputs.Output.fileName: "dts.owner.CePlusEndpoint.version.sequencer.art" diff --git a/JobConfig/primary/CeplusEndpoint.fcl b/JobConfig/primary/CeplusEndpoint.fcl deleted file mode 100644 index bc7e146c..00000000 --- a/JobConfig/primary/CeplusEndpoint.fcl +++ /dev/null @@ -1,12 +0,0 @@ -# -# mono-energetic e+ at the Al Ce endpoint without background mixing -# -# original author: Dave Brown, LBNL -# -#include "Production/JobConfig/primary/Primary.fcl" -# set the generator -physics.producers.generate : @local::CeplusEndpointGun -# set the stops. This should go away with art-based muon stops FIXME! -physics.producers.generate.muonStops.inputFiles : [ "mergedMuonStops/nts.mu2e.DS-TGTstops.MDC2018a.001002_00000000.root" ] -# customize the output -outputs.Output.fileName: "dts.owner.CeplusEndpoint.version.sequencer.art" diff --git a/JobConfig/primary/DIOtail.fcl b/JobConfig/primary/DIOtail.fcl deleted file mode 100644 index 8190abe0..00000000 --- a/JobConfig/primary/DIOtail.fcl +++ /dev/null @@ -1,10 +0,0 @@ -# -# Radiative DIO spectrum far tail, based on doc 7615 spectrum -# -#include "Production/JobConfig/primary/Primary.fcl" -# set the generator -physics.producers.generate : @local::EventGenerator.producers.dioalll -# set the stops. This should go away with art-based muon stops FIXME! -physics.producers.generate.muonStops.inputFiles : [ "mergedMuonStops/nts.mu2e.DS-TGTstops.MDC2018a.001002_00000000.root" ] -# customize the output -outputs.Output.fileName: "dts.owner.DIOtail.version.sequencer.art" diff --git a/JobConfig/primary/IPAStopParticle.fcl b/JobConfig/primary/IPAStopParticle.fcl new file mode 100644 index 00000000..0e947d59 --- /dev/null +++ b/JobConfig/primary/IPAStopParticle.fcl @@ -0,0 +1,14 @@ +# +# Base configuration for Resampling IPA muon stops and generating primary particles from them +# +# original author: S Middleton +# +#include "Production/JobConfig/primary/StopParticle.fcl" + +physics.PrimaryPath : [ IPAStopResampler, @sequence::Common.generateSequence, @sequence::Common.g4Sequence, @sequence::Primary.PrimarySequence ] + +physics.producers.g4run.inputs.inputPhysVolumeMultiInfo: "IPAStopResampler" +physics.producers.g4run.inputs.updateEventLevelVolumeInfos: { + input: "IPAStopResampler:eventlevel" + outInstance: "eventlevel" +} diff --git a/JobConfig/primary/IPAStopsFlat.fcl b/JobConfig/primary/IPAStopsFlat.fcl index d768664b..6c5c623f 100644 --- a/JobConfig/primary/IPAStopsFlat.fcl +++ b/JobConfig/primary/IPAStopsFlat.fcl @@ -1,73 +1,21 @@ # -# Base configuration for Resampling IPA muon stops and generating primary particles from them +# Configuration for resampling IPA muon stops and generating primary particles from them +# with flat spectrum # # original author: S Middleton # -#include "Offline/fcl/standardServices.fcl" -#include "Offline/EventGenerator/fcl/prolog.fcl" -#include "Production/JobConfig/common/prolog.fcl" -#include "Production/JobConfig/primary/prolog.fcl" -#include "Production/JobConfig/pileup/prolog.fcl" -# name all processes the same, to mask any provenance in ensemble creation - -// Below is the analogous file to TargetStops - it is combined with the IPA Michel primary generator since we have no other reason to look at IPA stops: -process_name: Primary -source: { module_type : EmptyEvent } -services : @local::Services.Sim -physics : { - producers : { - @table::Common.producers - @table::Primary.producers - } - filters : { - @table::Common.filters - @table::Primary.filters - } - analyzers : { @table::Primary.analyzers } - PrimaryPath : [ IPAStopResampler, @sequence::Common.generateSequence, @sequence::Common.g4Sequence, @sequence::Primary.PrimarySequence ] - EndPath : @local::Primary.EndPath - trigger_paths : [ PrimaryPath ] - end_paths : [ EndPath ] -} -outputs : { Output :@local::Primary.Output } -# -# final configuration -# -#include "Production/JobConfig/common/epilog.fcl" -#include "Production/JobConfig/primary/epilog.fcl" -# -physics.producers.g4run.inputs: { - primaryType: StageParticles - primaryTag: "generate" - inputMCTrajectories: "" - simStageOverride: 2 - inputPhysVolumeMultiInfo: "IPAStopResampler" - updateEventLevelVolumeInfos: { - input: "IPAStopResampler:eventlevel" - outInstance: "eventlevel" - } -} - -# use reduced BField for these jobs -services.GeometryService.inputFile : "Offline/Mu2eG4/geom/geom_common_no_tsu_ps.txt" +#include "Production/JobConfig/primary/IPAStopParticle.fcl" physics.filters.DetStepFilter.MinimumPartMom : 10.0 // MeV/c TODO - tweak this parameter to get more DetSteps physics.producers.FindMCPrimary.PrimaryProcess : "mu2eFlateMinus" -physics.filters.IPAStopResampler.mu2e.MaxEventsToSkip : @nil +physics.filters.IPAStopResampler.mu2e.MaxEventsToSkip : @nil physics.producers.generate : { module_type: FlatMuonDaughterGenerator - inputSimParticles: IPAStopResampler + inputSimParticles: IPAStopResampler stoppingTargetMaterial : "IPA" verbosity : 1 - makeHistograms : true - processcode : "mu2eMuonDecayAtRest" - pdgId : -11 + pdgId : 13 } - - - -outputs.Output.fileName: "dts.owner.IPAMichel.version.sequencer.art" - - +outputs.Output.fileName: "dts.owner.IPAFlat.version.sequencer.art" diff --git a/JobConfig/primary/IPAStopsMichel.fcl b/JobConfig/primary/IPAStopsMichel.fcl index 68b942ef..de7da59c 100644 --- a/JobConfig/primary/IPAStopsMichel.fcl +++ b/JobConfig/primary/IPAStopsMichel.fcl @@ -1,71 +1,22 @@ # -# Base configuration for Resampling IPA muon stops and generating primary particles from them +# Configuration for resampling IPA muon stops and generating primary particles from them +# with Michel spectrum # # original author: S Middleton # -#include "Offline/fcl/standardServices.fcl" -#include "Offline/EventGenerator/fcl/prolog.fcl" -#include "Production/JobConfig/common/prolog.fcl" -#include "Production/JobConfig/primary/prolog.fcl" -#include "Production/JobConfig/pileup/prolog.fcl" -# name all processes the same, to mask any provenance in ensemble creation - -// Below is the analogous file to TargetStops - it is combined with the IPA Michel primary generator since we have no other reason to look at IPA stops: -process_name: Primary -source: { module_type : EmptyEvent } -services : @local::Services.Sim -physics : { - producers : { - @table::Common.producers - @table::Primary.producers - } - filters : { - @table::Common.filters - @table::Primary.filters - } - analyzers : { @table::Primary.analyzers } - PrimaryPath : [ IPAStopResampler, @sequence::Common.generateSequence, @sequence::Common.g4Sequence, @sequence::Primary.PrimarySequence ] - EndPath : @local::Primary.EndPath - trigger_paths : [ PrimaryPath ] - end_paths : [ EndPath ] -} -outputs : { Output :@local::Primary.Output } -# -# final configuration -# -#include "Production/JobConfig/common/epilog.fcl" -#include "Production/JobConfig/primary/epilog.fcl" -# -physics.producers.g4run.inputs: { - primaryType: StageParticles - primaryTag: "generate" - inputMCTrajectories: "" - simStageOverride: 2 - inputPhysVolumeMultiInfo: "IPAStopResampler" - updateEventLevelVolumeInfos: { - input: "IPAStopResampler:eventlevel" - outInstance: "eventlevel" - } -} - -# use reduced BField for these jobs -services.GeometryService.inputFile : "Offline/Mu2eG4/geom/geom_common_no_tsu_ps.txt" +#include "Production/JobConfig/primary/IPAStopParticle.fcl" physics.filters.DetStepFilter.MinimumPartMom : 10.0 // MeV/c TODO - tweak this parameter to get more DetSteps +physics.producers.FindMCPrimary.PrimaryProcess : "mu2eMuonDecayAtRest" +physics.filters.IPAStopResampler.mu2e.MaxEventsToSkip : @nil -// Below is the part which generates the IPA electrons physics.producers.generate : { module_type : Pileup verbosity : 10 - inputSimParticles: IPAStopResampler + inputSimParticles: IPAStopResampler captureProducts : [] decayProducts : [ @local::Pileup.dioGenTool ] stoppingTargetMaterial : "IPA" } - -physics.filters.IPAStopResampler.mu2e.MaxEventsToSkip : @nil -physics.producers.FindMCPrimary.PrimaryProcess : "mu2eMuonDecayAtRest" outputs.Output.fileName: "dts.owner.IPAMichel.version.sequencer.art" - - diff --git a/JobConfig/primary/StopParticle.fcl b/JobConfig/primary/StopParticle.fcl new file mode 100644 index 00000000..ef3a3ff9 --- /dev/null +++ b/JobConfig/primary/StopParticle.fcl @@ -0,0 +1,44 @@ +# +# Base configuration for resampling stopped particles and generating primary particles from them +# +# original author: S Middleton +# +#include "Offline/fcl/standardServices.fcl" +#include "Offline/EventGenerator/fcl/prolog.fcl" +#include "Production/JobConfig/common/prolog.fcl" +#include "Production/JobConfig/primary/prolog.fcl" +#include "Production/JobConfig/pileup/prolog.fcl" +# name all processes the same, to mask any provenance in ensemble creation +process_name: Primary +source: { module_type : EmptyEvent } +services : @local::Services.Sim +physics : { + producers : { + @table::Common.producers + @table::Primary.producers + } + filters : { + @table::Common.filters + @table::Primary.filters + } + analyzers : { @table::Primary.analyzers } + EndPath : @local::Primary.EndPath + trigger_paths : [ PrimaryPath ] + end_paths : [ EndPath ] +} +outputs : { Output :@local::Primary.Output } +# +# final configuration +# +#include "Production/JobConfig/common/epilog.fcl" +#include "Production/JobConfig/primary/epilog.fcl" +# +physics.producers.g4run.inputs: { + primaryType: StageParticles + primaryTag: "generate" + inputMCTrajectories: "" + simStageOverride: 2 +} + +# use reduced BField for these jobs +services.GeometryService.inputFile : "Offline/Mu2eG4/geom/geom_common_no_tsu_ps.txt" diff --git a/JobConfig/primary/TargetStopParticle.fcl b/JobConfig/primary/TargetStopParticle.fcl index f8a4a839..bfa5edbb 100644 --- a/JobConfig/primary/TargetStopParticle.fcl +++ b/JobConfig/primary/TargetStopParticle.fcl @@ -1,48 +1,14 @@ # -# Base configuration for Resampling target muon stops and generating primary particles from them +# Base configuration for resampling target muon stops and generating primary particles from them # # original author: Dave Brown, LBNL # -#include "Offline/fcl/standardServices.fcl" -#include "Offline/EventGenerator/fcl/prolog.fcl" -#include "Production/JobConfig/common/prolog.fcl" -#include "Production/JobConfig/primary/prolog.fcl" -# name all processes the same, to mask any provenance in ensemble creation -process_name: Primary -source: { module_type : EmptyEvent } -services : @local::Services.Sim -physics : { - producers : { - @table::Common.producers - @table::Primary.producers - } - filters : { - @table::Common.filters - @table::Primary.filters - } - analyzers : { @table::Primary.analyzers } - PrimaryPath : [ TargetStopResampler, @sequence::Common.generateSequence, @sequence::Common.g4Sequence, @sequence::Primary.PrimarySequence ] - EndPath : @local::Primary.EndPath - trigger_paths : [ PrimaryPath ] - end_paths : [ EndPath ] +#include "Production/JobConfig/primary/StopParticle.fcl" + +physics.PrimaryPath : [ TargetStopResampler, @sequence::Common.generateSequence, @sequence::Common.g4Sequence, @sequence::Primary.PrimarySequence ] + +physics.producers.g4run.inputs.inputPhysVolumeMultiInfo: "TargetStopResampler" +physics.producers.g4run.inputs.updateEventLevelVolumeInfos: { + input: "TargetStopResampler:eventlevel" + outInstance: "eventlevel" } -outputs : { Output :@local::Primary.Output } -# -# final configuration -# -#include "Production/JobConfig/common/epilog.fcl" -#include "Production/JobConfig/primary/epilog.fcl" -# -physics.producers.g4run.inputs: { - primaryType: StageParticles - primaryTag: "generate" - inputMCTrajectories: "" - simStageOverride: 2 - inputPhysVolumeMultiInfo: "TargetStopResampler" - updateEventLevelVolumeInfos: { - input: "TargetStopResampler:eventlevel" - outInstance: "eventlevel" - } -} -# use reduced BField for these jobs -services.GeometryService.inputFile : "Offline/Mu2eG4/geom/geom_common_no_tsu_ps.txt" diff --git a/JobConfig/primary/flatE.fcl b/JobConfig/primary/flatE.fcl deleted file mode 100644 index e17e6c71..00000000 --- a/JobConfig/primary/flatE.fcl +++ /dev/null @@ -1,15 +0,0 @@ -# generate flat particles from stopped muons and produce digis. this is WITHOUT MIXING - -#include "Production/JobConfig/primary/Primary.fcl" -# set the generator -physics.producers.generate : { - module_type: StoppedParticleReactionGun - verbosityLevel : 1 - muonStops: @local::mu2e.tgtMuonStops - physics: { - spectrumShape: flat - spectrumVariable: totalEnergy - } -} -# set the stops. This should go away with art-based muon stops FIXME! -physics.producers.generate.muonStops.inputFiles : [ "mergedMuonStops/nts.mu2e.DS-TGTstops.MDC2018a.001002_00000000.root" ] diff --git a/JobConfig/primary/flatInternalRMC.fcl b/JobConfig/primary/flatInternalRMC.fcl deleted file mode 100644 index 1531306d..00000000 --- a/JobConfig/primary/flatInternalRMC.fcl +++ /dev/null @@ -1,16 +0,0 @@ -# -# internal RMC with a flat virtual photon energy spectrum -# -#include "Production/JobConfig/primary/Primary.fcl" -# set the generator -physics.producers.generate : @local::EventGenerator.producers.RMCGun -# set the stops. This should go away with art-based muon stops FIXME! -physics.producers.generate.muonStops.inputFiles : [ "mergedMuonStops/nts.mu2e.DS-TGTstops.MDC2018a.001002_00000000.root" ] -physics.producers.generate.physics.generateIntConversion : 1 -physics.producers.generate.physics.spectrumShape : "flat" -physics.producers.generate.physics.elow : 40.0 -physics.filters.DetStepFilter.MinimumPartMom : 40.0 -physics.producers.FindMCPrimary.PrimaryGenIds : ["InternalRMC"] -# customize the output -outputs.Output.fileName: "dts.owner.flatInternalRMC.version.sequencer.art" - diff --git a/JobConfig/primary/flatInternalRPC.fcl b/JobConfig/primary/flatInternalRPC.fcl deleted file mode 100644 index 8a207051..00000000 --- a/JobConfig/primary/flatInternalRPC.fcl +++ /dev/null @@ -1,18 +0,0 @@ -# -# internal RPC with a flat virtual photon energy spectrum -# -#include "Production/JobConfig/primary/Primary.fcl" -# set the generator -physics.producers.generate : @local::EventGenerator.producers.RPCGun -# set the stops. This should go away with art-based muon stops FIXME! -physics.producers.generate.muonStops.inputFiles : [ "mergedMuonStops/nts.mu2e.DS-TGTstops.MDC2018a.001002_00000000.root" ] -# set PRC parameters -physics.producers.generate.physics.generateIntConversion : 1 -physics.producers.generate.physics.spectrumShape : "flat" -physics.producers.generate.physics.elow : 40.0 -physics.filters.DigiFilter.MinParticleMom : 40.0 -physics.producers.FindMCPrimary.PrimaryGenIds : ["InternalRPC"] # be explicit, since this is a multi-particle primary -# -# customize the output -outputs.Output.fileName: "dts.owner.flatInternalRPC.version.sequencer.art" - diff --git a/JobConfig/primary/flatmugamma.fcl b/JobConfig/primary/flatmugamma.fcl deleted file mode 100644 index ce41ed96..00000000 --- a/JobConfig/primary/flatmugamma.fcl +++ /dev/null @@ -1,11 +0,0 @@ -# flat range of photons from muon stops to study external RMC background -#include "Production/JobConfig/primary/flatE.fcl" -physics.producers.generate.physics.genId : ExternalRMC -physics.producers.generate.physics.pdgId : 22 -physics.producers.generate.physics.elow : 80.0 // Mev -physics.producers.generate.physics.ehi : 105.0 // Mev -physics.filters.DetStepFilter.KeepPDG : [ 22 ] # only phootons -physics.filters.DetStepFilter.MinimumTrkSteps : 10000 # disable -outputs.Output.fileName: "dts.owner.flatmugamma.version.sequencer.art" - - diff --git a/JobConfig/primary/flatpigamma.fcl b/JobConfig/primary/flatpigamma.fcl deleted file mode 100644 index c8e675cc..00000000 --- a/JobConfig/primary/flatpigamma.fcl +++ /dev/null @@ -1,19 +0,0 @@ -# flat range of photons from pion stops to study external RPC background - -#include "Production/JobConfig/primary/Primary.fcl" -# set the generator -physics.producers.generate : { - module_type: RPCGun - verbosityLevel : 1 - physics : { - spectrumShape : flat - elow : 80.0 // Mev - ehi : 140.0 // Mev - } - pionStops : { - treeName : "stoppedPionDumper/stops" - branchName : "stops" - inputFiles : @nil # replace with valid pion stops FIXME! - } -} -outputs.Output.fileName: "dts.owner.flatpigamma.version.sequencer.art" diff --git a/JobConfig/primary/flatproton.fcl b/JobConfig/primary/flatproton.fcl deleted file mode 100644 index a627f08a..00000000 --- a/JobConfig/primary/flatproton.fcl +++ /dev/null @@ -1,24 +0,0 @@ -# -# protons from muon nuclear capture -# -# original author: Dave Brown, LBNL -# -#include "Production/JobConfig/primary/Primary.fcl" -# set the generator -physics.producers.generate : { - module_type: StoppedParticleReactionGun - verbosityLevel : 1 - muonStops: @local::mu2e.tgtMuonStops - physics: { - pdgId : 2212 - genId : muonCapture - spectrumShape: flat - spectrumVariable: kineticEnergy - elow : 0.0 // Mev - ehi : 105.0 // Mev - } -} -physics.producers.generate.muonStops.inputFiles : [ "mergedMuonStops/nts.mu2e.DS-TGTstops.MDC2018a.001002_00000000.root" ] -physics.filters.DetStepFilter.KeepPDG : [ 2212 ] -# customize the output -outputs.Output.fileName: "dts.owner.flatproton.version.sequencer.art" diff --git a/JobConfig/primary/prolog.fcl b/JobConfig/primary/prolog.fcl index d0e586a5..99cd315b 100644 --- a/JobConfig/primary/prolog.fcl +++ b/JobConfig/primary/prolog.fcl @@ -37,7 +37,7 @@ Primary: { filters : { -# default step filter for Sim Primary selection + # default step filter for Sim Primary selection DetStepFilter : { module_type : DetectorStepFilter StrawGasSteps : [ "StrawGasStepMaker" ] @@ -59,9 +59,9 @@ Primary: { wrapFiles : true fileNames: @nil mu2e: { - writeEventIDs : true + writeEventIDs : true MaxEventsToSkip: @nil - debugLevel : 1 + debugLevel : 1 products: { genParticleMixer: { mixingMap: [ [ "beamResampler", "" ] ] } simParticleMixer: { mixingMap: [ [ "TargetStopFilter", "" ] ] } @@ -73,20 +73,20 @@ Primary: { } } } - + IPAStopResampler : { module_type: ResamplingMixer readMode : sequential wrapFiles : true - fileNames: @nil + fileNames: @nil mu2e: { - writeEventIDs : true + writeEventIDs : true MaxEventsToSkip: @nil - debugLevel : 1 + debugLevel : 1 products: { genParticleMixer: { mixingMap: [ [ "beamResampler", "" ] ] } simParticleMixer: { mixingMap: [ [ "IPAStopFilter", "" ] ] } - stepPointMCMixer: { mixingMap: [ [ "IPAStopFilter:virtualdetector", ":" ] ] } + stepPointMCMixer: { mixingMap: [ [ "IPAStopFilter:virtualdetector", ":" ] ] } volumeInfoMixer: { srInput: "compressPVIPAStops" evtOutInstanceName: "eventlevel" @@ -102,37 +102,38 @@ Primary: { DetStepFilterSequence : [ DetStepFilter, compressDetStepMCs ] KeptProducts : [ - "keep mu2e::StrawGasSteps_compressDetStepMCs_*_*", - "keep mu2e::CaloShowerSteps_compressDetStepMCs_*_*", - "keep mu2e::CrvSteps_compressDetStepMCs_*_*", - "keep mu2e::StepPointMCs_compressDetStepMCs_virtualdetector_*", - "keep mu2e::StepPointMCs_compressDetStepMCs_protonabsorber_*", - "keep mu2e::StepPointMCs_compressDetStepMCs_stoppingtarget_*", - "keep mu2e::SimParticlemv_compressDetStepMCs_*_*", - "keep mu2e::SimParticleart::Ptrmu2e::MCTrajectorystd::map_compressDetStepMCs_*_*", - "keep mu2e::GenParticles_compressDetStepMCs_*_*", - "keep mu2e::PrimaryParticle_*_*_*", - "keep art::EventIDs_*_*_*", - "keep art::TriggerResults_*_*_*", - "keep mu2e::StatusG4_*_*_*", - "keep mu2e::GenEventCount_*_*_*" ] + "keep mu2e::StrawGasSteps_compressDetStepMCs_*_*", + "keep mu2e::CaloShowerSteps_compressDetStepMCs_*_*", + "keep mu2e::CrvSteps_compressDetStepMCs_*_*", + "keep mu2e::StepPointMCs_compressDetStepMCs_virtualdetector_*", + "keep mu2e::StepPointMCs_compressDetStepMCs_protonabsorber_*", + "keep mu2e::StepPointMCs_compressDetStepMCs_stoppingtarget_*", + "keep mu2e::SimParticlemv_compressDetStepMCs_*_*", + "keep mu2e::SimParticleart::Ptrmu2e::MCTrajectorystd::map_compressDetStepMCs_*_*", + "keep mu2e::GenParticles_compressDetStepMCs_*_*", + "keep mu2e::PrimaryParticle_*_*_*", + "keep mu2e::CosmicLivetime_*_*_*", + "keep art::EventIDs_*_*_*", + "keep art::TriggerResults_*_*_*", + "keep mu2e::StatusG4_*_*_*", + "keep mu2e::GenEventCount_*_*_*" ] analyzers: { genCountLogger: { module_type: GenEventCountReader makeHistograms: false } } Output : { - module_type : RootOutput - SelectEvents : [ PrimaryPath ] - fileName : @nil + module_type : RootOutput + SelectEvents : [ PrimaryPath ] + fileName : @nil - # drop StepPoints from calorimeter + # drop StepPoints from calorimeter } EndSequence : [ genCountLogger ] -# define paths + # define paths } Primary.PrimarySequence : [ @sequence::Primary.DetStepSequence, @sequence::Primary.DetStepFilterSequence, FindMCPrimary ] Primary.EndPath : [ @sequence::Primary.EndSequence, Output ] Primary.Output.outputCommands : [ "drop *_*_*_*", - @sequence::Primary.KeptProducts] + @sequence::Primary.KeptProducts] END_PROLOG diff --git a/JobConfig/primary/proton.fcl b/JobConfig/primary/proton.fcl deleted file mode 100644 index 8469469b..00000000 --- a/JobConfig/primary/proton.fcl +++ /dev/null @@ -1,25 +0,0 @@ -# -# protons from muon nuclear capture -# -# original author: Dave Brown, LBNL -# -#include "Production/JobConfig/primary/Primary.fcl" -# set the generator -physics.producers.generate :{ - module_type: StoppedParticleReactionGun - verbosityLevel : 1 - muonStops: @local::mu2e.tgtMuonStops - physics: { - pdgId : 2212 - genId : muonCapture - spectrumShape: ejectedProtons - spectrumVariable: kineticEnergy - nbins: 1000 - } -} -physics.producers.generate.muonStops.inputFiles : [ "mergedMuonStops/nts.mu2e.DS-TGTstops.MDC2018a.001002_00000000.root" ] -physics.filters.DetStepFilter.KeepPDG : [ 2212 ] -# lower the thresolds for pileup generation -##include "JobConfig/primary/pileup.fcl" -# customize the output -outputs.Output.fileName: "dts.owner.proton.version.sequencer.art" diff --git a/JobConfig/reco/Reco.fcl b/JobConfig/reco/Reco.fcl index 5d0efae6..6c4cac51 100644 --- a/JobConfig/reco/Reco.fcl +++ b/JobConfig/reco/Reco.fcl @@ -18,7 +18,7 @@ physics : RecoPath : [ @sequence::Reconstruction.RecoMCPath ] EndPath : @local::Reconstruction.EndPath } -outputs : { +outputs : { Output : { @table::Reconstruction.Output SelectEvents : [ "RecoPath" ] diff --git a/JobConfig/reco/prolog.fcl b/JobConfig/reco/prolog.fcl index 3ffb64df..40560a4b 100644 --- a/JobConfig/reco/prolog.fcl +++ b/JobConfig/reco/prolog.fcl @@ -24,8 +24,8 @@ Reconstruction : { @table::CaloMC.TruthProducers @table::CrvResponsePackage.producers -# instantiate explicit helix merger modules -# NB: positive here refers to helicity, not charge! + # instantiate explicit helix merger modules + # NB: positive here refers to helicity, not charge! MHDeM : { @table::TrkReco.producers.MergeHelices HelixFinders : [ "HelixFinderDe:Positive", "CalHelixFinderDe:Positive" ] @@ -92,26 +92,26 @@ Reconstruction : { @table::Tracking.producers.KSFUmuP SeedCollection : MHUmuP } -# KinKal fits + # KinKal fits KKSDeM : { @table::Mu2eKinKal.producers.KKDeMSeedFit ModuleSettings : { - @table::Mu2eKinKal.producers.KKDeMSeedFit.ModuleSettings - HelixSeedCollections : [ "MHDeM" ] + @table::Mu2eKinKal.producers.KKDeMSeedFit.ModuleSettings + HelixSeedCollections : [ "MHDeM" ] ComboHitCollection : "makeSH" StrawHitFlagCollection : "FlagBkgHits:StrawHits" - CaloClusterCollection : "CaloClusterMaker" - PrintLevel : 0 + CaloClusterCollection : "CaloClusterMaker" + PrintLevel : 0 } } KKSDeP : { @table::Mu2eKinKal.producers.KKDePSeedFit ModuleSettings : { - @table::Mu2eKinKal.producers.KKDePSeedFit.ModuleSettings - HelixSeedCollections : [ "MHDeP" ] + @table::Mu2eKinKal.producers.KKDePSeedFit.ModuleSettings + HelixSeedCollections : [ "MHDeP" ] ComboHitCollection : "makeSH" StrawHitFlagCollection : "FlagBkgHits:StrawHits" - CaloClusterCollection : "CaloClusterMaker" + CaloClusterCollection : "CaloClusterMaker" PrintLevel : 0 } } @@ -120,31 +120,31 @@ Reconstruction : { # # Prune output so that only parts related to reconstructed objects are kept # - SelectRecoMC : { - @table::CommonMC.SelectRecoMC - CaloClusterMinE : 10.0 - SaveEnergySteps : false - SaveUnusedDigiMCs : true - SaveAllUnusedDigiMCs : false - TimeOffsets : [] - PrimaryParticle : "compressDigiMCs" - StrawDigiCollection : "makeSD" - StrawHitFlagCollection : "FlagBkgHits:StrawHits" - ComboHitCollection : "makeSH" - CaloDigiCollection : "CaloDigiMaker" - CrvDigiCollection : "CrvDigi" - CaloClusterCollection : "CaloClusterMaker" - CrvCoincidenceClusterCollection : "CrvCoincidenceClusterFinder" - StrawDigiMCCollection : "compressDigiMCs" - CrvDigiMCCollection : "compressDigiMCs" - KalSeedCollections : ["KFFDeM", "KFFDeP", "KFFDmuM", "KFFDmuP", - "KFFUeM", "KFFUeP", "KFFUmuM", "KFFUmuP" ] - HelixSeedCollections : ["MHDeM", "MHDeP", "MHDmuM", "MHDmuP", - "MHUeM", "MHUeP", "MHUmuM", "MHUmuP" ] + SelectRecoMC : { + @table::CommonMC.SelectRecoMC + CaloClusterMinE : 10.0 + SaveEnergySteps : false + SaveUnusedDigiMCs : true + SaveAllUnusedDigiMCs : false + TimeOffsets : [] + PrimaryParticle : "compressDigiMCs" + StrawDigiCollection : "makeSD" + StrawHitFlagCollection : "FlagBkgHits:StrawHits" + ComboHitCollection : "makeSH" + CaloDigiCollection : "CaloDigiMaker" + CrvDigiCollection : "CrvDigi" + CaloClusterCollection : "CaloClusterMaker" + CrvCoincidenceClusterCollection : "CrvCoincidenceClusterFinder" + StrawDigiMCCollection : "compressDigiMCs" + CrvDigiMCCollection : "compressDigiMCs" + KalSeedCollections : ["KFFDeM", "KFFDeP", "KFFDmuM", "KFFDmuP", + "KFFUeM", "KFFUeP", "KFFUmuM", "KFFUmuP" ] + HelixSeedCollections : ["MHDeM", "MHDeP", "MHDmuM", "MHDmuP", + "MHUeM", "MHUeP", "MHUmuM", "MHUmuP" ] VDSPCollection : "compressDigiMCs:virtualdetector" } # Compresion - compressRecoMCs : { + compressRecoMCs : { module_type : CompressDigiMCs strawDigiMCTag : "compressDigiMCs" crvDigiMCTag : "compressDigiMCs" @@ -167,33 +167,33 @@ Reconstruction : { } - + filters : { -# why are CalPatRec reconstruction modules implemented as filters???? -# They should be remade as producers FIXME! + # why are CalPatRec reconstruction modules implemented as filters???? + # They should be remade as producers FIXME! @table::CalPatRec.filters # reco filter RecoFilter : { module_type : RecoMomFilter KalFinalTagRoot : "" - TrkTags : [ "KFFDeM", "KFFDeP", - "KFFUeM", "KFFUeP", - "KFFDmuM", "KFFDmuP", - "KFFUmuM", "KFFUmuP" - ] - # // set low cutoffs + TrkTags : [ "KFFDeM", "KFFDeP", + "KFFUeM", "KFFUeP", + "KFFDmuM", "KFFDmuP", + "KFFUmuM", "KFFUmuP" + ] + # // set low cutoffs MomentumCutoff : [ 60.0, 60.0, - 60.0, 60.0, - 60.0, 60.0, - 60.0, 60.0 ] + 60.0, 60.0, + 60.0, 60.0, + 60.0, 60.0 ] } } analyzers : { # these are specific to MC recoCompressionCheck : @local::RecoCompression.Check } -# reconstruct multiple types of tracks. These are separate sequences to allow granular execution -# Downstream electron sequence (plus and minus), using merged helices + # reconstruct multiple types of tracks. These are separate sequences to allow granular execution + # Downstream electron sequence (plus and minus), using merged helices DeReco : [ TimeClusterFinderDe, HelixFinderDe, # TrkPatRec CalTimePeakFinder, CalHelixFinderDe, # CalPatRec @@ -202,14 +202,14 @@ Reconstruction : { KKSDeM, KKSDeP, # KinKal seed fits KFFDeM, KFFDeP # final Kalman filter fit ] -# Upstream electron sequence (plus and minus): TrkPatRec only + # Upstream electron sequence (plus and minus): TrkPatRec only UeReco : [ - TimeClusterFinderUe, HelixFinderUe, + TimeClusterFinderUe, HelixFinderUe, MHUeM, MHUeP, # helix merging KSFUeM, KSFUeP, # Seed fit (chisquared, no drift) KFFUeM, KFFUeP # final Kalman filter fit ] -# Downstream muon sequence (plus and minus) + # Downstream muon sequence (plus and minus) DmuReco : [ TimeClusterFinderDmu, HelixFinderDmu, # TrkPatRec CalTimePeakFinderMu, CalHelixFinderDmu, # CalPatRec @@ -217,47 +217,47 @@ Reconstruction : { KSFDmuM, KSFDmuP, # Seed fit (chisquared, no drift) KFFDmuM, KFFDmuP # final Kalman filter fit ] -# Upstream muon sequence (plus and minus) + # Upstream muon sequence (plus and minus) UmuReco : [ - TimeClusterFinderUmu, HelixFinderUmu, + TimeClusterFinderUmu, HelixFinderUmu, MHUmuM, MHUmuP, # helix merging KSFUmuM, KSFUmuP, # Seed fit (chisquared, no drift) KFFUmuM, KFFUmuP # final Kalman filter fit ] -# add protons for calibration TODO! + # add protons for calibration TODO! -# Track reco sequence + # Track reco sequence TrkReco : [ @sequence::TrkHitReco.PrepareHits ] # Track hit -# Calo reco + # Calo reco CaloReco : [ @sequence::CaloReco.Reco, @sequence::CaloCluster.Reco ] -# CRV reco + # CRV reco CrvReco : [ CrvRecoPulses, CrvCoincidence, CrvCoincidenceClusterFinder ] -# full MC sequence; form the Calo and CRV matching, and compress based on reco content + # full MC sequence; form the Calo and CRV matching, and compress based on reco content MCReco : [@sequence::CaloMC.TruthMatch, CrvCoincidenceClusterMatchMC, SelectRecoMC, compressRecoMCs ] -# define products to keep -# First, high-level reco products, and associated sub-products + # define products to keep + # First, high-level reco products, and associated sub-products HighRecoProducts : [ - "keep mu2e::KalSeeds_K*_*_*", - "keep mu2e::HelixSeeds_MH*_*_*", - "keep mu2e::TimeClusters_MH*_*_*", - "keep mu2e::CaloClusters_*_*_*", - "keep mu2e::CaloHits_*_*_*", - "keep mu2e::EventWindowMarker_*_*_*", - "keep mu2e::ProtonBunchTime_*_*_*", - "keep *_SelectRecoMC_*_*" - ] -# MC truth matched to reco + "keep mu2e::KalSeeds_K*_*_*", + "keep mu2e::HelixSeeds_MH*_*_*", + "keep mu2e::TimeClusters_MH*_*_*", + "keep mu2e::CaloClusters_*_*_*", + "keep mu2e::CaloHits_*_*_*", + "keep mu2e::EventWindowMarker_*_*_*", + "keep mu2e::ProtonBunchTime_*_*_*", + "keep *_SelectRecoMC_*_*" + ] + # MC truth matched to reco MCRecoProducts : [ - "keep *_genCounter_*_*", - "keep mu2e::PrimaryParticle_*_*_*", - "keep mu2e::StatusG4_*_*_*", - "keep mu2e::ProtonBunchIntensity_*_*_*", - "keep mu2e::ProtonBunchTimeMC_*_*_*", - "keep mu2e::EventWeight_*_*_*", - "keep *_compressRecoMCs_*_*" - ] - EndSequence : [ recoCompressionCheck ] + "keep *_genCounter_*_*", + "keep mu2e::PrimaryParticle_*_*_*", + "keep mu2e::StatusG4_*_*_*", + "keep mu2e::ProtonBunchIntensity_*_*_*", + "keep mu2e::ProtonBunchTimeMC_*_*_*", + "keep mu2e::EventWeight_*_*_*", + "keep *_compressRecoMCs_*_*" + ] + EndSequence : [ recoCompressionCheck ] } Reconstruction.EndPath : [ @sequence::Reconstruction.EndSequence, Output ] @@ -297,11 +297,11 @@ Reconstruction.Output : { module_type : RootOutput SelectEvents : [ RecoPath ] fileName : @nil -# outputCommands : [ "keep *_*_*_*" ] + # outputCommands : [ "keep *_*_*_*" ] outputCommands : [ "drop *_*_*_*", - @sequence::Digitize.TriggerProducts, - @sequence::Reconstruction.HighRecoProducts, - @sequence::Reconstruction.MCRecoProducts] + @sequence::Digitize.TriggerProducts, + @sequence::Reconstruction.HighRecoProducts, + @sequence::Reconstruction.MCRecoProducts] } END_PROLOG diff --git a/JobConfig/validation/mixPointsDump.fcl b/JobConfig/validation/mixPointsDump.fcl index 3215834c..4db28319 100644 --- a/JobConfig/validation/mixPointsDump.fcl +++ b/JobConfig/validation/mixPointsDump.fcl @@ -10,149 +10,149 @@ process_name : stepPointsDump source: { module_type: RootInput } services: { - TFileService: { fileName: "stepPoints.root" } - message: @local::default_message - RandomNumberGenerator: {defaultEngineKind: "MixMaxRng" } - ConditionsService: { conditionsfile : "Offline/ConditionsService/data/conditions_01.txt" } - GlobalConstantsService: { inputFile : "Offline/GlobalConstantsService/data/globalConstants_01.txt" } - SeedService: @local::automaticSeeds + TFileService: { fileName: "stepPoints.root" } + message: @local::default_message + RandomNumberGenerator: {defaultEngineKind: "MixMaxRng" } + ConditionsService: { conditionsfile : "Offline/ConditionsService/data/conditions_01.txt" } + GlobalConstantsService: { inputFile : "Offline/GlobalConstantsService/data/globalConstants_01.txt" } + SeedService: @local::automaticSeeds } physics: { - producers: { - protonTimeMap :@local::CommonMC.producers.protonTimeMap - muonTimeMap : { module_type : GenerateMuonLife verbosityLevel : 1 } - } + producers: { + protonTimeMap :@local::CommonMC.producers.protonTimeMap + muonTimeMap : { module_type : GenerateMuonLife verbosityLevel : 1 } + } - analyzers: { - genCountLogger: { - module_type: GenEventCountReader - } + analyzers: { + genCountLogger: { + module_type: GenEventCountReader + } - //================================================================ - trackerFlash: { - module_type: StepPointMCDumper - hitsInputTag: "flashMixer:tracker" - TimeOffsets : { inputs : [ "protonTimeMap", "muonTimeMap" ] } - } - trackerOOT: { - module_type: StepPointMCDumper - hitsInputTag: "ootMixer:tracker" - TimeOffsets : { inputs : [ "protonTimeMap", "muonTimeMap" ] } - } - trackerDIO: { - module_type: StepPointMCDumper - hitsInputTag: "dioMixer:tracker" - TimeOffsets : { inputs : [ "protonTimeMap", "muonTimeMap" ] } - } - trackerNeutron: { - module_type: StepPointMCDumper - hitsInputTag: "neutronMixer:tracker" - TimeOffsets : { inputs : [ "protonTimeMap", "muonTimeMap" ] } - } - trackerPhoton: { - module_type: StepPointMCDumper - hitsInputTag: "photonMixer:tracker" - TimeOffsets : { inputs : [ "protonTimeMap", "muonTimeMap" ] } - } - trackerProton: { - module_type: StepPointMCDumper - hitsInputTag: "protonMixer:tracker" - TimeOffsets : { inputs : [ "protonTimeMap", "muonTimeMap" ] } - } - trackerDeuteron: { - module_type: StepPointMCDumper - hitsInputTag: "deuteronMixer:tracker" - TimeOffsets : { inputs : [ "protonTimeMap", "muonTimeMap" ] } - } + //================================================================ + trackerFlash: { + module_type: StepPointMCDumper + hitsInputTag: "flashMixer:tracker" + TimeOffsets : { inputs : [ "protonTimeMap", "muonTimeMap" ] } + } + trackerOOT: { + module_type: StepPointMCDumper + hitsInputTag: "ootMixer:tracker" + TimeOffsets : { inputs : [ "protonTimeMap", "muonTimeMap" ] } + } + trackerDIO: { + module_type: StepPointMCDumper + hitsInputTag: "dioMixer:tracker" + TimeOffsets : { inputs : [ "protonTimeMap", "muonTimeMap" ] } + } + trackerNeutron: { + module_type: StepPointMCDumper + hitsInputTag: "neutronMixer:tracker" + TimeOffsets : { inputs : [ "protonTimeMap", "muonTimeMap" ] } + } + trackerPhoton: { + module_type: StepPointMCDumper + hitsInputTag: "photonMixer:tracker" + TimeOffsets : { inputs : [ "protonTimeMap", "muonTimeMap" ] } + } + trackerProton: { + module_type: StepPointMCDumper + hitsInputTag: "protonMixer:tracker" + TimeOffsets : { inputs : [ "protonTimeMap", "muonTimeMap" ] } + } + trackerDeuteron: { + module_type: StepPointMCDumper + hitsInputTag: "deuteronMixer:tracker" + TimeOffsets : { inputs : [ "protonTimeMap", "muonTimeMap" ] } + } - //================================================================ - calorimeterFlash: { - module_type: StepPointMCDumper - hitsInputTag: "flashMixer:calorimeter" - TimeOffsets : { inputs : [ "protonTimeMap", "muonTimeMap" ] } - } - calorimeterOOT: { - module_type: StepPointMCDumper - hitsInputTag: "ootMixer:calorimeter" - TimeOffsets : { inputs : [ "protonTimeMap", "muonTimeMap" ] } - } - calorimeterDIO: { - module_type: StepPointMCDumper - hitsInputTag: "dioMixer:calorimeter" - TimeOffsets : { inputs : [ "protonTimeMap", "muonTimeMap" ] } - } - calorimeterNeutron: { - module_type: StepPointMCDumper - hitsInputTag: "neutronMixer:calorimeter" - TimeOffsets : { inputs : [ "protonTimeMap", "muonTimeMap" ] } - } - calorimeterPhoton: { - module_type: StepPointMCDumper - hitsInputTag: "photonMixer:calorimeter" - TimeOffsets : { inputs : [ "protonTimeMap", "muonTimeMap" ] } - } - calorimeterProton: { - module_type: StepPointMCDumper - hitsInputTag: "protonMixer:calorimeter" - TimeOffsets : { inputs : [ "protonTimeMap", "muonTimeMap" ] } - } - calorimeterDeuteron: { - module_type: StepPointMCDumper - hitsInputTag: "deuteronMixer:calorimeter" - TimeOffsets : { inputs : [ "protonTimeMap", "muonTimeMap" ] } - } + //================================================================ + calorimeterFlash: { + module_type: StepPointMCDumper + hitsInputTag: "flashMixer:calorimeter" + TimeOffsets : { inputs : [ "protonTimeMap", "muonTimeMap" ] } + } + calorimeterOOT: { + module_type: StepPointMCDumper + hitsInputTag: "ootMixer:calorimeter" + TimeOffsets : { inputs : [ "protonTimeMap", "muonTimeMap" ] } + } + calorimeterDIO: { + module_type: StepPointMCDumper + hitsInputTag: "dioMixer:calorimeter" + TimeOffsets : { inputs : [ "protonTimeMap", "muonTimeMap" ] } + } + calorimeterNeutron: { + module_type: StepPointMCDumper + hitsInputTag: "neutronMixer:calorimeter" + TimeOffsets : { inputs : [ "protonTimeMap", "muonTimeMap" ] } + } + calorimeterPhoton: { + module_type: StepPointMCDumper + hitsInputTag: "photonMixer:calorimeter" + TimeOffsets : { inputs : [ "protonTimeMap", "muonTimeMap" ] } + } + calorimeterProton: { + module_type: StepPointMCDumper + hitsInputTag: "protonMixer:calorimeter" + TimeOffsets : { inputs : [ "protonTimeMap", "muonTimeMap" ] } + } + calorimeterDeuteron: { + module_type: StepPointMCDumper + hitsInputTag: "deuteronMixer:calorimeter" + TimeOffsets : { inputs : [ "protonTimeMap", "muonTimeMap" ] } + } - //================================================================ - calorimeterROFlash: { - module_type: StepPointMCDumper - hitsInputTag: "flashMixer:calorimeterRO" - TimeOffsets : { inputs : [ "protonTimeMap", "muonTimeMap" ] } - } - calorimeterROOOT: { - module_type: StepPointMCDumper - hitsInputTag: "ootMixer:calorimeterRO" - TimeOffsets : { inputs : [ "protonTimeMap", "muonTimeMap" ] } - } - calorimeterRODIO: { - module_type: StepPointMCDumper - hitsInputTag: "dioMixer:calorimeterRO" - TimeOffsets : { inputs : [ "protonTimeMap", "muonTimeMap" ] } - } - calorimeterRONeutron: { - module_type: StepPointMCDumper - hitsInputTag: "neutronMixer:calorimeterRO" - TimeOffsets : { inputs : [ "protonTimeMap", "muonTimeMap" ] } - } - calorimeterROPhoton: { - module_type: StepPointMCDumper - hitsInputTag: "photonMixer:calorimeterRO" - TimeOffsets : { inputs : [ "protonTimeMap", "muonTimeMap" ] } - } - calorimeterROProton: { - module_type: StepPointMCDumper - hitsInputTag: "protonMixer:calorimeterRO" - TimeOffsets : { inputs : [ "protonTimeMap", "muonTimeMap" ] } - } - calorimeterRODeuteron: { - module_type: StepPointMCDumper - hitsInputTag: "deuteronMixer:calorimeterRO" - TimeOffsets : { inputs : [ "protonTimeMap", "muonTimeMap" ] } - } + //================================================================ + calorimeterROFlash: { + module_type: StepPointMCDumper + hitsInputTag: "flashMixer:calorimeterRO" + TimeOffsets : { inputs : [ "protonTimeMap", "muonTimeMap" ] } + } + calorimeterROOOT: { + module_type: StepPointMCDumper + hitsInputTag: "ootMixer:calorimeterRO" + TimeOffsets : { inputs : [ "protonTimeMap", "muonTimeMap" ] } + } + calorimeterRODIO: { + module_type: StepPointMCDumper + hitsInputTag: "dioMixer:calorimeterRO" + TimeOffsets : { inputs : [ "protonTimeMap", "muonTimeMap" ] } + } + calorimeterRONeutron: { + module_type: StepPointMCDumper + hitsInputTag: "neutronMixer:calorimeterRO" + TimeOffsets : { inputs : [ "protonTimeMap", "muonTimeMap" ] } + } + calorimeterROPhoton: { + module_type: StepPointMCDumper + hitsInputTag: "photonMixer:calorimeterRO" + TimeOffsets : { inputs : [ "protonTimeMap", "muonTimeMap" ] } + } + calorimeterROProton: { + module_type: StepPointMCDumper + hitsInputTag: "protonMixer:calorimeterRO" + TimeOffsets : { inputs : [ "protonTimeMap", "muonTimeMap" ] } + } + calorimeterRODeuteron: { + module_type: StepPointMCDumper + hitsInputTag: "deuteronMixer:calorimeterRO" + TimeOffsets : { inputs : [ "protonTimeMap", "muonTimeMap" ] } + } - //================================================================ - } + //================================================================ + } - p1 : [protonTimeMap, muonTimeMap] - trigger_paths: [p1] + p1 : [protonTimeMap, muonTimeMap] + trigger_paths: [p1] - e1 : [ genCountLogger - , trackerFlash, trackerOOT, trackerDIO, trackerNeutron, trackerPhoton, trackerProton, trackerDeuteron - , calorimeterFlash, calorimeterOOT, calorimeterDIO, calorimeterNeutron, calorimeterPhoton, calorimeterProton, calorimeterDeuteron - , calorimeterROFlash, calorimeterROOOT, calorimeterRODIO, calorimeterRONeutron, calorimeterROPhoton, calorimeterROProton, calorimeterRODeuteron - ] - end_paths : [e1] + e1 : [ genCountLogger + , trackerFlash, trackerOOT, trackerDIO, trackerNeutron, trackerPhoton, trackerProton, trackerDeuteron + , calorimeterFlash, calorimeterOOT, calorimeterDIO, calorimeterNeutron, calorimeterPhoton, calorimeterProton, calorimeterDeuteron + , calorimeterROFlash, calorimeterROOOT, calorimeterRODIO, calorimeterRONeutron, calorimeterROPhoton, calorimeterROProton, calorimeterRODeuteron + ] + end_paths : [e1] } services.SeedService.baseSeed : 8 diff --git a/JobConfig/validation/psEnclosureBeamWindow.fcl b/JobConfig/validation/psEnclosureBeamWindow.fcl index 71977dba..808c5ed1 100644 --- a/JobConfig/validation/psEnclosureBeamWindow.fcl +++ b/JobConfig/validation/psEnclosureBeamWindow.fcl @@ -1,5 +1,5 @@ // Record hits in PSEnclosure end plate and the windows for the main beam. -// +// // Andrei Gaponenko, 2015 #include "Offline/fcl/minimalMessageService.fcl" @@ -10,75 +10,75 @@ process_name : psEnclosureBeamWindow source : { - module_type : EmptyEvent - maxEvents : @nil + module_type : EmptyEvent + maxEvents : @nil } services : { - message : @local::default_message - TFileService : { fileName : "hist_beam_psebeamwin.root" } - RandomNumberGenerator : {defaultEngineKind: "MixMaxRng" } + message : @local::default_message + TFileService : { fileName : "hist_beam_psebeamwin.root" } + RandomNumberGenerator : {defaultEngineKind: "MixMaxRng" } - GeometryService : { inputFile : "Production/JobConfig/validation/geom_psEnclosure.txt" } - ConditionsService : { conditionsfile : "Offline/ConditionsService/data/conditions_01.txt" } - GlobalConstantsService : { inputFile : "Offline/GlobalConstantsService/data/globalConstants_01.txt" } - Mu2eG4Helper : { } - SeedService : @local::automaticSeeds + GeometryService : { inputFile : "Production/JobConfig/validation/geom_psEnclosure.txt" } + ConditionsService : { conditionsfile : "Offline/ConditionsService/data/conditions_01.txt" } + GlobalConstantsService : { inputFile : "Offline/GlobalConstantsService/data/globalConstants_01.txt" } + Mu2eG4Helper : { } + SeedService : @local::automaticSeeds } physics : { - analyzers: { - genCountLogger: { - module_type: GenEventCountReader - } - - endplate: { - module_type: StepPointMCDumper TimeOffsets: {} - hitsInputTag: "g4run:PSEnclosureEndPlate" - } - win0: { - module_type: StepPointMCDumper TimeOffsets: {} - hitsInputTag: "g4run:PSEnclosureWindow0" - } - win1: { - module_type: StepPointMCDumper TimeOffsets: {} - hitsInputTag: "g4run:PSEnclosureWindow1" - } - } - - producers: { - generate: @local::PrimaryProtonGun - - genCounter: { - module_type: GenEventCounter - } - - g4run: @local::g4run - } - - trigmainbeam : [generate, genCounter, g4run] - trigger_paths : [trigmainbeam] - - an: [ genCountLogger, endplate, win0, win1 ] - end_paths: [an] + analyzers: { + genCountLogger: { + module_type: GenEventCountReader + } + + endplate: { + module_type: StepPointMCDumper TimeOffsets: {} + hitsInputTag: "g4run:PSEnclosureEndPlate" + } + win0: { + module_type: StepPointMCDumper TimeOffsets: {} + hitsInputTag: "g4run:PSEnclosureWindow0" + } + win1: { + module_type: StepPointMCDumper TimeOffsets: {} + hitsInputTag: "g4run:PSEnclosureWindow1" + } + } + + producers: { + generate: @local::PrimaryProtonGun + + genCounter: { + module_type: GenEventCounter + } + + g4run: @local::g4run + } + + trigmainbeam : [generate, genCounter, g4run] + trigger_paths : [trigmainbeam] + + an: [ genCountLogger, endplate, win0, win1 ] + end_paths: [an] } //================================================================ physics.producers.g4run.Mu2eG4CommonCut: { - type: union - pars: [ - // speed things up - { type: inVolume pars: [TS1Vacuum,PSShieldShell1,ProtonBeamDumpCore,ProtonBeamDumpFront] }, - // ignore the soft stuff - { type: kineticEnergy cut: 3000 } - ] + type: union + pars: [ + // speed things up + { type: inVolume pars: [TS1Vacuum,PSShieldShell1,ProtonBeamDumpCore,ProtonBeamDumpFront] }, + // ignore the soft stuff + { type: kineticEnergy cut: 3000 } + ] } physics.producers.g4run.SDConfig: { - enableSD: [ virtualdetector ] // activate just the explicitly listed SDs - sensitiveVolumes: [ PSEnclosureEndPlate, PSEnclosureWindow0, PSEnclosureWindow1 ] - TimeVD: { times: [] } + enableSD: [ virtualdetector ] // activate just the explicitly listed SDs + sensitiveVolumes: [ PSEnclosureEndPlate, PSEnclosureWindow0, PSEnclosureWindow1 ] + TimeVD: { times: [] } } diff --git a/JobConfig/validation/psEnclosureExtMonWindow.fcl b/JobConfig/validation/psEnclosureExtMonWindow.fcl index 63f62f13..15d093b9 100644 --- a/JobConfig/validation/psEnclosureExtMonWindow.fcl +++ b/JobConfig/validation/psEnclosureExtMonWindow.fcl @@ -1,7 +1,7 @@ // Record hits in PSEnclosure end plate and the ExtMon beam window. // The acceptance here is about 2.8e-6. You need to simulate enough // events to see anything. -// +// // Andrei Gaponenko, 2015 #include "Offline/fcl/minimalMessageService.fcl" @@ -12,86 +12,86 @@ process_name : psEnclosureExtMonWindow source : { - module_type : EmptyEvent - maxEvents : @nil + module_type : EmptyEvent + maxEvents : @nil } services : { - message : @local::default_message - TFileService : { fileName : "hist_beam_pseextmonwin.root" } - RandomNumberGenerator : {defaultEngineKind: "MixMaxRng" } + message : @local::default_message + TFileService : { fileName : "hist_beam_pseextmonwin.root" } + RandomNumberGenerator : {defaultEngineKind: "MixMaxRng" } - GeometryService : { inputFile : "Production/JobConfig/validation/geom_psEnclosure.txt" } - ConditionsService : { conditionsfile : "Offline/ConditionsService/data/conditions_01.txt" } - GlobalConstantsService : { inputFile : "Offline/GlobalConstantsService/data/globalConstants_01.txt" } - Mu2eG4Helper : { } - SeedService : @local::automaticSeeds + GeometryService : { inputFile : "Production/JobConfig/validation/geom_psEnclosure.txt" } + ConditionsService : { conditionsfile : "Offline/ConditionsService/data/conditions_01.txt" } + GlobalConstantsService : { inputFile : "Offline/GlobalConstantsService/data/globalConstants_01.txt" } + Mu2eG4Helper : { } + SeedService : @local::automaticSeeds } physics : { - analyzers: { - genCountLogger: { - module_type: GenEventCountReader - } - - endplate: { - module_type: StepPointMCDumper TimeOffsets: {} - hitsInputTag: "extmonBeamFilter:PSEnclosureEndPlate" - } - win0: { - module_type: StepPointMCDumper TimeOffsets: {} - hitsInputTag: "extmonBeamFilter:PSEnclosureWindow0" - } - win1: { - module_type: StepPointMCDumper TimeOffsets: {} - hitsInputTag: "extmonBeamFilter:PSEnclosureWindow1" - } - } - - producers: { - generate: @local::PrimaryProtonGun - - genCounter: { - module_type: GenEventCounter - } - - g4run : @local::g4run - } - - filters: { - extmonBeamFilter: { - module_type: FilterG4Out - mainHitInputs : [ "g4run:extmonbeam" ] - extraHitInputs : [ "g4run:virtualdetector", "g4run:PSEnclosureEndPlate", "g4run:PSEnclosureWindow0", "g4run:PSEnclosureWindow1" ] - vetoDaughters: [] - } - } - - trigmainextmon : [generate, genCounter, g4run, extmonBeamFilter] - trigger_paths : [trigmainextmon] - - an: [ genCountLogger, endplate, win0, win1 ] - end_paths: [an] + analyzers: { + genCountLogger: { + module_type: GenEventCountReader + } + + endplate: { + module_type: StepPointMCDumper TimeOffsets: {} + hitsInputTag: "extmonBeamFilter:PSEnclosureEndPlate" + } + win0: { + module_type: StepPointMCDumper TimeOffsets: {} + hitsInputTag: "extmonBeamFilter:PSEnclosureWindow0" + } + win1: { + module_type: StepPointMCDumper TimeOffsets: {} + hitsInputTag: "extmonBeamFilter:PSEnclosureWindow1" + } + } + + producers: { + generate: @local::PrimaryProtonGun + + genCounter: { + module_type: GenEventCounter + } + + g4run : @local::g4run + } + + filters: { + extmonBeamFilter: { + module_type: FilterG4Out + mainHitInputs : [ "g4run:extmonbeam" ] + extraHitInputs : [ "g4run:virtualdetector", "g4run:PSEnclosureEndPlate", "g4run:PSEnclosureWindow0", "g4run:PSEnclosureWindow1" ] + vetoDaughters: [] + } + } + + trigmainextmon : [generate, genCounter, g4run, extmonBeamFilter] + trigger_paths : [trigmainextmon] + + an: [ genCountLogger, endplate, win0, win1 ] + end_paths: [an] } //================================================================ physics.producers.g4run.Mu2eG4CommonCut: { - type: union - pars: [ - // speed things up - { type: inVolume pars: [TS1Vacuum,PSShieldShell1,ProtonBeamDumpCore,ProtonBeamDumpFront] }, - // ignore the soft stuff - { type: kineticEnergy cut: 3000 }, - // write particles reaching collimator2 - { type: inVolume pars: [collimator2Channel] write: extmonbeam } - ] + type: union + pars: [ + // speed things up + { type: inVolume pars: [TS1Vacuum,PSShieldShell1,ProtonBeamDumpCore,ProtonBeamDumpFront] }, + // ignore the soft stuff + { type: kineticEnergy cut: 3000 }, + // write particles reaching collimator2 + { type: inVolume pars: [collimator2Channel] write: extmonbeam } + ] } physics.producers.g4run.SDConfig: { - enableSD: [ virtualdetector ] // activate just the explicitly listed SDs - sensitiveVolumes: [ PSEnclosureEndPlate, PSEnclosureWindow0, PSEnclosureWindow1 ] - TimeVD: { times: [] } + enableSD: [ virtualdetector ] // activate just the explicitly listed SDs + sensitiveVolumes: [ PSEnclosureEndPlate, PSEnclosureWindow0, PSEnclosureWindow1 ] + TimeVD: { times: [] } } // Larger range cut for the first stage diff --git a/JobConfig/validation/stoppedMuonsSingleStage.fcl b/JobConfig/validation/stoppedMuonsSingleStage.fcl index 72d34b0b..3c7bf2c0 100644 --- a/JobConfig/validation/stoppedMuonsSingleStage.fcl +++ b/JobConfig/validation/stoppedMuonsSingleStage.fcl @@ -1,8 +1,8 @@ -// This job starts with protons on target and writes stopped muons -// into a framework format output file. Run -// JobConfig/beam/beam_nts3tgtstops.fcl on the output to get an ntuple. -// -// Andrei Gaponenko, 2015 +# This job starts with protons on target and writes stopped muons +# into a framework format output file. Run +# JobConfig/beam/beam_nts3tgtstops.fcl on the output to get an ntuple. +# +# Andrei Gaponenko, 2015 #include "Offline/fcl/minimalMessageService.fcl" #include "Offline/fcl/standardProducers.fcl" @@ -13,17 +13,17 @@ BEGIN_PROLOG #---------------------------------------------------------------- # Mu2eG4 cuts killLowEnergyStuff: { - type: intersection - pars: [ - // those particles can't make muons - { type: kineticEnergy cut: 100. }, - { type: pdgId pars: [ 22, -11, 11, 2212, 2112 ] } - ] + type: intersection + pars: [ + # those particles can't make muons + { type: kineticEnergy cut: 100. }, + { type: pdgId pars: [ 22, -11, 11, 2212, 2112 ] } + ] } # killInSideVolumes: { - type: inVolume - pars: [ HallAir, DS3Vacuum ] + type: inVolume + pars: [ HallAir, DS3Vacuum ] } #---------------------------------------------------------------- END_PROLOG @@ -33,107 +33,107 @@ END_PROLOG process_name : stoppedMuonsSingleStage source : { - module_type : EmptyEvent - maxEvents : @nil + module_type : EmptyEvent + maxEvents : @nil } services : @local::Services.SimAndReco physics : { - analyzers: { - genCountLogger: { - module_type: GenEventCountReader - } - } - - producers: { - - generate: @local::PrimaryProtonGun - - genCounter: { - module_type: GenEventCounter - } - - g4run: @local::g4run - - compressPVTGTStops: { - module_type: CompressPhysicalVolumes - volumesInput : "g4run" - hitInputs : [] - particleInputs : [ "tgtStopFilter" ] - } - - //---------------------------------------------------------------- - stoppedMuonFinder : { - module_type : StoppedParticlesFinder - particleInput : "g4run" - // multiple matches, we'll get the one from the current process, which is what we want - physVolInfoInput : "g4run" - stoppingMaterial : "StoppingTarget_Al" - particleTypes : [ 13 ] // mu- - verbosityLevel: 1 - } - } - - filters: { - tgtStopFilter: { - module_type: FilterG4Out - mainHitInputs: [] - extraHitInputs: [ "g4run:virtualdetector" ] - mainSPPtrInputs: [ "stoppedMuonFinder" ] - } - - g4consistent: { - module_type: FilterStatusG4 - input: "g4run" - maxAcceptedStatus: 9 # status 10 and above means StepPointMCCollection may have non-dereferencable pointers - } - } - - tgtFilter : [generate, genCounter, g4run, g4consistent, stoppedMuonFinder, tgtStopFilter, compressPVTGTStops] - trigger_paths : [tgtFilter] - - out : [tgtStopOutput] - gcl: [genCountLogger] - end_paths: [out, gcl] + analyzers: { + genCountLogger: { + module_type: GenEventCountReader + } + } + + producers: { + + generate: @local::PrimaryProtonGun + + genCounter: { + module_type: GenEventCounter + } + + g4run: @local::g4run + + compressPVTGTStops: { + module_type: CompressPhysicalVolumes + volumesInput : "g4run" + hitInputs : [] + particleInputs : [ "tgtStopFilter" ] + } + + #---------------------------------------------------------------- + stoppedMuonFinder : { + module_type : StoppedParticlesFinder + particleInput : "g4run" + # multiple matches, we'll get the one from the current process, which is what we want + physVolInfoInput : "g4run" + stoppingMaterial : "StoppingTarget_Al" + particleTypes : [ 13 ] # mu- + verbosityLevel: 1 + } + } + + filters: { + tgtStopFilter: { + module_type: FilterG4Out + mainHitInputs: [] + extraHitInputs: [ "g4run:virtualdetector" ] + mainSPPtrInputs: [ "stoppedMuonFinder" ] + } + + g4consistent: { + module_type: FilterStatusG4 + input: "g4run" + maxAcceptedStatus: 9 # status 10 and above means StepPointMCCollection may have non-dereferencable pointers + } + } + + tgtFilter : [generate, genCounter, g4run, g4consistent, stoppedMuonFinder, tgtStopFilter, compressPVTGTStops] + trigger_paths : [tgtFilter] + + out : [tgtStopOutput] + gcl: [genCountLogger] + end_paths: [out, gcl] } outputs: { - tgtStopOutput : { - module_type : RootOutput - SelectEvents: [tgtFilter] - outputCommands: [ "drop *_*_*_*", - "keep mu2e::GenParticles_*_*_*", - "keep mu2e::GenEventCount_*_*_*", - "keep mu2e::StatusG4_*_*_*", - "keep *_tgtStopFilter_*_*", - "keep *_compressPVTGTStops_*_*" - ] - fileName : "sim.owner.stoppedMuonsSingleStage.version.sequencer.art" - } + tgtStopOutput : { + module_type : RootOutput + SelectEvents: [tgtFilter] + outputCommands: [ "drop *_*_*_*", + "keep mu2e::GenParticles_*_*_*", + "keep mu2e::GenEventCount_*_*_*", + "keep mu2e::StatusG4_*_*_*", + "keep *_tgtStopFilter_*_*", + "keep *_compressPVTGTStops_*_*" + ] + fileName : "sim.owner.stoppedMuonsSingleStage.version.sequencer.art" + } } -//================================================================ -// Mu2eG4 cuts are evaluated in the listed order. -// The first match wins. For the "intersection" -// type, the first false stops the evaluation. -// For the "union" type the first true stops the evaluation. +#================================================================ +# Mu2eG4 cuts are evaluated in the listed order. +# The first match wins. For the "intersection" +# type, the first false stops the evaluation. +# For the "union" type the first true stops the evaluation. physics.producers.g4run.Mu2eG4CommonCut: { - type: union - pars: [ - @local::killLowEnergyStuff, - @local::killInSideVolumes - ] + type: union + pars: [ + @local::killLowEnergyStuff, + @local::killInSideVolumes + ] } -physics.producers.g4run.SDConfig.enableSD: [ virtualdetector ] // activate just the explicitly listed SDs +physics.producers.g4run.SDConfig.enableSD: [ virtualdetector ] # activate just the explicitly listed SDs -// Not too coarse - we care about stopped muon positions. -physics.producers.g4run.physics.minRangeCut : 0.010 // mm +# Not too coarse - we care about stopped muon positions. +physics.producers.g4run.physics.minRangeCut : 0.010 # mm services.GeometryService.inputFile : "Production/JobConfig/common/geom_baseline.txt" services.TFileService.fileName : "nts.owner.stoppedMuonsSingleStage.version.sequencer.root" -// Initialze seeding of random engines: do not put these lines in base .fcl files for grid jobs. +# Initialze seeding of random engines: do not put these lines in base .fcl files for grid jobs. services.SeedService.baseSeed : 8 services.SeedService.maxUniqueEngines : 20 diff --git a/MDC2020/gen_Digitize.sh b/MDC2020/gen_Digitize.sh deleted file mode 100755 index c8196ed7..00000000 --- a/MDC2020/gen_Digitize.sh +++ /dev/null @@ -1,10 +0,0 @@ -generate_fcl --dsconf="MDC2020$2" --dsowner=brownd --auto-description=Digi --include JobConfig/digitize/OnSpill.fcl \ ---inputs "$1$2.txt" --merge-factor=1 -for dirname in 000 001 002 003 004 005 006 007 008 009; do - if test -d $dirname; then - echo "found dir $dirname" - rm -rf "$1Digi_$dirname" - mv $dirname "$1Digi_$dirname" - fi -done - diff --git a/MDC2020/gen_Reco.sh b/MDC2020/gen_Reco.sh deleted file mode 100755 index 2b443762..00000000 --- a/MDC2020/gen_Reco.sh +++ /dev/null @@ -1,10 +0,0 @@ -generate_fcl --dsowner=brownd --override-outputs --auto-description=Reco --include JobConfig/reco/Reco.fcl --dsconf "MDC2020$2" \ ---inputs "$1$2.txt" --merge-factor=1 -for dirname in 000 001 002 003 004 005 006 007 008 009; do - if test -d $dirname; then - echo "found dir $dirname" - rm -rf $1Reco$2_$dirname - mv $dirname $1Reco$2_$dirname - fi -done - diff --git a/Scripts/CreatePBISequence.sh b/Scripts/CreatePBISequence.sh new file mode 100755 index 00000000..879c28f7 --- /dev/null +++ b/Scripts/CreatePBISequence.sh @@ -0,0 +1,34 @@ +#!/usr/bin/bash +# script to convert a PBI sequence in text format into art primaries +# you must have 'setup muse' in a valid directory to run this script +# +# $1 is the DocDB number from which the sequence is taken (currently 33344) +# $2 is the PBI sequence type (either Normal or Pathological) +# $3 is the maximum number of events/job +# $4 is the run number +# +infile=PBI_$2_$1.txt +nlines=`wc -l < $infile` +let nfiles=$nlines/$3 +outroot=PBI_$2_$1_ + +echo "spliiting file $infile into $nfiles files" +split --lines $3 --numeric-suffixes --additional-suffix .txt $infile $outroot +# +# Now generate the fcl scripts to turn these into art files with PBI objects +# +for pbifile in $outroot*.txt; do + fclfile=`echo ${pbifile} | sed s/txt/fcl/` + artfile=`echo ${pbifile} | sed s/txt/art/` + logfile=`echo ${pbifile} | sed s/txt/log/` + echo '#include "Production/JobConfig/mixing/CreatePBISequence.fcl"' >> $fclfile + echo source.fileNames : [ \"$pbifile\" ] >> $fclfile + echo source.runNumber : $4 >> $fclfile + echo outputs.Output.fileName : \"$artfile\" >> $fclfile +# now run the jobs + echo creating art file $artfile + mu2e -c $fclfile >& $logfile + printJson --no-parents $artfile > $artfile.json +done + + diff --git a/JobConfig/beam/CreateSimEfficiency.sh b/Scripts/CreateSimEfficiency.sh similarity index 100% rename from JobConfig/beam/CreateSimEfficiency.sh rename to Scripts/CreateSimEfficiency.sh diff --git a/Scripts/ListBeamProducts.sh b/Scripts/ListBeamProducts.sh new file mode 100755 index 00000000..61160930 --- /dev/null +++ b/Scripts/ListBeamProducts.sh @@ -0,0 +1,34 @@ +#!/usr/bin/bash +# +# This script dumps the output list to a text file for validation and verification +# It can either run on the output of an official production, or by running the tree of Production/JobConfig/beam jobs (with minimal statistics). +# Execute from a valid Mu2e muse workdir after 'muse setup' and 'dhtools setup' and 'vomsCert' +# Original author: Dave Brown (LBNL) +# +echo $1 +if [[ ${1} == "" ]]; then + echo "Dumping products from current Offline + Production" + # create a small number of POT + rm POT.log +# mu2e -c Production/JobConfig/beam/POT.fcl --nevts 2000 >& POT.log + # split the beam + rm BeamSplitter.log +# mu2e -c Production/JobConfig/beam/BeamSplitter.fcl sim.mu2e.Beam.owner.version.sequencer.art > BeamSplitter.log +# echo "sim.mu2e.EleBeamCat.owner.version.sequencer.art" >> EleBeam.txt +# echo "sim.mu2e.MuBeamCat.owner.version.sequencer.art" >> MuBeam.txt +# echo "sim.mu2e.Neutrals.owner.version.sequencer.art" >> Neutrals.txt +else + echo "Dumping products from Production version $1" + # locate the specified output + samweb list-file-locations --schema=root --defname="sim.mu2e.EleBeamCat.$1.art" | cut -f1 > EleBeam.txt + samweb list-file-locations --schema=root --defname="sim.mu2e.MuBeamCat.$1.art" | cut -f1 > MuBeam.txt + samweb list-file-locations --schema=root --defname="sim.mu2e.NeutralsCat.$1.art" | cut -f1 > Neutrals.txt +fi +# dump the contents of the first events of all the collections +rm MuBeamProducts$1.txt +rm EleBeamProducts$1.txt +rm NeutralsProducts$1.txt +mu2e -c Offline/Print/fcl/fileDumper.fcl --source-list MuBeam.txt --nevts 1 | grep -E 'POT|PROCESS|PRINCIPAL' > MuBeamProducts$1.txt +mu2e -c Offline/Print/fcl/fileDumper.fcl --source-list EleBeam.txt --nevts 1 | grep -E 'POT|PROCESS|PRINCIPAL' > EleBeamProducts$1.txt +mu2e -c Offline/Print/fcl/fileDumper.fcl --source-list Neutrals.txt --nevts 1 | grep -E 'POT|PROCESS|PRINCIPAL' > NeutralsProducts$1.txt + diff --git a/Scripts/ListPileupProducts.sh b/Scripts/ListPileupProducts.sh new file mode 100755 index 00000000..f1cfc574 --- /dev/null +++ b/Scripts/ListPileupProducts.sh @@ -0,0 +1,91 @@ +#!/usr/bin/bash +# +# This script dumps the output list to a text file for validation and verification +# It can either run on the output of an official production, or by running the tree of Production/JobConfig/beam jobs (with minimal statistics). +# Execute from a valid Mu2e muse workdir after 'muse setup' and 'dhtools setup' and 'vomsCert' +# Original author: Dave Brown (LBNL) +# +if [[ ${2} == "" ]]; then + echo "Getting beam products from Production version $1" + # locate the specified output + samweb list-file-locations --schema=root --defname="sim.mu2e.EleBeamCat.$1.art" | cut -f1 > EleBeam.txt + samweb list-file-locations --schema=root --defname="sim.mu2e.MuBeamCat.$1.art" | cut -f1 > MuBeam.txt + samweb list-file-locations --schema=root --defname="sim.mu2e.NeutralsCat.$1.art" | cut -f1 > Neutrals.txt + samweb list-file-locations --schema=root --defname="sim.mu2e.TargetStopsCat.$1.art" | cut -f1 > TargetStops.txt + # create scripts for running changed and neutral resampling off these outputs. These need the resampler inputs + rm mubeamresample.fcl + rm elebeamresample.fcl + rm neutresample.fcl + rm tgtresample.fcl + echo '#include "Production/JobConfig/pileup/MuBeamResampler.fcl"' >> mubeamresample.fcl + echo 'source.firstRun: 1202' >> mubeamresample.fcl + echo 'source.firstSubRun: 0' >> mubeamresample.fcl + echo 'source.maxEvents: 1000' >> mubeamresample.fcl + echo 'services.SeedService.baseSeed: 502016040' >> mubeamresample.fcl + echo 'physics.filters.beamResampler.mu2e.MaxEventsToSkip: 0' >> mubeamresample.fcl + echo 'physics.filters.TargetStopPrescaleFilter.nPrescale : 1' >> mubeamresample.fcl + echo 'physics.filters.EarlyPrescaleFilter.nPrescale : 100' >> mubeamresample.fcl + echo 'physics.filters.beamResampler.fileNames : [' >> mubeamresample.fcl + echo "\"`cat MuBeam.txt`\"" >> mubeamresample.fcl + echo ']' >> mubeamresample.fcl + + echo '#include "Production/JobConfig/pileup/EleBeamResampler.fcl"' >> elebeamresample.fcl + echo 'source.firstRun: 1202' >> elebeamresample.fcl + echo 'source.firstSubRun: 0' >> elebeamresample.fcl + echo 'source.maxEvents: 10000' >> elebeamresample.fcl + echo 'services.SeedService.baseSeed: 502016040' >> elebeamresample.fcl + echo 'physics.filters.beamResampler.mu2e.MaxEventsToSkip: 0' >> elebeamresample.fcl + echo 'physics.filters.EarlyPrescaleFilter.nPrescale : 100' >> elebeamresample.fcl + echo 'physics.filters.beamResampler.fileNames : [' >> elebeamresample.fcl + echo "\"`cat EleBeam.txt`\"" >> elebeamresample.fcl + echo ']' >> elebeamresample.fcl + + echo '#include "Production/JobConfig/pileup/NeutralsResampler.fcl"' >> neutresample.fcl + echo 'source.firstRun: 1202' >> neutresample.fcl + echo 'source.firstSubRun: 0' >> neutresample.fcl + echo 'source.maxEvents: 10000' >> neutresample.fcl + echo 'services.SeedService.baseSeed: 502016040' >> neutresample.fcl + echo 'physics.filters.neutralsResampler.mu2e.MaxEventsToSkip: 0' >> neutresample.fcl + echo 'physics.filters.TargetStopPrescaleFilter.nPrescale : 1' >> neutresample.fcl + echo 'physics.filters.EarlyPrescaleFilter.nPrescale : 1' >> neutresample.fcl + echo 'physics.filters.neutralsResampler.fileNames : [' >> neutresample.fcl + echo "\"`cat Neutrals.txt`\"" >> neutresample.fcl + echo ']' >> neutresample.fcl + + echo '#include "Production/JobConfig/pileup/MuStopPileup.fcl"' >> tgtresample.fcl + echo 'source.firstRun: 1202' >> tgtresample.fcl + echo 'source.firstSubRun: 0' >> tgtresample.fcl + echo 'source.maxEvents: 10000' >> tgtresample.fcl + echo 'services.SeedService.baseSeed: 502016040' >> tgtresample.fcl + echo 'physics.filters.TargetStopResampler.mu2e.MaxEventsToSkip: 0' >> tgtresample.fcl + echo 'physics.filters.TargetStopResampler.fileNames : [' >> tgtresample.fcl + echo "\"`cat TargetStops.txt`\"" >> tgtresample.fcl + echo ']' >> tgtresample.fcl + + # run a small number of these jobs: TODO + return 0 + +else + echo "Dumping products from Production version $1" + # locate the specified output + samweb list-file-locations --schema=root --defname="sim.mu2e.TargetStopsCat.$1.art" | cut -f1 > TargetStops.txt + samweb list-file-locations --schema=root --defname="sim.mu2e.IPAStopsCat.$1.art" | cut -f1 > IPAStops.txt + samweb list-file-locations --schema=root --defname="dts.mu2e.MuBeamFlashCat.$1.art" | cut -f1 > MuBeamFlash.txt + samweb list-file-locations --schema=root --defname="dts.mu2e.EleBeamFlashCat.$1.art" | cut -f1 > EleBeamFlash.txt + samweb list-file-locations --schema=root --defname="dts.mu2e.NeutralsFlashCat.$1.art" | cut -f1 > NeutralsFlash.txt + samweb list-file-locations --schema=root --defname="dts.mu2e.MuStopPileupCat.$1.art" | cut -f1 > MuStopPileup.txt +fi +# dump the contents of the first events of all the collections +rm TargetStopsProducts$1.txt +rm IPAStopsProducts$1.txt +rm MuBeamFlashProducts$1.txt +rm EleBeamFlashProducts$1.txt +rm NeutralsFlashProducts$1.txt + +mu2e -c Offline/Print/fcl/fileDumper.fcl --source-list TargetStops.txt --nevts 1 | grep -E 'MuBeamResampler|PROCESS|PRINCIPAL' > TargetStopsProducts$1.txt +mu2e -c Offline/Print/fcl/fileDumper.fcl --source-list IPAStops.txt --nevts 1 | grep -E 'MuBeamResampler|PROCESS|PRINCIPAL' > IPAStopsProducts$1.txt +mu2e -c Offline/Print/fcl/fileDumper.fcl --source-list MuBeamFlash.txt --nevts 1 | grep -E 'MuBeamResampler|PROCESS|PRINCIPAL' > MuBeamFlashProducts$1.txt +mu2e -c Offline/Print/fcl/fileDumper.fcl --source-list EleBeamFlash.txt --nevts 1 | grep -E 'EleBeamResampler|PROCESS|PRINCIPAL' > EleBeamFlashProducts$1.txt +mu2e -c Offline/Print/fcl/fileDumper.fcl --source-list NeutralsFlash.txt --nevts 1 | grep -E 'NeutralsResampler|PROCESS|PRINCIPAL' > NeutralsFlashProducts$1.txt +mu2e -c Offline/Print/fcl/fileDumper.fcl --source-list MuStopPileup.txt --nevts 1 | grep -E 'MuStopResampler|PROCESS|PRINCIPAL' > MuStopPileupProducts$1.txt + diff --git a/MDC2020/MDC2020i_SimEff.txt b/Scripts/MDC2020i_SimEff.txt similarity index 100% rename from MDC2020/MDC2020i_SimEff.txt rename to Scripts/MDC2020i_SimEff.txt diff --git a/MDC2020/POMS/catAndShuf.sh b/Scripts/POMS/catAndShuf.sh similarity index 100% rename from MDC2020/POMS/catAndShuf.sh rename to Scripts/POMS/catAndShuf.sh diff --git a/MDC2020/POMS/fileNamesGenerator.sh b/Scripts/POMS/fileNamesGenerator.sh similarity index 100% rename from MDC2020/POMS/fileNamesGenerator.sh rename to Scripts/POMS/fileNamesGenerator.sh diff --git a/MDC2020/POMS/getFilename.sh b/Scripts/POMS/getFilename.sh similarity index 100% rename from MDC2020/POMS/getFilename.sh rename to Scripts/POMS/getFilename.sh diff --git a/MDC2020/POMS/loggedMu2e.sh b/Scripts/POMS/loggedMu2e.sh similarity index 100% rename from MDC2020/POMS/loggedMu2e.sh rename to Scripts/POMS/loggedMu2e.sh diff --git a/MDC2020/POMS/printJsonSave.sh b/Scripts/POMS/printJsonSave.sh similarity index 100% rename from MDC2020/POMS/printJsonSave.sh rename to Scripts/POMS/printJsonSave.sh diff --git a/MDC2020/POMS/samCountEvents.sh b/Scripts/POMS/samCountEvents.sh similarity index 100% rename from MDC2020/POMS/samCountEvents.sh rename to Scripts/POMS/samCountEvents.sh diff --git a/MDC2020/POMS/samCountFiles.sh b/Scripts/POMS/samCountFiles.sh similarity index 100% rename from MDC2020/POMS/samCountFiles.sh rename to Scripts/POMS/samCountFiles.sh diff --git a/MDC2020/POMS/samListLocations.sh b/Scripts/POMS/samListLocations.sh similarity index 100% rename from MDC2020/POMS/samListLocations.sh rename to Scripts/POMS/samListLocations.sh diff --git a/MDC2020/gen_BeamSplitter.sh b/Scripts/gen_BeamSplitter.sh similarity index 100% rename from MDC2020/gen_BeamSplitter.sh rename to Scripts/gen_BeamSplitter.sh diff --git a/MDC2020/gen_CeEndpoint.sh b/Scripts/gen_CeEndpoint.sh similarity index 100% rename from MDC2020/gen_CeEndpoint.sh rename to Scripts/gen_CeEndpoint.sh diff --git a/MDC2020/gen_CosmicNoField.sh b/Scripts/gen_CosmicNoField.sh similarity index 100% rename from MDC2020/gen_CosmicNoField.sh rename to Scripts/gen_CosmicNoField.sh diff --git a/MDC2020/gen_CosmicsOffSpill.sh b/Scripts/gen_CosmicsOffSpill.sh similarity index 100% rename from MDC2020/gen_CosmicsOffSpill.sh rename to Scripts/gen_CosmicsOffSpill.sh diff --git a/MDC2020/gen_EleBeamResampler.sh b/Scripts/gen_EleBeamResampler.sh similarity index 100% rename from MDC2020/gen_EleBeamResampler.sh rename to Scripts/gen_EleBeamResampler.sh diff --git a/MDC2020/gen_FlateMinus.sh b/Scripts/gen_FlateMinus.sh old mode 100644 new mode 100755 similarity index 100% rename from MDC2020/gen_FlateMinus.sh rename to Scripts/gen_FlateMinus.sh diff --git a/MDC2020/gen_FlatePlus.sh b/Scripts/gen_FlatePlus.sh old mode 100644 new mode 100755 similarity index 100% rename from MDC2020/gen_FlatePlus.sh rename to Scripts/gen_FlatePlus.sh diff --git a/MDC2020/gen_Mix.sh b/Scripts/gen_Mix.sh similarity index 96% rename from MDC2020/gen_Mix.sh rename to Scripts/gen_Mix.sh index 3ba8f271..d15b9258 100755 --- a/MDC2020/gen_Mix.sh +++ b/Scripts/gen_Mix.sh @@ -20,11 +20,11 @@ is necessary to provide, in order: - the dataset description [datasetDescription], - the campaign version of the input file [campaignInput], - the campaign version of the output file [campaignOutput], -- the number of events per job [nEventsPerJob], -- the number of jobs [nJobs]. +- the number of events per job [nEventsPerJob] (needed only for NoPrimary), +- the number of jobs [nJobs] (needed only for NoPrimary). Example: - gen_Mix.sh CeEndpoint MDC2020 k m 1000 100 + gen_Mix.sh CeEndpoint MDC2020 k m This will produce the fcl files for a mixing stage of 100 jobs with 1000 events per job, using the CeEndpoint primary and the MDC2020k samples as input. The output diff --git a/MDC2020/gen_MuBeamResampler.sh b/Scripts/gen_MuBeamResampler.sh similarity index 82% rename from MDC2020/gen_MuBeamResampler.sh rename to Scripts/gen_MuBeamResampler.sh index 6605446c..bef6ae6f 100755 --- a/MDC2020/gen_MuBeamResampler.sh +++ b/Scripts/gen_MuBeamResampler.sh @@ -1,6 +1,11 @@ #!/usr/bin/bash +# +# create a script for running the MuBeamResampler, either from an official dataset, or from a hand-supplied file +# + +if [[ !${1} == "" ]]; then # create the input list -dataset=sim.mu2e.MuBeamCat.MDC2020$1.art +dataset=sim.mu2e.MuBeamCat.$1.art samListLocations --defname="$dataset" > MuBeamCat.txt # calucate the max skip from the dataset nfiles=`samCountFiles.sh $dataset` diff --git a/MDC2020/gen_MuStopPileup.sh b/Scripts/gen_MuStopPileup.sh similarity index 100% rename from MDC2020/gen_MuStopPileup.sh rename to Scripts/gen_MuStopPileup.sh diff --git a/MDC2020/gen_MuonStops.sh b/Scripts/gen_MuonStops.sh similarity index 100% rename from MDC2020/gen_MuonStops.sh rename to Scripts/gen_MuonStops.sh diff --git a/MDC2020/gen_NeutralsResampler.sh b/Scripts/gen_NeutralsResampler.sh similarity index 100% rename from MDC2020/gen_NeutralsResampler.sh rename to Scripts/gen_NeutralsResampler.sh diff --git a/Scripts/gen_OffSpill.sh b/Scripts/gen_OffSpill.sh new file mode 100755 index 00000000..cee35656 --- /dev/null +++ b/Scripts/gen_OffSpill.sh @@ -0,0 +1,24 @@ +#!/usr/bin/bash +# +# this script requires mu2etools, mu2efiletools and dhtools be setup +# It also requires the SimEfficiencies for the beam campaign be entered in the database +# $1 is the name of the primary (ie CeEndpoint, etc). +# $2 is the dataset description +# $3 is the campaign version of the input (primary) file +# $4 is the campaign version of the output (digi) file. +# $5 is the number of input collections to merge (merge factor) +rm template.fcl +samweb list-file-locations --schema=root --defname="dts.mu2e.$1.$2$3.art" | cut -f1 > $1$3.txt +echo '#include "Production/JobConfig/digitize/OffSpill.fcl"' >> template.fcl +echo outputs.TriggeredOutput.fileName: \"dig.owner.${1}OffSpillTriggered.version.sequencer.art\" >> template.fcl +echo outputs.UntriggeredOutput.fileName: \"dig.owner.${1}OffSpillUntriggered.version.sequencer.art\" >> template.fcl +generate_fcl --dsconf="$2$4" --dsowner=mu2e --description="$1OffSpill" --embed template.fcl \ + --inputs="$1$3.txt" --merge-factor=$5 +for dirname in 000 001 002 003 004 005 006 007 008 009; do + if test -d $dirname; then + echo "found dir $dirname" + rm -rf "$1OffSpill_$dirname" + mv $dirname "$1OffSpill_$dirname" + fi +done + diff --git a/Scripts/gen_OnSpill.sh b/Scripts/gen_OnSpill.sh new file mode 100755 index 00000000..dbba6e5b --- /dev/null +++ b/Scripts/gen_OnSpill.sh @@ -0,0 +1,24 @@ +#!/usr/bin/bash +# +# this script requires mu2etools, mu2efiletools and dhtools be setup +# It also requires the SimEfficiencies for the beam campaign be entered in the database +# $1 is the name of the primary (ie CeEndpoint, etc). +# $2 is the dataset description +# $3 is the campaign version of the input (primary) file +# $4 is the campaign version of the output (digi) file. +# $5 is the number of input collections to merge (merge factor) +rm template.fcl +samweb list-file-locations --schema=root --defname="dts.mu2e.$1.$2$3.art" | cut -f1 > $1$3.txt +echo '#include "Production/JobConfig/digitize/OnSpill.fcl"' >> template.fcl +echo outputs.TriggeredOutput.fileName: \"dig.owner.${1}OnSpillTriggered.version.sequencer.art\" >> template.fcl +echo outputs.UntriggeredOutput.fileName: \"dig.owner.${1}OnSpillUntriggered.version.sequencer.art\" >> template.fcl +generate_fcl --dsconf="$2$4" --dsowner=mu2e --description="$1OnSpill" --embed template.fcl \ + --inputs="$1$3.txt" --merge-factor=$5 +for dirname in 000 001 002 003 004 005 006 007 008 009; do + if test -d $dirname; then + echo "found dir $dirname" + rm -rf "$1OnSpill_$dirname" + mv $dirname "$1OnSpill_$dirname" + fi +done + diff --git a/MDC2020/gen_POT.sh b/Scripts/gen_POT.sh similarity index 100% rename from MDC2020/gen_POT.sh rename to Scripts/gen_POT.sh diff --git a/Scripts/gen_Reco.sh b/Scripts/gen_Reco.sh new file mode 100755 index 00000000..0ac15c7a --- /dev/null +++ b/Scripts/gen_Reco.sh @@ -0,0 +1,40 @@ +# this script requires mu2etools and dhtools be setup +# $1 is the name of the digi (ie CeEndpointMixTriggered, etc) file. +# $2 is the dataset description (ie MDC2020). +# $3 is the campaign version of the input (digi) file. +# $4 is the campaign version of the output (reco) file. +# $5 is the number of input collections to merge (merge factor) +if [[ $# -eq 0 ]] ; then + usage='Usage: +gen_Reco.sh [primaryName] [datasetDescription] [digiInput] \ + [recoOutput] [mergeFactor] + +This script will produce the fcl files needed for a mixing stage. It +is necessary to provide, in order: +- the name of the primary [primaryName] +- the dataset description [datasetDescription], +- the campaign version of the input digi file [digiInput], +- the campaign version of the output reco file [recoOutput], +- the number of input collections to merge into 1 output [mergeFactor] + +Example: + gen_Reco.sh CeEndpointMixTriggered MDC2020 k m 10 + +This will produce the fcl files for a reco stage +on CeEndpointMixTriggered digis, merging 10 inputs per output. The output +files will have the MDC2020m description.' + echo "$usage" + exit 0 +fi +samweb list-file-locations --schema=root --defname="dig.mu2e.$1.$2$3.art" | cut -f1 > Digis.txt + +generate_fcl --dsowner=brownd --override-outputs --auto-description=Reco --include JobConfig/reco/Reco.fcl --dsconf "$2$4" \ +--inputs "Digis.txt" --merge-factor=$5 +for dirname in 000 001 002 003 004 005 006 007 008 009; do + if test -d $dirname; then + echo "found dir $dirname" + rm -rf $1Reco$4_$dirname + mv $dirname $1Reco$4_$dirname + fi +done + diff --git a/Tests/CeEndpointSteps.fcl b/Tests/CeEndpointSteps.fcl index b5759551..b8a5fe27 100644 --- a/Tests/CeEndpointSteps.fcl +++ b/Tests/CeEndpointSteps.fcl @@ -1,7 +1,7 @@ #include "Production/JobConfig/primary/CeEndpoint.fcl" source.firstRun: 501 physics.filters.TargetStopResampler.fileNames : [ - "/cvmfs/mu2e.opensciencegrid.org/DataFiles/Validation/sim.brownd.MuminusStops.MDC2020d.001202_00000000.art" -] +"/pnfs/mu2e/tape/phy-sim/sim/mu2e/MuminusStopsCat/MDC2020k/art/39/6a/sim.mu2e.MuminusStopsCat.MDC2020k.001201_00000000.art"] physics.filters.TargetStopResampler.mu2e.MaxEventsToSkip: 0 outputs.Output.fileName : "dts.tester.CeEndpoint.Test.1.art" + diff --git a/Tests/CePlusEndpointSteps.fcl b/Tests/CePlusEndpointSteps.fcl new file mode 100644 index 00000000..ccb18c79 --- /dev/null +++ b/Tests/CePlusEndpointSteps.fcl @@ -0,0 +1,7 @@ +#include "Production/JobConfig/primary/CePlusEndpoint.fcl" +source.firstRun: 501 +physics.filters.TargetStopResampler.fileNames : [ + "/pnfs/mu2e/tape/phy-sim/sim/mu2e/MuminusStopsCat/MDC2020k/art/39/6a/sim.mu2e.MuminusStopsCat.MDC2020k.001201_00000000.art" +] +physics.filters.TargetStopResampler.mu2e.MaxEventsToSkip: 0 +outputs.Output.fileName : "dts.tester.CePlusEndpoint.Test.1.art" diff --git a/Validation/ceMixDigi.fcl b/Validation/ceMixDigi.fcl deleted file mode 100644 index 0483c5ef..00000000 --- a/Validation/ceMixDigi.fcl +++ /dev/null @@ -1,77 +0,0 @@ -# Example mixing file for validation, producing 150 events in MDC2018 format. created by JobConfig/examples/generate_CeEndpointMix.sh - - -#include "Production/JobConfig/mixing/CeEndpointMix.fcl" - -source.firstRun: 1002 -source.firstSubRun: 0 -source.maxEvents: 10 -services.SeedService.policy: autoIncrement -services.SeedService.maxUniqueEngines: 50 -services.SeedService.baseSeed: 538287721 -physics.filters.ootMixerCRV.fileNames : [ -"/pnfs/mu2e/tape/phy-sim/sim/mu2e/oot-CRV-cat-cat/MDC2018a/art/ac/fb/sim.mu2e.oot-CRV-cat-cat.MDC2018a.001002_00000660.art", -"/pnfs/mu2e/tape/phy-sim/sim/mu2e/oot-CRV-cat-cat/MDC2018a/art/81/50/sim.mu2e.oot-CRV-cat-cat.MDC2018a.001002_00000060.art", -"/pnfs/mu2e/tape/phy-sim/sim/mu2e/oot-CRV-cat-cat/MDC2018a/art/75/24/sim.mu2e.oot-CRV-cat-cat.MDC2018a.001002_00000270.art" -] -physics.filters.neutronMixerCRV.fileNames : [ -"/pnfs/mu2e/tape/phy-sim/sim/mu2e/neutron-CRV-cat/MDC2018a/art/43/d8/sim.mu2e.neutron-CRV-cat.MDC2018a.001002_00013260.art" -] -physics.filters.dioMixerCRV.fileNames : [ -"/pnfs/mu2e/tape/phy-sim/sim/mu2e/dio-CRV-cat/MDC2018a/art/48/a9/sim.mu2e.dio-CRV-cat.MDC2018a.001002_00019320.art" -] -physics.filters.photonMixerCRV.fileNames : [ -"/pnfs/mu2e/tape/phy-sim/sim/mu2e/photon-CRV-cat/MDC2018a/art/43/88/sim.mu2e.photon-CRV-cat.MDC2018a.001002_00000342.art" -] -physics.filters.PSMixerCRV.fileNames : [ -"/pnfs/mu2e/tape/phy-sim/sim/mu2e/PS-CRV-cut-cat/MDC2018a/art/e0/89/sim.mu2e.PS-CRV-cut-cat.MDC2018a.001002_00000005.art", -"/pnfs/mu2e/tape/phy-sim/sim/mu2e/PS-CRV-cut-cat/MDC2018a/art/64/02/sim.mu2e.PS-CRV-cut-cat.MDC2018a.001002_00000010.art", -"/pnfs/mu2e/tape/phy-sim/sim/mu2e/PS-CRV-cut-cat/MDC2018a/art/08/42/sim.mu2e.PS-CRV-cut-cat.MDC2018a.001002_00000015.art", -"/pnfs/mu2e/tape/phy-sim/sim/mu2e/PS-CRV-cut-cat/MDC2018a/art/2b/8a/sim.mu2e.PS-CRV-cut-cat.MDC2018a.001002_00000000.art", -"/pnfs/mu2e/tape/phy-sim/sim/mu2e/PS-CRV-cut-cat/MDC2018a/art/3e/99/sim.mu2e.PS-CRV-cut-cat.MDC2018a.001002_00000020.art" -] -physics.filters.TSMixerCRV.fileNames : [ -"/pnfs/mu2e/tape/phy-sim/sim/mu2e/TS-CRV-cat-cat/MDC2018a/art/95/f1/sim.mu2e.TS-CRV-cat-cat.MDC2018a.001002_00000005.art", -"/pnfs/mu2e/tape/phy-sim/sim/mu2e/TS-CRV-cat-cat/MDC2018a/art/bd/83/sim.mu2e.TS-CRV-cat-cat.MDC2018a.001002_00000000.art", -"/pnfs/mu2e/tape/phy-sim/sim/mu2e/TS-CRV-cat-cat/MDC2018a/art/b1/55/sim.mu2e.TS-CRV-cat-cat.MDC2018a.001002_00000015.art", -"/pnfs/mu2e/tape/phy-sim/sim/mu2e/TS-CRV-cat-cat/MDC2018a/art/02/db/sim.mu2e.TS-CRV-cat-cat.MDC2018a.001002_00000010.art", -"/pnfs/mu2e/tape/phy-sim/sim/mu2e/TS-CRV-cat-cat/MDC2018a/art/4b/6d/sim.mu2e.TS-CRV-cat-cat.MDC2018a.001002_00000020.art" -] -physics.filters.DSMixerCRV.fileNames : [ -"/pnfs/mu2e/tape/phy-sim/sim/mu2e/DS-CRV-cut-cat/MDC2018a/art/40/7d/sim.mu2e.DS-CRV-cut-cat.MDC2018a.001002_00000010.art", -"/pnfs/mu2e/tape/phy-sim/sim/mu2e/DS-CRV-cut-cat/MDC2018a/art/56/3e/sim.mu2e.DS-CRV-cut-cat.MDC2018a.001002_00000005.art", -"/pnfs/mu2e/tape/phy-sim/sim/mu2e/DS-CRV-cut-cat/MDC2018a/art/3c/c3/sim.mu2e.DS-CRV-cut-cat.MDC2018a.001002_00000015.art", -"/pnfs/mu2e/tape/phy-sim/sim/mu2e/DS-CRV-cut-cat/MDC2018a/art/97/c7/sim.mu2e.DS-CRV-cut-cat.MDC2018a.001002_00000000.art", -"/pnfs/mu2e/tape/phy-sim/sim/mu2e/DS-CRV-cut-cat/MDC2018a/art/37/74/sim.mu2e.DS-CRV-cut-cat.MDC2018a.001002_00000020.art" -] -physics.filters.ootMixerTrkCal.fileNames : [ -"/pnfs/mu2e/tape/phy-sim/sim/mu2e/oot-TrkCal-cat-cat/MDC2018a/art/32/29/sim.mu2e.oot-TrkCal-cat-cat.MDC2018a.001002_00000440.art", -"/pnfs/mu2e/tape/phy-sim/sim/mu2e/oot-TrkCal-cat-cat/MDC2018a/art/2d/5b/sim.mu2e.oot-TrkCal-cat-cat.MDC2018a.001002_00000330.art", -"/pnfs/mu2e/tape/phy-sim/sim/mu2e/oot-TrkCal-cat-cat/MDC2018a/art/23/cc/sim.mu2e.oot-TrkCal-cat-cat.MDC2018a.001002_00000420.art" -] -physics.filters.neutronMixerTrkCal.fileNames : [ -"/pnfs/mu2e/tape/phy-sim/sim/mu2e/neutron-TrkCal-cat/MDC2018a/art/13/c9/sim.mu2e.neutron-TrkCal-cat.MDC2018a.001002_00022100.art" -] -physics.filters.dioMixerTrkCal.fileNames : [ -"/pnfs/mu2e/tape/phy-sim/sim/mu2e/dio-TrkCal-cat/MDC2018a/art/38/93/sim.mu2e.dio-TrkCal-cat.MDC2018a.001002_00012282.art" -] -physics.filters.photonMixerTrkCal.fileNames : [ -"/pnfs/mu2e/tape/phy-sim/sim/mu2e/photon-TrkCal-cat/MDC2018a/art/df/8d/sim.mu2e.photon-TrkCal-cat.MDC2018a.001002_00002376.art" -] -physics.filters.flashMixerTrkCal.fileNames : [ -"/pnfs/mu2e/tape/phy-sim/sim/mu2e/DS-flash-TrkCal-cut-cat/MDC2018a/art/5e/27/sim.mu2e.DS-flash-TrkCal-cut-cat.MDC2018a.001002_00044820.art", -"/pnfs/mu2e/tape/phy-sim/sim/mu2e/DS-flash-TrkCal-cut-cat/MDC2018a/art/2e/64/sim.mu2e.DS-flash-TrkCal-cut-cat.MDC2018a.001002_00012820.art" -] -physics.filters.protonMixerTrkCal.fileNames : [ -"/pnfs/mu2e/tape/phy-sim/sim/mu2e/proton-TrkCal/MDC2018a/art/10/eb/sim.mu2e.proton-TrkCal.MDC2018a.001002_00000140.art" -] -physics.filters.deuteronMixerTrkCal.fileNames : [ -"/pnfs/mu2e/tape/phy-sim/sim/mu2e/deuteron-TrkCal/MDC2018a/art/a6/b1/sim.mu2e.deuteron-TrkCal.MDC2018a.001002_00000048.art" -] -services.TFileService.fileName: "nts.owner.val-ceMixDigi.dsconf.seq.root" -outputs.Output.fileName : "dig.owner.val-ceMixDigi.dsconf.seq.art" -mu2emetadata.fcl.prologkeys: [ ] -mu2emetadata.fcl.inkeys: [ "physics.filters.ootMixerCRV.fileNames", "physics.filters.neutronMixerCRV.fileNames", "physics.filters.dioMixerCRV.fileNames", "physics.filters.photonMixerCRV.fileNames", "physics.filters.PSMixerCRV.fileNames", "physics.filters.TSMixerCRV.fileNames", "physics.filters.DSMixerCRV.fileNames", "physics.filters.ootMixerTrkCal.fileNames", "physics.filters.neutronMixerTrkCal.fileNames", "physics.filters.dioMixerTrkCal.fileNames", "physics.filters.photonMixerTrkCal.fileNames", "physics.filters.flashMixerTrkCal.fileNames", "physics.filters.protonMixerTrkCal.fileNames", "physics.filters.deuteronMixerTrkCal.fileNames" ] -mu2emetadata.fcl.outkeys: [ "services.TFileService.fileName", "outputs.Output.fileName" ] -# End code added by generate_fcl: -#---------------------------------------------------------------- diff --git a/Validation/ceSimReco.fcl b/Validation/ceSimReco.fcl index 2ed3e732..e68c8714 100644 --- a/Validation/ceSimReco.fcl +++ b/Validation/ceSimReco.fcl @@ -21,6 +21,7 @@ physics: { module_type : CeEndpoint inputSimParticles: TargetStopResampler stoppingTargetMaterial : "Al" + pdgId : 11 verbosity : 0 } @table::Common.producers