MC Job Options merge requestshttps://gitlab.cern.ch/atlas-physics/pmg/mcjoboptions/-/merge_requests2020-02-22T16:06:40+01:00https://gitlab.cern.ch/atlas-physics/pmg/mcjoboptions/-/merge_requests/257Fixing usage of whitelist in commit script2020-02-22T16:06:40+01:00Spyros ArgyropoulosFixing usage of whitelist in commit script## Description of bug
The commit script would `cd` into the directories that we wanted to add to a commit and list the files locally, which given the new rules would not pass the whitelist rules, since they would not have the `[0-9]{3...## Description of bug
The commit script would `cd` into the directories that we wanted to add to a commit and list the files locally, which given the new rules would not pass the whitelist rules, since they would not have the `[0-9]{3}xxx/[0-9]{6}` prefix.
## Changes introduced
* Commit script will not `cd` into the directories to be added to the commit, instead the contents in a given directory will be listed and passed to the `checkWhiteList` call with their full paths
* Changed the behaviour of the commit script to not add whole directories like `Sherpa_i` but instead list their contents and add the files in those directories according to the whitelist rules. Practically only `GENERATOR/*.py` files are allowed.
* Removed all directories from the whitelist
## Tests
Checked that
* [x] python files are recognised both in DSID directories and in `DSID/Sherpa_i` etc
* [x] `dat` files are recognised successfully when they are directly in the DSID directory (`DSID/sample.dat`) and they are blocked when residing in `DSID/GENERATOR/sample.dat` (in the example below `950xxx/950031/Sherpa_i/sample.dat` is skipped)
* [x] GRID files added as links also seem to be recognised correctly
This should solve the problem experienced in !256
![Screenshot_2020-02-22_at_14.17.43](/uploads/332c88c8048bfb1d25f061b0c23dc3e7/Screenshot_2020-02-22_at_14.17.43.png)
Closes #78 S1.2020Christian GutschowChristian Gutschowhttps://gitlab.cern.ch/atlas-physics/pmg/mcjoboptions/-/merge_requests/241Modification of whitelist to add MG dat files2020-02-14T02:14:33+01:00Spyros ArgyropoulosModification of whitelist to add MG dat files## Changes introduced
* Remove leading `common/` in added files so that `*.py` files in e.g. `common/MadGraphControl/` can be added without the need for skipping the pipeline
* `MadGraphControl/dat/*` in whitelist (these can be eit...## Changes introduced
* Remove leading `common/` in added files so that `*.py` files in e.g. `common/MadGraphControl/` can be added without the need for skipping the pipeline
* `MadGraphControl/dat/*` in whitelist (these can be either in the DSID directories or in `common`)
Closes #70S1.2020Frank SiegertChristian GutschowFrank Siegerthttps://gitlab.cern.ch/atlas-physics/pmg/mcjoboptions/-/merge_requests/215Fix in run_athena script to make it more flexible [skip modfiles]2020-01-29T12:19:54+01:00Spyros ArgyropoulosFix in run_athena script to make it more flexible [skip modfiles]If the jO contained `evgenConfig.minEvents=N` the extraction of the number of events would not work correctly (it was expecting a space between `N` and `=`).
This makes it more flexible (and also allows to remove potential commens after...If the jO contained `evgenConfig.minEvents=N` the extraction of the number of events would not work correctly (it was expecting a space between `N` and `=`).
This makes it more flexible (and also allows to remove potential commens after the actual number of events.
Needed for !214S1.2020Ewelina Maria LobodzinskaEwelina Maria Lobodzinskahttps://gitlab.cern.ch/atlas-physics/pmg/mcjoboptions/-/merge_requests/208Change git diff command in check_jo_constistency [skip modfiles]2020-01-22T12:57:04+01:00Spyros ArgyropoulosChange git diff command in check_jo_constistency [skip modfiles]Only check files that have been added, modified or renamed in `check_jo_consistency`.
Otherwise the `git-diff` would list also deleted files and then the script would fail because it would not be able to find them, as shown here: https:/...Only check files that have been added, modified or renamed in `check_jo_consistency`.
Otherwise the `git-diff` would list also deleted files and then the script would fail because it would not be able to find them, as shown here: https://gitlab.cern.ch/atlas-physics/pmg/mcjoboptions/-/jobs/6866450
![Screenshot_2020-01-22_at_08.06.17](/uploads/72f1f63b6b9f7a63d74767f627a6215c/Screenshot_2020-01-22_at_08.06.17.png)S1.2020Frank SiegertChristian GutschowFrank Siegerthttps://gitlab.cern.ch/atlas-physics/pmg/mcjoboptions/-/merge_requests/282Small fix in printout in check_jo_consistency2020-03-06T13:24:00+01:00Spyros ArgyropoulosSmall fix in printout in check_jo_consistency## Description of bug
Forgot to add format specifier in one of the prinout statements in `check_jo_consistency.py` and the printout was not very clear:
```
ERROR: file {file} contains includes pointing to MC15JobOptions
```
## Cha...## Description of bug
Forgot to add format specifier in one of the prinout statements in `check_jo_consistency.py` and the printout was not very clear:
```
ERROR: file {file} contains includes pointing to MC15JobOptions
```
## Changes introduced
Add format specifier in prinout statement
## Tests
## Issues resolved
Closes #S1.2020Frank SiegertChristian GutschowFrank Siegerthttps://gitlab.cern.ch/atlas-physics/pmg/mcjoboptions/-/merge_requests/269Update BlackList_caches.txt2020-02-26T18:06:48+01:00Spyros ArgyropoulosUpdate BlackList_caches.txtFixing releases in blacklist since
```
asetup 21.6.01,AthGeneration
AtlasSetup(FATAL): Fatal exception: !!!ERROR!!! Stable release path=/cvmfs/atlas.cern.ch/repo/sw/software/21.6/AthGeneration/21.6.01 not exist
```Fixing releases in blacklist since
```
asetup 21.6.01,AthGeneration
AtlasSetup(FATAL): Fatal exception: !!!ERROR!!! Stable release path=/cvmfs/atlas.cern.ch/repo/sw/software/21.6/AthGeneration/21.6.01 not exist
```S1.2020Frank SiegertEwelina Maria LobodzinskaChristian GutschowFrank Siegerthttps://gitlab.cern.ch/atlas-physics/pmg/mcjoboptions/-/merge_requests/234Bug fix: Check remote branches for DSID assignment2020-02-06T09:19:57+01:00Spyros ArgyropoulosBug fix: Check remote branches for DSID assignmentIn the DSID checking the script would only check local branches not remote ones. This MR fixes the bug.
# Test
Tested locally with the following branches:
```
LogParserStandalone
br_fix_jocheck
commit
dsid_sargyrop_sherpa/triph...In the DSID checking the script would only check local branches not remote ones. This MR fixes the bug.
# Test
Tested locally with the following branches:
```
LogParserStandalone
br_fix_jocheck
commit
dsid_sargyrop_sherpa/triphoton/mc.Sh_example.py
fix
* fixremote
logParser
master
message
```
Printing the `occupiedDSIDs` in `check_jo_consistency.py` gives:
```
python scripts/check_jo_consistency_main.py 100xxx/100000/mc.MGPy8_exa.py
===> Checking jobOption consistency...
Modified jO file: 100xxx/100000/mc.MGPy8_exa.py - jO file = mc.MGPy8_exa.py
OK: New jobOption file
OK: name format correct
OK: MGPy8_exa physicsShort less than 50 characters long
OK: 2 physicsShort parts found
OK: Loading generator list file from /Users/sargyrop/Desktop/mcjoboptions_2/scripts/../common/GeneratorList.txt
OK: No generator full name is found
Generators used: ['MG', 'Py8']
ERROR: DSID:100000, generator:MG => allowed DSID range 500000 - 599999
[500000, 500001, 500004, 500005, 500006, 500007, 500008, 500009, 500010, 500011, 500012, 500013, 500016, 500017, 500018, 500019, 500020, 500021, 500022, 500023, 500024, 500025, 500026, 500027, 500028, 500029, 500030, 500031, 500032, 500033, 500034, 500035, 500036, 500037, 500038, 500039, 500040, 500041, 500042, 500043, 500044, 500045, 500046, 500047, 500048, 500049, 500050, 500051, 500052, 500053, 500054, 500055, 500056, 500057, 500058, 500059, 500060, 500061, 500062, 500063, 500064, 500065, 500066, 500067, 500068, 500069, 500070, 500071, 500072, 500073, 500074, 500075, 500076, 500077, 500078, 500079, 500080, 500081, 500082, 500083, 500084, 500085, 500086, 500087, 500088, 500089, 500090, 500091, 500092, 500093, 500094, 500095, 500096, 500097, 500098, 500099, 500100, 500101, 500102, 500103, 500104, 500105, 500106, 500107, 500108, 500109, 500110, 500111, 500112, 500113, 500114, 500115, 500116, 500117, 500118, 500119, 500120, 500121, 500122, 500123, 500124, 500125, 500126, 500127, 500128, 500129, 500130, 500131, 500132, 500133, 500134, 500135, 500136, 500137, 500138, 500139, 500140, 500141, 500142, 500143, 500144, 500145, 500146, 500147, 500148, 500149, 500150, 500151, 500152, 500153, 500154, 500155, 500156, 500157, 500158, 500159, 500160, 500161, 500162, 500163, 500164, 500165, 500166, 500167, 500168, 500169, 500170, 500171, 500172, 500173, 500174, 500175, 500176, 500177, 500178, 500179, 500180, 500181, 500182, 500183, 500184, 500185, 500186, 500187, 500188, 500189, 500190, 500191, 500192, 500193, 500194]
ERROR: Move 100xxx/100000 -> 500xxx/500002
OK: file does not contain includes pointing to MC15JobOptions
===> Errors found - check output of individual checks above
```
Notice that e.g. 500004 and 500005 are in `dsid_ewelina_...` and not in the branches that I had locally. If I would use `/refs/heads` in the `git ls` command I would get instead
```
===> Checking jobOption consistency...
Modified jO file: 100xxx/100000/mc.MGPy8_exa.py - jO file = mc.MGPy8_exa.py
OK: New jobOption file
OK: name format correct
OK: MGPy8_exa physicsShort less than 50 characters long
OK: 2 physicsShort parts found
OK: Loading generator list file from /Users/sargyrop/Desktop/mcjoboptions_2/scripts/../common/GeneratorList.txt
OK: No generator full name is found
Generators used: ['MG', 'Py8']
ERROR: DSID:100000, generator:MG => allowed DSID range 500000 - 599999
[500000, 500001, 500013, 500016, 500017, 500018, 500019, 500020, 500021, 500022, 500023, 500024, 500025, 500026, 500027, 500028, 500029, 500030, 500031, 500032, 500033, 500034, 500035]
ERROR: Move 100xxx/100000 -> 500xxx/500002
OK: file does not contain includes pointing to MC15JobOptions
===> Errors found - check output of individual checks above
```S1.2020Frank SiegertFrank Siegerthttps://gitlab.cern.ch/atlas-physics/pmg/mcjoboptions/-/merge_requests/499Improvements for external LHE files2020-06-11T16:34:12+02:00Spyros ArgyropoulosImprovements for external LHE files## Changes introduced
* Skip `nevents` check for MG in `logParser` if external LHE files are used
* Automatically skip athena running in CI if external LHE files are used (technically the `log.generate.short` file will be deleted)
##...## Changes introduced
* Skip `nevents` check for MG in `logParser` if external LHE files are used
* Automatically skip athena running in CI if external LHE files are used (technically the `log.generate.short` file will be deleted)
## Tests
Based on ATLMCPROD-8589
#### Before changes
```
RuntimeError: nevents was not set in the MG5aMC jO
```
#### After changes
![Screenshot_2020-06-10_at_16.56.44](/uploads/472e3b10569846d37da585182077be34/Screenshot_2020-06-10_at_16.56.44.png)
Notice that the `log.generate.short` file has been deleted and is thus not listed in the list of files to be committed.
`logParser` gives
```
---------------------
Generate transform params:
---------------------
- ecmEnergy = 13000
WARNING: evgenConfig.nEventsPerJob is not defined in the jO. Will set to default=10000
- nEventsPerJob = 10000
- Requested output events = 5000
- transform = Gen_tf
- inputFilesPerJob = 0
- inputGeneratorFile = MGaMCPy8EG_A14_NNPDF_ggH_FxFx_012jNLO__500.events
...
---------------------
Summary:
---------------------
Errors : 0 , Warnings : 3 -> Some warnings encountered, check that these are ok before submitting production!
```
Notice the new printout `inputGeneratorFile` which is used to steer the other new features in this commit.
## Issues resolved
Closes #S1.2020Christian GutschowChristian Gutschowhttps://gitlab.cern.ch/atlas-physics/pmg/mcjoboptions/-/merge_requests/442Improve handling of links in commit script2020-06-03T09:54:09+02:00Spyros ArgyropoulosImprove handling of links in commit script## Changes introduced
For the commit script introduce the following changes
* allow name of link and name of linked file to be different
* allow the link to point to the same DSID directory
## Tests
Fixes #111
## Issues ...## Changes introduced
For the commit script introduce the following changes
* allow name of link and name of linked file to be different
* allow the link to point to the same DSID directory
## Tests
Fixes #111
## Issues resolved
Closes #111
/label ~"new feature"
@cgutscho the first can be considered a bug fix. For the second if you think it shouldn't be done I could do instead:
```
if [[ $oldLinkedFile =~ .*/[0-9]{6}/.* ]] ; then
# replace links
else
echo "ERROR: link pointing inside the same DSID directory"
exit
fi
```S1.2020Christian GutschowChristian Gutschowhttps://gitlab.cern.ch/atlas-physics/pmg/mcjoboptions/-/merge_requests/381Make -m obligatory in commit script2020-05-05T15:52:04+02:00Spyros ArgyropoulosMake -m obligatory in commit script## Changes introduced
* `-m` is made obligatory
## Tests
#### Commit without `-d`
![Screenshot_2020-04-26_at_14.31.30](/uploads/c7d8396778cd88a3712cd9062b4ae857/Screenshot_2020-04-26_at_14.31.30.png)
#### Commit without `-m...## Changes introduced
* `-m` is made obligatory
## Tests
#### Commit without `-d`
![Screenshot_2020-04-26_at_14.31.30](/uploads/c7d8396778cd88a3712cd9062b4ae857/Screenshot_2020-04-26_at_14.31.30.png)
#### Commit without `-m`
![Screenshot_2020-04-26_at_14.31.59](/uploads/43fd90386544ec54fe3ba5d0418038ef/Screenshot_2020-04-26_at_14.31.59.png)
#### Commit with wrong `skip` option
![Screenshot_2020-04-26_at_14.32.44](/uploads/b93028ebe7ffbd7c129b73c847bd646a/Screenshot_2020-04-26_at_14.32.44.png)
#### Commit with `./scripts/commit_new_dsid.sh -d=999999 -m="Dummy [skip modfiles],[skip size] [skip athena]"`
![Screenshot_2020-04-26_at_14.58.09](/uploads/276b5b29ff0179561070077860db901b/Screenshot_2020-04-26_at_14.58.09.png)
![Screenshot_2020-04-26_at_14.59.41](/uploads/d0a4f6e2ad5586d540d516bc772ef53f/Screenshot_2020-04-26_at_14.59.41.png)
## Issues resolved
Closes #100S1.2020Frank SiegertChristian GutschowFrank Siegerthttps://gitlab.cern.ch/atlas-physics/pmg/mcjoboptions/-/merge_requests/374Remove check on filter efficiency2020-04-23T15:02:15+02:00Spyros ArgyropoulosRemove check on filter efficiency## Changes introduced
* Filter efficiency check removed - only the numbers are displayed for info
## Tests
#### Before change
![Screenshot_2020-04-23_at_10.46.15](/uploads/da8586cddc5c160b7f733a69df8faf6d/Screenshot_2020-04-...## Changes introduced
* Filter efficiency check removed - only the numbers are displayed for info
## Tests
#### Before change
![Screenshot_2020-04-23_at_10.46.15](/uploads/da8586cddc5c160b7f733a69df8faf6d/Screenshot_2020-04-23_at_10.46.15.png)
#### After change
![Screenshot_2020-04-23_at_14.31.42](/uploads/abe81d6411c3c4451c5d2773b365f5ba/Screenshot_2020-04-23_at_14.31.42.png)
## Issues resolved
Closes #S1.2020Simone AmorosoChristian GutschowSimone Amorosohttps://gitlab.cern.ch/atlas-physics/pmg/mcjoboptions/-/merge_requests/368Allow generator directories to be added as links2020-04-20T14:30:39+02:00Spyros ArgyropoulosAllow generator directories to be added as links## Changes introduced
* generator directories like `Sherpa_i` are allowed to be added as links, e.g. as in `DSID/Sherpa_i`
## Tests
## Issues resolved
Closes ### Changes introduced
* generator directories like `Sherpa_i` are allowed to be added as links, e.g. as in `DSID/Sherpa_i`
## Tests
## Issues resolved
Closes #S1.2020Frank SiegertChristian GutschowFrank Siegerthttps://gitlab.cern.ch/atlas-physics/pmg/mcjoboptions/-/merge_requests/367Adjust symlinks when assigning DSIDs2020-04-20T11:52:59+02:00Spyros ArgyropoulosAdjust symlinks when assigning DSIDs## Changes introduced
* Introduce associative array `DSIDdictionary` that maps old DSIDs to new DSIDs (need to have bash v4 or higher for this to work - check added)
* Use `DSIDdictionary` to adjust links pointing to dummy DSIDs
## T...## Changes introduced
* Introduce associative array `DSIDdictionary` that maps old DSIDs to new DSIDs (need to have bash v4 or higher for this to work - check added)
* Use `DSIDdictionary` to adjust links pointing to dummy DSIDs
## Tests
I tested on 5 dummy DSIDs with the following structure:
![Screenshot_2020-04-20_at_11.34.06](/uploads/73fe028a93715a840244026368d2b0e8/Screenshot_2020-04-20_at_11.34.06.png)
The DSIDs get copied to:
![Screenshot_2020-04-20_at_11.34.40](/uploads/856fb432bc503588c2fde7b83fe358d1/Screenshot_2020-04-20_at_11.34.40.png)
The link structure is adjusted as follows:
![Screenshot_2020-04-20_at_11.35.45](/uploads/bb2740186f000d18d17c94695587e391/Screenshot_2020-04-20_at_11.35.45.png)
and the links work:
![Screenshot_2020-04-20_at_11.37.35](/uploads/d92c355e2f1fbcdf30cc9542494d3e2d/Screenshot_2020-04-20_at_11.37.35.png)
## Issues resolved
Closes #S1.2020Frank SiegertChristian GutschowFrank Siegerthttps://gitlab.cern.ch/atlas-physics/pmg/mcjoboptions/-/merge_requests/364Add protection for non-unix formatted files2020-04-17T13:57:23+02:00Spyros ArgyropoulosAdd protection for non-unix formatted files## Changes introduced
* if jO files are non unix formatted throw error
Will be done when using the commit script and in CI pipeline.
## Tests
I ran `unix2dos` on an existing jO and get this:
![Screenshot_2020-04-17_at_13.43.34](/...## Changes introduced
* if jO files are non unix formatted throw error
Will be done when using the commit script and in CI pipeline.
## Tests
I ran `unix2dos` on an existing jO and get this:
![Screenshot_2020-04-17_at_13.43.34](/uploads/565ae3c304536dd4ef9b581de7c3c6d7/Screenshot_2020-04-17_at_13.43.34.png)
## Issues resolved
Closes #97S1.2020Christian GutschowChristian Gutschowhttps://gitlab.cern.ch/atlas-physics/pmg/mcjoboptions/-/merge_requests/362Allow everything in the validation directories to be modified2020-04-15T10:19:12+02:00Spyros ArgyropoulosAllow everything in the validation directories to be modified**Please merge asap this blocks !361**
## Changes introduced
* Lines in `scripts/modifiable.txt` are treated as regex not fixed strings
* Everything in `9[5-9][0-9]xxx` can be modified
## Tests
Everything behaves as expected:
![S...**Please merge asap this blocks !361**
## Changes introduced
* Lines in `scripts/modifiable.txt` are treated as regex not fixed strings
* Everything in `9[5-9][0-9]xxx` can be modified
## Tests
Everything behaves as expected:
![Screenshot_2020-04-15_at_09.22.33](/uploads/f15efadb416b27ea7a92c0f978d5e892/Screenshot_2020-04-15_at_09.22.33.png)
## Issues resolved
Closes #S1.2020Christian GutschowChristian Gutschowhttps://gitlab.cern.ch/atlas-physics/pmg/mcjoboptions/-/merge_requests/357Change treatment of 421xxx directories2020-04-16T14:25:20+02:00Spyros ArgyropoulosChange treatment of 421xxx directories## Changes introduced
* Skip DSID range checking for every jO placed in `421xxx`
* Allow anything in `421xxx` to be modified
## Tests
see https://gitlab.cern.ch/atlas-physics/pmg/mcjoboptions/pipelines/1552416
## Issues r...## Changes introduced
* Skip DSID range checking for every jO placed in `421xxx`
* Allow anything in `421xxx` to be modified
## Tests
see https://gitlab.cern.ch/atlas-physics/pmg/mcjoboptions/pipelines/1552416
## Issues resolved
!354 S1.2020Ewelina Maria LobodzinskaChristian GutschowEwelina Maria Lobodzinskahttps://gitlab.cern.ch/atlas-physics/pmg/mcjoboptions/-/merge_requests/356Add check for MG events and restructuring2020-04-17T14:48:59+02:00Spyros ArgyropoulosAdd check for MG events and restructuring## Changes introduced
* Adding test for MadGraph that nEvents generated in MG should be > 1.1*nEventsPerJob - the former is extracted from `Py:MadGraphUtils INFO Setting nevents`
* Restructuring of the code to make the code cle...## Changes introduced
* Adding test for MadGraph that nEvents generated in MG should be > 1.1*nEventsPerJob - the former is extracted from `Py:MadGraphUtils INFO Setting nevents`
* Restructuring of the code to make the code clearer
## Tests
Using a `log.generate` that Avik provided in the MR !355
#### Output if nEvents is high enough
```
-------------------------
Generator specific tests: MadGraph(v.2.6.7p3.atlas5)+Pythia8(v.244p3)+EvtGen(v.1.7.0)
-------------------------
INFO: Pythia 8 checks: Passed
WARNING: No PDF base fragment was included, which is the recommended way to steer pdf and systematics (see https://twiki.cern.ch/twiki/bin/viewauth/AtlasProtected/MadGraph5aMCatNLOForAtlas#PDF_and_systematics_via_Base_fra)
INFO: MadGraph checks: Passed
...
---------------------
Summary:
---------------------
Errors : 0 , Warnings : 1 -> Some warnings encountered, check that these are ok before submitting production!
```
#### Output if nEvents is NOT high enough
I hacked the line in `log.generate` to read `Py:MadGraphUtils INFO Setting nevents = 10000.0.`
```
-------------------------
Generator specific tests: MadGraph(v.2.6.7p3.atlas5)+Pythia8(v.244p3)+EvtGen(v.1.7.0)
-------------------------
INFO: Pythia 8 checks: Passed
ERROR: Increase nevents to be generated in MG from 10000 to 11000
WARNING: No PDF base fragment was included, which is the recommended way to steer pdf and systematics (see https://twiki.cern.ch/twiki/bin/viewauth/AtlasProtected/MadGraph5aMCatNLOForAtlas#PDF_and_systematics_via_Base_fra)
...
---------------------
Summary:
---------------------
Errors : 1 , Warnings : 1 -> Errors encountered! Not ready for production!
```
## Issues resolved
Closes #S1.2020Simone AmorosoChristian GutschowSimone Amorosohttps://gitlab.cern.ch/atlas-physics/pmg/mcjoboptions/-/merge_requests/352Remove common directory from whitelist2020-04-09T12:57:40+02:00Spyros ArgyropoulosRemove common directory from whitelist## Changes introduced
Remove `common` directory from whitelist
## Tests
## Issues resolved
Closes ### Changes introduced
Remove `common` directory from whitelist
## Tests
## Issues resolved
Closes #S1.2020https://gitlab.cern.ch/atlas-physics/pmg/mcjoboptions/-/merge_requests/318Booking of DSIDs with commit script2020-04-17T19:56:01+02:00Spyros ArgyropoulosBooking of DSIDs with commit script## Changes introduced
* **Two new run stages for the commit script**:
* Dry-run (triggered by `--dryrun`) which will just **simulate** where each DSID will be placed and what will be added to git. It will not actually copy dummy...## Changes introduced
* **Two new run stages for the commit script**:
* Dry-run (triggered by `--dryrun`) which will just **simulate** where each DSID will be placed and what will be added to git. It will not actually copy dummy DSIDs to their final location, create any git branch or push anything to git
* No-git run (triggered by `-n` or `--nogit`) which will **copy dummy DSIDs to their final location** and simulate what will be added to git. It will not stage any commit or push anything to the remote. At the end it will print out which command to use in order to upload files to git (see below)
* **DSID booking logic**: only continuous blocks of DSIDs are used (see tests below)
* Possibility to define custom branch name by using `-b=branchName`
## Tests
#### Testing correct assignment (passes)
Currently we have the following free DSIDs for Pythia 8: `800025-800027` (3 DSIDs), `800030` (1 DSID), `800037-800040` (4 DSIDs), `800045-` (many DSIDs). In order to check if the script works correctly I try to submit 2, 3, 4, 5 new DSIDs:
* **2 new DSIDs**: should be assigned to `800025, 800026`:
![Screenshot_2020-03-26_at_10.54.30](/uploads/8a8ba4245e6fc2710cecc8715e8a65bc/Screenshot_2020-03-26_at_10.54.30.png)
* **4 new DSIDs**: should be assigned to `800037-800040`:
![Screenshot_2020-03-26_at_10.55.10](/uploads/684b51133c4b4869d1ca63806f256935/Screenshot_2020-03-26_at_10.55.10.png)
* **5 new DSIDs**: should be assigned to `800045-800049`:
![Screenshot_2020-03-26_at_10.55.52](/uploads/64bfc32e0bec3f58236abf3283606b8a/Screenshot_2020-03-26_at_10.55.52.png)
##### Illustration of printouts when DSIDs are assigned
![Screenshot_2020-03-26_at_10.56.37](/uploads/e5a6a95741f681a0872ca07985d39f33/Screenshot_2020-03-26_at_10.56.37.png)
## Issues resolved
Closes #94S1.2020Frank SiegertChristian GutschowFrank Siegerthttps://gitlab.cern.ch/atlas-physics/pmg/mcjoboptions/-/merge_requests/310Protection against dashes in jO file names2020-03-26T11:10:44+01:00Spyros ArgyropoulosProtection against dashes in jO file names## Changes introduced
* Throw error if there is a dash in the jO file name
## Tests
![Screenshot_2020-03-19_at_20.09.32](/uploads/80cafaff88b243a203da7ce082815176/Screenshot_2020-03-19_at_20.09.32.png)
## Issues resolved
...## Changes introduced
* Throw error if there is a dash in the jO file name
## Tests
![Screenshot_2020-03-19_at_20.09.32](/uploads/80cafaff88b243a203da7ce082815176/Screenshot_2020-03-19_at_20.09.32.png)
## Issues resolved
Closes #93S1.2020