Where to find it (for now)

Sources :
~mangeard/scratch0/testarea/15.6.1/PhysicsAnalysis/AnalysisCommon/AnalysisExamples/

Macros in :
~mangeard/public/dir_Zprime/

How to set it up

  1. To setup the athena environment and get packages the first time:

~mangeard/public/README_ANALYSIS_V15

source /afs/cern.ch/sw/contrib/CMT/v1r20p20090520/mgr/setup.sh
mkdir ~/whateverWorkDirectory

Create requirements file
cmt config
source setup.sh

On msu-pc2 the requirements file has to look a bit different:
set   CMTSITE  CERN
set   SITEROOT /afs/cern.ch
macro ATLAS_DIST_AREA ${SITEROOT}/atlas/software/dist                               
macro ATLAS_TEST_AREA /work/msu-pc2/sarah/Zprime/Zprime1561
macro ATLAS_SETTINGS_AREA "$(ATLAS_DIST_AREA)" 

apply_tag 15.6.0
apply_tag opt
apply_tag gcc34
apply_tag slc4
apply_tag runtime
apply_tag 32
apply_tag oneTest

use AtlasLogin AtlasLogin-* $(ATLAS_SETTINGS_AREA)

  1. After following README, throw most of the AnalysisExample out and copy P.-S.'s code over (src, share, header)
    also copy requirements file
    go to cmt, do source setup.sh and make

  1. Script to setup the environment each time you work :

~mangeard/start_15.6.0-panda

  1. Miscellanous: Useful to figure out the newest version of a package that goes with a certain athena version:
less /afs/cern.ch/atlas/software/builds/AtlasAnalysis/15.6.0/PhysicsAnalysis/AnalysisCommon/AnalysisExamples/cmt/version.cmt Better: cmt show versions

Datasets

Structure of analysis

The analysis consists of mainly two parts:
  1. The athena code, that uses ESD as input, filters for Zprime, and creates ntuples
  2. The macros which plot/filter the variables in the ntuples

Athena code

  1. JobOptions
  • includes ntuple Maker
  • calls Algorithms CheckElectrons and gives variables to it
  • does something (outdated?) calling the trigger (switched off right now)
  • saves root histograms

  • special for real data => needs luminosity calculation => needs good run list (see here: https://twiki.cern.ch/twiki/bin/viewauth/Atlas/GoodRunsListsTutorial, it tells you to configure a good run list.xml file here: http://atlasdqm.cern.ch:8080/grl/) => important that only chosen (good) lumiblocks contribute to luminosity determination => luminosity determination also need trigger info (deadtime, prescales...https://twiki.cern.ch/twiki/bin/view/Atlas/CoolLumiCalcTutorial)
    Easy to understand: just imagine you are interested in the prescaled process
    
    # add LumiBlockMetaDataTool to ToolSvc and configure
    from LumiBlockComps.LumiBlockCompsConf import LumiBlockMetaDataTool
    ToolSvc += LumiBlockMetaDataTool( "LumiBlockMetaDataTool" )
    LumiBlockMetaDataTool.calcLumi = True # False by default
    
    # add ToolSvc.LumiBlockMetaDataTool to MetaDataSvc
    from EventSelectorAthenaPool.EventSelectorAthenaPoolConf import MetaDataSvc
    svcMgr += MetaDataSvc( "MetaDataSvc" )
    svcMgr.MetaDataSvc.MetaDataTools += [ ToolSvc.LumiBlockMetaDataTool ]
    
    # Configure the goodrunslist selector tool
    from GoodRunsLists.GoodRunsListsConf import *
    ToolSvc += GoodRunsListSelectorTool() 
    GoodRunsListSelectorTool.GoodRunsListVec = [ 'My_goodruns.xml' ]
    ...

  • special for grid
  • special for local running
  1. Algorithms a) DoParticle

-- Main event loop = event 1 = CBNT_initialize() CBNT_clear() CBNT_execute() = event 2 = CBNT_clear() CBNT_execute() ... = event N = CBNT_clear() CBNT_execute()

-- Finalization CBNT_finalize()

b) CheckElectron (derived from DoParticle)
  • cuts (input from JobOptions) right now: Eta<2.5, Et>1 GeV, deltaRmatch<0.1, EtCone20<1
  • fills the container of user preselected electrons in store gate
  • fills a standard (athena aware) CBNT (ComBined NTuple) ntuple.
  • The user must override the following methods, otherwise the base class methods will be called - they do nothing:
    • virtual StatusCode doPreSelection();
    • virtual StatusCode initializeParticle();
    • virtual StatusCode finalizeParticle();
  • creates branches of a root tree and histograms for truth properties
  • for every particle the branches are filled
  • checks on datatype (data or MC with truth info)

  • doPreselection:
    • retrieve electron container, define iterators to electrons in event
    • does something complicated with McEventCollection, I think it fills a TruthContainer, loops over the electrons in one event, and fills truth branches

Macros

-- SarahHeim - 23 Feb 2010
Topic revision: r8 - 02 Mar 2010, SarahHeim
 

This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback