Single top ntuples

Data replication

Use web interface

Use command line

  rucio add-rule [container-name] 1 CA-VICTORIA-WESTGRID-T2_LOCALGROUPDISK

Check the replicated data

  rucio list-dataset-replicas [dataset-name]
  rucio list-dataset-replicas [dataset-name] --rse CA-VICTORIA-WESTGRID-T2_LOCALGROUPDISK --pfns
  rucio list-file-replicas [dataset-name] --rse CA-VICTORIA-WESTGRID-T2_LOCALGROUPDISK --pfns

Dicert access to the data using xrootd

Set up root
  (setupATLAS -c centos7)
  lsetup root
  (lsetup "root 6.20.06-x86_64-centos7-gcc8-opt")
Or, setup a release
  asetup AnalysisTop,21.2.83,here,centos7

Get valid VOMS proxy

  lsetup "rucio -w"
  voms-proxy-init -voms atlas

Using root

  root
  [0] TFile *f = TFile::Open("root://basilisk02.westgrid.ca//pnfs/westgrid.uvic.ca/data/atlas/atlaslocalgroupdisk/rucio/user/cescobar/e1/bc/user.cescobar.23206834._000001.out.root");

Using python

  python
  >>> import ROOT
  >>> f = ROOT.TFile.Open( "root://basilisk02.westgrid.ca//pnfs/westgrid.uvic.ca/data/atlas/atlaslocalgroupdisk/rucio/user/cescobar/e1/bc/user.cescobar.23206834._000001.out.root", "READ" )

To download

  xrdcp -f root://basilisk02.westgrid.ca//pnfs/westgrid.uvic.ca/data/atlas/atlaslocalgroupdisk/rucio/user/cescobar/e1/bc/user.cescobar.23206834._000001.out.root /dev/null

NOTE If the version of gcc or root are old, this method may not work.
To check the versions

  gcc --version
  root --version

Dataset

user.cescobar.mc16_13TeV.410646.PhPy8EG_Wt_DR_t.SGTOP1.e6552_s3126_r10201_p4174.lj.v31.truth_taus_out.root
user.cescobar.mc16_13TeV.410646.PhPy8EG_Wt_DR_t.SGTOP1.e6552_s3126_r10724_p4174.lj.v31.truth_taus_out.root
user.cescobar.mc16_13TeV.410646.PhPy8EG_Wt_DR_t.SGTOP1.e6552_s3126_r9364_p4174.lj.v31.truth_taus_out.root
user.cescobar.mc16_13TeV.410647.PhPy8EG_Wt_DR_tbar.SGTOP1.e6552_s3126_r10201_p4174.lj.v31.truth_taus_out.root
user.cescobar.mc16_13TeV.410647.PhPy8EG_Wt_DR_tbar.SGTOP1.e6552_s3126_r10724_p4174.lj.v31.truth_taus_out.root
user.cescobar.mc16_13TeV.410647.PhPy8EG_Wt_DR_tbar.SGTOP1.e6552_s3126_r9364_p4174.lj.v31.truth_taus_out.root

user.cescobar.mc16_13TeV.410470.PhPy8EG_ttbar_hdamp258p75_l.SGTOP1.e6337_s3126_r10201_p4174.lj.v31.truth_taus_out.root
user.cescobar.mc16_13TeV.410470.PhPy8EG_ttbar_hdamp258p75_l.SGTOP1.e6337_s3126_r10724_p4174.lj.v31.truth_taus_out.root
user.cescobar.mc16_13TeV.410470.PhPy8EG_ttbar_hdamp258p75_l.SGTOP1.e6337_s3126_r9364_p4174.lj.v31.truth_taus_out.root

Analysis procedure (new wwbbljets code)

Set up
setupATLAS -c centos7
mkdir WWbb
cd WWbb
kinit username@CERN.CH
git clone https://:@gitlab.cern.ch:8443/atlasphys-top/xs/WbWbXs/wwbbljets.git
cd wwbbljets/
git checkout -b dev_KH_20201130
cd ../
mkdir build run

Compile/Build

cd build/
asetup AnalysisBase,21.2,latest
cmake ../wwbbljets/WWbb/
make wwbb
cd ../

Make input file list

cd run/
lsetup rucio
voms-proxy-init -voms atlas
rucio list-file-replicas --sort geoip --pfns --protocols root --domain wan --expression CA-VICTORIA-WESTGRID-T2_LOCALGROUPDISK user.cescobar.mc16_13TeV.410646.PhPy8EG_Wt_DR_t.SGTOP1.e6552_s3126_r10201_p4174.lj.v31.truth_taus_out.root > input_list.txt

Run

cd run/
cp ../wwbbljets/WWbb/share/test_wwbb_ljets_v31.toml .
(Edit the test_wwbb_ljets_v31.toml and specify FileList)
../build/wwbb test_wwbb_ljets_v31.toml

Analysis procedure (old wwbb code)

As next step, you can prepare the file lists, which are input to the present analysis code. These lists are obtained by running `rucio list-file-replicas`, e.g.:
$ rucio list-file-replicas --sort geoip --pfns --protocols root --domain wan --expression CA-VICTORIA-WESTGRID-T2_LOCALGROUPDISK user.cescobar.mc16_13TeV.410646.PhPy8EG_Wt_DR_t.SGTOP1.e6552_s3126_r10201_p4174.lj.v31.truth_taus_out.root 
Please dump the output into a file, and prepare similar files for the other data sets.

Then checkout the wwbb code:
$ git clone https://@gitlab.cern.ch/britzger/wwbb.git 
# make a build directory 
$ cd wwbb 
$ mkdir build 
$ cd build 
# build the code: 
 $ cmake ../CMakeLists.txt -B . 
# compile (do not call: make all) 
 $ make wwbb 
(you may need to use a recent gcc version, either from lcg, or from asetup AnalysisTop, or so...)
Then you have the executable wwbb and a library libwwbb

The executable needs an input file, which is very simple:
  • open: ../share/test_wwbb_ljets_v31.toml

The steering file for the analysis has only a few settings.

  • EventDataSource: how to read input data for events
  • DataSource: how to read input data for meta data
  • Analysis: The analysis classes to run (here, we will need more...)
  • OutputFile

  • FileList: Specify the file, that holds the list of all root-files (as you have generated above)
  • FilePortion: This processes only a sub-sample of the files [0,100] e.g: 100 sub-samples are made: you select #0

In this toml-steering file, there are more parameters for all what you have specified above.
This is not relevant.

Note: the code-architecture is still quite under development. We have to improve.

The analysis class 'AnalysisWWbb' does the cutflow and makes all histograms. We have to clean up and improve.

Now: you can run (if you are still in ./build)

$ ./wwbb ../share/test_wwbb_ljets_v31.toml 
Then you have an output file with lots of histograms.

-> try to look at them and understand them. The code that makes these histograms is in ./libwwbb/WAnalysisWWbb.cc

WWbbLoop

Create minitree from the top ntuples.

WWbbLoopAlg.cxx handles the names of things and trees that go in the output file and the variables that go into these trees. This one handles mostly kinematics and stuff.
WWbbLoopAlgWeights.cxx handles weights.
WWbbLoopAlgVarIO.cxx handles the branches that are defined and connects it to variables defined in header files.

Wt analysis framework documentation.
This explains TopLoop and WtLoop.
You need to setup the WtAna project and all submodules. You then would replace the WtLoop that is downloaded with our WWbbLoop.
If you just follow the setup and replace the WtLoop folder with our WWbbLoop in WtAna, it should compile without issues.

MPCDF (Max Planck Computing & Data Facility) access

Account and Login

Login through:
  • gate.rzg.mpg.de
or
  • gateafs.rzg.mpg.de

Then go to workgroupserver:

  • mppui4.t2.rzg.mpg.de (or just mppui4.t2)
Alternative machines are:
  • mppui2.t2 and mppui3.t2

The common working directories are

  • /ptmp/mpp/$USERNAME

Batch jobs

there are several (many?) different computing farms at mpcdf. The one that we use is our 'own' intitutes farm. This is directly connected to the mppui4 server.
When typing 'sinfo' you see the available partitions: special, supershort, short, standard, long.
For our purposes, always use supershort, or better: use all
You can ask for multiple nodes, cores, threads, etc... but our system is shared and you can simply ask for a single CPU.
An example of a simple test job: test.sh
#!/bin/bash

#SBATCH --job-name=test
#SBATCH --partition=supershort,special,short,standard,long
#SBATCH --time=0:10:00
#SBATCH --mem-per-cpu=1000
#SBATCH --output=test.out
#SBATCH --error=test.err

## these parameters are not needed:
# #SBATCH --ntasks=1
# #SBATCH --ntasks-per-node=1
# #SBATCH --nodes=1
# #SBATCH --cpus-per-task=1

# this parameter is useful if you want to submit many jobs
# ##SBATCH --array=0-49

echo "Hello Victoria!"
To run:
 $ sbatch test.sh
The job goes to the local slurm-cluster.
Check status of job
 $ squeue -u $USER

AnalysisTop

-- KenjiHamano - 2020-11-26

Edit | Attach | Watch | Print version | History: r8 < r7 < r6 < r5 < r4 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r8 - 2021-04-07 - KenjiHamano
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Main All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2021 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