Presentation is loading. Please wait.

Presentation is loading. Please wait.

Recent and Proposed Changes to ZOOM Recent entries Intended future additions Possibilities –D0 and CDF users can affect which new “possible” additions.

Similar presentations


Presentation on theme: "Recent and Proposed Changes to ZOOM Recent entries Intended future additions Possibilities –D0 and CDF users can affect which new “possible” additions."— Presentation transcript:

1 Recent and Proposed Changes to ZOOM Recent entries Intended future additions Possibilities –D0 and CDF users can affect which new “possible” additions become actual Is it right to think about altering our mode of working now that the push to production is real?

2 Areas Special Functions CLHEP StdHepC++ Graded asserts From the Gurus gcc Collective Error Logging Possible or Probable

3 Gnu Scientific Library Special Functions Will other gsl sections be ZOOM-packaged –Could do some preemptively, but prefer to react to specific needs –At a minimum, we must think through and implement sensible C++-looking syntax for any section we incorporate into ZOOM Example: y = Ai(x) rather than Ai(double, double*) For many packages this may be non-trivial

4 Gnu Scientific Library Other Sections gsl includes –Numerical Integration –Monte Carlo Integration (including VEGAS) –Statistics –FFT –Equation solving –Minimization –Accelerated series convergence –Simulated annealing and … –Random numbers and distributions –Linear Algebra, Vectors, Matrices, and BLAS

5 Gnu Scientific Library Other Sections Will other gsl sections be packaged? –Could do some preemptively, but prefer to react to specific needs –At a minimum, we must think through and implement sensible C++-looking syntax for any section we incorporate into ZOOM Example: y = Ai(x) rather than Ai(double, double*) For many packages this may be non-trivial If we can’t spare this much time, package won’t go in Please don’t look for ZOOM to replace existing working ZOOM packages with gsl equivalents –Comparative testing takes a lot of work –If external work proves a major advantage, …

6 Gnu Scientific Library Special Functions Will other gsl sections be ZOOM-packaged –Could do some preemptively, but prefer to react to specific needs –At a minimum, we must think through and implement sensible C++-looking syntax for any section we incorporate into ZOOM Example: y = Ai(x) rather than Ai(double, double*) For many packages this may be non-trivial

7 CLHEP Moving some ZOOM packages  CLHEP –Exceptions –ErrorLogger –PhysicsVectors will derive from CLHEP classes This is going slowly –In all cases, ZOOM package will be kept in place so user code won’t need to change Random –Random Engine Factory –Object properties of distributions –Easy recipe for adding engines Zoom is not looking to add more engines per se –Additional distributions coming from gsl (e.g. Fdist) if users have specific needs!

8 StdHepC++ Intention is for a common format usable by generators, simulators, recon, and so forth Also utilities to move from that format to forms used by existing generators, simulators, … –hepevt StdHepC++ is CLHEP 1.5 –which is our latest ZOOM CLHEP release Major restructuring coming to take advantage of C++, make Particle class more standard and abstract, and separate particle properties form event relationships –A collision is a “Directed Acyclic Graph” of Particles/Vertices Possible coordination with HepMC, aimed at ATLAS

9 Graded Asserts assert1, assert2, assert3 (easiest to deactivate) controlled by NDEBUG, NDEBUG1, NDEBUG2, NDEBUG3 Same behavior as assert –Goes away completely when deactivated sanityCheck –assert that is to be left in even if NDEBUG is on Versions that route to the ErrorLogger –Elassert, ELwarningAssert, …

10 From the Gurus ZOOM is a fine place to keep the collection of useful small tools, contributed by experts in the experiments or the CD special projects group, which are carefully implemented and make good use of C++. Block a = {0.5, 1.2, 3.1, 4.2}; –std::container syntax, but simple enough to block- initialize IteratorFilter –behaves like an std::iterator but with a user-supplied filtering function. Simplifies loops. HolderPtr xptr; –when a HolderPtr is copied, a copy or clone is made of the pointed-to object To come: ZMnew allocator

11 gcc gcc (as of cvs checking we will do today!) is a working ZOOM platform coordinating with ISOcxx so standard C++ can be used –One library header (locales) is still missing –sstring is present but with caveates… Will be cutting a release ASAP because this is considered important –Debuggers –Memory leak tools available –Speed of compilation –Worry about KAI being acquired by Intel Will be seeing if the production build of CDF, and a “golden build” for a D0 release, will go smoothly with gcc.

12 Collective Error Logging New ELcollected destination derived from ELoutput –(so changes needed to use it are very minimal) Transport scheme must be provided by experiment –send ( nbytes, data ) –some way to know when data has arrived errlog ( nbytes, data ) on the server –will log that message in a sensible way More about this mechanism Thursday –Handholding to get it into a framework is appropriate

13 Possible and Probable Package of Boudreau generic-functions, automated derivatives, and approximations Splines –1-D splines already being tested Small correlation matrix objects –much less general, much simpler, faster than general Linear Algebra constructs Other gsl sections, if needs arise


Download ppt "Recent and Proposed Changes to ZOOM Recent entries Intended future additions Possibilities –D0 and CDF users can affect which new “possible” additions."

Similar presentations


Ads by Google