genproductions
genproductions copied to clipboard
Separate cards and scripts repositories
Proposal: put cards into repository A put scripts into repository B
@kdlong suggested using git submodule so that we can keep the folder structure. Advantage: Can keep cards in genproduction subdirectory, so everything looks the same as it is now. Disadvantage: We have shower fragments and cards for different generators in different folders anyway, so we either have to use multiple submodules or change our directory structure to have all cards under a common root path.
Any downsides to this?
Step 1 would be to collect all cards in a central location in the repository.
I'd propose to just create a new genproduction/cards
directory, create subfolders in it for each of the generators and move the cards there. To make it maximally easy, I'd also move the python fragments folder into cards. A shell script that does this is here and the resulting folder structure would look like this:
.
├── bin
│ ├── FPMC
│ ├── GenValidation
│ ├── JHUGen
│ ├── MadGraph5_aMCatNLO
│ ├── MCFM
│ ├── Phantom
│ ├── Powheg
│ ├── Sherpa
│ ├── Starlight
│ └── utils
├── cards
│ ├── Alpgen
│ ├── BlackMax
│ ├── CalcHEP
│ ├── Charybdis
│ ├── CompHEP
│ ├── FPMC
│ ├── GenValidation
│ ├── JHUGen
│ ├── MadGraph4
│ ├── MadGraph5_aMCatNLO
│ ├── MCFM
│ ├── Phantom
│ ├── python
│ ├── QBH
│ └── Sherpa
└── test
└── calculateXSectionAndFilterEfficiency
Step 2 is to pack up the new cards
directory in a submodule.
Do we care about the commit history for the cards? If so, step 0 would be to run git filter-branch
to extract the relevant part of the history.
I would say yes we care about the card history
Do you have a branch where this is in progress already Andreas?
@kdlong Yes, my clone of genproductions is here: https://github.com/AndreasAlbert/genprod2, the cards repo is here: https://github.com/AndreasAlbert/genprodCards
The cards repository is contained in the first repo as a submodule under the cards
folder. The bin
and test
folders still work as before. python
is now a subdirectory of cards
(just have a look at the repos on github, I think it's quite self explanatory).
If you just do git clone [email protected]:AndreasAlbert/genprod2.git
, you get the scripts repository only.
If you do git clone --recurse-submodules [email protected]:AndreasAlbert/genprod2.git
, you automatically check out both repositories, which is the equivalent of our current setup (modulo separate histories for both repos + slightly changed folder structure)