HepMC filter
HepMC filter is a simple application that reads a file in HepMC format and selects only those events that pass certain cuts. The idea is to reduce a number of events we need to process after the selection.
Getting and Compiling the HepMC filter
tau1.hep.utexas.edu:
NOTE: To download the source file you need to have an access to ATLAS Subversion system.
1. Set up SVNROOT global variable that points to the ATLAS user's repository
export SVNROOT=svn+ssh://<username>@svn.cern.ch/reps/atlasusr
where <username> is your username on ATLAS.
2. Check-out the package from SVN
svn co $SVNROOT/yuraic/ttH/Projects/HepMC_Filter/trunk HepMC_Filter
This will create HepMC_Filter directory and check-out a package in it. If you want to check-out a version with certain tag, use the following command
svn co $SVNROOT/yuraic/ttH/Projects/HepMC_Filter/tags/HepMC_Filter-00-00-03 HepMC_Filter
This will check-out version HepMC_Filter-00-00-03 of the HepMC filter.
3. Source the setup.file
cd HepMC_Filter source setup.sh
4. Compile the filter
gmake gmake clean
At this stage you must have 'HepMC_Filter.exe' in the 'HepMC_Filter/bin' directory. This is the actual filter application.
Not the tau1 machine
1. You will need to download, compile and install the HepMC package. You can get more information here - https://savannah.cern.ch/projects/hepmc/
2. The global variable 'HepMC_PATH' from 'setup.sh' needs to be pointing to the directory where HepMC is installed.
3. The remaining steps are similar to the case with the tau1 machine.
Running the filter
In the 'share' subdirectory you will find 'dilepton_filter.sh'. You need to modify this file to star processing the data.
1. Open 'dilepton_filter.sh'
vim dilepton_filter.sh
2. Set up the correct paths to the 'input_dir' and 'output_dir' variables
input_dir=<input_files_dir> output_dir=<output_files_dir>
where <input_files_dir> - path to the directory containing input HepMC files, and <output_files_dir> is the directory where output files will be placed.
NOTE: Input files must have *.hepmc extension. The extension for the output will be also *.hepmc.
3. Run the 'dilepton_filter.sh' script redirecting its output to my_details_output.txt
./dilepton_filter.sh >& my_details_output.txt
4. The filter will stop at some point and you should be able to find skimmed files in the output directory. The running timescale depends on number of events you have in the input. In my case, it was roughly 10 mins for about 100,000 input events.
Tips & Tricks
- Filter efficiency
The 'share' subdirectory contains python script that can calculate filter efficiency. This can be achieved by running 'efficiency.py' on 'my_details_output.txt' file
./efficiency.py my_details_output.txt