Efficient Development Practices


I’ve been looking around these forums and through the CMSWorkBook for information on analysis and development tips - but beyond syntax, more about efficient ways to use the tools available to us.

I’ve been using kwrite on the clusters (lxplus, cmslpc), or nano occasionally, but getting kicked off of the clusters and reconnecting, and the slowness of working with ROOT over the network has made me interested in locally developing and analyzing data.

I have 3 computers with 3 OS’s-- code::blocks on Ubuntu, visual C++ on XP, and XCode 3.2.2 on OSX10.6., each with their own installations of ROOT with python. I’ve been playing with each, and am leaning towards XCode because its on my mactop.

Does anyone have any tips/lessons learned on what is the most efficient way to analyze a root file? Is it just using ROOT CINT, or linking ROOT and an IDE?




I do most development on the Mac. For editing code I use the xed editor, which is the command line interface to start the Xcode editor. Projects not fully integrated in the Xcode IDE can still be accessed via the IDE if you include them in the Organizer window, but that does not help much more then just running ./configure;make from the command line. To access ROOT files use either the command line or the ROOT TBrowser. Remote ROOT access looks like an anachronism as most laptop/private desktops are more powerful than a shared remote machine combined with efficient remote ROOT data file access.

Cheers, Fons.

Hi James,

For what it’s worth I use a local copy of emacs to edit remote files. The advantages of this is that I only need to make sure that my local copy of emacs is configured like I like it and that if my internet connection drops out, then I don’t lose anything.


See charles.plager.net/emacs.html#tramp for some details.