The TuthToolCode package is part of the JetPerformance2015 framework. It evaluates the jet response by comparing detector (calorimeter) jet kinematics with the matched truth particle jet kinematics in simulations.

This package was updated from the JetPerformance2012 code as to work with the new xAOD framework.

Code structure

The main function is located in util/xAODTuthToolCode.cxx. It initialises xAODRootAccess, creates TEvent and TStore objects, reads input files, initialises the JetPerformance::TruthToolCode object and loops over events.

The main parts of the TruthToolCode are:

Initialise() : This function initialises tools (JetCalibration, JetCleaning), histograms and reads settings from config file. A matching between the truth and reco jet collections is also included here.

ProcessEvent() : Retrieves the events and calls the FillHistograms function for all the jet collections. In FillHistograms the relevant jets collection are retrieved as well and truth and reco jets that pass the preset isolation criteria are matched to each other. The truth jets are also matched to the corresponding partons (for MC15 just based on the included "PartonTruthLabelID").

Finalise() : Writes histograms to file, garbage collection.

Configuring the tool

Most of the relevant parameters and flags can be set in the config file that resides in the share folder. This includes the jet collections names (both reco and truth) that we want to run over, binnings in pT and eta, special flags like : DoGluLight or DoCB that have to be set to true if we are interested in gluons, light quarks jets or c- and b-jets histograms respectively. The cuts that will be used for the truth-reco matching and isolations cuts are also set here, as well as the name of the config file that is to be used for calibrating the jets.

The output file (whose name is also set in the config file) is a root file containing histograms of the jet response (in different slices of eta, truth pT and NPV). These plots can be created flavour inclusively or flavour dependent (separating jets originating from gluons, c or b quarks , as well as light jets).

Setting up

TruthToolCode is a RootCore package that works within the new analysis release framework. It is easy to setup and run on lxplus (or machine with cvmfs).

For first time use, first checkout package, setup the analysis release, and compile:

 $ svn co svn+ssh://<CERN_USER_NAME>
$ setupATLAS
$ rcSetup Base,2.x.xx.
$ rc find_packages
$ rc compile

Running locally

After succesfully compiling the code, the executable xAODTruthToolCode is created. This takes as arguments the list of the samples that you want to run over (separated by commas) and the name of the configuration file that you want to use.

$ xAODTruthToolCode sample1,sample2  path_to_config_file 

Running on the grid

After setting up your Panda client and proxy you can go ahead an use the script, which is available in the scripts folder. The only things that you need to change are your username, the sample names that you want to run over and the name of the config file that you want to use (last argument in the --exec command).

$ localSetupPandaClient
$ voms-proxy-init -voms atlas
$ source scripts/

-- IrinaCioara - 2015-05-26

Edit | Attach | Watch | Print version | History: r3 < r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r3 - 2015-05-28 - IrinaCioara
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Sandbox All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback