The Run2 WZ analysis framework developed at LAPP

This analysis framework is based on EventLoop and has been developed at LAPP, primarily for the WZ diboson analysis of Run 2 data.

Main developers are:

  • Lucia Di Ciaccio: for all aspects related to truth in xAODs
  • Emmanuel Sauvan: main code structure, analysis classes
  • Elena Yatsenko: implementation of CP and trigger recommendations
  • Angela Burger: implementation of CP recommendations

LAPP Group SVN repository at CERN:

Our packages are put under Institutes/LAPP/DiBosonWZRun2/

Set-up analysis framework: (RootCore package WZRunII)

Prior to installation, make sure that you use bash shell at lyon. If it's not you default shell, you can just type > bash

In your home directory, check the file .bashrc If not existing, you can create one. Add in it

###--- set cern username
export CERN_USER=esauvan

###--- RootCore via CVMFS setup 
export ATLAS_LOCAL_ROOT_BASE=/cvmfs/
alias setupATLAS='source ${ATLAS_LOCAL_ROOT_BASE}/user/'

To have the modifications taken into account, re-open a new terminal or just do > source .bashrc

The analysis code should be installed on your home AFS directory. In a new directory do:

#  Initial Setup for the WZRunII analysis

#--- get the package
svn co "svn+ssh://$" WZRunII

#--- Setup ATLAS and AnalysisBase
rcSetup Base,2.4.18

#--- optional, to add more packages not in the release 
rc checkout WZRunII/scripts/additional_packages.txt
#---- copy presently missing data file for ElectronCharge  correction tool
cp /afs/ ./ElectronChargeCorrectionTool/data/

#--- Find and compile these packages
rc find_packages
rc clean
rc compile

To run a test:

cd WZRunII/run/
ZZCtrlRun run_testZZCtrl.par

(takes care of removing the output directory (e.g. "submitDir" if already existing (a feature of EventLoop which should maybe be a bit better handled later ...)

How To Run in batch

You can send the analysis on all data sample centrally stored on sps:

cd WZRunII/scripts
./Send_Prod anal_2016.par

You have to set in anal_2016.par the executable to run (full path for the moment) executable: /afs/ (you have to change it according to your own directory)

and the output directory (it has to be created before) histo_dir: "/sps/atlas/s/sauvan/WZRun2_2016_Histos/19fb/"

Once the jobs are all finished, check the execution of jobs:

Once the jobs are all finished, check the execution of jobs:

Check_Prod anal_2016.par

then sum everything with


In you need to edit sumHisto.root = "/sps/atlas/s/sauvan/WZRun2_2016_Histos/19fb/" to the output directory set in anal_2016.par Merged histograms per physics process are then created at the top of this directory

To run the full analysis, latest version: Send_Prod anal_2016.par Check_Prod anal_2016.par Sum_Histo

(Please take care of changing path inside these files)

Regular setup

Go in the installation directory and do:


Change Analysis release

rcSetup -u
rcSetup Base,2.4.18
rc find_packages
rc clean
rc compile

MarPlot : an automatised plotting program

A general plotting standalone code. (for the moment do not install it in the same base directory as the ROOTCORE installation of the analysis package)

#--- get the package
svn co "svn+ssh://$" MarPlot

#--- compile it
cd cmt/
make -f Makefile.StandAlone

#--- run an example (Edit the output and maybe input directories in the steering file !)
cd run/
../bin/MarPlot draw_Run2_ZZCtrl_2016.par    #---- 

#--- visualize the result : go in the output directory
latex Summary; dvips -o Summary.dvi

Structure of the WZ analysis framework

The structure defines an "Event" base class which which "load" and correct each xAOD event, and histograming+selection classes, to implement different selections using the centralised information from the Event class

  • LapPhysicsConstants : to gather-up all physics constants and units
  • LapRun : To manage running parameter and read input steering file
  • MarHistoManager : an old-fashion histo-manager added for convenience
Histograms are define using a separate steering file, for the moment in run/testhisto.par

  • LapxAODEvent : Base class for the Event. Should incorporate all xAOD corrections (trigger, SFs, particle calibration, mET calculation, etc ...)
  • WZxAODEvent : derived from LapxAODEvent. Incorporates event-based calculation specific to our WZ reco analysis (list of selected electrons, muons, etc ...)

  • WZxAODTruAnalysis : analysis class for truth studies. Also calculates truth quantities associated to each event. is linked to reco. level analysis classes.

  • util/ZZCtrlRun.cxx : executable
  • run/run_testZZCtrl.par : steering file for the executable
  • run/testInputFiles.inp : list of input xAOD files
  • run/testhistos.par : definition file for all sets of histograms associated to each analysis class. Read by MarHistoManager.

  • Another executable: util/WCRRun.cxx : for W+jets control region

Good practice to do commits:

In order to keep track of code changes made by everybody, please follow the procedure below for each commit of changes in the code.

svn status
svn update
svn add <new file> 

Then edit the file ChangeLog with a short description of your modifications

 2015-11-05 - E. Sauvan
   + XXXAnalysis creation
        * Correct small bugs in ....

Finally do

svn commit

And copy paste the description added in ChangeLog in the editor window which opens

-- EmmanuelSauvan - 2016-10-24

Edit | Attach | Watch | Print version | History: r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r1 - 2016-10-24 - EmmanuelSauvan
    • 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-2023 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