Presentation is loading. Please wait.

Presentation is loading. Please wait.

PHENIX Simulation System 1 August 11, 1999 Simulation Work-in-Progress: ROOT-in-PISA Charles Maguire Vanderbilt University August ‘99 Software.

Similar presentations


Presentation on theme: "PHENIX Simulation System 1 August 11, 1999 Simulation Work-in-Progress: ROOT-in-PISA Charles Maguire Vanderbilt University August ‘99 Software."— Presentation transcript:

1 PHENIX Simulation System 1 Software@BNL August 11, 1999 Simulation Work-in-Progress: ROOT-in-PISA Charles Maguire Vanderbilt University August ‘99 Software Meeting

2 PHENIX Simulation System 2 Software@BNL August 11, 1999 ROOT-in-PISA Developments Started with Null Experience in ROOT I/O & Classes Began ROOT learning curve in June became a “pro” fessor in July (even helping STAR people with ROOTTALK queries !) Built ROOT from source code with debug option on 3 platforms used in PHENIX Ran ROOT stress tests on all platforms used by PHENIX (DEC Alpha cxx problem) Reviewed existing GEANT-to-ROOT model gh2root First run F77 exe to convert ZEBRA data structures to ROOT objects ROOT objects based on standard GEANT data structures ROOT objects converted to detector hits based on knowledge of GEANT geometry tree in Off-Line framework (GFHITS calls) Not well-matched to current PHENIX model Pushing the ROOT envelope: put ROOT inside PISA Write directly a ROOT file from PISA Saves F77 conversion step; decouples GEANT from PHOOL Requires mixing of F77, C, and C++ classes, and libraries

3 PHENIX Simulation System 3 Software@BNL August 11, 1999 ROOT-in-PISA Developments Pushing the ROOT envelope (review from July) Learned Event example in ROOT Teaches the newcomer how to write and read ROOT Trees Good mapping between ROOT Tracks Class and our new PISA Hits Class Teaches one how to incorporate user classes inheriting from ROOT classes Developed first BbcPISAEvent class in June Prototype of all detector subsystem classes for PISA events Wrote stand-alone program to read existing PISA hits file from MDC Taken from DIO with all references to STAF software removed ZEBRA data structures are READ and Event objects are WRITTEN Write components will now be transferred into PISA Stand-alone program mixes F77, C, and C++ source files and libraries Demonstrated to work on Linux, SunOS, and DEC Alpha platforms Developed PGF77-free version of PISA on Linux Needs correct match of CERNLIBs (only “new” g77 works) Will be overhauling PISA in September with most recent CERNLIB libraries, assuming these pass our QA tests (need upgrade for PbGl Cerenkov photons)

4 PHENIX Simulation System 4 Software@BNL August 11, 1999 Truth-be-told: What we promised in July ROOT-in-PISA to be ready by July 30 Aggressive scheduling to keep us on edge Aim to be very transparent for subsystem programmers Will support all existing Simulation functions now in STAF including event merging and ancestry tracing PISA make file with be PGF77 free by July 30 No need to build your own, they will all exist on AFS at RCF ! 3D magnetic field map by August 30 Well, we tried real hard.

5 PHENIX Simulation System 5 Software@BNL August 11, 1999 Truth-be-told: What we produced in July All subsystem PISA hits classes are done Includes both Central Arm and Muon Arm Includes both writing the ROOT file from PISA and the readback shared library in ROOT macro (a’ la PHOOL) Includes the re-assembly of the PISA subevents into full events, completely transparent to the user as in STAF Track ancestry software guarantee fulfilled The dio_ptrkstack interface is exactly the same as in STAF The unique track numbering is exactly the same as in STAF MERGE file numbering will be exactly the same as in STAF Header record information is upgraded from STAF table form

6 PHENIX Simulation System 6 Software@BNL August 11, 1999 Truth-be-told: What we produced in July STAF ancestry PAMs in STAF ported to ROOT mAncXxx modules which correlate PISA hit information in subsystem with track ancestry (e.g. making radiograph plots) All STAF references removed and replaced by class methods Editing time just minutes to convert from STAF to ROOT/PHOOL Can browse PISA output file independently in ROOT (and there’s already been a request for this browsing function) Temporary CVS repository for main ROOT-in-PISA classes../pisa/src/root includes both.h and.cc files, and a makefile for producing a shared object library and a pisaRootRead binary Works on both SunOS and Linux platforms (we use SunOS mostly) Have written ~500 kBytes of ROOT-in-PISA class source code, and will write ~200 kBytes more (~4.5 MBytes../offline/framework/... )

7 PHENIX Simulation System 7 Software@BNL August 11, 1999 Event Tree and Code Examples PISAEvent is the main class based on ROOT’s Event class PISAEvent contains PISAEventheader class PISAEvent contains subsystem XxxPISAHit classes XxxPISAHit classes data members correspond to xxxghit STAF tables XxxPISAHit classes have usual C++ accessor methods XxxPISAHit classes have two static (global) variables and methods Post-PISA code fragment example static Int_t GetDchCount() {return DchCount; } // in DchPISAHit.h static DchPISAHit *GetDchHitEvt() {return DchHitEvt; } // in DchPISAHit.h Int_t dchRows = DchPISAHit::GetDchCount(); // in post-PISA browser DchPISAHit *dcghit = DchPISAHit::GetDchHitEvt(); // in post-PISA browser Int_t mctrack = dcghit[0].GetMctrack(); // accessor method in browser

8 PHENIX Simulation System 8 Software@BNL August 11, 1999 Root-in-PISA: What comes next Complete the PARA classes XxxPISAPara Analogous to the XxxPISAHit classes, except not event-by-event Will also be replicas of what is in the STAF tables Have already written several, but not all of these classes Interface to the PHOOL framework PISA’s ROOT output file somewhat analogous to DAQ’s PRDF, but biggest difference is that we already in a ROOT format We also have already a GetNextEvent() method working in ROOT Need to have the PISA file I/O control done by PHOOL methods Need to have filled PISA hits classes put into PHOOL node tree We’re real serious about Quality Assurance ROOT-in-PISA code will not be deemed ready until a PRDF file is made which gives event reconstruction identical to STAF software Have already discovered small anomalies in two subsystems (pre-existing?)

9 PHENIX Simulation System 9 Software@BNL August 11, 1999 Root-in-PISA: What comes next We’re real serious about Quality Assurance Code will be checked on all platforms where PISA is now working Special checks need to be done on the Linux platform Will be most widely used platform for PISA We will change from PGF77 to g77 compilation (g77 debugger issue?) Have to change the CERNLIBs from PGF77 built to g77 built Will move to most recent CERNLIB release for GEANT Cerenkov photon option for EMCal (did not exist when RICH was written) Will check that segmentation errors found in ‘97 and ’98 releases are fixed on the different platforms GEANT random number initialization problem well-known on Linux Goal is to make these moves in September Will redo the PISA makefile system Current version almost same since H-J Kehayias wrote it in ‘95 for CVS Will learn new-fangled automake facility (yeh YAPOS)


Download ppt "PHENIX Simulation System 1 August 11, 1999 Simulation Work-in-Progress: ROOT-in-PISA Charles Maguire Vanderbilt University August ‘99 Software."

Similar presentations


Ads by Google