HepMC filter

HepMC filter is a simple application that reads a file in HepMC format and selects the events that satisfy certain criteria. The idea is to reduce the number of events we need to process after the selection.

Getting and Compiling HepMC filter

  • tau1.hep.utexas.edu:

NOTE: To download the source file you need to have an access to the 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 at 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 calculates filter efficiency. The efficiency can be calculated by running 'efficiency.py' on 'my_details_output.txt' file

./efficiency.py my_details_output.txt

Tags

This sections lists different versions of the filter and the criteria applied in them. I am listing here few tags just as an example. You can get the information about each tag using either svn log command or from the web-based interface to SVN - https://svnweb.cern.ch/trac/atlasusr/browser/yuraic/ttH/Projects/HepMC_Filter/tags

Tag

Description

HepMC_Filter-00-00-01

HepMC Dilpton filter (exactly two leptons in final state; electrons, muons and taus are allowed)

HepMC_Filter-00-00-02

Two leptons inclusive; Lepton pt > 5 GeV

HepMC_Filter-00-00-03

Two leptons inclusive; Lepton pt > 10 GeV

  • No labels