Print

Print


Thanks for the example. Just in case there are other people out there as
naive as I am,
let me extend it a little.

If you use the  code structure where your driver invokes a processor
(this was
an example code I was given) then the ScatterPlot declaration goes in
the
AbstractProcessor class not the Driver class.

One problem with this approach is that the scatter plot is placed in the
top level of Histograms. With
the histogram (lowercase "h") convenience method the inline
declaration/accumulation means
I can look at the data for an event, determine the event type and define
a sub-folder for histograms
of that event type (in my case primary partons). This is a very useful
feature (there is a similar
facility, subdirectories, in PAW). I presume this will be possible also
with scatterPlot (lowercase "s")
when it is added to EventHandler.

**************************************
final public class StdHEPView extends Driver
{
 public StdHEPView()
 {
  add(new MCCheck()); // user analysis routine
 }
}

class MCCheck extends AbstractProcessor
{
// Define some histograms
   private ScatterPlot Kmomcos = new ScatterPlot("K+- Momentum vs
costh");

   public void process(LCDEvent event)
 {
  final LCDEvent data = (LCDEvent) event;
 .....
    Kmomcos.fill(ptot,costh);
 }


**********************************

Tony Johnson wrote:

> The code sample in my last message should have been:
>
> class MyDriver extends Driver
> {
>      private ScatterPlot myscat = new ScatterPlot("title");
>
>      public void process(LCDEvent e)
>      {
>          ...
>
>          double x = whatever;
>          double y = whenever;
>
>          myscat.fill(x,y);
>      }
> }

--
********************
Robert J. Wilson
Professor of Physics
Department of Physics
Colorado State University
Fort Collins, CO 80523
Phone:  (970) 491 5033
Fax:      (970) 491 7947
********************