350 likes | 456 Views
PEP The PHENIX Event Processor. The PHENIX Collaboration presented by S. P. Sorensen University of Tennessee at CHEP97. The PEP Team: Han Geng, Qihang Liu, David P. Morrison , Li Qun, Victor Perevoztchikov , Kyle Pope, Mark Pollark, Soren Sorensen and Yan Zhao. Outline.
E N D
PEPThe PHENIX Event Processor The PHENIX Collaboration presented by S. P. Sorensen University of Tennessee at CHEP97 The PEP Team: Han Geng, Qihang Liu, David P. Morrison, Li Qun, Victor Perevoztchikov, Kyle Pope, Mark Pollark, Soren Sorensen and Yan Zhao
Outline • PHENIX’s Computing Model • PHENIX Requirements • Types of Analysis Frameworks • Domains and Implementation Choices • Interprocess Communication • User Modules • Data Structure Management • RHIC Off-line Software Collaboration
PHENIX’s CPU and Data Storage Requirements CPU Data Production and Storage
PHENIX Analysis Framework Requirement I • Environment • Can operate in a distributed, heterogeneous environment • Can operate in a single node environment • Can operate both on the highest performance chips and the best price/performance chips
PHENIX Analysis Framework Requirement II • Configurability • Can be configured to do all aspects of the PHENIX Data analysis • Will allow the creation of • a small, ``tight'' executable for the single user • a large comprehensive set of executables for the large-scale tasks like Event Reconstruction • Can operate in both batch and interactive mode with same functionality • Will allow already existing software (PISA/PISORP) to be incorporated
PHENIX Analysis Framework Requirement III • Data Access • Will allow the user access to all of PHENIX data through a uniform API • Will allow the user to perform data queries • Will allow full access to both a global, central database and local data bases • Will allow the user to graphical view the data • Will allow access specifically to all data in the online/DAQ system injected into the routing layer
PHENIX Analysis Framework Requirement IV • User Interface • GUI and batch interface shall provide identical functionality • GUI should be tailorable by the user • GUI-batch mode switchable at run time • GUI can run on a small, cheap computers (PC, Mac, etc..) • User Interface the same in all running modes except for a few mode dependent menus. (a la Mac menus)
PHENIX Analysis Framework Requirement V • I/O • Will provide I/O from/to disk, tape, HSMS, memory and the PHENIX routing layer • Visualization • Will provide interface to HEP visualization tools: PAW, ROOT, .. • Will allow all event data and as much static data as possible to be viewed superimposed on the PHENIX geometry
Classical Type ofAnalysis Framework Co-located Module Main Initialization Bookkeeping etc. Event Loop Module Module Control Core vs. User Core vs. User Run time vs. Compile time Run time vs. Compile time Examples GEANT: User PISA: Core ROOT: Core PEP1: Core, Compile PEP2: User, Compile STAF: User, Run ROOT: User, Run PEP: Compile STAF: Compile ROOT: Run
“Modern” Type of Analysis Framework Module Event Loop Main Module Indirection Indirection Module Indirection: Software Bus, Communication Layer • Advantages of indirection: • Insulates Modules (Language …) • Allows distributed architecture • Insulates GUI from Modules
PEP’s LayeredArchitecture (Graphical) User Interface Standard Interface Controller Control Messages Data Opera-tor A Data Opera-tor B Data-base Tool User Layer I/O Tool Event Data Messages Standard Interface Event Data Store Database This is a typical example of an implementation of the “Toaster” Model.
PEP Implementation Choices I • GUI: TCL/TK • Allows both GUI and Macro interface • Available on many platforms • Interprocess Communication: PVM • Parallel Virtual Machine • Between TCP/IP and CORBA in complexity, flexibility and overhead • Data Structure Management: DSPACK • Created by Ryszard Zybert et al. for NA49 • Database: ORACLE • Robust and fast for simple data structures • Does the job for off-line • But an OODB might be better in the long run
PEP Functional Units II • Input & Output Tool • Provides all I/O of data structures (as opposed to control data which flows through the GUI) • Data Base Tool • Provides local access to either the central data base or a local, cache data base • Central Data Base Server • Provides access to the central data base at RHIC. Runs on the RHIC cluster. • Visualizer • Provides all graphics services like histogram display, event display and graphical data interaction • Provides monitoring of all PHENIX specific aspects of the data flow
PEP Functional Units I • Controller • The ``brain'' of PEP • Starts and stops all other processes • Controls all communication between processes • Monitors the status of all processes • Allocates resources • Graphical User Interface (GUI) • Provides for all interaction between PEP and the user • Data Operators • Accept data structures as input, perform operations on them and provide data structures as output • Contains 95\% of all user code
PEP Implementation Choices II • Visualization • Spectra: DSPACK & PAW --> DSS • Event display: OnX. • OS: UNIX & NT • UNIX: SGI, HP, DEC, IBM, Sun • NT: On Pentium Pro • Languages: C, C++ • Most of core PEP implemented in C • A bit of FORTRAN for interface to Event Generators and for GEANT
PEP Controller Main Loop do while ( ActiveOperators ) CheckIn !Checks for mail and !sends it to the postoffice do while ( new mail in PostOffice ) MailMan gets mail with generic address (Dop) MailMan asks Broker for best specific address (Dop.A.1) If ( Specific address exists ) MailMan delivers mail to Proxy Proxy Object sends mail to real object Original mail in Postoffice is destroyed else Original mail is kept end if end do Audit end do
PEP Module Types I(Simulation) • Event Generator [Gen] • Generates simulated events in the form of a list of particles created at the vertex • Hit Generator [Hit] • Accepts the Gen output and generates hits in all sensitive volumes. (GEANT Application) • Signal Generator [Sig] • Accepts the Hit output, sums hits over all readout volumes and calculates the final physics output signal in each read-out channel • FEE Simulator [Fee] • Simulates the response of the front-end electronics to provide the digital signals in each channel. Typical effects: digitization, discriminator walk, pedestals etc.
PEP Module Types II(Trigger) • Level 1 Trigger Simulator [Tl1] • Simulates all aspects of the data handling in the level 1 trigger • Level 2 Trigger Simulator [Tl2] • Simulates all aspects of the data handling in the level 2 trigger • Level 3 Trigger Simulator [Tl3] • Simulates all aspects of the data handling in the level 3 trigger
PEP Module Types III(Initial Off-line) • Calibrator [Cal] • Accepts the raw data as input an either calculates calibrations constants or performs all calibrations and corrections of the raw data. • Local Event Reconstruction [ReA] • Performs all event reconstruction at the detector level which an be done in a stand-alone mode. Examples: Cluster finding in EMC, Hit finding in the Drift Chambers • Sub-system Event Reconstruction [ReB] • Performs all event reconstruction at the sub-system level, which is done based on the input of information from another detector in the same sub-system. Example: Finding muon tracks in the muon tracking systems based on a list of identified muons from the muon identifier.
PEP Module Types IV(Late Off-line) • Global Event Reconstruction [ReC] • Performs all event reconstruction at the global PHENIX level, where information from other sub-systems is necessary. Example: Particle identification • Data Mining [DaM] • Perform all function related to data mining: preparation of data in storage system and search of data. • Analyzer [Ana] • Performs subsequent data analysis.
PEP Current Status • PEP has been frozen as of Mar 1997 • RHIC Software Collaboration • PHENIX has decided to collaborate with STAR and the other RHIC experiments on Core Off-line Software • Straw man model • Analysis Framework: STAF • Display: ROOT • Database: ORACLE • Event Data Storage: Outcome of Computational Grand Challenge Project on Data Organization