-- KrystsinaPetukhova - 2016-12-22

Modernisation of topological clusters reconstruction procedure within the high luminosity conditions


This page is dedicated to ESD->DESDM file transformation to modify energetic thresholds for seeding in topological clusterization. Modified topological clusters are then used for jets reconstruction.

Analysis code source

Git repository

All the project files and changes are available at:


To download source to your lxplus use:

git clone ssh://git@gitlab.cern.ch:7999/kpetukho/TileClusterization.git

README file contains basic information how to submit analysis.

Setup code

Please, before you want to run transformation setup software and compile the code:

  1. cd PerfDPD_TileNoise
  2. setupATLAS
  3. asetup,here
  4. source setupWork.sh 

Run analysis

The basic command line to launch transformation locally is (${PWD}=TileClusterization/PerfDPD_TileNoise/WorkArea/run/):

Reco_tf.py --autoConfiguration='everything' --inputESDFile inputESDfile_Name --outputDESDM_TILENOISEFile outputESDfile_Name

There is also an example file running on GRID: e.g.


Writing DESDM files with the Tile calorimeter cells

Initial code for considered analysis was a template performance DESDM for Tile noise study. It was provided by Siarhei Harkusha.

The following file tunes content of output file: TileClusterization/PerfDPD_TileNoise/PhysicsAnalysis/PrimaryDPDMaker/share/PerfDPD_Tile.py

Initially the source was performing ESD->DESDM transformation with copying Tile cells content to the output (lines 39-46). Such transformation reduces files size, which is significant for Tile calls analysis (i.e. during pile-up noise analysis).

Topological clusters modification

The code performing transformation for the Tile calorimeter study is here:


NB! It includes file 'JetAlgorithm.py' which is being imported from local directory. (It is required since includes needed changes to write output jets.)


CaloClusterTopoGetter performs building up topological clusters from the ATLAS calorimeters cells.

Documentation about TopoMaker is available there: https://svnweb.cern.ch/trac/atlasoff/browser/Calorimeter/CaloRec/trunk/python/CaloClusterTopoGetter.py

Seed cell threshold setup in topological clusterization

If you want to make changes for 'seed' cells energetic thresholds, use PerfDPD_Tile.py, line 82:

topSequence.CaloTopoCluster.TopoMaker.SeedThresholdOnEorAbsEinSigma = 6.0 // 4.0, 10.0, 14.0, 20.0

Neighbour and cell threshold setup on topological clusterization (optional)

For example, it is also possible to modify energetic threshold for 'neighbouring' and 'cell' cell e.g.,

 TopoMaker.CellThresholdOnEorAbsEinSigma = 0.0 
 TopoMaker.NeighborThresholdOnEorAbsEinSigma = 2.0 
 TpoMaker.SeedThresholdOnEorAbsEinSigma = 4.0

Clusterization settings

Input for topological cluster performance is CaloCellContainer -- 'AllCalo' .

This analysis implement EM scaled topological clusters. No local hadronic calibration applied.

As xAOD::CaloClusterContainer is being redefined during modification performance, the new output is named 'CaloTopoClusters' (setup by default in TopoMaker).
(FYI, the standard name of CaloClusterContainer in input ESD is 'CaloCalTopoClusters' .)

Jets reconstruction with Anti-Kt4 algorithm


Input for PseudoJetGetter is TopoClusterContainer -- 'CaloTopoCluster', which was made during the previous step of clusterization (PerfDPD_Tile.py, line 102).


Here jets are reconstructed with AntiKt4 algorithm on basis of topological clusters. It is launched with jets finding (PerfDPD_Tile.py, line 122):

jtm.addJetFinder("MyAntiKt4EMTopoJets",   "AntiKt", 0.4,   "emtopo", "mymods", ghostArea=0.01, ptmin= 0, ptminFilter= 1)

The method addJetFinder( alg, radius, gettersin, modifiersin, ghostArea, ptmin, ptminFilter) create jets finder (uses pseudojets as input) and rectool. Its input parameters are described below:

 #   alg = akgorithm name (Kt, CamKt, AntiKt)
 #   radius = size parameter
 #   gettersin = array of input pseudojet builders (or name in gettersMap)
 #   modifiersin = list of modifier tools (or name of such in modifiersMap)
 #   ghostArea: if > 0, then ghosts are found with this inverse density
 #   ptminFilter: If > 0, then this is used as the pT threhold for filtering jets

Have a look at jets finders and rectool:



At jets calibration step the following corrections are applied (PerfDPD _Tile.py, line 113): "calib:ar", where

a = Active area correction (rho*A)                                
r = Pileup residual correction (i.e. using mu and NPV)            
j = JES correction (from MC)  

More details about jets finding, calibration and recording are given there:


For the purpose of the current analysis jets are EM scaled, inheriting the energetic scale of topoclusters.


As jets are being reconstructed on-the-fly from redefined topoclusters, appropriate names for output xAOD::JetContainer and xAOD::JetAuxContainer should be specified (lines 135-137) e.g:

jetFlags.jetAODList += [ "xAOD::JetContainer#" + 'My' + jetrec.name() ]

where jetrec.name is the default name -- 'AntiKt4EMTopoJets' .

NB! 'JetAlgorithm.py' is being imported from local directory (TileClusterization /PerfDPD_TileNoise/PhysicsAnalysis/PrimaryDPDMaker/share/). This file contains important information about reassignment of EventShapeTool names (lines 62-67, 86-89). This is done to avoid conflict between containers in input ESD and output produced by the current reconstruction.

JetToolManager (auxiliary)

All jets reconstruction steps is performed by JetToolManager. Its source is available there:


Output Stream tuning

To tune content of output file all the containers needed into the output file are added explicitly (lines 152 and so on).

You can write containers made on-the-fly during the transformation but specify new names for them to prevent issues.


 StreamDESDM_TILENOISE.GetEventStream().TakeItemsFromInput = False

is not changed (line 84), you are able to write to the output file containers directly from the input ESD.

Edit | Attach | Watch | Print version | History: r5 < r4 < r3 < r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r5 - 2016-12-27 - KrystsinaPetukhova
    • 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