Skip to content

Mini framework to send simulation jobs to lxplus or a slurm batch system!

License

Notifications You must be signed in to change notification settings

cvazquezs/SimulationProduction

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simulation production

Mini framework to send LHCb simulation jobs on a batch system (LSF or Slurm)!

Installation

To install the module do

$ python setup.py install (--user).

You will be asked to enter some directories where you want to find your simulated samples.

Usage

To launch the module just type $ simprod.

You need to to know:

  • the EvtType of the process you want to generate (DecFiles webpage)

  • Year of data taking to simulate (Run I: 2011, 2012, Run II: 2015, 2016, 2017)

  • Number of events you want to produce.

Description of simulation setups can be found here. To start a new simulation job do:

$ j = SimulationJob( evttype=EVTTYPE, year=YEAR, nevents=NEVENTS)

$ j.prepare()

$ j.send()

You can also launch a job by doing:

$ simprod --evttype EVTTYPE --year YEAR --nevents NEVENTS

Options

Your have other options by default that you can change:

  • polarity: Magnet conditions to simulate [MagUp or MagDown, default: half MagUp, half MagDown].

  • neventsjob: Number of events per jobs [default: 50].

  • runnumber: Run number for simulation in Gauss.

  • simcond: Simulation condition [Sim09b, Sim09c, default: Sim09c].

  • stripping: Version of the stripping (default = '').

  • turbo: Run the Turbo step (output not test).

  • mudst: Produce a muDST output.

  • decfiles: Version of the DecFiles package (default = v30r5)

  • infiles: External files to provide for generation (for example LHE or HepMC files).

  • cpu: Number of CPU memory (in MB) per simulation job.

These argument are all available at instantiation of a SimulationJob but also as property, i.e:

$ j = SimulationJob( evttype=EVTTYPE, year=YEAR, nevents=NEVENTS, neventsjob=NEVENTSJOB)

is equivalent to

$ j = SimulationJob( evttype=EVTTYPE, year=YEAR, nevents=NEVENTS)

$ j.neventsjob = NEVENTSJOB

Slurm options

You have additionnal options for slurm batch system with default values designed for EPFL usage.

  • time: Maximum running time per simulation job in hours.

  • nsimjobs: Maximum number of simultaneous simulation jobs running.

  • nsimuserjobs: Maximum number of simultaneous simulation jobs running for the user.

  • nuserjobs: Maximum number of simultaneous jobs running for the user.

  • npendingjobs: Maximum number of pending jobs for the user.

  • nfreenodes: Number of nodes to be free of user's simulation jobs.

  • subtime: Time interval when the jobs are sent (e.g. 16 18 means from 4pm to 6pm).

Monitoring

Just after the lauching the program type jobs and you can see the status of submitted jobs:

Evttypes

For generation Gauss needs an option file callled EVTTYPE.py which is stored in a folder called Evttypes. In you need to modify your option file prior to submission you can type in the simprod prompt

$ getevttype(EVTTYPE),

and all option files related to this EVTTYPE should be downloaded into the Evttypes directory.

About

Mini framework to send simulation jobs to lxplus or a slurm batch system!

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 64.4%
  • Shell 35.6%