diff --git a/examples/dcdriftdist.C b/examples/dcdriftdist_hms.C
similarity index 100%
rename from examples/dcdriftdist.C
rename to examples/dcdriftdist_hms.C
diff --git a/examples/dcdriftdist_sos.C b/examples/dcdriftdist_sos.C
new file mode 100644
index 0000000000000000000000000000000000000000..935be5a2a2b7a994a18f4ac98e37ca229b95c29b
--- /dev/null
+++ b/examples/dcdriftdist_sos.C
@@ -0,0 +1,31 @@
+ {
+  TFile* f = new TFile("hodtest.root");
+ 
+  TCanvas *c1 = new TCanvas("c1", "Drift Chamber Drift Distance", 800, 800); 
+  c1->Divide(2, 6);
+
+  TH1F* h[12];
+
+  h[0] = sdc1u1_dd;
+  h[1] = sdc1u2_dd;
+  h[2] = sdc1x1_dd;
+  h[3] = sdc1x2_dd;
+  h[4] = sdc1v1_dd;
+  h[5] = sdc1v2_dd;
+  h[6] = sdc2u1_dd;
+  h[7] = sdc2u2_dd;
+  h[8] = sdc2x1_dd;
+  h[9] = sdc2x2_dd;
+  h[10] = sdc2v1_dd;
+  h[11] = sdc2v2_dd;
+  
+  for(Int_t ih=0;ih<12;ih++) {
+    Int_t ipad = 2*(ih%6)+1 + ih/6;
+    cout << ipad << endl;
+    c1->cd(ipad);
+    h[ih]->SetFillColor(kBlue);
+    h[ih]->SetFillStyle(3354);
+    h[ih]->Draw();
+  }
+
+}
diff --git a/examples/dchitmaps.C b/examples/dchitmaps_hms.C
similarity index 100%
rename from examples/dchitmaps.C
rename to examples/dchitmaps_hms.C
diff --git a/examples/dchitmaps_sos.C b/examples/dchitmaps_sos.C
new file mode 100644
index 0000000000000000000000000000000000000000..ec7a1d0a8f42caef9bc2444767ca2a6de606f32a
--- /dev/null
+++ b/examples/dchitmaps_sos.C
@@ -0,0 +1,31 @@
+ {
+  TFile* f = new TFile("hodtest.root");
+ 
+  TCanvas *c1 = new TCanvas("c1", "Drift Chamber Hit Maps", 800, 800); 
+  c1->Divide(2, 6);
+
+  TH1F* h[12];
+
+  h[0] = sdc1u1_wm;
+  h[1] = sdc1u2_wm;
+  h[2] = sdc1x1_wm;
+  h[3] = sdc1x2_wm;
+  h[4] = sdc1v1_wm;
+  h[5] = sdc1v2_wm;
+  h[6] = sdc2u1_wm;
+  h[7] = sdc2u2_wm;
+  h[8] = sdc2x1_wm;
+  h[9] = sdc2x2_wm;
+  h[10] = sdc2v1_wm;
+  h[11] = sdc2v2_wm;
+  
+  for(Int_t ih=0;ih<12;ih++) {
+    Int_t ipad = 2*(ih%6)+1 + ih/6;
+    cout << ipad << endl;
+    c1->cd(ipad);
+    h[ih]->SetFillColor(kBlue);
+    h[ih]->SetFillStyle(3354);
+    h[ih]->Draw();
+  }
+
+}
diff --git a/examples/dcresiduals.C b/examples/dcresiduals_hms.C
similarity index 98%
rename from examples/dcresiduals.C
rename to examples/dcresiduals_hms.C
index a5759b968ae9611351c6bd6c2f04e5d29ed03ce3..ae860206ec6c0966c2429f67c1108094c0a2536b 100644
--- a/examples/dcresiduals.C
+++ b/examples/dcresiduals_hms.C
@@ -30,4 +30,5 @@
   T->Draw("H.dc.residual[10]","H.dc.residual[10] < 999");
   c1->cd(12);
   T->Draw("H.dc.residual[11]","H.dc.residual[11] < 999");
+  delete h;
 }
