This page describes how to use LVL1TriggerTool in User' analysis. This tool converts L1Objects - EMTAUROI, JETROI and MUROI (Region of Interest (ROI)) into INavigable4Momentum format. The idea is to use already available deltaR match tools and make trigger objects available on same footing as familiar analysis objects like electrons, photons, Jets etc. Using this tool, user can also access all the L1 Trigger properties for Muon. electron and Jet. In EventView analysis framework one would need an extra inserter called EVInavigable4Momentum to use this tool.

Why INavigable4Momentum ROIs

The simplest L1 region of interest information is available in LVL1_ROI container present in AOD. It primarily has information about three types of ROIs - Electromagnetic (EM ROI), Muonic (MUROI) and Jet-like (JETROI). Each type of ROI has it's PT threshold, eta and phi associated with it. Further more two special types of ROIs called JetET and Energy Sum are also available. They do not have eta-phi associated with them and hence are termed special in this web page. Besides this EMROI and JetROI have further information - energy deposits in LAr Calorimeter. This information plays vital role in deciding egamma or jet trigger signatures.

For more information on how to access the LVL1_ROI information, please have a look at this code in CVS in CBNT_AOD package.

The information on ROI as available from an AOD is not in IParticle or INavigable4Momentum format. Considering the fact that these objects are not particles, this is not completely necessary but not quite.

Each type of ROI has eta and phi associated with it. For DeltaR matching this is the sufficient information but one cannot use the available standard tools for doing DeltaR matching of ROI with particles like electrons, muons and jets because ROIs are not of type IMomentum or INavigable4Momentum. Hence it becomes cumbersome to do simple things with ROIs.

What is needed

It will be helpful to derive ROI from INavigable4Momentum class and fill them with at least PT, eta and Phi information. There are some nice tools available in FourMom package which can also completely fill the IMomentum information for an object provided one supplies PT,Eta, Phi and mass for this object. So if one specifies mass of ROI to be zero then these tools can be used for ROIs. For MUROI this is sufficient but for EMTAUROI and JETROI something more is required.

As a final result one can have INavigable4Momentum ROI objects which then can be used with ease in one's analysis.

This task has been achieved in the following way.

LVL1 Muon Tool

A class called UserINav4Mom is written that helps derive an object with INavigable4Momentum properties in addition with a functionality to completely specify all IMomentum attributes if PT, Eta, Phi and mass attributes for this object are provided.

This class is used to fill MuROI Container and is available in MuRoiContainer.cxx . These containers are like any other container of objects like electrons for example.

One can retrieve MUROI from this container and use them in their analysis. A modified AnalysisSkeleton code called AnalysisROISkeleton is also provided. To schedule and use these containers code, athena job options file called is also provided.

Note: One should not retrieve objects like px, py, pz etc for MuROI objects. They are meaningless.


For Muons, Pt as of now returns threshold number * 1000 instead of threshold value. Threshold value is available in 12.0.X series. I will correct this later in the code. If someone is particular about it, please correct it. Thanks to Kevin Black for noticing it.

LVL1 Electron Tool

LVL1 EMTAU ROI has calorimeter information as well. This makes them more "complex" than MUROI. For the moment I am using IMomentum variables like px, py, pz etc to store EMTAU ROI properties. This is not elegant. I will hopefully improve this later. But the bottom line is that it works.

One can store triggerSignature like E25i in e() method. Now a new method has been added called trigSig(). Currently it is only available for electron trigger and is programmed to deliver e25i signature.

LVL1 Jet Tool

LVL1 Jet ROI also has calorimeter information. It is similar to Electron Tool.

ROI Properties vs IMomentum properties - Storage KEY

INav4Mom L1EmTauObject L1JetObject L1MuonObject
eta eta eta eta
phi phi phi phi
pt L1Em_EmCore L1Jet_ET4x4 Threshold Number * 1000
px L1Em_EmClus L1Jet_ET6x6 Auto
py L1Em_TauClus L1Jet_ET8x8 Auto
pz L1Em_EmIsol 0. Auto
p L1Em_HdIsol 0. Auto
et L1Em_HdCore 0. Auto
e e25i 0. Auto
m e25i_cumu 0. 0.

Here Auto means that it is determined using eta, phi, pt and m.

So using this key one can retrieve the desired properties of LVL1 objects. Also one can form whatever triggerSignature as one desires. E25i trigger signature is available in the AnalysisROISkeleton code.

How to use

To use:

This tool only works with 11.0.5 as trigger information is only available from this release. To use with 12 series will require modifications. To be done later. Further it is assumed that UserAnalysis package has been installed. All the codes are present in my CVS area here.

IMP: Before using this tool, please update a FourMom TAG to FourMom-00-00-27

  • Go to 11.0.5 directory work area
  • cmt co -r FourMom-00-00-27 Event/FourMom
  • cd ... FourMom-00-00-27/cmt
  • source setup.csh
  • gmake

Now we are ready to install LVL1TriggerTool.

This requires checking out tag LVL1TriggerTool-00-00-01 Since this package is not part of official athena software, we will use cvs commands instead of cmt commands.

  • Go to 11.0.5 directory work area
  • cvs co LVL1TriggerTool-00-00-01 users/bansal/LVL1TriggerTool
  • Many more steps...

It is better to execute this script If you are not working on lxplus, it requires to do klog to CERN.

  • klog -principal <CERN-USERID> -cell

To run :

  • copy from share area to your run area.
  • get_files
  • athena | tee test.log

See results:

Browse AnalysisROISkeleton.aan.root file in ROOT and look at variables with ROI in their name. There are four variables each for MuROI and EMTAUROI. JETROI can be similarly dealt with.

  • root -l AnalysisROISkeleton.aan.root
  • Now inside root execute, TBrowser b
  • Go to Root Files folder
  • Double Click on AnalysisROISkeleton.aan.root
  • Double click on CollectionTree
  • Double Click on interested variables.


This tool is under active development. I at least need to make it elegant in terms of retrieving quantities from meaningful names. But the tool is very well functional. I will also update this wiki with an example of using this tool with EventView.

I would like to thank Vakhtang Tsulaia and Amir Farbin for very useful discussions on C++ and EventView.


-- VikasBansal - 04 Oct 2006

Topic attachments
I Attachment History Action Size Date Who Comment
Unix shell scriptsh r1 manage 1.3 K 2006-10-09 - 17:48 VikasBansal Script to set LVL1Tool
Edit | Attach | Watch | Print version | History: r5 < r4 < r3 < r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r5 - 2006-10-09 - VikasBansal
    • 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-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback