LAr Athena Tutorial – November 2, 2004 Software Tutorial (Minimally modified transparencies from Offline Software Tutorial of Srini R., Hong M., David.

Slides:



Advertisements
Similar presentations
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.
Advertisements

David Adams ATLAS DIAL Distributed Interactive Analysis of Large datasets David Adams BNL March 25, 2003 CHEP 2003 Data Analysis Environment and Visualization.
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.
L3 Filtering: status and plans D  Computing Review Meeting: 9 th May 2002 Terry Wyatt, on behalf of the L3 Algorithms group. For more details of current.
Gaudi Framework Tutorial, April Introduction.
Event View G. Watts (UW) O. Harris (UW). Philosophy EventView Goals Object Identification & Interpretation Is that a jet or an electron? Is that jet a.
Event Data Model in ATLAS Edward Moyse (CERN) On behalf of the ATLAS collaboration CHEP 2004, Interlaken.
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.
Gnam Monitoring Overview M. Della Pietra, D. della Volpe (Napoli), A. Di Girolamo (Roma1), R. Ferrari, G. Gaudio, W. Vandelli (Pavia) D. Salvatore, P.
Introduction to Gaudi LHCb software tutorial - September
Fabiola Gianotti, 31/8/’99 PHYSICS and SOFTWARE ATLAS Software Week 31/8/’99 Fabiola Gianotti Software requirements of physics groups What should Detector.
Chapter 8 Object Design Reuse and Patterns. Object Design Object design is the process of adding details to the requirements analysis and making implementation.
A Technical Validation Module for the offline Auger-Lecce, 17 September 2009  Design  The SValidStore Module  Example  Scripting  Status.
24/06/03 ATLAS WeekAlexandre Solodkov1 Status of TileCal software.
Use of Gaudi in Reconstruction Weidong Li 23/06/2004.
Alexander Richards, UCL 1 Atlfast and RTT (plus DCube) Christmas Meeting 18/12/2007.
Reconstruction Configuration with Python Chris Jones University of Cambridge.
A university for the world real R © 2009, Chapter 9 The Runtime Environment Michael Adams.
9-13/9/03 Atlas Overview WeekPeter Sherwood 1 Atlfast, Artemis and Atlantis What, Where and How.
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.
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.
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.
David Adams ATLAS DIAL: Distributed Interactive Analysis of Large datasets David Adams BNL August 5, 2002 BNL OMEGA talk.
A New Tool For Measuring Detector Performance in ATLAS ● Arno Straessner – TU Dresden Matthias Schott – CERN on behalf of the ATLAS Collaboration Computing.
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.
The “Comparator” Atlfast vs. Full Reco Automated Comparison Chris Collins-Tooth 19 th February 2006.
- GMA Athena (24mar03 - CHEP La Jolla, CA) GMA Instrumentation of the Athena Framework using NetLogger Dan Gunter, Wim Lavrijsen,
Geant4 release 5.1 summary Gabriele Cosmo EP/SFT.
Chapter – 8 Software Tools.
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.
Software Week - 8/12/98G. Poulard - CERN EP/ATC1 Status of Software for Physics TDR Atlas Software Week 8 December 1998 G. Poulard.
Muon Persistency Persistent Analysis Objects Muon Persistency Norbert Neumeister µ-PRS meeting February 10, 2004.
Marco Cattaneo, 6-Apr Issues identified in sub-detector OO software reviews Calorimeters:18th February Tracking:24th March Rich:31st March.
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.
Athena StoreGate Tutorial: May 30, Objectives Learn how to access data objects using StoreGate How to record/retrieve by TYPE Optionally using keys.
BES III Software: Beta Release Plan Weidong Li 19 th October 2005.
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.
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.
David Adams ATLAS Hybrid Event Store Integration with Athena/StoreGate David Adams BNL March 5, 2002 ATLAS Software Week Event Data Model and Detector.
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
Concluding discussion on Commissioning, Etmiss and DPD
CMS High Level Trigger Configuration Management
Introduction to Gaudi LHCb software tutorial - December 2010.
OO Muon Reconstruction in ATLAS
SW Architecture SG meeting 22 July 1999 P. Mato, CERN
What’s new in version 5 of GAUDI
2 Getting Started.
2 Getting Started.
2 Getting Started.
Introduction to Gaudi Schedule: Timing Topic 20 minutes Lecture
Use Of GAUDI framework in Online Environment
Planning next release of GAUDI
Presentation transcript:

LAr Athena Tutorial – November 2, 2004 Software Tutorial (Minimally modified transparencies from Offline Software Tutorial of Srini R., Hong M., David R.)

LAr Athena Tutorial – November 2, 2004 [1] G. Booch, “Object Solutions”, Addison-Wesley 1996 [2] E. Gamma, et al., “Design Patterns”, Addison-Wesley 1995 The Framework : Athena  Framework Definition [1,2] Architectural pattern that codifies a particular domain. It provides the suitable knobs, slots and tabs that permit clients to use and adapt to specific applications within a given range of behavior. Architectural pattern that codifies a particular domain. It provides the suitable knobs, slots and tabs that permit clients to use and adapt to specific applications within a given range of behavior.  In practice A skeleton of an application into which developers plug in their code and provides most of the common functionality and communications among different components. A skeleton of an application into which developers plug in their code and provides most of the common functionality and communications among different components.

LAr Athena Tutorial – November 2, 2004 Or simply put, a Framework is:  The software that makes sure your code  Runs at the right time  With the right input data  And takes care of any output

LAr Athena Tutorial – November 2, 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()  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

LAr Athena Tutorial – November 2, 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

LAr Athena Tutorial – November 2, 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  For Test-Beam, expect only ESD stream to be written out.  Ntuples? Will be written out to monitor data, but clients should expect to do their analysis off ESD and make their own specialized ntuples. Will be written out to monitor data, but clients should expect to do their analysis off ESD and make their own specialized ntuples.

LAr Athena Tutorial – November 2, 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

LAr Athena Tutorial – November 2, 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

LAr Athena Tutorial – November 2, 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 (N.B., this is not the same as the HLT Sequence we will discuss later)  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.

LAr Athena Tutorial – November 2, 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  Typically done in initialize() of your algorithm and cached  Then you use m_eventStore in your algorithm to access data objects

LAr Athena Tutorial – November 2, 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.

LAr Athena Tutorial – November 2, 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 += ["CaloRec", "LArClusterRec","TileRecAlgs" ]  Top level algorithms: “Type/ObjectName” theApp.TopAlg += [ ] e.g. theApp.TopAlg += ["CaloClusterMaker/CaloSWClusterMaker" ] e.g. theApp.TopAlg += ["CaloClusterMaker/CaloSWClusterMaker" ]  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 #

LAr Athena Tutorial – November 2, 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”) // handle to algorithm MyAlgName.someProperty = property_value

