TPolarGraph, TFFTW, Txt2Root, RootDAQ

Hi Rooters,

I have four gadgets that I would like to make available to ROOTing world:

[ul]
TPolarGraph: Draw graphs in a polar coordinate systems
[list]

  • Works like TGraph
  • Set Radial and Polar divisions
  • Radial and Polar error bars
  • Auto-Detect Range
    [/ul]

TFFTW: Interface to the 1-Dim fftw algorithm (http://www.fftw.org)
[ul]

  • Forward + Backward Trafo
  • Transform data arrays, histograms (TH1), functions (TF1)
    [/ul]

Txt2Root: Easy conversion of data in text files to root trees
[ul]

  • Just add your branch specifier (e.g. “x/F y/F”) once to the text file instead of reprogramming your reading routine
    [/ul]

RootDAQ:
[ul]

  • Multi-channel DAQ system using the ROOT GUI libs
  • Generic TRun class for data storage / access
  • implemented under VC++ 6.0 / Windows
    [/ul]
    [/list:u]

All these are currently in a closed CVS archive, but I would like to make them more public and am also willing to do some debugging, adding features, etc. Where do I put them?

Sebastian

Sorry for this late reply. Your post appeared while we were attending CHEP.

[quote]I have four gadgets that I would like to make available to ROOTing world:
TPolarGraph: Draw graphs in a polar coordinate systems

  • Works like TGraph
  • Set Radial and Polar divisions
  • Radial and Polar error bars
  • Auto-Detect Range [/quote]

I understand that Olivier is already in contact with you to take your class.

[quote]TFFTW: Interface to the 1-Dim fftw algorithm (fftw.org)

  • Forward + Backward Trafo
  • Transform data arrays, histograms (TH1), functions (TF1) [/quote]

We have been working on a new package for interfacing ROOT with FFT packages, including fftw. We have defined an abstract interface TVirtualFFT. Anna Kreshuk can tell you more about this new package that will be introduced in ROOT CVS in the coming few weeks.

[quote]
Txt2Root: Easy conversion of data in text files to root trees

  • Just add your branch specifier (e.g. “x/F y/F”) once to the text file instead of reprogramming your reading routine [/quote]

What is the difference with the existing functions in ROOT like
TNtuple::readFile, TTree::ReadFile ?

[quote]RootDAQ:

  • Multi-channel DAQ system using the ROOT GUI libs
  • Generic TRun class for data storage / access
  • implemented under VC++ 6.0 / Windows [/quote]

Are these classes of general use? Do you have a web site/documentation?

Please iterate with us such that we can find out the useful classes from your package that could be copied/imported to ROOT CVS.
Many thanks for this posting and again sorry for this late reply.

Rene

Hi Sebastian,

I could use something like TFFTW. Is it possible to send it to me in whatever state it’s in? I have FFTW. If so, you can also contact me at ssgubser@Princeton.EDU.

Thanks,
Steve

Hi Sebastian,

Can you sen me your latest version of TPolarGraph ?

Olivier

Hi Rene,

now I was traveling, so sorry for my delay.

[quote][quote]TFFTW: Interface to the 1-Dim fftw algorithm (fftw.org)

  • Forward + Backward Trafo
  • Transform data arrays, histograms (TH1), functions (TF1) [/quote]

We have been working on a new package for interfacing ROOT with FFT packages, including fftw. We have defined an abstract interface TVirtualFFT. Anna Kreshuk can tell you more about this new package that will be introduced in ROOT CVS in the coming few weeks.[/quote]

Great!

[quote][quote]
Txt2Root: Easy conversion of data in text files to root trees

  • Just add your branch specifier (e.g. “x/F y/F”) once to the text file instead of reprogramming your reading routine [/quote]

What is the difference with the existing functions in ROOT like
TNtuple::readFile, TTree::ReadFile ?[/quote]

Nothing - just didn’t know about that one.

[quote][quote]RootDAQ:

  • Multi-channel DAQ system using the ROOT GUI libs
  • Generic TRun class for data storage / access
  • implemented under VC++ 6.0 / Windows [/quote]

Are these classes of general use? Do you have a web site/documentation?
[/quote]
The most general thing is the TRun data class, which is fine for things like reading ADC channels, etc. . The rest is maybe only usefull as an example for a ROOT GUI in Windows. There is quite a bit of documentation in the code, but no web-page.

Sebastian

[quote=“couet”]Hi Sebastian,

Can you sen me your latest version of TPolarGraph ?

Olivier[/quote]

Hi Oliver,

was traveling, so sorry for the late reply. I attached the last good version of TPolarGraph. I am currently working on adding the theta=zero angle and text orientation angle as parameters.

Sebastian
TPolarGraph.tar.gz (6.01 KB)

Thanks. I compiled your class and executed the test macro.
The compilation gives many warnings.

Why don’t you use a TGaxis on side for the “r” coordinates like in : couet.home.cern.ch/couet/root/ht17.html
Seems to me it is much clearer than having the text labels mixed up with the graph.

Also the circular part of the TPolarGram can be considered as a special option in TGaxis, can’t it ? That way we can suppress the TPolarGram class.

[quote=“couet”]Thanks. I compiled your class and executed the test macro.
The compilation gives many warnings.

Why don’t you use a TGaxis on side for the “r” coordinates like in : couet.home.cern.ch/couet/root/ht17.html
Seems to me it is much clearer than having the text labels mixed up with the graph.

Also the circular part of the TPolarGram can be considered as a special option in TGaxis, can’t it ? That way we can suppress the TPolarGram class.[/quote]

Hi Oliver,

I know about the warnings. However (as a physicist) I was content with the thing working…

The reason why I do not use the TGaxis is that I wanted the tick marks on the axis at the same position as the “radial grid”, i.e. the concentric solid and dashed circles. On could have of course used TGaxis, which is much nicer of course in finding the right values to put the labels on ( my class uses just the start and end of the axis, plus as many inbetween as you ask for by SetNdivRadia). But then I found no way to get the exact tick-mark positions from TGaxis, and putting the full TGaxis tick position code in my class seemed a bit overdoing for me.

In short, TGaxis seemed a bit to complicated for me, so I tried to avoid it.
One can of course go the way you describe, but then TPolargram is also used to draw several graphs in one.

The real proper way, I guess, would be to have radial coordinates in the Pad itself, but this is probably a larger effort…

Sebastian