Re: simultaneous fitting

From: David P. Huenemoerder <dph_at_email.domain.hidden>
Date: Mon, 2 Feb 2009 21:04:42 -0500
Hi Herbert,

    Herbert> is run. To that end, this is what I'm curious about. From
    Herbert> what I understand, once I combine two data sets into one,
    Herbert> there is only 1 piece of information now and that is what
    Herbert> I want to fit. If that is the case why would I have to
    Herbert> specify wavelength ranges for both sets of data if they
    Herbert> are already combined?

combine_datasets sets a flag in each dataset index given.  No data
arrays are summed.  You still need to notice/ignore the data by their
original indices.

if you do a 

print( get_data_info( n ) ) ; 

you will see (among other fields)

            combo_id = 0;
            combo_weight = 1;

combo_id and combo_weight give the combination information.  This
information is used by other functions, most notably fit(), which sums
the data and model arrays before computing the statistic.

    Herbert> On a secondary note, I think there is an issue with my
    Herbert> script to combine datasets. If I run the same script
    Herbert> using counts everything is fine and I get what I would
    Herbert> expect. However, if i run the script with flux, something
    Herbert> strange is happening. If I plot the plus and minus orders
    Herbert> before I combine them, then they look fine. But, if I
    Herbert> plot the plus and minus orders after I combine, one of
    Herbert> them is fine and the other is empty (horizontal line at
    Herbert> 0). I'm sure this is affecting my fit, but honestly I
    Herbert> don't know what the problem is. For brevity, I'll just
    Herbert> write the combining part of the code below:


    Herbert> variable h1_id;
    Herbert> variable heg1,weights;

    Herbert> weights=[0.5,0.5];

    Herbert> match_dataset_grids (1,2);

This isn't a problem, but if these are both HEG, they are on the same
grid and you don't need to do the matching.

    Herbert> h1_id = combine_datasets (1,2,weights);

OK.

    Herbert> heg1=get_combined (h1_id, &get_data_flux);

OK, if you have done a flux_corr( [1,2] );



    Herbert> xrange(1.0,10.0);
    Herbert> variable yname = latex2pg("Flux [Photons/s/cm^{2}/bin]");
    Herbert> open_plot,3;

Bad syntax there.  But the effect is to open a new xwin
so it might look like what you intended.

open_plot("/xwin");

(you can just skip it and the default will plot to xwin the first time)

    Herbert> hplot(heg1);

OK

    Herbert> If you see any obvious errors here let me know.

Nothing obvious - it might be a missing flux_corr.  Perhaps you did 
flux_corr(h1_id)?  That would only apply flux_corr to the single array
referenced by h1_id, which is probably 1, so 2's flux array has not
been computed.  

What flux_corr does is to divide the counts by the integral of arf*rmf
and store the result in a new internal array. 

Hope this helps,

-- Dave

David Huenemoerder  617-253-4283 (o); -253-8084 (f); http://space.mit.edu/home/dph
MIT Kavli Institute for Astrophysics and Space Research
70 Vassar St., NE80-6065,
Cambridge, MA  02139
[Admin. Asst.: Elaine Tirrell, 617-253-7480, egt_at_email.domain.hidden
----
You received this message because you are
subscribed to the isis-users list.
To unsubscribe, send a message to
isis-users-request_at_email.domain.hiddenwith the first line of the message as:
unsubscribe
Received on Mon Feb 02 2009 - 21:04:52 EST

This archive was generated by hypermail 2.2.0 : Mon Feb 02 2009 - 21:58:50 EST