JustInTimeFcl: Difference between revisions
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
==Introduction== | ==Introduction== | ||
== | ==Examples== | ||
Below is an example of using JustInTimeFcl framework for the cosmic resampling stage. | Below is an example of using JustInTimeFcl framework for the cosmic resampling stage. | ||
Line 21: | Line 21: | ||
Prepare input file list - retrieve a list of files related to a given definition and append the first 10 filenames into CosmicDSStop.txt: | Prepare input file list - retrieve a list of files related to a given definition and append the first 10 filenames into CosmicDSStop.txt: | ||
samweb list-definition-files sim.mu2e.CosmicDSStopsCORSIKALow.MDC2020ab.art | head -n 10 > CosmicDSStop.txt | |||
samweb list-definition-files sim.mu2e.CosmicDSStopsCORSIKALow.MDC2020ab.art | head -n 10 > CosmicDSStop.txt | |||
Prepare the job definition file (tarball) | Prepare the job definition file (tarball) for resampling. | ||
mu2ejobdef --dsconf MDC2020ab --dsowner mu2e --run-number 1203 --desc CosmicCORSIKALow --embed template.fcl --events-per-job 500000 --auxinput=1:physics.filters.CosmicResampler.fileNames:CosmicDSStop.txt --setup /cvmfs/mu2e.opensciencegrid.org/Musings/SimJob/MDC2020aa/setup.sh | |||
mu2ejobdef --dsconf MDC2020ab --dsowner mu2e --run-number 1203 --desc CosmicCORSIKALow --embed template.fcl --events-per-job 500000 --auxinput=1:physics.filters.CosmicResampler.fileNames:CosmicDSStop.txt --setup /cvmfs/mu2e.opensciencegrid.org/Musings/SimJob/MDC2020aa/setup.sh | |||
Another example: | Another example for generation job without any input: | ||
echo '#include "Offline/CRVResponse/test/wideband/wideband4modules.fcl"' | echo '#include "Offline/CRVResponse/test/wideband/wideband4modules.fcl"' > template.fcl | ||
echo 'source.module_type: EmptyEvent' >> template.fcl | echo 'source.module_type: EmptyEvent' >> template.fcl | ||
mu2ejobdef --jobdesc=CosmicWidebandCRY --dsconf=MDC2020ae_best_v1_3 --dsowner=mu2e --run-number=103001 --events-per-job=10000 --embed template.fcl --setup /cvmfs/mu2e.opensciencegrid.org/Musings/SimJob/MDC2020ae/setup.sh --jobdesc=CosmicWidebandCRY --dsconf=MDC2020ae_best_v1_3 --dsowner=mu2e | mu2ejobdef --jobdesc=CosmicWidebandCRY --dsconf=MDC2020ae_best_v1_3 --dsowner=mu2e --run-number=103001 --events-per-job=10000 --embed template.fcl --setup /cvmfs/mu2e.opensciencegrid.org/Musings/SimJob/MDC2020ae/setup.sh --jobdesc=CosmicWidebandCRY --dsconf=MDC2020ae_best_v1_3 --dsowner=mu2e | ||
Inspect fcl file content | Inspect fcl file content based on index | ||
mu2ejobfcl --jobdef cnf.mu2e.CosmicCORSIKALow.MDC2020ab.0.tar --index 1 --default-proto root --default-loc tape | |||
mu2ejobfcl --jobdef cnf.mu2e.CosmicCORSIKALow.MDC2020ab.0.tar --index 1 --default-proto root --default-loc tape | |||
Based on output filename: | |||
mu2ejobfcl --jobdef /pnfs/mu2e/persistent/datasets/phy-etc/cnf/mu2e/CeMLeadingLogMix1BBTriggered/MDC2020am_best_v1_3/tar/ed/d3/cnf.mu2e.CeMLeadingLogMix1BBTriggered.MDC2020am_best_v1_3.0.tar --target mcs.mu2e.CeMLeadingLogMix1BBTriggered.MDC2020am_best_v1_3.001210_00000570.art --default-proto root --default-loc tape | |||
Submit your job - mu2ejobsub submits the job. It specifies the job definition file (--jobdef), the range of job indices to submit (--firstjob, --njobs), and default protocol to access input files and output location location | Submit your job - mu2ejobsub submits the job. It specifies the job definition file (--jobdef), the range of job indices to submit (--firstjob, --njobs), and default protocol to access input files and output location location | ||
mu2ejobsub --jobdef cnf.mu2e.CosmicCORSIKALow.MDC2020ab.0.tar --firstjob=0 --njobs=10 --default-protocol root --default-location tape | |||
mu2ejobsub --jobdef cnf.mu2e.CosmicCORSIKALow.MDC2020ab.0.tar --firstjob=0 --njobs=10 --default-protocol root --default-location tape | |||
Extract input files: | Extract input files: | ||
mu2ejobiodetail --jobdef cnf.mu2e.CosmicCORSIKALow.MDC2020ab.0.tar --index 1 --inputs | |||
mu2ejobiodetail --jobdef cnf.mu2e.CosmicCORSIKALow.MDC2020ab.0.tar --index 1 --inputs | |||
[[Category:Computing]] | [[Category:Computing]] | ||
[[Category:Workflows]] | [[Category:Workflows]] | ||
==Using a local undeclared input== | |||
As an example, generate par file using gen_Reco.sh | |||
gen_Reco.sh --primary CosmicCRYAll --campaign MDC2020 --dver ai --rver ai --dbpurpose perfect --dbversion v1_3 --merge 10 --digitype OffSpill --stream Triggered --digis /exp/mu2e/app/users/oksuzian/muse_080224/Production/DigisIn2.txt | |||
The file list is required to have basenames only | |||
cat /exp/mu2e/app/users/oksuzian/muse_080224/Production/DigisIn2.txt | |||
dig.oksuzian.CosmicCRYAllOffSpillTriggered.MDC2020ai_perfect_v1_3.001202_00000054.art | |||
When creating fcl you need to specify the directory for the input files: | |||
mu2ejobfcl --jobdef cnf.oksuzian.CosmicCRYAllOffSpillTriggered.MDC2020ai_perfect_v1_3.0.tar --index 0 --default-proto file --default-loc dir:/exp/mu2e/data/users/oksuzian/test3 | |||
#include "Production/JobConfig/reco/Reco.fcl" | |||
services.DbService.purpose: MDC2020_perfect | |||
services.DbService.version: v1_3 | |||
services.DbService.verbose : 2 | |||
#include "Production/JobConfig/reco/MakeSurfaceSteps.fcl" | |||
#---------------------------------------------------------------- | |||
# Code added by mu2ejobfcl: | |||
source.fileNames: [ | |||
"/exp/mu2e/data/users/oksuzian/test3/dig.oksuzian.CosmicCRYAllOffSpillTriggered.MDC2020ai_perfect_v1_3.001202_00000054.art" | |||
] | |||
outputs.Output.fileName: "mcs.oksuzian.CosmicCRYAllOffSpillTriggered.MDC2020ai_perfect_v1_3.001202_00000054.art" | |||
# End code added by mu2ejobfcl: | |||
#--------------------------------------------------------------- |
Latest revision as of 02:44, 18 December 2024
Introduction
Examples
Below is an example of using JustInTimeFcl framework for the cosmic resampling stage.
Setting Up Environment: SimJob, mu2etools and mu2egrid
source /cvmfs/mu2e.opensciencegrid.org/setupmu2e-art.sh muse setup SimJob MDC2020aa setup sam_web_client setup mu2egrid
Append the content below to the file called "template.fcl"
#include "Production/JobConfig/cosmic/S2Resampler.fcl" #include "Production/JobConfig/cosmic/S2ResamplerLow.fcl" outputs.PrimaryOutput.fileName: "dts.owner.CosmicCORSIKALow.version.sequencer.art"
Prepare input file list - retrieve a list of files related to a given definition and append the first 10 filenames into CosmicDSStop.txt:
samweb list-definition-files sim.mu2e.CosmicDSStopsCORSIKALow.MDC2020ab.art | head -n 10 > CosmicDSStop.txt
Prepare the job definition file (tarball) for resampling.
mu2ejobdef --dsconf MDC2020ab --dsowner mu2e --run-number 1203 --desc CosmicCORSIKALow --embed template.fcl --events-per-job 500000 --auxinput=1:physics.filters.CosmicResampler.fileNames:CosmicDSStop.txt --setup /cvmfs/mu2e.opensciencegrid.org/Musings/SimJob/MDC2020aa/setup.sh
Another example for generation job without any input:
echo '#include "Offline/CRVResponse/test/wideband/wideband4modules.fcl"' > template.fcl echo 'source.module_type: EmptyEvent' >> template.fcl mu2ejobdef --jobdesc=CosmicWidebandCRY --dsconf=MDC2020ae_best_v1_3 --dsowner=mu2e --run-number=103001 --events-per-job=10000 --embed template.fcl --setup /cvmfs/mu2e.opensciencegrid.org/Musings/SimJob/MDC2020ae/setup.sh --jobdesc=CosmicWidebandCRY --dsconf=MDC2020ae_best_v1_3 --dsowner=mu2e
Inspect fcl file content based on index
mu2ejobfcl --jobdef cnf.mu2e.CosmicCORSIKALow.MDC2020ab.0.tar --index 1 --default-proto root --default-loc tape
Based on output filename:
mu2ejobfcl --jobdef /pnfs/mu2e/persistent/datasets/phy-etc/cnf/mu2e/CeMLeadingLogMix1BBTriggered/MDC2020am_best_v1_3/tar/ed/d3/cnf.mu2e.CeMLeadingLogMix1BBTriggered.MDC2020am_best_v1_3.0.tar --target mcs.mu2e.CeMLeadingLogMix1BBTriggered.MDC2020am_best_v1_3.001210_00000570.art --default-proto root --default-loc tape
Submit your job - mu2ejobsub submits the job. It specifies the job definition file (--jobdef), the range of job indices to submit (--firstjob, --njobs), and default protocol to access input files and output location location
mu2ejobsub --jobdef cnf.mu2e.CosmicCORSIKALow.MDC2020ab.0.tar --firstjob=0 --njobs=10 --default-protocol root --default-location tape
Extract input files:
mu2ejobiodetail --jobdef cnf.mu2e.CosmicCORSIKALow.MDC2020ab.0.tar --index 1 --inputs
Using a local undeclared input
As an example, generate par file using gen_Reco.sh
gen_Reco.sh --primary CosmicCRYAll --campaign MDC2020 --dver ai --rver ai --dbpurpose perfect --dbversion v1_3 --merge 10 --digitype OffSpill --stream Triggered --digis /exp/mu2e/app/users/oksuzian/muse_080224/Production/DigisIn2.txt
The file list is required to have basenames only
cat /exp/mu2e/app/users/oksuzian/muse_080224/Production/DigisIn2.txt dig.oksuzian.CosmicCRYAllOffSpillTriggered.MDC2020ai_perfect_v1_3.001202_00000054.art
When creating fcl you need to specify the directory for the input files:
mu2ejobfcl --jobdef cnf.oksuzian.CosmicCRYAllOffSpillTriggered.MDC2020ai_perfect_v1_3.0.tar --index 0 --default-proto file --default-loc dir:/exp/mu2e/data/users/oksuzian/test3 #include "Production/JobConfig/reco/Reco.fcl" services.DbService.purpose: MDC2020_perfect services.DbService.version: v1_3 services.DbService.verbose : 2 #include "Production/JobConfig/reco/MakeSurfaceSteps.fcl" #---------------------------------------------------------------- # Code added by mu2ejobfcl: source.fileNames: [ "/exp/mu2e/data/users/oksuzian/test3/dig.oksuzian.CosmicCRYAllOffSpillTriggered.MDC2020ai_perfect_v1_3.001202_00000054.art" ] outputs.Output.fileName: "mcs.oksuzian.CosmicCRYAllOffSpillTriggered.MDC2020ai_perfect_v1_3.001202_00000054.art" # End code added by mu2ejobfcl: #---------------------------------------------------------------