Crombie Tools
Command Line Tools

Reference describing the tools available through the crombie command.

A number of scripts are available to the user through the crombie command line tool. They can be accessed by entering

crombie <subcommand>

The list of available subcommands are given below.

backupslides

From a workspace docs directory or presentation subdirectory, crombie backupslides searches the figs sub-directory for .pdf files. If the .pdf file is not included in any .tex files in the local directory (excluding backup_slides.tex), the .pdf image will be placed on a frame in backup_slides.tex to be included in a presentation.

If you add all to the end of the command, even images in other .tex files will be included in the backup slides.

clean Removes all files created by crombie compile. This can also take an optional arguments to only clean certain classes.
checkxs This checks the cross section configuration files, which are passed as arguments. It prints out disagreements with the centralized CrossSecDB and generates a suggested new configuration file.
compile Compiles all of the objects in the package. Can also take optional arguments to only compile named class (and dependencies). Will only recompile the objects if cleaned or the source files have been changed.
diff

Compares the flat n-tuples withing two different directories. Basic functionality is to compare the number of events in histograms and trees inside each identically basenamed file. Individual branches can also be compared. The output of crombie diff -h is shown for more information.

usage: crombie diff [-h] [--numproc NUM] [--treename TREENAME]
                    [--skip-branches [BRANCHES [BRANCHES ...]]] [--verbose]
                    [--check-branch] [--loose-match]
                    DIRECTORY DIRECTORY
Checks two directories to make sure they have the same number of files and
number of events in the tree and hist for each file
positional arguments:
  DIRECTORY             The names of the two directories to compare.
optional arguments:
  -h, --help            show this help message and exit
  --numproc NUM, -n NUM
                        Number of processes that FlatSkimmer will spawn.
  --treename TREENAME, -t TREENAME
                        The name of the trees to friend.
  --skip-branches [BRANCHES [BRANCHES ...]], -s [BRANCHES [BRANCHES ...]]
                        Set branches to skip comparison.
  --verbose, -v         Give a verbose checker to watch progress.
  --check-branch, -b    Checks if two branches have the same entries.
  --loose-match, -l     If true, matches when the file names do not match
                        perfectly. Instead, if one file matches the beginning
                        of another perfectly, a comparison is made.
      
findtree This checks if a .root file has a tree inside it, and if the tree has entries.
fit This looks inside a specified directory and does a fit to adjust processes and bins based on the data card inside. See the fit page for details.
generatedocs If you have doxygen installed, this command will automatically generate the documentation for Crombie Tools. There are two subcommands.
copy Will copy the documentation to a server through ssh. See the file itself for how to change server locations.
test Will generate the html only (default also makes a LaTeX manual).
localslim This tools allows for running the slimmer interactively in a shell. Like submitlxbatch, this sources a local CrombieSlimmingConfig.sh to set a number of environment variables. crombie terminalslim also comes with the same subcommands as crombie submitlxbatch, except for test.
maketree This automatically generates a tree from a configuration file. There is more information on these configuration files here.
presentation From inside a workspace's docs directory, this command creates a dated directory and copies a local presentation.tex into that directory. The copied file is named according to username, the workspace name, and the date.
removefailed In CRAB jobs, there are often partial N-tuples output in a failed directory in the output location. crombie removefailed checks the failed directory and deletes each file inside if there is a larger file located in the successfully completed files. If the failed directory is cleared in this way, the directory is removed.
submitlxbatch

crombie submitlxbatch sources a local CrombieSlimmingConfig.sh to set a number of variables that are used to submit slimming jobs to LXBATCH.

There are additional subcommands available to crombie submitlxbatch.

fresh Deletes the files in $CrombieTempDir and resubmits all possible jobs.
hadd Does not submit jobs, but goes directly to hadding what finished slimmed files are available.
resub Resubmits using the existing .txt files inside $CrombieTempDir. The usual behavior is to recreate these files from the input directories every time.
test Instead of submitting jobs, the submit commands are echoed to stdout. If all output files are available, the hadding step will still be attempted.
tags Prints the -I and -L tags for compiling with g++ using CrombieTools. crombie tags can then be placed directly in your Makefile.
update This updates the Crombie Tools package to match the upstream of your current branch.
workspace Copies a number of template files into the directory you call it from. These files are used to configure the Skimming tools. This is a workspace. For additional example files, give the optional argument crombie workspace test.