Search/Navigation:
Related:
SLAC/EPP/HPS Public
Jefferson Lab/Hall B/HPS Run Wiki
S30XL-LESA/LDMX
It is assumed in the instructions below that hps-distribution-bin.jar refers to a local copy of the HPS Java distribution from the target dir with an actual version.
For instance, after building HPS Java, the distribution jar for the copy of HPS Java I am using can be found here.
cd hps-java-trunk; ls distribution/target/hps-distribution-3.6-SNAPSHOT-bin.jar
Actual version numbers are left out for brevity.
This jar file contains all of the project's dependencies in a distribution that can be run standalone using the java command.
Assuming you have followed the instructions at Installing HPS Java, you can run the standalone jar file two ways.
Using the -jar switch from the command line will run the main from the class JobManager, which is listened in the manifest inside the jar.
java -jar ./distribution/target/hps-distribution-bin.jar [args]
Without any arguments it will print the command line options and then exit.
You can also run the main method from any class in the jar.
java -cp ./distribution/target/hps-distribution-bin.jar org.hps.evio.EvioToLcio [args]
Some XML steering files have variables that need to be resolved with command line arguments.
For instance, suppose the XML file has this variable definition.
<driver name="MyDriver" type="org.example.MyDriver"> <someNumber>${numVar}</someNumber> </driver>
The var would need to be resolved with a command like this.
java -cp ./distribution/target/hps-distribution-bin.jar org.hps.evio.EvioToLcio -DnumVar=1234 [...]
All variables defined in the XML files must be resolved from the command line or an error will occur.
The command line tools are affected by different environment settings which are set through Java system properties.
This is a table of the system properties that can affect HPS Java.
Name | Description | Values |
---|---|---|
java.util.logging.config.file | Java logging config file | defined in logging package doc |
java.util.logging.config.class | Java logging config class | defined in logging package doc |
hep.aida.IAnalysisFactory | AIDA backend factory class |
|
disableSvtAlignmentConstants | Disables reading of SVT alignment constants from conditions db | true |
org.hps.conditions.connection.file | Properties file with connection settings for conditions database | |
org.hps.conditions.connection.resource | Resource that points to properties file with connection settings for conditions database |
|
These values are set as system properties in Java itself.
java -DdisableSvtAlignmentConstants=true [...]
All instructions given here assume you're using the steering files included with the release. If you write your own, you can point hps-java to it by omitting the "-r" and using the file path of your .lcsim file:
java -jar hps-distribution.jar -i recon.slcio my_steering_files/MyAnalysis.lcsim -DoutputFile=analysis_plots
The standard steering files are in trunk/steering-files/src/main/resources/org/hps/steering/.
Every package in hps-java does have a default level which comes from:
trunk/logging/src/main/resources/org/hps/logging/config/logging.properties
provided you set the system property as I described or use one of the wrapper scripts from distribution.
Or you can override the default levels by providing your own custom config using
java -D -Djava.util.logging.config.file=mylogging.properties
There you can set the log level of all the packages in your custom config.
This is handled by: https://docs.oracle.com/javase/7/docs/api/java/util/logging/package-summary.html
The levels in descending order are:
SEVERE (highest value)
WARNING
INFO
CONFIG
FINE
FINER
FINEST (lowest value)
ALL (Give all messages)
OFF (Suppress all messages)