The intention of this page is to provide a gateway to more information about computing that a physicist will find useful. You don't have to be a nerd into computing to do particle physics. Its easy to get by with a bare minimum of knowledge and just do the physics. There is however an overlap where knowledge of more languages/scripting or computing will benefit you or satisfy your curiosity; again this depends on your interests.
BaBar uses a C++ framwwork as described extensively on the BaBar Computing Site. The problem is that you may not benefit from the full flexibility of your resources just knowing C++ and just enough tcl to get by with running BetaApps or other BaBar jobs. For example you will find using at least one scripting language exceedingly useful ... maybe not to day, maybe not tomorrow, but some day you will. I've annotated this page with a few comments about languages that may come in handy for BaBar physicists. This stuff is by no means necessary to know ... but there are situations where the added flexibility to perform mundane jobs in a quick one liner or few lines of a script will save you an evening of purgatory ... The following are subjective comments from the maintainer of this page ... this is blatantly obvious to anyone with 1/2 a brain cell or more ...
This is what BaBar uses for the bulk of its analysis code. There are a lot of users who still use FORTRAN and PAW when analyzing ntuples, however the trend is moving towards the use of root for analysis. Here are some links to get you started:
tcsh is the default shell for BaBar users ... one nice reassuring feature is that some of the syntax is similar to C.
bash/sh scripts are versatile ways to get the job done. Why use bash? Surely tcsh/csh are better because they're more familiar given the similarity to C syntax? There are times when csh variants just don't do the right thing. For these instances there is the option of getting the job done using something more heavy duty like perl or reverting to sh. The man pages provide some information on how to use this but .... they're man pages.
PERL has been described by some as Pathologically Eclectic Rubbish Lister ... if this is really the case then it is a Pathologically Eclectic Rubbish Lister that happens to be exceedingly useful and has saved me many an evening of tedious work. When bash/csh doesn't have the flexibility that you want in getting a tedious job done in a few lines then the chances are that a combination of awk, sed and perl will go a long way to achieve that goal.
Perl 5 supports OO programming, but this was an afterthought in the development of the language. As such OO perl is not as pretty to look at or use as C++/Java or Python. Perl also has a cgi module which is exceedingly useful in writing secure cgi scripts for the web. The following are some useful links to help you on your way to finding enlightenment in perl....
This is quite a sparse comment as I have only just contemplated my journey to this land. Python is an OO scripting language. The benefit of this will become relevant when you start to see that you have large perl (~1K lines) scripts lurking around your home directory. These become messy and hard to maintain rapidly unless severe levels of discipline is exhibited by the author. You can still write messy stuff in Python, but you have the alternative of using OO methods in a cleaner way than perl. N.B. Python is not adopted for use on BaBar. If you write scripts for general use on the experiment you should stick to perl/tcsh/sh.
These are sketchy notes as this is where physics starts getting thin and computing esoteric ... The future of particle physics experiments relys on large scale distributed computing systems. However the problem with this is that it is in the future and very few people are faced with the problem of what to do with over 100 Tb of physics data today ... The user should be able to carry on regardless while a select few, write code and maintain systems that we use to get our analysis done. The following links may be useful ... then again, they might not.
| Back to BaBar at Liverpool home | Back to home page | bevan@hep.ph.liv.ac.uk |