Updates and Results Talks and Posters Advice Ideas Important Figures Write-Ups Outreach How-To Funding Opportunities GENETIS
  Important Plots, Tables, and Measurements, Page 2 of 2  ELOG logo
ID Date Author Type Category Subject Projectdown
  12   Thu Mar 23 20:08:52 2017 J. C. HansonAnalysisAnalysisLatest near-surface ice report 

Hello!  See the attached report relating the compressibility of firn, the density profile, and the resulting index of refraction profile.  The gradient of the index of refraction profile determines the curvature of classically refracted rays.

Attachment 1: NearSurface_IceReport.pdf
  13   Thu Mar 23 21:43:12 2017 Abdullah AlhagAnalysisAnalysisThe results from running Karoo on the inelasticity data 

See attatchd file.

Attachment 1: The_result_of_using_Karoo_on_inelasticity_data.pdf
  18   Wed Jul 5 19:22:52 2017 Brian Clark and Ian BestLab MeasurementHardwareMac Addresses 

This is a "bank" of mac addresses that we obtained for the lab. They were taken by Ian Best (one of Jim' students) in summer 2017. We purchased 25 AT24MAC402 EEPROMS (https://www.arrow.com/en/products/at24mac402-stum-t/microchip-technology) and used a SOT-23 breakout board and a bus pirate to retrieve their internal mac addresses.

If you take one, please note where you used it so no one tries to take the same one twice:

Serial Number EUI (Mac) Address Used?
0x0A70080064100461105CA000A0000000 FC:C2:3D:0D:A6:71 Spare ADAQ (ADAQF002)
0x0A70080064100460FC6DA000A0000000 FC:C2:3D:0D:A7:37 Spare ADAQ (ADAQF003)
0x0A700800641004611C8DA000A0000000 FC:C2:3D:0D:A8:7C Spare ADAQ (ADAQF004)
0x0A70080064100461E47FA000A0000000 FC:C2:3D:0D:BC:BF -- reserved for testing
0x0A700800641004611C9FA000A0000000 FC:C2:3D:0D:BE:02  
0x0A70080064100461D8D9A000A0000000 FC:C2:3D:0D:C0:2D  
0x0A700800641004611C6EA000A0000000 FC:C2:3D:0D:C6:62  
0x0A70080064100460F0A0A000A0000000 FC:C2:3D:0D:C8:AF  
0x0A70080064100461F870A000A0000000 FC:C2:3D:0D:DC:22  
0x0A700800641004612CC7A000A0000000 FC:C2:3D:0D:E9:F4 ARA3 ADAQ (ADAQG003)
0x0A70080064100461EC43A000A0000000 FC:C2:3D:0D:EF:78  
0x0A7008006410046228B7A000A0000000 FC:C2:3D:0D:FE:3D  
0x0A70080064100461F065A000A0000000 FC:C2:3D:0E:05:6F  
0x0A70080064100461E8CDA000A0000000 FC:C2:3D:0E:14:4F  
0x0A70080064100461E07AA000A0000000 FC:C2:3D:0E:3A:AB ARA6 ADAQ (ADAQG004)
0x0A700800641004611813A000A0000000 FC:C2:3D:0E:6B:08  
0x0A700800641004612014A000A0000000 FC:C2:3D:0E:6B:59  
0x0A70080064100461E415A000A0000000 FC:C2:3D:0E:75:AE  
0x0A70080064100461F034A000A0000000 FC:C2:3D:0E:CB:03 PUEO TURF 2 (rsvd)
0x0A700800641004623434A000A0000000 FC:C2:3D:0E:CB:23 PUEO TURF 2 (main)
0x0A70080064100462A037A000A0000000 FC:C2:3D:0E:D5:55 PUEO TURF 1 (rsvd)
0x0A700800641004610C0DA000A0000000 FC:C2:3D:0E:E9:4A PUEO TURF 1 (main)
0x0A70080064100461E825A000A0000000 FC:C2:3D:0E:E9:DC PUEO TURF 0 (rsvd)
0x0A700800641004617438A000A0000000 FC:C2:3D:0E:EA:9E PUEO TURF 0 (main)
  20   Fri Jul 28 17:43:20 2017 Abdullah AlhagAnalysisAnalysis GP algorithms 

In this post, I will be pointing out the advantage and the disadvantage of the GP algorithms I came across, particular Eureqa and HeuristicLab.

Eureqa is by far the fastest genetic algorithm software I came across. It is over simplified and easy to use. It has some built-in fitness function and also with some playing with the function that is being solved for and some other feature, it is possible for one to write his/her own fitness function. Moreover, the software is available for free for academic use and for most platform. Other features come with the software is the ability to normalize the data in different ways and even handle outliers and missing data. The program support a large collection of functions including trig and more complex one.

One the other hand, HeuristicLab is much slower than Eureqa but still far faster than Karoo-GP. The latest version of the software was released a year ago, and the support for the software is fairly slow. It is only supported for Windows; however, there is plans to adopted to Linux systems. The software support way more feature than Eureqa or karoo and even different regression and classification algorithms. You could also get the function ready to use in many software such as MATLAB, Excel, Mathematica, and much more. Another cool feature is that it shows you a three of the function and the weight of each node (operation or operand), greener means the node has more weight, see attached. It should be noticed that the software has the tendency to grow large three which could be fixed by changing the default max three length and the max three depth. The software has a problem with the last update of windows 10, you will get the blue screen if you opened too many windows, so be careful.

In booth software you could change how much of the data set goes to training and how much goes to testing, be sure to shuffle the data in HeuristicLab as it will otherwise distribute the data as training and testing non-randomly. Booth software by default shows plot of the current function with the x axis being the data entries (row numbers) and y axis being the target values with a curve of the function estimate values.

Below is a simple run of both software on a fake data that Prof. Amy gave me, see out.txt for data.

For start, using eureqa I got a few functions with an average of mean of R^2 of 0.98 or more which is very good.

First function: frequency = (571953.335547372*y + 15786079*x^2*y^4 + 297065746*x*y^2*asinh(x))/factorial(7.44918899410674 + x + y)

The first has an R^2 of 0.99(1 means perfect fit) and mean absolute error of 2.98(0 means perfect fit, data dependent, not normalized), see plot1 for 1D plot of the function estimate values vs target values.

 

Second function: frequency = (3569.91823898791*x*y - 149.144996501988 - 100.216589664235*x^2)/(5.26462242203202^x + 7.09216771444399^y*x^(1.3193170267439*x))

The second has an R^2 of 0.994(1 means perfect fit) and mean absolute error of 3.2(0 means perfect fit, data dependent, not normalized), see plot2 for 1D plot of the function estimate values vs target values.

Also attached is 2D plot of the function against the data, the function plotted is the second function, but all are very similar, see Eq23.

 

Using HeuristicLab. The function below has an R^2 of 0.987, mean absolute error of 3.6 and normalized mean squared error of 0.012.

The function is: (((EXP((-1.3681014170483*'y')) * ((((-1.06504220396658) * (2.16142798579652*'x')) * (3.44831687407881*'y')) / ((((1.57186418519305*'y') + (2.15361749794796*'y')) / ((1.6912208581006*'y') / (EXP((1.80824695345446*'x')) * 16.3366330774664))) / ((((2.11818004168659*'x') * (1.10362178478116*'y')) - ((((-1.06504220396658) * (2.16142798579652*'x')) * (3.44831687407881*'y')) / ((((2.11818004168659*'x') + (2.15361749794796*'y')) / ((10.9740866421104 + (1.8106235953875*'y')) - (2.15361749794796*'y'))) / (((-7.8798958167) + (-6.76475761634751)) + ((2.87007061579651*'x') + (2.15361749794796*'y')))))) - (((((-8.85637334631747) * ((1.9238243855142*'y') - (1.01219957177297*'y'))) + (((-6.37085286789103) * 5.99856391145622) - ((-12.9565240969832) - 2.84841224458228))) - ((2.11818004168659*'x') * (1.10362178478116*'y'))) - (((2.11818004168659*'x') * ((((0.197306324191089*'y') + (0.255996267596584*'y')) - (2.16142798579652*'x')) - (((-1.06504220396658) * (2.16142798579652*'x')) / (12.2597910897177 / (1.25729305246107*'y'))))) - (EXP((-1.3681014170483*'y')) - ((((-6.29806655709512) * 6.39744830364858) / (12.2597910897177 / (0.728256926023423*'x'))) - (1.10362178478116*'y'))))))))) * 179.42788632856) + 2.24688690162535)

 

As you could see, HeuristicLab tend to generate function which are extremely large, this one has a depth of 15 and a length of 150.

 

See plot3 for 1D plot of the function estimate values vs target values, note that it is different from before because the data is shuffled,  and three.jpg for the three representation of the function showing the wight of each node, greener means has more weight.

Attachment 1: plot1.png
plot1.png
Attachment 2: plot2.png
plot2.png
Attachment 3: plot3.png
plot3.png
Attachment 4: Eq23-0.png
Eq23-0.png
Attachment 5: three.png
three.png
  24   Sun Sep 17 20:10:21 2017 Spoorthi NagasamudramModelingSimulationA different way to implement ray tracing in AraSim (possibly even other simulations) 

Hi,

I've attached a copy of some of the work I did over the summer on ray tracing and how I did it. Please let me know if you have any questions.

PS The plots are sidewards for some reasons. Sorry about that.

 

Attachment 1: raytracing_elog.pdf
  29   Tue Feb 27 23:13:15 2018 Amy Connolly OtherSimulationPlots for QC sites 

Hi All,

We need to revive the icemcQC and AraSimQC pages, and I thought that in the meantime we could keep a list and/or associated code for plots we'd like to see go in there.

Here are a couple plots I just made code attached is forstevenanddave.cc 

event weight (attenuation factor) vs. angle that neutrino makes wrt up when standing under the anita balloon

event weight (attenuation factor) vs. angle that rf makes wrt up from an observer on the anita balloon

BC: Adding old Stephen Hoover plots from ANITA elog: https://www.phys.hawaii.edu/elog/anita_notes/32

 

Attachment 1: forstevenanddave.cc
#include <iostream>
#include <fstream>
#include <math.h>
#include <string>
#include <stdio.h>
#include <stdlib.h>
#include <vector>
#include <time.h>
//#include <cmath>
#include "TH1.h"
#include "TFile.h"
#include "TLine.h"
#include "TTree.h"
#include "TROOT.h"
#include "TPostScript.h"
#include "TCanvas.h"
#include "TH2F.h"
#include "TText.h"
#include "TProfile.h"
#include "TGraphErrors.h"
#include "TRandom.h"
#include "TRandom2.h"
#include "TRandom3.h"
#include "TStyle.h"
#include "TVector3.h"

using namespace std;

TStyle* RootStyle();
TStyle *color=RootStyle();

double PI=3.1415926;

double R_EARTH=6.36E6;

TRandom3 *Rand3=new TRandom3();


int main(int argc, char *argv[]) {

  gStyle=color;
  gStyle->SetPalette(1);

  TFile *f = new TFile("/Users/amyc/icemc/outputs/icefinal.root");
  TTree *t1 = (TTree*)f->Get("passing_events");
  double logweight,theta_in,costhetanu,cosalpha,phi_in;
  double theta_rf_atbn;
  double e_component,h_component;
  double weight;

  t1->SetBranchAddress("logweight",&logweight);
  t1->SetBranchAddress("weight",&weight);
  // t1->SetBranchAddress("theta_in",&theta_in);
  //t1->SetBranchAddress("phi_in",&phi_in);
  //t1->SetBranchAddress("costhetanu",&costhetanu);
  t1->SetBranchAddress("cosalpha",&cosalpha);
  t1->SetBranchAddress("theta_rf_atbn",&theta_rf_atbn);
  t1->SetBranchAddress("e_component",&e_component);
  t1->SetBranchAddress("h_component",&h_component);

  TH2D *h2_weight_thetarf=new TH2D("h2_thetarf","h2_thetarf",100,50.,100.,100,-10.,1.);
  TH2D *h2_weight_alpha=new TH2D("h2_alpha","h2_alpha",100,90.0,130.,100,-10.,1.);
  TH1D *h2_ratio=new TH1D("h2_ratio","h2_ratio",100,-20.0,20.);

  for (int i=0;i<t1->GetEntries();i++) {
    t1->GetEvent(i);

    h2_weight_thetarf->Fill(theta_rf_atbn*180./PI,logweight);
    h2_weight_alpha->Fill(acos(cosalpha)*180./PI,logweight);
    h2_ratio->Fill(e_component/h_component,1E5*weight);
    cout << "weight, theta are " << logweight << "\t" << theta_rf_atbn << "\n";
  }

  TCanvas *c1=new TCanvas("c1","c1",800,800);
  c1->Divide(1,2);

  h2_weight_thetarf->SetXTitle("#theta_{rf at bn}");
  h2_weight_thetarf->SetYTitle("Weight");

  c1->cd(1);
  h2_weight_thetarf->SetMarkerSize(0.5);
  h2_weight_thetarf->Draw();
  
  c1->cd(2);
  h2_weight_alpha->SetXTitle("#theta_{#nu wrt up}");
  h2_weight_alpha->SetYTitle("Weight");
  h2_weight_alpha->Draw();

  c1->cd(2);
  h2_weight_alpha->SetXTitle("#alpha_{rf at bn}");
  h2_weight_alpha->SetYTitle("Weight");
  h2_weight_alpha->Draw();




  c1->Print("stevenanddave.eps");
  
  return 0;

}



TStyle* RootStyle() {

  //  const char* modified = "Borrowed and adapted from paus et al";

  TStyle *RootStyle = new TStyle("Root-Style","The Perfect Style for Plots ;-)");

#ifdef __CINT__
  TStyle *GloStyle;
  GloStyle = gStyle;                          // save the global style reference

  gStyle = RootStyle;
#endif
// otherwise you need to call TROOT::SetStyle("Root-Style")

  // Paper size

  RootStyle->SetPaperSize(TStyle::kUSLetter);

  // Canvas

  RootStyle->SetCanvasColor     (0);
  RootStyle->SetCanvasBorderSize(10);
  RootStyle->SetCanvasBorderMode(0);
  RootStyle->SetCanvasDefH      (600);
  RootStyle->SetCanvasDefW      (600);
  RootStyle->SetCanvasDefX      (10);
  RootStyle->SetCanvasDefY      (10);

  // Pads

  RootStyle->SetPadColor       (0);
  RootStyle->SetPadBorderSize  (10);
  RootStyle->SetPadBorderMode  (0);
  //  RootStyle->SetPadBottomMargin(0.13);
  RootStyle->SetPadBottomMargin(0.16);
  RootStyle->SetPadTopMargin   (0.08);
  RootStyle->SetPadLeftMargin  (0.15);
  RootStyle->SetPadRightMargin (0.15);
  RootStyle->SetPadGridX       (0);
  RootStyle->SetPadGridY       (0);
  RootStyle->SetPadTickX       (1);
  RootStyle->SetPadTickY       (1);

  // Frames

  RootStyle->SetFrameFillStyle ( 0);
  RootStyle->SetFrameFillColor ( 0);
  RootStyle->SetFrameLineColor ( 1);
  RootStyle->SetFrameLineStyle ( 0);
  RootStyle->SetFrameLineWidth ( 2);
  RootStyle->SetFrameBorderSize(10);
  RootStyle->SetFrameBorderMode( 0);


  // Histograms

  RootStyle->SetHistFillColor(0);
  RootStyle->SetHistFillStyle(1);
  RootStyle->SetHistLineColor(1);
  RootStyle->SetHistLineStyle(0);
  RootStyle->SetHistLineWidth(2);

  // Functions

  RootStyle->SetFuncColor(1);
  RootStyle->SetFuncStyle(0);
  RootStyle->SetFuncWidth(1);

  //Legends 

  RootStyle->SetStatBorderSize(2);
  RootStyle->SetStatFont      (42);
  //  RootStyle->SetOptStat       (111111);
  RootStyle->SetOptStat       (0);
  RootStyle->SetStatColor     (0);
  RootStyle->SetStatX         (0.93);
  RootStyle->SetStatY         (0.90);
  RootStyle->SetStatFontSize  (0.07);
  //  RootStyle->SetStatW         (0.2);
  //  RootStyle->SetStatH         (0.15);

  // Labels, Ticks, and Titles

  RootStyle->SetTickLength ( 0.015,"X");
  RootStyle->SetTitleSize  ( 0.055,"X");
  RootStyle->SetTitleOffset( 1.00,"X");
  RootStyle->SetTitleBorderSize(0);
  //  RootStyle->SetTitleFontSize((float)3.);
  RootStyle->SetLabelOffset( 0.015,"X");
  RootStyle->SetLabelSize  ( 0.050,"X");
  RootStyle->SetLabelFont  ( 42   ,"X");

  RootStyle->SetTickLength ( 0.015,"Y");
  RootStyle->SetTitleSize  ( 0.055,"Y");
  RootStyle->SetTitleOffset( 1.300,"Y");
  RootStyle->SetLabelOffset( 0.015,"Y");
  RootStyle->SetLabelSize  ( 0.050,"Y");
  RootStyle->SetLabelFont  ( 42   ,"Y");

  RootStyle->SetTitleFont  (42,"XYZ");
  RootStyle->SetTitleColor  (1);

  // Options

  RootStyle->SetOptFit     (1);

  RootStyle->SetMarkerStyle(20);
  RootStyle->SetMarkerSize(0.8);

  //  cout << ">> Style initialized with the Root Style!" << endl;
  //  cout << ">> " << modified << endl << endl;
  return RootStyle;
}
//need to get expected limit with sprinkling (counting exp and binned), observed limit given the two observed in the bins we saw them, observed limit including clustered events in passing events.  try to do the same for dailey's?
Attachment 2: plot_note.ps
ELOG V3.1.5-fc6679b