diff --git a/examples/dcresiduals_sos.C b/examples/dcresiduals_sos.C
new file mode 100644
index 0000000000000000000000000000000000000000..cf2dd5afd2d4d93751bbfa4046c992a1d8b39ef1
--- /dev/null
+++ b/examples/dcresiduals_sos.C
@@ -0,0 +1,34 @@
+{
+  TFile* f = new TFile("hodtest.root");
+  TTree *T=(TTree*)f->Get("T");
+  TCanvas *c1 = new TCanvas("c1", "Drift Chamber Residuals", 800, 1000); 
+  c1->Divide(2,6);
+
+  TH1F* h=new TH1F("h", "Residual", 100, -1.0, 1.0);
+
+  c1->cd(1);
+  T->Draw("S.dc.residual[0]","S.dc.residual[0] < 999");
+  c1->cd(2);
+  T->Draw("S.dc.residual[1]","S.dc.residual[1] < 999");
+  c1->cd(3);
+  T->Draw("S.dc.residual[2]","S.dc.residual[2] < 999");
+  c1->cd(4);
+  T->Draw("S.dc.residual[3]","S.dc.residual[3] < 999");
+  c1->cd(5);
+  T->Draw("S.dc.residual[4]","S.dc.residual[4] < 999");
+  c1->cd(6);
+  T->Draw("S.dc.residual[5]","S.dc.residual[5] < 999");
+  c1->cd(7);
+  T->Draw("S.dc.residual[6]","S.dc.residual[6] < 999");
+  c1->cd(8);
+  T->Draw("S.dc.residual[7]","S.dc.residual[7] < 999");
+  c1->cd(9);
+  T->Draw("S.dc.residual[8]","S.dc.residual[8] < 999");
+  c1->cd(10);
+  T->Draw("S.dc.residual[9]","S.dc.residual[9] < 999");
+  c1->cd(11);
+  T->Draw("S.dc.residual[10]","S.dc.residual[10] < 999");
+  c1->cd(12);
+  T->Draw("S.dc.residual[11]","S.dc.residual[11] < 999");
+  delete h;
+}
diff --git a/examples/output.def b/examples/output.def
index da415c882be6917b54355d30565d7c7da28644a9..1f5853b69544d0e7997f44aa39ee3a6e88edba8c 100644
--- a/examples/output.def
+++ b/examples/output.def
@@ -175,3 +175,30 @@ TH1F hs1yfptime 'HODO s1y fptime' H.hod.1y.fptime 80 0 80 H.hod.hgoodstarttime
 TH1F hs2xfptime 'HODO s2x fptime' H.hod.2x.fptime 80 0 80 H.hod.hgoodstarttime
 TH1F hs2yfptime 'HODO s2y fptime' H.hod.2y.fptime 80 0 80 H.hod.hgoodstarttime
 TH1F starttime  'HODO start time' H.hod.starttime 80 0 80 H.hod.hgoodstarttime
+
+#SOS
+TH1F sdc1u1_wm 'SDC 1U1 Wiremap' S.dc.1u1.tdchits 48 0.5 48.5
+TH1F sdc1u2_wm 'SDC 1U2 Wiremap' S.dc.1u2.tdchits 48 0.5 48.5
+TH1F sdc1x1_wm 'SDC 1X1 Wiremap' S.dc.1x1.tdchits 64 0.5 64.5
+TH1F sdc1x2_wm 'SDC 1X2 Wiremap' S.dc.1x2.tdchits 64 0.5 64.5
+TH1F sdc1v1_wm 'SDC 1V1 Wiremap' S.dc.1v1.tdchits 48 0.5 48.5
+TH1F sdc1v2_wm 'SDC 1V2 Wiremap' S.dc.1v2.tdchits 48 0.5 48.5
+TH1F sdc2u1_wm 'SDC 2U1 Wiremap' S.dc.2u1.tdchits 48 0.5 48.5
+TH1F sdc2u2_wm 'SDC 2U2 Wiremap' S.dc.2u2.tdchits 48 0.5 48.5
+TH1F sdc2x1_wm 'SDC 2X1 Wiremap' S.dc.2x1.tdchits 64 0.5 64.5
+TH1F sdc2x2_wm 'SDC 2X2 Wiremap' S.dc.2x2.tdchits 64 0.5 64.5
+TH1F sdc2v1_wm 'SDC 2V1 Wiremap' S.dc.2v1.tdchits 48 0.5 48.5
+TH1F sdc2v2_wm 'SDC 2V2 Wiremap' S.dc.2v2.tdchits 48 0.5 48.5
+
+TH1F sdc1u1_dd 'SDC 1U1 Drift Distance' S.dc.1u1.dist 300 -0.1 0.6
+TH1F sdc1u2_dd 'SDC 1U2 Drift Distance' S.dc.1u2.dist 300 -0.1 0.6
+TH1F sdc1x1_dd 'SDC 1X1 Drift Distance' S.dc.1x1.dist 300 -0.1 0.6
+TH1F sdc1x2_dd 'SDC 1X2 Drift Distance' S.dc.1x2.dist 300 -0.1 0.6
+TH1F sdc1v1_dd 'SDC 1V1 Drift Distance' S.dc.1v1.dist 300 -0.1 0.6
+TH1F sdc1v2_dd 'SDC 1V2 Drift Distance' S.dc.1v2.dist 300 -0.1 0.6
+TH1F sdc2u1_dd 'SDC 2U1 Drift Distance' S.dc.2u1.dist 300 -0.1 0.6
+TH1F sdc2u2_dd 'SDC 2U2 Drift Distance' S.dc.2u2.dist 300 -0.1 0.6
+TH1F sdc2x1_dd 'SDC 2X1 Drift Distance' S.dc.2x1.dist 300 -0.1 0.6
+TH1F sdc2x2_dd 'SDC 2X2 Drift Distance' S.dc.2x2.dist 300 -0.1 0.6
+TH1F sdc2v1_dd 'SDC 2V1 Drift Distance' S.dc.2v1.dist 300 -0.1 0.6
+TH1F sdc2v2_dd 'SDC 2V2 Drift Distance' S.dc.2v2.dist 300 -0.1 0.6