K A Assamagan Analysis Tutorial – December 19, Tucson, 2004 Overview of ATLAS Software and the Athena Framework (extracted from an earlier talk by S. R.

Slides:



Advertisements
Similar presentations
15 March, 2000LHCb Computing1 Software Review Panel LHCb Answers to Architecture, Data Model and Program Infrastructure Pere Mato for the LHCb Collaboration.
Advertisements

Reconstruction and Analysis on Demand: A Success Story Christopher D. Jones Cornell University, USA.
ATLAS Analysis Model. Introduction On Feb 11, 2008 the Analysis Model Forum published a report (D. Costanzo, I. Hinchliffe, S. Menke, ATL- GEN-INT )
25/03/2003Simulation Application for the LHCb Experiment CHEP March 2003 Presented by: W. Pokorski / CERN Authors: I. Belyaev, Ph. Charpentier,
The Computing Environment. Outline Software Management –CVS –CMT –Tag-Collector –Savannah Data Structures Grid & Local cluster Athena –Projects & Packages.
Automated Tests in NICOS Nightly Control System Alexander Undrus Brookhaven National Laboratory, Upton, NY Software testing is a difficult, time-consuming.
ATLAS Software Kaushik De University of Texas At Arlington based on a tutorial by P. Calafiura (LBNL) LHC Computing Workshop, Ankara May 2, 2008.
CLEO’s User Centric Data Access System Christopher D. Jones Cornell University.
Peter van Gemmeren (ANL): ANL Analysis Jamboree The ATLAS Data Model.
LAr Athena Tutorial – November 2, 2004 Software Tutorial (Minimally modified transparencies from Offline Software Tutorial of Srini R., Hong M., David.
Gaudi Framework Tutorial, April Introduction.
JAS3 + AIDA LC Simulations Workshop SLAC 19 th May 2003.
Athena and HEC Test Beam Reconstruction Tutorial October 12, 2001 CERN N. Kanaya, M. Marino, S. Rajagopalan, M. Wielers.
N ATIONAL E NERGY R ESEARCH S CIENTIFIC C OMPUTING C ENTER Charles Leggett The Athena Control Framework in Production, New Developments and Lessons Learned.
Event Data History David Adams BNL Atlas Software Week December 2001.
N ATIONAL E NERGY R ESEARCH S CIENTIFIC C OMPUTING C ENTER 1 ACAT 2000, Fermilab Oct Control States... Control States for the Atlas Software Framework.
Introduction Advantages/ disadvantages Code examples Speed Summary Running on the AOD Analysis Platforms 1/11/2007 Andrew Mehta.
Introduction to Gaudi LHCb software tutorial - September
INFSO-RI Enabling Grids for E-sciencE ATLAS Distributed Analysis A. Zalite / PNPI.
Use of Gaudi in Reconstruction Weidong Li 23/06/2004.
Alexander Richards, UCL 1 Atlfast and RTT (plus DCube) Christmas Meeting 18/12/2007.
9-13/9/03 Atlas Overview WeekPeter Sherwood 1 Atlfast, Artemis and Atlantis What, Where and How.
David Adams ATLAS DIAL/ADA JDL and catalogs David Adams BNL December 4, 2003 ATLAS software workshop Production session CERN.
Vertex finding and B-Tagging for the ATLAS Inner Detector A.H. Wildauer Universität Innsbruck CERN ATLAS Computing Group on behalf of the ATLAS collaboration.
Andrei Gheata, Mihaela Gheata, Andreas Morsch ALICE offline week, 5-9 July 2010.
GDB Meeting - 10 June 2003 ATLAS Offline Software David R. Quarrie Lawrence Berkeley National Laboratory
Argonne Jamboree January 2010 Esteban Fullana AOD example analysis.
- Early Adopters (09mar00) May 2000 Prototype Framework Early Adopters Craig E. Tull HCG/NERSC/LBNL ATLAS Arch CERN March 9, 2000.
Peter van Gemmeren (ANL): ANL Analysis Jamboree The ATLAS Data Model.
Artemis School On Calibration and Performance of ATLAS Detectors Jörg Stelzer / David Berge.
Aspects of LAr Reconstruction S. Rajagopalan ATLAS Week June 4, 2001.
GLAST LAT Offline SoftwareCore review, Jan. 17, 2001 Review of the “Core” software: Introduction Environment: THB, Thomas, Ian, Heather Geometry: Joanne.
A New Tool For Measuring Detector Performance in ATLAS ● Arno Straessner – TU Dresden Matthias Schott – CERN on behalf of the ATLAS Collaboration Computing.
Combined HEC/EMEC testbeam data can be read and analyzed within the ATLAS Athena framework A “cookbook” gives an introduction for how to access the data.
David Adams ATLAS ATLAS Distributed Analysis: Overview David Adams BNL December 8, 2004 Distributed Analysis working group ATLAS software workshop.
General requirements for BES III offline & EF selection software Weidong Li.
CERN Tutorial, February Introduction to Gaudi.
1 OO Muon Reconstruction in ATLAS Michela Biglietti Univ. of Naples INFN/Naples Atlas offline software MuonSpectrometer reconstruction (Moore) Atlas combined.
- GMA Athena (24mar03 - CHEP La Jolla, CA) GMA Instrumentation of the Athena Framework using NetLogger Dan Gunter, Wim Lavrijsen,
TAGS in the Analysis Model Jack Cranshaw, Argonne National Lab September 10, 2009.
INFSO-RI Enabling Grids for E-sciencE Using of GANGA interface for Athena applications A. Zalite / PNPI.
Introduction to the Athena Software Hong Ma BNL Athena Tutorial USATLAS Software Workshop.
David Adams ATLAS ATLAS Distributed Analysis (ADA) David Adams BNL December 5, 2003 ATLAS software workshop CERN.
27/02/04 ATLAS weekTileCal Athena tutorial, part 21 TileCal Athena tutorial Part 2: Reading GEANT hits from ZEBRA and POOL Reading HLT and testbeam ByteStream.
N ATIONAL E NERGY R ESEARCH S CIENTIFIC C OMPUTING C ENTER Charles Leggett Prototype GEANT4 Service for ATHENA framework ATLAS Software Workshop Dec 3.
David Adams ATLAS ATLAS Distributed Analysis and proposal for ATLAS-LHCb system David Adams BNL March 22, 2004 ATLAS-LHCb-GANGA Meeting.
June 2004 ATLAS WeekAlexander Solodkov1 testbeam 2004 offline reconstruction.
David Adams ATLAS ADA: ATLAS Distributed Analysis David Adams BNL December 15, 2003 PPDG Collaboration Meeting LBL.
Athena StoreGate Tutorial: May 30, Objectives Learn how to access data objects using StoreGate How to record/retrieve by TYPE Optionally using keys.
ATLAS Physics Analysis Framework James R. Catmore Lancaster University.
Mar 05 - hvdsOffline / HLT1  Athena SW Infrastructure  programming + applying tools wrt. dependencies between packages  developing + testing extra ideas.
4 Dec., 2001 Software Week Data flow in the LArG Reconstruction software chain Updated status for various reconstruction algorithm LAr Converters and miscellaneous.
MAUS Status A. Dobbs CM43 29 th October Contents MAUS Overview Infrastructure Geometry and CDB Detector Updates CKOV EMR KL TOF Tracker Global Tracking.
Starting Analysis with Athena (Esteban Fullana Torregrosa) Rik Yoshida High Energy Physics Division Argonne National Laboratory.
ATLAS Distributed Computing Tutorial Tags: What, Why, When, Where and How? Mike Kenyon University of Glasgow.
ANALYSIS TRAIN ON THE GRID Mihaela Gheata. AOD production train ◦ AOD production will be organized in a ‘train’ of tasks ◦ To maximize efficiency of full.
David Adams ATLAS Hybrid Event Store Integration with Athena/StoreGate David Adams BNL March 5, 2002 ATLAS Software Week Event Data Model and Detector.
An AOD analysis example Esteban Fullana Torregrosa High Energy Physics Division Argonne National Laboratory.
HYDRA Framework. Setup of software environment Setup of software environment Using the documentation Using the documentation How to compile a program.
AOD example analysis Argonne Jamboree January 2010
CMS High Level Trigger Configuration Management
LHCb Software Tutorial
Introduction to Gaudi LHCb software tutorial - December 2010.
SW Architecture SG meeting 22 July 1999 P. Mato, CERN
Tag based analysis Ziyan DENG.
Raw Event Conversion Service in BOSS framework
Introduction to Athena
2 Getting Started.
2 Getting Started.
Introduction to Gaudi Schedule: Timing Topic 20 minutes Lecture
Presentation transcript:

K A Assamagan Analysis Tutorial – December 19, Tucson, 2004 Overview of ATLAS Software and the Athena Framework (extracted from an earlier talk by S. R. & D. R.)

K A Assamagan Analysis Tutorial – December 19, Tucson, 2004 Overview of the ATLAS Software  General introduction to ATLAS software  CVS, Packages, build tools and Releases  Introduction to Athena Software  Algorithms, Tools, Services  Configuring jobs via jobOptions

K A Assamagan Analysis Tutorial – December 19, Tucson, 2004 CVS, CMT, Releases … ??  All atlas offline code is stored in CVS, which manages the evolution of the source files CVS  The build of the ries (compilation option, include files, libraries…) as well as the run-time environment are managed by CMT  The build of the binaries (compilation option, include files, libraries…) as well as the run-time environment are managed by CMT  A new version of the code is entirely rebuilt approximately every 3 weeks (« developer release » e.g 8.7.0) with a « major release » approximately every 6 months.  Release : October 27, 2004  Release : 16 Feb 2005  Bug Fix releases (9.0.1, 9.0,2…) + incremental builds for test-beam  Every night the release in construction is built (« nightlies ») and content kept for a week (useful only for developers of code in the release)

K A Assamagan Analysis Tutorial – December 19, Tucson, 2004 Packages a way of grouping related code  Typically, one package  one library which is dynamically loaded at run time. (there is only one very small athena executable for all applications)  For Example, CSC_Digitization contains code for: CSC_Digitization  Taking a MC Hit and producing a Digit (4 ADC samples).  The package has a structure:  CSC_Digitization/src : contains *.cxx files  CSC_Digitization/CscDigitization : *.h files  CSC_Digitization/share : jobOption files (no code)  CSC_Digitization/cmt : requirement file  Packages may depend on other packages: CSC_Digitization depends on MuonIdHelpers, MuonDigitContainer, etc. CSC_Digitization depends on MuonIdHelpers, MuonDigitContainer, etc. Dependencies specified in requirement file Dependencies specified in requirement file “depends” means in most cases “uses object defined in other packages”  “uses header file in other packages” “depends” means in most cases “uses object defined in other packages”  “uses header file in other packages” “depends” does not mean : need other packages to be run beforehand “depends” does not mean : need other packages to be run beforehand  Dependency is uni-directional.  Packages at the bottom of the chain must be very robust.

K A Assamagan Analysis Tutorial – December 19, Tucson, 2004 Brief tour of the web/ documentation  Mailing lists (sw-help, sw-reconstruction, sw-developers, atlas- phys-analysis-tools)  Reconstruction web page Reconstruction web page Reconstruction web page  Following tools from the software developer web page: Following tools from the software developer web page: Following tools from the software developer web page:  Howto’s ! A must-read  viewcvs/lxr ! Browsing the code in cvs  Doxygen ! Simple code documentation  Savannah ! Bug reporting system  release status and plans

K A Assamagan Analysis Tutorial – December 19, Tucson, 2004 Athena is a Framework:  The software that makes sure your code  Runs at the right time  With the right input data  And takes care of any output

K A Assamagan Analysis Tutorial – December 19, Tucson, 2004 Athena Terminology [1]  Algorithm:  User application building block, visible & controlled by framework.  May delegate processing to AlgTools  inherits from Algorithm class  Implements three methods for invocation by framework : initialize(), execute(), finalize() initialize(), execute(), finalize() For example, the analysis skeleton algorithm analysis skeleton algorithmanalysis skeleton algorithm  Data Object:  The result of your algorithm that is posted publicly and can serve as an input to a subsequent algorithm. e.g., Collection containing Cluster Objects e.g., Collection containing Cluster Objects  Data Objects managed by a Transient Store : aka StoreGate  Many different type of stores: Event Store, Detector Store Event Store, Detector Store

K A Assamagan Analysis Tutorial – December 19, Tucson, 2004 Algorithm & Data Flow  Tracking Calorimeter Clustering Electron/photon Identification StoreGate Transient Event Data Store Tracker digits Tracks Calorimeter Cells Tracks, Clusters Calorimeter clusters Electron/photon Electrons/photons Real dataflow Apparent dataflow Tracks Clusters Tracker digits CaloCells

K A Assamagan Analysis Tutorial – December 19, Tucson, 2004 ESD, AOD, … streams  At the end of each event, the reconstruction output is written into several streams:  ESD = Event Summary Data  Contains intermediate reconstruction output such as Tracks, Calorimeter cells, Calorimeter clusters Tracks, Calorimeter cells, Calorimeter clusters egamma, jets, muons, Missing ET, … egamma, jets, muons, Missing ET, …  AOD = Analysis Object Data  Container particle level information electron, photons, b-jets, muons, MissingET, … electron, photons, b-jets, muons, MissingET, … Which allows you to do basic analysis with the ability to navigate back to parent objects if needed Which allows you to do basic analysis with the ability to navigate back to parent objects if needed  Ntuples? Should be used as a validation tool for ESD and AOD analyses Should be used as a validation tool for ESD and AOD analyses

K A Assamagan Analysis Tutorial – December 19, Tucson, 2004 Athena Terminology [2]  Services  Globally available software components providing specific framework capabilities, e.g., Message service, Histogram service, etc  Data Converters  Provides explicit/implicit conversion from/to persistent data format to/from transient data  Decouple Algorithm code from underlying persistency mechanism(s)  Properties  Control and data parameters for Algorithms and Services. Allow for run-time configuration. Specified via startup text files (jobOptions), Python scripts or from the scripting language shell

K A Assamagan Analysis Tutorial – December 19, Tucson, 2004 Transient Event Store Athena-Gaudi Object Diagram Converter Algorithm Persistency Service Data Files Algorithm Persistency Service Data Files Transient Detector Store Message Service JobOptions Service Particle Prop. Service Other Services Histogram Service Persistency Service Data Files Transient Histogram Store Application Manager Converter Event Selector Auditors Scripting Service MC Event Generators StoreGate Svc Sequencer RandomGen Service

K A Assamagan Analysis Tutorial – December 19, Tucson, 2004 Athena Terminology [3]  Job Options files  Conventional python scripts (default jobOptions.py) used to control an Athena application configuration at run-time  Auditors  Monitor various aspects of other framework components NameAuditor, ChronoAuditor, MemoryAuditor, MemStatAuditor, etc NameAuditor, ChronoAuditor, MemoryAuditor, MemStatAuditor, etc  Sequences  Lists of members Algorithms managed by a Sequencer.  Sequences can be nested. Default behavior: the Sequencer terminates a sequence when an event fails a filter. The StopOverride property overrides the default behavior.  Filters  Event selection criteria.

K A Assamagan Analysis Tutorial – December 19, Tucson, 2004 Accessing Services  Within the Algorithm, services are readily accessible.  Access to some of the “basic” services are pre-defined  msgSvc( )  histoSvc( )  ntupleSvc( )  Access to most other services must be located: StatusCode sc = service(“StoreGateSvc”, m_eventStore);  Retrieves the pointer to StoreGate Service  Then you use m_eventStore in your algorithm to access data objects  Typically done in initialize() of your algorithm and cached

K A Assamagan Analysis Tutorial – December 19, Tucson, 2004 Accessing Services Concrete Algorithm StoreGateSvc IHistogramSvc IMessageSvc IAlgorithm IProperty Obj_B HistogramSvc MessageSvc ParticlePropertySvc IParticlePropertySvc ApplicationMgr ISvcLocator Obj_A

K A Assamagan Analysis Tutorial – December 19, Tucson, 2004 JobOptions  The jobOptions file specifies the run-time configuration of your algorithm  Specifies all the services needed and their configuration  Determines what algorithms need to be run  In what order  Specifies the properties of the algorithm  Control over : Message Output Level Message Output Level Number of Events to process Number of Events to process Input file names. Input file names. Output file names, objects to save etc. Output file names, objects to save etc. And so on. And so on.

K A Assamagan Analysis Tutorial – December 19, Tucson, 2004 Some Common Entries in jobOptions.py  Including other python scripts: include ( "RecExCommon/RecExCommon_flags.py" ) include( "CaloRec/CaloCluster_jobOptions.py" )  Component libraries to be loaded theApp.DLLs += [ ] e.g. theApp.DLLs += [“MuonByteStream", “MuonAlgs" ]  Top level algorithms: “Type/ObjectName” theApp.TopAlg += [ ] e.g. theApp.TopAlg += [“MuonBuilderAlg" ] e.g. theApp.TopAlg += [“MuonBuilderAlg" ]  Maximum number of events to execute theApp.EvtMax=100 RunNumber=  internally, theApp.RunNumber = RunNumber (global flag)  internally, theApp.RunNumber = RunNumber (global flag)  Comments Preceded by #

K A Assamagan Analysis Tutorial – December 19, Tucson, 2004 Configuring an Algorithm  If you have an Athena algorithm MyAlg, you need to specify the following in the jobOptions:  theApp.DLLs += [“MyAlgLib”]  Name of the library where MyAlg is located  This is typically the package name  theApp.TopAlg += [“MyAlg/MyAlgName”]  MyAlg is your Algorithm class name  MyAlgName is any name you give it  Algorithms are run in the sequence they appear in the jobOptions  Specify property of the algorithm MyAlgName = Algorithm(“MyAlgName”) MyAlgName.someProperty = property_value

K A Assamagan Analysis Tutorial – December 19, Tucson, 2004 Running athena  athena  By default, it looks for jobOptions.py  athena MyJobOptions.py  Athena will use MyJobOptions.py for input configuration  athena MyJobOptions.py >& athena.log  Directs all screen printout to athena.log  athena –s MyJobOptions.py >& athena.log  -s prints out all jobOptions scripts that are included within  athena –c “EvtMax=10; doWriteESD=True” >& athena.log  Uses the options to overwrite default ones in jobOptions.py  Only works today with RecExCommon  athena – i MyJobOptions.py  Interactive mode of running athena

K A Assamagan Analysis Tutorial – December 19, Tucson, 2004 Standard Top Level JobOptions  RecExCommon_topOptions.py  Use to run full ATLAS Reconstruction on G3 or G4 simulation  Outputs ESD and AOD data and minimal ntuples  RecExTB_Combined_2004_jopOptions.py  Use to run reconstruction software on TB data and TB simulation  Outputs ESD data  TBAnalysis_topOptions.py  Used to analyze the output ESD data from RecExTB  Clients can plug in their own analysis algorithms  Outputs user ntuples  Other top level jobOptions available for :  ATLAS and TB : Simulation & Digitization  That output POOL files with relevant data

K A Assamagan Analysis Tutorial – December 19, Tucson, 2004 Today  You will learn how to :  Setup the software environment and compile your code  Familiarize yourself how to configure your code with jobOptions  use RecExCommon and UserAnalysis to reconstruct DC2 simulated data: Produce ESD and AOD Produce ESD and AOD And look at ntuples And look at ntuples  Write an analysis algorithm in Athena on AOD data as input And produce your own analysis ntuples And produce your own analysis ntuples  Write simple python based analysis scripts with AOD data as input Using Athena and ROOT features interactively Using Athena and ROOT features interactively