LAr Athena Tutorial – November 2, 2004 Global Flags  There are many flags that are set to a default value in the jobOptions and can be over-written to suit your needs:  These flags are used to control the execution process  Major Flags:  theApp.EvtMax = 100  theApp.EvtMax = 100# maximum number of events  RunNumber = # run number  doWriteESD = False# do not write ESD output  Flags to control which sub-system reconstruction to run:  doInDet = False  doLar = True  doTile = True  …  + Sub-System specific flags

LAr Athena Tutorial – November 2, 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

LAr Athena Tutorial – November 2, 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

LAr Athena Tutorial – November 2, 2004 CVS, CMT, Releases  All atlas offline code is stored in CVS, which manages the evolution of the source files  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 9.4.0) with a « major release » approximately every 6 months.  Release : March 3, 2005  Release : 14 September 2005  Bug Fix releases (10.0.1, 10.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)  Project Builds will be coming soon…

LAr Athena Tutorial – November 2, 2004 Available algorithms (10.0.1) (Some of these correspond to several Athena Algorithms)  Truth interface  xKalman++ (tracking)  iPatrec (tracking)  LArg Reconstruction  Tile Reconstruction  Muonbox, Moore (Muon reconstruction)  Jet Reconstruction  E/gamma identification  Tau identification  missing E T  Vertexing (primary vertex, interface of secondary vertices)  Conversion  Energy flow  …

LAr Athena Tutorial – November 2, 2004 CBNT  Each Reconstruction algorithm typically fills a block of the combined ntuple (CBNT). They provide an algorithm (e.g. CBNT_CaloCell) that is executed within Athena.  Description of variables produced by the CBNT algorithms are at:  es/CBNT_Athena/CBNT_variables.htm es/CBNT_Athena/CBNT_variables.htm es/CBNT_Athena/CBNT_variables.htm  This allow easy checking of basic quantities  However, the recommended model is not to write long kumacs to analyse the ntuples, but rather to do the analysis in the Athena (i.e look for Z candidates and fill ntuple with Z variables)  We have the ability to write/read all objects into POOL (persistency) ESD and AOD streams contain reconstruction output ESD and AOD streams contain reconstruction output  equivalent of data in CBNT equivalent of data in CBNT Write analysis algorithms that produce your speacialized ntuples Write analysis algorithms that produce your speacialized ntuples  Additional tools: Interactive Athena, PYROOT for analysis

LAr Athena Tutorial – November 2, 2004 Interactive Athena  Allows finer control of algorithm execution at the event level  Can execute python scripts from an athena interactive prompt  Python scripts can in turn have access to Event Data in StoreGate  Access to C++ algorithms, including tools developed for Athena  Access to python modules  Access to ROOT utilities… including root histogramming.  Allows you to write physics analysis scripts in python That can analyze ESD and AOD directly That can analyze ESD and AOD directly And write your analysis output to ROOT tuples. And write your analysis output to ROOT tuples.