Skip to content
Snippets Groups Projects
Commit a5efe52c authored by Jared Vasquez's avatar Jared Vasquez
Browse files
parents c1a42109 c0fc13f3
Branches
Tags 3.0.1 ussuri-em
No related merge requests found
Author: jared.vasquez@yale.edu
Please feel free to report any bugs, suggestions, missing features or praise to the author.
***
Getting Started
======================
For first time users, try our [**Getting Started**](https://gitlab.cern.ch/jvasquez/TRTFramework/wikis/GettingStarted) guide.
Create a Workspace
--------------------
```
cd ~/
mkdir -p trt_workspace/packages trt_workspace/run
````
Setup the current Analysis Release
-------------------------------------
For the first time, setup the release you're working with:
```
cd trt_workspace/packages
setupATLAS
rcSetup Base,2.3.32
```
To setup the same version again:
```
setupATLAS
rcSetup
```
Setup the code to compile with the release used above
---------------------------------------------------------
For the first time checkout a copy of the framework and compile.
```
git clone ssh://git@gitlab.cern.ch:7999/jvasquez/TRTFramework.git
rc find_packages; rc compile
```
Future updates can be pulled from the repository and compiled like so:
```
git pull origin master
rc find_packages; rc compile
```
(Optional) Create a new package and analysis script
---------------------------------------------------------
You may create a new package (e.g. TestPackage) or use an existing package to create your analysis script.
Using the make_skeleton script, an analysis skeleton will be created in the package of your choice.
```
rc make_skeleton TestPackage # (optional) make new package
$ROOTCOREBIN/user_scripts/TRTFramework/make_skeleton TestPackage MyAnalysis
```
This will create the files `TestPackage/Root/MyAnalysis.cxx`,
`TestPackage/TestPackage/MyAnalysis.h`, `TestPackage/data/MyAnalysis.cfg`,
and `TestPackage/util/runMyAnalysis.cxx`
You must find the new package (if you made one) and recompile
```
rc find_packages; rc compile
```
(Optional) Checkout an exiting package
---------------------------------------------------------
Instead of creating a new package, you may also checkout an existing one and recompile.
```
git clone ssh://git@gitlab.cern.ch:7999/jvasquez/PIDTools.git
rc find_packages; rc compile
```
Future updates can be pulled from the repository and compiled like so:
```
git pull origin master
rc find_packages; rc compile
```
Running your code
======================
It is recommended that your analysis code is always ran from the ``run/`` directroy.
```
cd ../run
```
Running the code is as simple as calling ``runMyAnalysis`` and then specifying a config file.
For example:
```
runMyAnalysis TRTFramework/TRT_Zee.cfg
```
There are many more options available however
```
runMyAnalysis [CONFIG-FILES] [root files] [KEY: VALUE]
[CONFIG-FILES] TEnv text files with settings used both by algortihm and job submission.
[root files] if argument is of the form *.root* these will be used as input
Some basic config KEYs, which follow the same format as the CONFIG-FILE, are:
InputFile: specifies an input ROOT file. Can be used multiple times
InputFileList: specifies a text file containing a list of ROOT files (with full PATH) to run over
GridDS: specifies a grid data sample to run over
OutputDir: specifies ouput directory. DATE is replaced by date+time [default: runMyAnalysis_DATE]
SampleName: specifies sample name [default: sample]
BaseConfig: overrides the default base configuration file (calibration smearing etc)
```
Your analysis configuration files should all inherit from a ``BaseConfig`` file which
specifies all the default configurations to be used. Your analysis config file however
can be used to overwrite any of these options.
An example is provided [here](https://gitlab.cern.ch/jvasquez/TRTFramework/blob/master/data/TRT_Zee.cfg).
Running your code on the GRID
--------------------------------
Setup environment
```
cd ~/trt_workspace/packages
setupATLAS
localSetupFAX
rcSetup
localSetupPandaClient --noAthenaCheck
voms-proxy-init -voms atlas
```
Run the script from the ``run/`` directory (important)
```
cd ../run
runMyAnalysis YourAnalysisConfig.cfg GridDS: XXX OutputDS: user.USERNAME.XXX SampleName: XXX
```
Be patient as the sripts run, submitting the jobs to the grid will take some time.
For the jobs to copy to the grid correctly it is important that the directory you
submit your jobs from is not a subdirectory of packages.
Important Notes
================
* The run script expects either a GridDS, InputFile(s), or InputFileList to be provided by the analysis config file.
Extensive documentation and guides can be found in our [wiki](https://gitlab.cern.ch/jvasquez/TRTFramework/wikis/home)
########"
#
# Configuration file for TRTFramework analysis
#
########"
##################################
# Job steering setup
OutputDir: PIDAnalysis_DATE
SampleName: Zee
InputFileList: mc_Zee.txt
BaseConfig: TRTFramework/TRTAnalysis.config
##################################
# TRTAnalysis setup
# How often to print out messages
OutputMessage.ProcessedEventsInterval: 5000
##################################
# Any configuration for your own analysis
# Anything specified here will overwrite the defaults of the base config
LepHandler.ElectronPtCutGeV: 10
LepHandler.MuonPtCutGeV: 10
LepHandler.TrackPtCutGeV: 5
LepHandler.UseRelativeTrackPtCut: YES
LepHandler.RelativeTrackPtCut: 0.25
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment