Browse Source

Updates to seeding efficiency plots and adds Dec 13 presentation

Caleb Fangmeier 7 years ago
parent
commit
bdd22e4921
37 changed files with 3223 additions and 245 deletions
  1. 2 0
      .gitignore
  2. 1 1
      .idea/EGamma.iml
  3. 1 1
      .idea/misc.xml
  4. 2 0
      .idea/vcs.xml
  5. 63 125
      analysis/config.yaml
  6. 244 80
      analysis/tracking_eff.cpp
  7. BIN
      docs/presentations/2017_12_13/16x9_seal03.jpg
  8. BIN
      docs/presentations/2017_12_13/CMSlogo.png
  9. 63 0
      docs/presentations/2017_12_13/beamerthemebjeldbak.sty
  10. BIN
      docs/presentations/2017_12_13/diagrams/Gsf_Seeding1.png
  11. BIN
      docs/presentations/2017_12_13/diagrams/Gsf_Seeding2.png
  12. BIN
      docs/presentations/2017_12_13/diagrams/Gsf_Seeding3.png
  13. BIN
      docs/presentations/2017_12_13/diagrams/TrackingNtuple.png
  14. BIN
      docs/presentations/2017_12_13/diagrams/TrackingNtuple_traversal.png
  15. BIN
      docs/presentations/2017_12_13/diagrams/dphi_v_ladder_dylan.png
  16. BIN
      docs/presentations/2017_12_13/diagrams/phase2_tracker.jpg
  17. BIN
      docs/presentations/2017_12_13/diagrams/seeding_base.png
  18. 327 0
      docs/presentations/2017_12_13/diagrams/seeding_base.svg
  19. BIN
      docs/presentations/2017_12_13/diagrams/seeding_step1.png
  20. 478 0
      docs/presentations/2017_12_13/diagrams/seeding_step1.svg
  21. BIN
      docs/presentations/2017_12_13/diagrams/seeding_step2.png
  22. 434 0
      docs/presentations/2017_12_13/diagrams/seeding_step2.svg
  23. BIN
      docs/presentations/2017_12_13/diagrams/seeding_step3.png
  24. 434 0
      docs/presentations/2017_12_13/diagrams/seeding_step3.svg
  25. BIN
      docs/presentations/2017_12_13/diagrams/seeding_step4.png
  26. 434 0
      docs/presentations/2017_12_13/diagrams/seeding_step4.svg
  27. BIN
      docs/presentations/2017_12_13/diagrams/vertex_z.png
  28. 268 0
      docs/presentations/2017_12_13/diagrams/vertex_z.svg
  29. BIN
      docs/presentations/2017_12_13/diagrams/window1.png
  30. BIN
      docs/presentations/2017_12_13/diagrams/window2.png
  31. BIN
      docs/presentations/2017_12_13/figures/dphi1_max.png
  32. 1 0
      docs/presentations/2017_12_13/figures/live
  33. BIN
      docs/presentations/2017_12_13/main.pdf
  34. 334 0
      docs/presentations/2017_12_13/main.tex
  35. BIN
      docs/presentations/2017_12_13/nebraska-n.png
  36. 136 37
      eff_plots.py
  37. 1 1
      filval

+ 2 - 0
.gitignore

@@ -12,3 +12,5 @@ tags
 *.plist
 
 */__pycache__/
+.idea/dictionaries/
+.idea/workspace.xml

+ 1 - 1
.idea/EGamma.iml

@@ -2,7 +2,7 @@
 <module type="PYTHON_MODULE" version="4">
   <component name="NewModuleRootManager">
     <content url="file://$MODULE_DIR$" />
-    <orderEntry type="inheritedJdk" />
+    <orderEntry type="jdk" jdkName="Python 3.6 (EGamma)" jdkType="Python SDK" />
     <orderEntry type="sourceFolder" forTests="false" />
   </component>
   <component name="TestRunnerService">

+ 1 - 1
.idea/misc.xml

@@ -1,4 +1,4 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
-  <component name="ProjectRootManager" version="2" project-jdk-name="Python 3.6 (TTTT2)" project-jdk-type="Python SDK" />
+  <component name="ProjectRootManager" version="2" project-jdk-name="Python 3.6 (EGamma)" project-jdk-type="Python SDK" />
 </project>

+ 2 - 0
.idea/vcs.xml

@@ -2,5 +2,7 @@
 <project version="4">
   <component name="VcsDirectoryMappings">
     <mapping directory="$PROJECT_DIR$" vcs="Git" />
+    <mapping directory="$PROJECT_DIR$/filval" vcs="Git" />
+    <mapping directory="$PROJECT_DIR$/filval/yaml-cpp" vcs="Git" />
   </component>
 </project>

+ 63 - 125
analysis/config.yaml

@@ -1,158 +1,96 @@
 max-events: 0
+debug: false
 
-#output-file: old_seeding.root
-#source-files:
-#    - filename: ../data/old_seeding/trackingNtuple_1.root
-#    - filename: ../data/old_seeding/trackingNtuple_2.root
-#    - filename: ../data/old_seeding/trackingNtuple_3.root
-#    - filename: ../data/old_seeding/trackingNtuple_4.root
-#    - filename: ../data/old_seeding/trackingNtuple_5.root
-#    - filename: ../data/old_seeding/trackingNtuple_6.root
-#    - filename: ../data/old_seeding/trackingNtuple_7.root
-#    - filename: ../data/old_seeding/trackingNtuple_8.root
-#    - filename: ../data/old_seeding/trackingNtuple_9.root
-#    - filename: ../data/old_seeding/trackingNtuple_10.root
-#    - filename: ../data/old_seeding/trackingNtuple_11.root
-#    - filename: ../data/old_seeding/trackingNtuple_12.root
-#    - filename: ../data/old_seeding/trackingNtuple_13.root
-#    - filename: ../data/old_seeding/trackingNtuple_14.root
-#    - filename: ../data/old_seeding/trackingNtuple_15.root
-#    - filename: ../data/old_seeding/trackingNtuple_16.root
-#    - filename: ../data/old_seeding/trackingNtuple_17.root
-#    - filename: ../data/old_seeding/trackingNtuple_18.root
-#    - filename: ../data/old_seeding/trackingNtuple_19.root
-
-output-file: new_seeding.root
+output-file: old_seeding.root
 source-files:
-    - filename: ../data/new_seeding/trackingNtuple_1.root
-    - filename: ../data/new_seeding/trackingNtuple_2.root
-    - filename: ../data/new_seeding/trackingNtuple_3.root
-    - filename: ../data/new_seeding/trackingNtuple_4.root
-    - filename: ../data/new_seeding/trackingNtuple_5.root
-    - filename: ../data/new_seeding/trackingNtuple_6.root
-    - filename: ../data/new_seeding/trackingNtuple_7.root
-    - filename: ../data/new_seeding/trackingNtuple_8.root
-    - filename: ../data/new_seeding/trackingNtuple_9.root
-    - filename: ../data/new_seeding/trackingNtuple_10.root
-    - filename: ../data/new_seeding/trackingNtuple_11.root
-    - filename: ../data/new_seeding/trackingNtuple_12.root
-    - filename: ../data/new_seeding/trackingNtuple_13.root
-    - filename: ../data/new_seeding/trackingNtuple_14.root
-    - filename: ../data/new_seeding/trackingNtuple_15.root
-    - filename: ../data/new_seeding/trackingNtuple_16.root
-    - filename: ../data/new_seeding/trackingNtuple_17.root
-    - filename: ../data/new_seeding/trackingNtuple_18.root
-    - filename: ../data/new_seeding/trackingNtuple_19.root
-
-hist-params:
-    sc_dphi2_v_dz1_L1_L2:
-        label_x: "$\\Delta \\phi_2$(rad)"
-        nbins_x: 100
-        low_x: -.1
-        high_x: .1
-        label_y: "$\\Delta z_1$(cm)"
-        nbins_y: 100
-        low_y: -.5
-        high_y: .5
-    sc_dz2_v_dz1_L1_L2:
-        label_x: "$\\Delta z_2$(cm)"
-        nbins_x: 200
-        low_x: -15
-        high_x: 15
-        label_y: "$\\Delta z_1$(cm)"
-        nbins_y: 100
-        low_y: -.5
-        high_y: .5
-
-
-    sc_dphi2_v_dphi1_L1_L2:
-        label_x: "$\\Delta \\phi_2$(rad)"
-        nbins_x: 100
-        low_x: -.1
-        high_x: .1
-        label_y: "$\\Delta \\phi_1$(cm)"
-        nbins_y: 100
-        low_y: -.1
-        high_y: .1
-    sc_dz2_v_dphi1_L1_L2:
-        label_x: "$\\Delta z_2$(cm)"
-        nbins_x: 200
-        low_x: -15
-        high_x: 15
-        label_y: "$\\Delta \\phi_1$(cm)"
-        nbins_y: 100
-        low_y: -.1
-        high_y: .1
+    - filename: data/old_seeding/trackingNtuple_1.root
+    - filename: data/old_seeding/trackingNtuple_2.root
+    - filename: data/old_seeding/trackingNtuple_3.root
+    - filename: data/old_seeding/trackingNtuple_4.root
+    - filename: data/old_seeding/trackingNtuple_5.root
+    - filename: data/old_seeding/trackingNtuple_6.root
+    - filename: data/old_seeding/trackingNtuple_7.root
+    - filename: data/old_seeding/trackingNtuple_8.root
+    - filename: data/old_seeding/trackingNtuple_9.root
+    - filename: data/old_seeding/trackingNtuple_10.root
+    - filename: data/old_seeding/trackingNtuple_11.root
+    - filename: data/old_seeding/trackingNtuple_12.root
+    - filename: data/old_seeding/trackingNtuple_13.root
+    - filename: data/old_seeding/trackingNtuple_14.root
+    - filename: data/old_seeding/trackingNtuple_15.root
+    - filename: data/old_seeding/trackingNtuple_16.root
+    - filename: data/old_seeding/trackingNtuple_17.root
+    - filename: data/old_seeding/trackingNtuple_18.root
+    - filename: data/old_seeding/trackingNtuple_19.root
 
+#output-file: new_seeding.root
+#source-files:
+#    - filename: data/new_seeding/trackingNtuple_1.root
+#    - filename: data/new_seeding/trackingNtuple_2.root
+#    - filename: data/new_seeding/trackingNtuple_3.root
+#    - filename: data/new_seeding/trackingNtuple_4.root
+#    - filename: data/new_seeding/trackingNtuple_5.root
+#    - filename: data/new_seeding/trackingNtuple_6.root
+#    - filename: data/new_seeding/trackingNtuple_7.root
+#    - filename: data/new_seeding/trackingNtuple_8.root
+#    - filename: data/new_seeding/trackingNtuple_9.root
+#    - filename: data/new_seeding/trackingNtuple_10.root
+#    - filename: data/new_seeding/trackingNtuple_11.root
+#    - filename: data/new_seeding/trackingNtuple_12.root
+#    - filename: data/new_seeding/trackingNtuple_13.root
+#    - filename: data/new_seeding/trackingNtuple_14.root
+#    - filename: data/new_seeding/trackingNtuple_15.root
+#    - filename: data/new_seeding/trackingNtuple_16.root
+#    - filename: data/new_seeding/trackingNtuple_17.root
+#    - filename: data/new_seeding/trackingNtuple_18.root
+#    - filename: data/new_seeding/trackingNtuple_19.root
 
-    sc_dz2_v_dz1_L1_L2_zoom:
-        label_x: "$\\Delta z_2$(cm)"
-        nbins_x: 200
-        low_x: -0.2
-        high_x: 0.2
-        label_y: "$\\Delta z_1$(cm)"
-        nbins_y: 100
-        low_y: -.5
-        high_y: .5
-    sc_dz2_v_dphi1_L1_L2_zoom:
-        label_x: "$\\Delta z_2$(cm)"
-        nbins_x: 200
-        low_x: -0.2
-        high_x: 0.2
-        label_y: "$\\Delta \\phi_1$(cm)"
-        nbins_y: 100
-        low_y: -.1
-        high_y: .1
-    sc_dphi2_v_dphi1_L1_L2_zoom:
-        label_x: "$\\Delta \\phi_2$(rad)"
-        nbins_x: 100
-        low_x: -.01
-        high_x: .01
-        label_y: "$\\Delta \\phi_1$(cm)"
-        nbins_y: 100
-        low_y: -.1
-        high_y: .1
+hist-params:
 
-    dxys:
-        label_x: "dxy"
-        nbins: 50000
-        low: -1.0
-        high: 1.0
-        label_y: ""
     eff_v_pt:
         label_x: "eff_v_pt"
-        nbins: 20
+        nbins: 30
         low: 0
         high: 300
         label_y: ""
     eff_v_eta:
         label_x: "eff_v_eta"
-        nbins: 20
-        low: -4.0
-        high: 4.0
+        nbins: 30
+        low: -3.0
+        high: 3.0
         label_y: ""
     eff_v_phi:
         label_x: "eff_v_phi"
-        nbins: 20
+        nbins: 30
         low: -3.2
         high: 3.2
         label_y: ""
 
     pur_v_pt:
         label_x: "pur_v_pt"
-        nbins: 20
+        nbins: 30
         low: 0
         high: 300
         label_y: ""
     pur_v_eta:
         label_x: "pur_v_eta"
-        nbins: 20
-        low: -4.0
-        high: 4.0
+        nbins: 30
+        low: -3.0
+        high: 3.0
         label_y: ""
     pur_v_phi:
         label_x: "pur_v_phi"
-        nbins: 20
+        nbins: 30
         low: -3.2
         high: 3.2
         label_y: ""
+
+    n_hit_v_eta:
+        label_x: "eta"
+        nbins_x: 60
+        low_x: -3
+        high_x: 3
+        label_y: "Number of Pixel Hits"
+        nbins_y: 7
+        low_y: -0.5
+        high_y: 6.5

+ 244 - 80
analysis/tracking_eff.cpp

@@ -21,44 +21,6 @@ using namespace std;
 using namespace fv;
 using namespace fv::root;
 
-typedef std::pair<std::vector<float>,std::vector<float>> pair_vec;
-
-#define HIT_TYPE_PIXEL 0
-#define HIT_TYPE_GLUED 1
-#define HIT_TYPE_STRIP 2
-
-enum PixSubDet{
-    Void = 0,
-    Barrel = 1,
-    EndCap = 2
-};
-
-struct PixDetElem{
-    PixSubDet subdet;
-    unsigned char layer;
-
-    PixDetElem():subdet(PixSubDet::Void), layer(0) {}
-
-    PixDetElem(const PixSubDet& subdet, const unsigned char& layer){
-        this->subdet = subdet;
-        this->layer = layer;
-    }
-
-    template<typename T>
-    bool contains(const T& obj) const{
-        return obj.subdet() == subdet && obj.layer() == layer;
-    }
-
-    bool contains(const PixSubDet& subdet, const unsigned char& layer) const{
-        return subdet == this->subdet && layer == this->layer;
-    }
-};
-
-std::map<PixSubDet,string> subdet_names = {{PixSubDet::Barrel, "BPIX"}, {PixSubDet::EndCap, "FPIX"}};
-
-
-typedef std::tuple<PixRecHit, SimHit> HitPair;
-
 vector<string> seedTypes =
     {"initialStepSeeds",
      "highPtTripletStepSeeds",
@@ -68,101 +30,154 @@ vector<string> seedTypes =
      "pixelPairElectronSeeds",
      "stripPairElectronSeeds"};
 
+enum class HitType {
+  Pixel = 0,
+  Strip = 1,
+  Glued = 2,
+  Invalid = 3,
+  Phase2OT = 4,
+  Unknown = 99
+};
+
 SeedCollection seeds;
 SimTrackCollection sim_tracks;
+SimHitCollection sim_hits;
 SimVertexCollection sim_vertices;
+TrackCollection gsf_tracks;
+PixRecHitCollection pixrec_hits;
 
 void register_objects(TrackingDataSet& tds){
     seeds.init(tds);
     sim_tracks.init(tds);
+    sim_hits.init(tds);
     sim_vertices.init(tds);
+    gsf_tracks.init(tds);
+    pixrec_hits.init(tds);
 }
 
 float rad(const float& x, const float& y) {
     return sqrt(x*x + y*y);
 }
 
+struct {
+    Value<float>* x;
+    Value<float>* y;
+    Value<float>* z;
+    Value<float>* sigma_x;
+    Value<float>* sigma_y;
+    Value<float>* sigma_z;
+} bs;
+
+bool in_lum_region(const SimVertex& vertex) {
+    /* Here approximate the luminous region as a cylinder with length 5*\sigma_z and radius
+     * sqrt(\simga_x^2 + \sigma_y^2) centered as beamspot position.
+     */
+    float dx = vertex.x() - bs.x->get_value();
+    float dy = vertex.y() - bs.y->get_value();
+    float dz = vertex.z() - bs.z->get_value();
+    float radius = 5*sqrt(pow(bs.sigma_x->get_value(), 2) + pow(bs.sigma_y->get_value(), 2));
+    float half_len = 5*bs.sigma_z->get_value();
+    return sqrt(dx*dx + dy*dy) < radius and abs(dz) < half_len;
+};
+
+bool is_good_sim(size_t simTrkIdx) {
+    const auto& track = sim_tracks[simTrkIdx];
+    const auto& vertex = sim_vertices[track.parentVtxIdx()];
+    return abs(track.pdgId()) == 11 and in_lum_region(vertex);
+};
+
 void run_analysis(const vector<fv::util::DataFileDescriptor>& dfds, const string output_filename, bool silent){
     TrackingDataSet tds(output_filename, dfds, "trackingNtuple/tree");
     register_objects(tds);
 
-    // Indices of prompt gen electrons
-    auto prompt_electrons = func_value<vector<size_t>>("prompt_electrons",
+    bs = {
+        tds.track_branch<float>("bsp_x"),
+        tds.track_branch<float>("bsp_y"),
+        tds.track_branch<float>("bsp_z"),
+        tds.track_branch<float>("bsp_sigmax"),
+        tds.track_branch<float>("bsp_sigmay"),
+        tds.track_branch<float>("bsp_sigmaz")
+    };
+
+    // Indices of prompt-ish sim electrons
+    auto good_sim_electrons = func_value<vector<size_t>>("good_sim_electrons",
         FUNC(([](){
             vector<size_t> idxs;
             for(const auto& sim_track : sim_tracks) {
-                if (abs(sim_track.pdgId()) != 11) continue;
-                const SimVertex& sim_vertex = sim_vertices[sim_track.parentVtxIdx()];
-                float rho = rad(sim_vertex.x(), sim_vertex.y());
-                float z = abs(sim_vertex.z());
-                if (rho > 1 or z > 10) continue;
-                idxs.push_back(sim_track.idx);
+                if (is_good_sim(sim_track.idx)) idxs.push_back(sim_track.idx);
             }
             return idxs;
         })));
 
-    // Indices of prompt gen electrons that have a matched seed
+    // Indices of prompt-ish sim electrons that have a matched seed
     function<bool(size_t)> with_seed = [](const size_t& e_idx) {
-        if (seeds.size() == 0 or
-            sim_tracks[e_idx].seedIdx().size() == 0) return false;
-        else return true;
+        return seeds.size() != 0 and sim_tracks[e_idx].seedIdx().size() != 0;
     };
 
-    // Indices of prompt gen electrons that have a matched gsftrack
+    // Indices of prompt-ish sim electrons that have a matched gsftrack
     function<bool(size_t)> with_track = [](const size_t& e_idx) {
         return sim_tracks[e_idx].trkIdx().size() > 0;
     };
 
-    function<float(size_t)> e_pt = [](const size_t& e_idx) {
-        return sim_tracks[e_idx].pt();
+    function<float(size_t)> sim_pt = [](const size_t& sim_idx) {
+        return sim_tracks[sim_idx].pt();
     };
 
-    function<float(size_t)> e_eta = [](const size_t& e_idx) {
-        return sim_tracks[e_idx].eta();
+    function<float(size_t)> sim_eta = [](const size_t& sim_idx) {
+        return sim_tracks[sim_idx].eta();
     };
 
-    function<float(size_t)> e_phi = [](const size_t& e_idx) {
-        return sim_tracks[e_idx].phi();
+    function<float(size_t)> sim_phi = [](const size_t& sim_idx) {
+        return sim_tracks[sim_idx].phi();
+    };
+
+    float pt_cut = 20; // GeV
+    float eta_cut = 2.4;
+    function<bool(size_t)> sim_in_pt = [pt_cut](size_t sim_idx) {
+        return sim_tracks[sim_idx].pt() > pt_cut;
+    };
+
+    function<bool(size_t)> sim_in_eta = [eta_cut](size_t sim_idx) {
+        return abs(sim_tracks[sim_idx].eta()) < eta_cut;
+    };
+
+    function<bool(size_t)> sim_in_eta_and_pt = [eta_cut, pt_cut](size_t sim_idx) {
+        return abs(sim_tracks[sim_idx].eta()) < eta_cut and
+               sim_tracks[sim_idx].pt() > pt_cut;
     };
 
     tds.register_container<EfficiencyContainer<size_t>>("seed_eff_v_pt",
-        prompt_electrons, TH1Params::lookup("eff_v_pt"), nullptr, &with_seed, &e_pt);
+        good_sim_electrons, TH1Params::lookup("eff_v_pt"), &sim_in_eta, &with_seed, &sim_pt);
 
     tds.register_container<EfficiencyContainer<size_t>>("seed_eff_v_eta",
-        prompt_electrons, TH1Params::lookup("eff_v_eta"), nullptr, &with_seed, &e_eta);
+        good_sim_electrons, TH1Params::lookup("eff_v_eta"), &sim_in_pt, &with_seed, &sim_eta);
 
     tds.register_container<EfficiencyContainer<size_t>>("seed_eff_v_phi",
-        prompt_electrons, TH1Params::lookup("eff_v_phi"), nullptr, &with_seed, &e_phi);
+        good_sim_electrons, TH1Params::lookup("eff_v_phi"), &sim_in_eta_and_pt, &with_seed, &sim_phi);
 
     tds.register_container<EfficiencyContainer<size_t>>("track_eff_v_pt",
-        prompt_electrons, TH1Params::lookup("eff_v_pt"), nullptr, &with_track, &e_pt);
+        good_sim_electrons, TH1Params::lookup("eff_v_pt"), &sim_in_eta, &with_track, &sim_pt);
 
     tds.register_container<EfficiencyContainer<size_t>>("track_eff_v_eta",
-        prompt_electrons, TH1Params::lookup("eff_v_eta"), nullptr, &with_track, &e_eta);
+        good_sim_electrons, TH1Params::lookup("eff_v_eta"), &sim_in_pt, &with_track, &sim_eta);
 
     tds.register_container<EfficiencyContainer<size_t>>("track_eff_v_phi",
-        prompt_electrons, TH1Params::lookup("eff_v_phi"), nullptr, &with_track, &e_phi);
+        good_sim_electrons, TH1Params::lookup("eff_v_phi"), &sim_in_eta_and_pt, &with_track, &sim_phi);
 
     // Indices of ecal-driven seeds
     auto ecal_seeds = func_value<vector<size_t>>("ecal_seeds",
         FUNC(([](){
             vector<size_t> idxs;
-            for(const auto& seed : seeds) {
+            for (const auto& seed : seeds) {
                 if (seed.ecalDriven())
                     idxs.push_back(seed.idx);
             }
             return idxs;
         })));
 
-    function<bool(size_t)> with_sim_track = [](const size_t& seed_idx) {
+    function<bool(size_t)> seed_with_sim_electron = [](const size_t& seed_idx) {
         for (const int& simTrkIdx : seeds[seed_idx].simTrkIdx()) {
-            const SimTrack& sim_track = sim_tracks[simTrkIdx];
-            if (abs(sim_track.pdgId()) != 11) continue;
-            const SimVertex& sim_vertex = sim_vertices[sim_track.parentVtxIdx()];
-            float rho = rad(sim_vertex.x(), sim_vertex.y());
-            float z = abs(sim_vertex.z());
-            if (rho > 1 or z > 10) continue;
-            return true;
+            if (is_good_sim(simTrkIdx)) return true;
         }
         return false;
     };
@@ -179,31 +194,180 @@ void run_analysis(const vector<fv::util::DataFileDescriptor>& dfds, const string
         return seeds[seed_idx].phi();
     };
 
+    function<bool(size_t)> seed_in_pt = [pt_cut](size_t seed_idx) {
+        return seeds[seed_idx].pt() > pt_cut;
+    };
+
+    function<bool(size_t)> seed_in_eta = [eta_cut](size_t seed_idx) {
+        return abs(seeds[seed_idx].eta()) < eta_cut;
+    };
+
+    function<bool(size_t)> seed_in_eta_and_pt = [eta_cut, pt_cut](size_t seed_idx) {
+        return abs(seeds[seed_idx].eta()) < eta_cut and
+               seeds[seed_idx].pt() > pt_cut;
+    };
+
     tds.register_container<EfficiencyContainer<size_t>>("seed_pur_v_pt",
-        ecal_seeds, TH1Params::lookup("pur_v_pt"), nullptr, &with_sim_track, &seed_pt);
+        ecal_seeds, TH1Params::lookup("pur_v_pt"), &seed_in_eta, &seed_with_sim_electron, &seed_pt);
 
     tds.register_container<EfficiencyContainer<size_t>>("seed_pur_v_eta",
-        ecal_seeds, TH1Params::lookup("pur_v_eta"), nullptr, &with_sim_track, &seed_eta);
+        ecal_seeds, TH1Params::lookup("pur_v_eta"), &seed_in_pt, &seed_with_sim_electron, &seed_eta);
 
     tds.register_container<EfficiencyContainer<size_t>>("seed_pur_v_phi",
-        ecal_seeds, TH1Params::lookup("pur_v_phi"), nullptr, &with_sim_track, &seed_phi);
+        ecal_seeds, TH1Params::lookup("pur_v_phi"), &seed_in_eta_and_pt, &seed_with_sim_electron, &seed_phi);
+
+
+    // Indices of ecal-driven gsf-tracks
+    auto ecal_tracks = func_value<vector<size_t>>("ecal_tracks",
+        FUNC(([](){
+            vector<size_t> idxs;
+            for (const auto& track : gsf_tracks) {
+                const auto& seed = seeds[track.seedIdx()];
+                if (seed.ecalDriven())
+                    idxs.push_back(track.idx);
+            }
+            return idxs;
+        })));
+
+    function<bool(size_t)> gsf_track_with_sim_electron = [](const size_t& track_idx) {
+        for (const int& simTrkIdx : gsf_tracks[track_idx].simTrkIdx()) {
+            if (is_good_sim(simTrkIdx)) return true;
+        }
+        return false;
+    };
+
+    function<float(size_t)> track_pt = [](const size_t& track_idx) {
+        return gsf_tracks[track_idx].pt();
+    };
+
+    function<float(size_t)> track_eta = [](const size_t& track_idx) {
+        return gsf_tracks[track_idx].eta();
+    };
+
+    function<float(size_t)> track_phi = [](const size_t& track_idx) {
+        return gsf_tracks[track_idx].phi();
+    };
+
+    function<bool(size_t)> track_in_pt = [pt_cut](size_t track_idx) {
+        return gsf_tracks[track_idx].pt() > pt_cut;
+    };
+
+    function<bool(size_t)> track_in_eta = [eta_cut](size_t track_idx) {
+        return abs(gsf_tracks[track_idx].eta()) < eta_cut;
+    };
+
+    function<bool(size_t)> track_in_eta_and_pt = [eta_cut, pt_cut](size_t track_idx) {
+        return abs(gsf_tracks[track_idx].eta()) < eta_cut and
+               gsf_tracks[track_idx].pt() > pt_cut;
+    };
+
+    tds.register_container<EfficiencyContainer<size_t>>("track_pur_v_pt",
+        ecal_tracks, TH1Params::lookup("pur_v_pt"), &track_in_eta, &gsf_track_with_sim_electron, &track_pt);
+
+    tds.register_container<EfficiencyContainer<size_t>>("track_pur_v_eta",
+        ecal_tracks, TH1Params::lookup("pur_v_eta"), &track_in_pt, &gsf_track_with_sim_electron, &track_eta);
+
+    tds.register_container<EfficiencyContainer<size_t>>("track_pur_v_phi",
+        ecal_tracks, TH1Params::lookup("pur_v_phi"), &track_in_eta_and_pt, &gsf_track_with_sim_electron, &track_phi);
+
+
+    auto simpixlay_v_eta = func_value<std::pair<vector<float>,vector<float>>>("sim_pixlay_v_eta",
+        FUNC(([](){
+            vector<float> etas;
+            vector<float> nLays;
+            for(const auto& sim_track : sim_tracks) {
+                if(sim_track.pt() > 20 and is_good_sim(sim_track.idx)) {
+                    bool hasLHit[] = {false, false, false, false,  // <- 4 barrel layers
+                                      false, false, false};        // <- 3 fwd layers
+                    for(const auto& sim_hit_idx : sim_track.simHitIdx()) {
+                        const auto& sim_hit = sim_hits[sim_hit_idx];
+                        if (sim_hit.subdet() == 1) hasLHit[sim_hit.layer()-1] = true;
+                        if (sim_hit.subdet() == 2) hasLHit[sim_hit.layer()+3] = true;
+                    }
+                    int layers = 0;
+                    for(size_t i=0; i<7; i++) {
+                        if (hasLHit[i]) layers++;
+                    }
+                    etas.push_back(sim_track.eta());
+                    nLays.push_back(layers);
+                }
+            }
+            return std::make_pair(etas, nLays);
+        })));
+
+    auto recpixlay_v_eta = func_value<std::pair<vector<float>,vector<float>>>("recpixlay_v_eta",
+        FUNC(([](){
+            vector<float> etas;
+            vector<float> nLays;
+            for(const auto& gsf_track : gsf_tracks) {
+                if(gsf_track.pt() > 20) {
+                    bool hasLHit[] = {false, false, false, false,  // <- 4 barrel layers
+                                      false, false, false};        // <- 3 fwd layers
+                    const auto& hitIdx = gsf_track.hitIdx();
+                    const auto& hitType = gsf_track.hitType();
+                    size_t nHits = hitIdx.size();
+                    for(size_t i=0; i<nHits; i++) {
+                        if (HitType(hitType[i]) != HitType::Pixel) continue;
+                        const auto& pixrec_hit = pixrec_hits[hitIdx[i]];
+                        if (pixrec_hit.subdet() == 1) hasLHit[pixrec_hit.layer()-1] = true;
+                        if (pixrec_hit.subdet() == 2) hasLHit[pixrec_hit.layer()+3] = true;
+                    }
+                    int layers = 0;
+                    for(size_t i=0; i<7; i++) {
+                        if (hasLHit[i]) layers++;
+                    }
+                    etas.push_back(gsf_track.eta());
+                    nLays.push_back(layers);
+                }
+            }
+            return std::make_pair(etas, nLays);
+        })));
+
+
+    tds.register_container<ContainerTH2Many<float>>("simpixlay_v_eta", simpixlay_v_eta, "simpixlay_v_eta",
+        TH2Params::lookup("n_hit_v_eta"));
+    tds.register_container<ContainerTH2Many<float>>("recpixlay_v_eta", recpixlay_v_eta, "recpixlay_v_eta",
+        TH2Params::lookup("n_hit_v_eta"));
+
+//    auto simtrack_hits = func_value<int>("simtrack_hits",
+//        FUNC(([](){
+//            vector<float> etas;
+//            vector<float> nhits;
+//            for(const auto& sim_track : sim_tracks) {
+//                if(sim_track.pt() < 20 or !is_good_sim(sim_track.idx)) continue;
+//                cout << "New Track: nPixel=" << sim_track.nPixel() << endl;
+//                for(const auto& sim_hit_idx : sim_track.simHitIdx()) {
+//                    const auto& sim_hit = sim_hits[sim_hit_idx];
+//                    if (sim_hit.subdet() > 2) continue;
+//                    cout << "  Hit: " << sim_hit_idx << endl
+//                         << "    pos: " << sim_hit.x() << " " << sim_hit.y() << " " << sim_hit.z() << endl
+//                         << "    subdet: " << sim_hit.subdet()  << endl
+//                         << "    layler: " << sim_hit.layer() << endl;
+//                }
+//            }
+//            return 0;
+//        })));
+//
+//    ofstream out("blah.txt");
+//    tds.register_container<Printer<int>>("blah", simtrack_hits, &out);
 
     tds.process(silent);
     tds.save_all();
 }
 
 int main(int argc, char * argv[]){
-    fv::util::ArgParser args(argc, argv);
+    using namespace fv::util;
+    ArgParser args(argc, argv);
     bool silent = args.cmdOptionExists("-s");
     if(args.cmdOptionExists("-c")) {
-        fv::util::init_config(args.getCmdOption("-c"));
-        auto output_filename = fv::util::the_config->get_output_filename();
+        init_config(args.getCmdOption("-c"));
+        auto output_filename = the_config->get_output_filename();
         if (output_filename == "") return -1;
 
-        fv::util::init_log(fv::util::LogPriority::kLogInfo);
+        init_log(fv::util::LogPriority::kLogInfo);
         gSystem->Load("libfilval.so");
 
-        auto file_list = fv::util::the_config->get_source_files();
+        auto file_list = the_config->get_source_files();
         run_analysis(file_list, output_filename, silent);
     } else {
         cout << "Usage: ./tracking_eff (-s) -c config_file.yaml" << endl;

BIN
docs/presentations/2017_12_13/16x9_seal03.jpg


BIN
docs/presentations/2017_12_13/CMSlogo.png


+ 63 - 0
docs/presentations/2017_12_13/beamerthemebjeldbak.sty

@@ -0,0 +1,63 @@
+% Insipired by Cameron Bracken's theme originally posted
+% here: http://cameron.bracken.bz/beamer-template
+% January 2009
+
+% Modifications done by Martin Bjeldbak Madsen
+% June 2014
+\mode<presentation>
+
+\RequirePackage{tgpagella}
+
+% \DeclareOptionBeamer{titlepage}{\PassOptionsToPackage{titlepage=#1}{beamertheme-Inner}}
+% \ProcessOptionsBeamer
+
+\useoutertheme[subsection=false,shadow]{miniframes}
+\useinnertheme{default}
+\usefonttheme{serif}
+
+\setbeamertemplate{footline} % show slide number on all slides but the first
+{%
+  \ifnum\c@framenumber=1
+  \else
+    \begin{beamercolorbox}[wd=0.95\paperwidth,right,dp=2ex]{page number}
+      \insertframenumber/\inserttotalframenumber%
+    \end{beamercolorbox}
+  \fi%
+  \begin{beamercolorbox}[colsep=1.25pt]{lower separation line foot}
+  \end{beamercolorbox}
+}
+
+% \ifnum\c@framenumber=1
+\usebackgroundtemplate{\includegraphics[width=1.3\paperwidth]{16x9_seal03.jpg}}
+% \else
+% \fi%
+
+% Display a slide before the current section with overview inf
+% \AtBeginSection[]
+% {%
+%    \begin{frame}
+%        \frametitle{Overview}
+%        \tableofcontents[currentsection,hideothersubsections]
+%    \end{frame}
+% }
+
+\setbeamerfont{title like}{shape=\scshape}
+\setbeamerfont{frametitle}{shape=\scshape}
+\setbeamerfont{section in head/foot}{shape=\scshape,size=\tiny}
+
+\setbeamertemplate{navigation symbols}{} % hide bottom nav buttons
+\setbeamercovered{transparent} % don't hide strip-teased bullet points
+
+% \definecolor{barcolor}{HTML}{77C4D3} % teal
+\definecolor{barcolor}{HTML}{DD0000} % teal
+\setbeamercolor{lower separation line head}{bg=barcolor}
+\setbeamercolor{lower separation line foot}{bg=barcolor}
+\setbeamercolor{normal text}{fg=black,bg=white}
+\setbeamercolor{alerted text}{fg=red}
+\setbeamercolor{example text}{fg=black}
+\setbeamercolor{structure}{fg=black}
+
+\setbeamercolor{palette tertiary}{fg=black,bg=black!10}
+\setbeamercolor{palette quaternary}{fg=black,bg=black!10}
+
+\mode<all>

BIN
docs/presentations/2017_12_13/diagrams/Gsf_Seeding1.png


BIN
docs/presentations/2017_12_13/diagrams/Gsf_Seeding2.png


BIN
docs/presentations/2017_12_13/diagrams/Gsf_Seeding3.png


BIN
docs/presentations/2017_12_13/diagrams/TrackingNtuple.png


BIN
docs/presentations/2017_12_13/diagrams/TrackingNtuple_traversal.png


BIN
docs/presentations/2017_12_13/diagrams/dphi_v_ladder_dylan.png


BIN
docs/presentations/2017_12_13/diagrams/phase2_tracker.jpg


BIN
docs/presentations/2017_12_13/diagrams/seeding_base.png


+ 327 - 0
docs/presentations/2017_12_13/diagrams/seeding_base.svg

@@ -0,0 +1,327 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="210mm"
+   height="297mm"
+   viewBox="0 0 210 297"
+   version="1.1"
+   id="svg8"
+   inkscape:version="0.92.2 5c3e80d, 2017-08-06"
+   sodipodi:docname="seeding_base.svg">
+  <defs
+     id="defs2">
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker5034"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path5032"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) rotate(180) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker4994"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path4992"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) rotate(180) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker4960"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path4958"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) rotate(180) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Lend"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path4653"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) rotate(180) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lstart"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Lstart"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path4650"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) translate(12.5,0)" />
+    </marker>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1.979899"
+     inkscape:cx="307.19478"
+     inkscape:cy="571.53523"
+     inkscape:document-units="mm"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="3840"
+     inkscape:window-height="2133"
+     inkscape:window-x="0"
+     inkscape:window-y="27"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata5">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <path
+       style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.20000005;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path3699"
+       sodipodi:type="arc"
+       sodipodi:cx="-159.44304"
+       sodipodi:cy="-100.99379"
+       sodipodi:rx="18.898809"
+       sodipodi:ry="19.560268"
+       sodipodi:start="0"
+       sodipodi:end="2.6141282"
+       d="m -140.54423,-100.99379 a 18.898809,19.560268 0 0 1 -13.97216,18.883948 18.898809,19.560268 0 0 1 -21.25685,-9.038403"
+       transform="rotate(-151.70891)"
+       sodipodi:open="true" />
+    <path
+       style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.2;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path3699-3"
+       sodipodi:type="arc"
+       sodipodi:cx="-159.77797"
+       sodipodi:cy="-101.19431"
+       sodipodi:rx="28.619246"
+       sodipodi:ry="29.62092"
+       sodipodi:start="0"
+       sodipodi:end="2.6141282"
+       d="m -131.15872,-101.19431 a 28.619246,29.62092 0 0 1 -21.15863,28.596737 28.619246,29.62092 0 0 1 -32.19011,-13.687227"
+       transform="rotate(-151.70891)"
+       sodipodi:open="true" />
+    <path
+       style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.2;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path3699-3-6"
+       sodipodi:type="arc"
+       sodipodi:cx="-159.94458"
+       sodipodi:cy="-101.45564"
+       sodipodi:rx="37.954716"
+       sodipodi:ry="39.283127"
+       sodipodi:start="0"
+       sodipodi:end="2.6141282"
+       d="m -121.98986,-101.45564 a 37.954716,39.283127 0 0 1 -28.06047,37.924862 37.954716,39.283127 0 0 1 -42.69039,-18.151937"
+       transform="rotate(-151.70891)"
+       sodipodi:open="true" />
+    <path
+       style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.2;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path3699-3-6-7"
+       sodipodi:type="arc"
+       sodipodi:cx="-159.41281"
+       sodipodi:cy="-101.87426"
+       sodipodi:rx="47.771393"
+       sodipodi:ry="49.44339"
+       sodipodi:start="0"
+       sodipodi:end="2.6141282"
+       d="m -111.64142,-101.87426 a 47.771393,49.44339 0 0 1 -35.31808,47.733824 47.771393,49.44339 0 0 1 -53.73191,-22.846789"
+       transform="rotate(-151.70891)"
+       sodipodi:open="true" />
+    <rect
+       style="fill:#e0da4d;fill-opacity:1;stroke:#b09e00;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="rect4551"
+       width="11.90625"
+       height="6.0476193"
+       x="88.329681"
+       y="98.802345" />
+    <rect
+       style="fill:#e0da4d;fill-opacity:1;stroke:#b09e00;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="rect4551-5"
+       width="11.90625"
+       height="6.0476193"
+       x="116.00665"
+       y="81.034035"
+       transform="rotate(9.3947036)" />
+    <rect
+       style="fill:#e0da4d;fill-opacity:1;stroke:#b09e00;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="rect4551-3"
+       width="11.90625"
+       height="6.0476193"
+       x="147.3625"
+       y="41.16695"
+       transform="rotate(25.875968)" />
+    <rect
+       style="fill:#e0da4d;fill-opacity:1;stroke:#b09e00;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="rect4551-56"
+       width="11.90625"
+       height="6.0476193"
+       x="166.07747"
+       y="-2.3016889"
+       transform="rotate(41.096103)"
+       inkscape:transform-center-x="-8.8198944"
+       inkscape:transform-center-y="-0.80180858" />
+    <rect
+       style="fill:#e0da4d;fill-opacity:1;stroke:#b09e00;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="rect4551-2"
+       width="11.90625"
+       height="6.0476193"
+       x="175.52022"
+       y="-35.794567"
+       transform="rotate(51.920815)"
+       inkscape:transform-center-x="-4.6772167"
+       inkscape:transform-center-y="-1.3363476" />
+    <rect
+       style="fill:#e0da4d;fill-opacity:1;stroke:#b09e00;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="rect4551-2-9"
+       width="11.90625"
+       height="6.0476193"
+       x="3.3661494"
+       y="125.19787"
+       transform="rotate(-28.866898)" />
+    <rect
+       style="fill:#e0da4d;fill-opacity:1;stroke:#b09e00;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="rect4551-2-1"
+       width="11.90625"
+       height="6.0476193"
+       x="50.194736"
+       y="116.17805"
+       transform="rotate(-13.177664)" />
+    <path
+       sodipodi:type="star"
+       style="fill:#e06a4d;fill-opacity:1;stroke:#b0000e;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path4626"
+       sodipodi:sides="5"
+       sodipodi:cx="107.04144"
+       sodipodi:cy="103.2296"
+       sodipodi:r1="1.9457515"
+       sodipodi:r2="0.97287577"
+       sodipodi:arg1="1.2924967"
+       sodipodi:arg2="1.9208152"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 107.57598,105.10049 -0.86815,-0.957 -1.28052,0.17262 0.64188,-1.12139 -0.55988,-1.16451 1.26486,0.26395 0.9345,-0.89233 0.13984,1.28451 1.13743,0.61302 -1.17843,0.52993 z"
+       inkscape:transform-center-x="-0.16518051"
+       inkscape:transform-center-y="0.021555627" />
+    <ellipse
+       style="fill:#000000;fill-opacity:1;stroke:#3c3c3c;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path4628"
+       cx="92.341621"
+       cy="165.1693"
+       rx="1.8708867"
+       ry="1.9377041" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:4.93888903px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="79.51268"
+       y="172.31876"
+       id="text4632"><tspan
+         sodipodi:role="line"
+         id="tspan4630"
+         x="79.51268"
+         y="172.31876"
+         style="font-size:4.93888903px;stroke-width:0.26458332px">Beam-Spot</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:4.23333311px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="113.08507"
+       y="75.540039"
+       id="text4636"
+       transform="rotate(11.383699)"><tspan
+         sodipodi:role="line"
+         id="tspan4634"
+         x="113.08507"
+         y="75.540039"
+         style="font-size:4.23333311px;stroke-width:0.26458332px">Super Cluster</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="30.335091"
+       y="164.70157"
+       id="text4640"><tspan
+         sodipodi:role="line"
+         id="tspan4638"
+         x="30.335091"
+         y="164.70157"
+         style="font-size:4.23333311px;stroke-width:0.26458332px">Pixel Layers</tspan></text>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;marker-end:url(#Arrow1Lend)"
+       d="M 55.458425,161.36071 72.69731,157.21803"
+       id="path4642"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker4960)"
+       d="m 55.458425,161.36071 10.690784,-8.28535"
+       id="path4644"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker4994)"
+       d="m 55.458425,161.36071 3.474506,-12.42803"
+       id="path4646"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5034)"
+       d="m 55.458425,161.36071 -5.34539,-16.70434"
+       id="path4648"
+       inkscape:connector-curvature="0" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="51.732628"
+       y="110.41105"
+       id="text4640-2"><tspan
+         sodipodi:role="line"
+         id="tspan4638-7"
+         x="51.732628"
+         y="110.41105"
+         style="font-size:4.23333311px;stroke-width:0.26458332px">ECAL</tspan></text>
+  </g>
+</svg>

BIN
docs/presentations/2017_12_13/diagrams/seeding_step1.png


+ 478 - 0
docs/presentations/2017_12_13/diagrams/seeding_step1.svg

@@ -0,0 +1,478 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="210mm"
+   height="297mm"
+   viewBox="0 0 210 297"
+   version="1.1"
+   id="svg8"
+   inkscape:version="0.92.2 5c3e80d, 2017-08-06"
+   sodipodi:docname="seeding_step1.svg"
+   inkscape:export-filename="/home/caleb/Sources/EGamma/docs/presentations/2017_11_21/diagrams/seeding_base.png"
+   inkscape:export-xdpi="157.554"
+   inkscape:export-ydpi="157.554">
+  <defs
+     id="defs2">
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker5185"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend">
+      <path
+         transform="scale(0.8) rotate(180) translate(12.5,0)"
+         style="fill-rule:evenodd;stroke:#e06a4d;stroke-width:1pt;stroke-opacity:1;fill:#e06a4d;fill-opacity:1"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         id="path5183" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker5127"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend">
+      <path
+         transform="scale(0.8) rotate(180) translate(12.5,0)"
+         style="fill-rule:evenodd;stroke:#e06a4d;stroke-width:1pt;stroke-opacity:1;fill:#e06a4d;fill-opacity:1"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         id="path5125" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker5034"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path5032"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) rotate(180) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker4994"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path4992"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) rotate(180) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker4960"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path4958"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) rotate(180) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Lend"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path4653"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) rotate(180) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lstart"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Lstart"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path4650"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) translate(12.5,0)" />
+    </marker>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="3.959798"
+     inkscape:cx="337.21834"
+     inkscape:cy="619.08863"
+     inkscape:document-units="mm"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="3840"
+     inkscape:window-height="2133"
+     inkscape:window-x="0"
+     inkscape:window-y="27"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata5">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <path
+       style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.20000005;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path3699"
+       sodipodi:type="arc"
+       sodipodi:cx="-159.44304"
+       sodipodi:cy="-100.99379"
+       sodipodi:rx="18.898809"
+       sodipodi:ry="19.560268"
+       sodipodi:start="0"
+       sodipodi:end="2.6141282"
+       d="m -140.54423,-100.99379 a 18.898809,19.560268 0 0 1 -13.97216,18.883948 18.898809,19.560268 0 0 1 -21.25685,-9.038403"
+       transform="rotate(-151.70891)"
+       sodipodi:open="true"
+       inkscape:export-xdpi="157.554"
+       inkscape:export-ydpi="157.554" />
+    <path
+       style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.2;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path3699-3"
+       sodipodi:type="arc"
+       sodipodi:cx="-159.77797"
+       sodipodi:cy="-101.19431"
+       sodipodi:rx="28.619246"
+       sodipodi:ry="29.62092"
+       sodipodi:start="0"
+       sodipodi:end="2.6141282"
+       d="m -131.15872,-101.19431 a 28.619246,29.62092 0 0 1 -21.15863,28.596737 28.619246,29.62092 0 0 1 -32.19011,-13.687227"
+       transform="rotate(-151.70891)"
+       sodipodi:open="true"
+       inkscape:export-xdpi="157.554"
+       inkscape:export-ydpi="157.554" />
+    <path
+       style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.2;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path3699-3-6"
+       sodipodi:type="arc"
+       sodipodi:cx="-159.94458"
+       sodipodi:cy="-101.45564"
+       sodipodi:rx="37.954716"
+       sodipodi:ry="39.283127"
+       sodipodi:start="0"
+       sodipodi:end="2.6141282"
+       d="m -121.98986,-101.45564 a 37.954716,39.283127 0 0 1 -28.06047,37.924862 37.954716,39.283127 0 0 1 -42.69039,-18.151937"
+       transform="rotate(-151.70891)"
+       sodipodi:open="true"
+       inkscape:export-xdpi="157.554"
+       inkscape:export-ydpi="157.554" />
+    <path
+       style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.2;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path3699-3-6-7"
+       sodipodi:type="arc"
+       sodipodi:cx="-159.41281"
+       sodipodi:cy="-101.87426"
+       sodipodi:rx="47.771393"
+       sodipodi:ry="49.44339"
+       sodipodi:start="0"
+       sodipodi:end="2.6141282"
+       d="m -111.64142,-101.87426 a 47.771393,49.44339 0 0 1 -35.31808,47.733824 47.771393,49.44339 0 0 1 -53.73191,-22.846789"
+       transform="rotate(-151.70891)"
+       sodipodi:open="true"
+       inkscape:export-xdpi="157.554"
+       inkscape:export-ydpi="157.554" />
+    <rect
+       style="fill:#e0da4d;fill-opacity:1;stroke:#b09e00;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="rect4551"
+       width="11.90625"
+       height="6.0476193"
+       x="88.329681"
+       y="98.802345"
+       inkscape:export-xdpi="157.554"
+       inkscape:export-ydpi="157.554" />
+    <rect
+       style="fill:#e0da4d;fill-opacity:1;stroke:#b09e00;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="rect4551-5"
+       width="11.90625"
+       height="6.0476193"
+       x="116.00665"
+       y="81.034035"
+       transform="rotate(9.3947036)"
+       inkscape:export-xdpi="157.554"
+       inkscape:export-ydpi="157.554" />
+    <rect
+       style="fill:#e0da4d;fill-opacity:1;stroke:#b09e00;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="rect4551-3"
+       width="11.90625"
+       height="6.0476193"
+       x="147.3625"
+       y="41.16695"
+       transform="rotate(25.875968)"
+       inkscape:export-xdpi="157.554"
+       inkscape:export-ydpi="157.554" />
+    <rect
+       style="fill:#e0da4d;fill-opacity:1;stroke:#b09e00;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="rect4551-56"
+       width="11.90625"
+       height="6.0476193"
+       x="166.07747"
+       y="-2.3016889"
+       transform="rotate(41.096103)"
+       inkscape:transform-center-x="-8.8198944"
+       inkscape:transform-center-y="-0.80180858"
+       inkscape:export-xdpi="157.554"
+       inkscape:export-ydpi="157.554" />
+    <rect
+       style="fill:#e0da4d;fill-opacity:1;stroke:#b09e00;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="rect4551-2"
+       width="11.90625"
+       height="6.0476193"
+       x="175.52022"
+       y="-35.794567"
+       transform="rotate(51.920815)"
+       inkscape:transform-center-x="-4.6772167"
+       inkscape:transform-center-y="-1.3363476"
+       inkscape:export-xdpi="157.554"
+       inkscape:export-ydpi="157.554" />
+    <rect
+       style="fill:#e0da4d;fill-opacity:1;stroke:#b09e00;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="rect4551-2-9"
+       width="11.90625"
+       height="6.0476193"
+       x="3.3661494"
+       y="125.19787"
+       transform="rotate(-28.866898)"
+       inkscape:export-xdpi="157.554"
+       inkscape:export-ydpi="157.554" />
+    <rect
+       style="fill:#e0da4d;fill-opacity:1;stroke:#b09e00;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="rect4551-2-1"
+       width="11.90625"
+       height="6.0476193"
+       x="50.194736"
+       y="116.17805"
+       transform="rotate(-13.177664)"
+       inkscape:export-xdpi="157.554"
+       inkscape:export-ydpi="157.554" />
+    <path
+       sodipodi:type="star"
+       style="fill:#e06a4d;fill-opacity:1;stroke:#b0000e;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path4626"
+       sodipodi:sides="5"
+       sodipodi:cx="107.04144"
+       sodipodi:cy="103.2296"
+       sodipodi:r1="1.9457515"
+       sodipodi:r2="0.97287577"
+       sodipodi:arg1="1.2924967"
+       sodipodi:arg2="1.9208152"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 107.57598,105.10049 -0.86815,-0.957 -1.28052,0.17262 0.64188,-1.12139 -0.55988,-1.16451 1.26486,0.26395 0.9345,-0.89233 0.13984,1.28451 1.13743,0.61302 -1.17843,0.52993 z"
+       inkscape:transform-center-x="-0.16518051"
+       inkscape:transform-center-y="0.021555627"
+       inkscape:export-xdpi="157.554"
+       inkscape:export-ydpi="157.554" />
+    <ellipse
+       style="fill:#000000;fill-opacity:1;stroke:#3c3c3c;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path4628"
+       cx="92.341621"
+       cy="165.1693"
+       rx="1.8708867"
+       ry="1.9377041"
+       inkscape:export-xdpi="157.554"
+       inkscape:export-ydpi="157.554" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:4.93888903px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="79.51268"
+       y="172.31876"
+       id="text4632"
+       inkscape:export-xdpi="157.554"
+       inkscape:export-ydpi="157.554"><tspan
+         sodipodi:role="line"
+         id="tspan4630"
+         x="79.51268"
+         y="172.31876"
+         style="font-size:4.93888903px;stroke-width:0.26458332px">Beam-Spot</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:4.23333311px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="113.08507"
+       y="75.540039"
+       id="text4636"
+       transform="rotate(11.383699)"
+       inkscape:export-xdpi="157.554"
+       inkscape:export-ydpi="157.554"><tspan
+         sodipodi:role="line"
+         id="tspan4634"
+         x="113.08507"
+         y="75.540039"
+         style="font-size:4.23333311px;stroke-width:0.26458332px">Super Cluster</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="30.335091"
+       y="164.70157"
+       id="text4640"
+       inkscape:export-xdpi="157.554"
+       inkscape:export-ydpi="157.554"><tspan
+         sodipodi:role="line"
+         id="tspan4638"
+         x="30.335091"
+         y="164.70157"
+         style="font-size:4.23333311px;stroke-width:0.26458332px">Pixel Layers</tspan></text>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;marker-end:url(#Arrow1Lend)"
+       d="M 55.458425,161.36071 72.69731,157.21803"
+       id="path4642"
+       inkscape:connector-curvature="0"
+       inkscape:export-xdpi="157.554"
+       inkscape:export-ydpi="157.554" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker4960)"
+       d="m 55.458425,161.36071 10.690784,-8.28535"
+       id="path4644"
+       inkscape:connector-curvature="0"
+       inkscape:export-xdpi="157.554"
+       inkscape:export-ydpi="157.554" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker4994)"
+       d="m 55.458425,161.36071 3.474506,-12.42803"
+       id="path4646"
+       inkscape:connector-curvature="0"
+       inkscape:export-xdpi="157.554"
+       inkscape:export-ydpi="157.554" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5034)"
+       d="m 55.458425,161.36071 -5.34539,-16.70434"
+       id="path4648"
+       inkscape:connector-curvature="0"
+       inkscape:export-xdpi="157.554"
+       inkscape:export-ydpi="157.554" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="51.732628"
+       y="110.41105"
+       id="text4640-2"
+       inkscape:export-xdpi="157.554"
+       inkscape:export-ydpi="157.554"><tspan
+         sodipodi:role="line"
+         id="tspan4638-7"
+         x="51.732628"
+         y="110.41105"
+         style="font-size:4.23333311px;stroke-width:0.26458332px">ECAL</tspan></text>
+    <path
+       sodipodi:type="star"
+       style="fill:#607eff;fill-opacity:1;stroke:#2942ff;stroke-width:0.36500001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path5319"
+       sodipodi:sides="5"
+       sodipodi:cx="90.203467"
+       sodipodi:cy="145.65862"
+       sodipodi:r1="1.5541326"
+       sodipodi:r2="0.77706629"
+       sodipodi:arg1="1.1263771"
+       sodipodi:arg2="1.7546956"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 90.871642,147.06178 -0.810271,-0.6392 -0.985915,0.30511 0.357529,-0.96814 -0.59484,-0.84338 1.031236,0.0409 0.618283,-0.82634 0.27981,0.99339 0.976961,0.33267 -0.858305,0.57309 z"
+       inkscape:transform-center-x="-0.087819491"
+       inkscape:transform-center-y="-0.062382329"
+       inkscape:export-xdpi="157.554"
+       inkscape:export-ydpi="157.554" />
+    <path
+       sodipodi:type="star"
+       style="fill:#607eff;fill-opacity:1;stroke:#2942ff;stroke-width:0.36500001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path5319-0"
+       sodipodi:sides="5"
+       sodipodi:cx="92.478153"
+       sodipodi:cy="135.54779"
+       sodipodi:r1="1.5541326"
+       sodipodi:r2="0.77706629"
+       sodipodi:arg1="1.1263771"
+       sodipodi:arg2="1.7546956"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 93.146323,136.95096 -0.810271,-0.63921 -0.985915,0.30511 0.357529,-0.96813 -0.59484,-0.84338 1.031236,0.0409 0.618283,-0.82635 0.27981,0.99339 0.976961,0.33267 -0.858305,0.57309 z"
+       inkscape:transform-center-x="-0.087819491"
+       inkscape:transform-center-y="-0.062382329"
+       inkscape:export-xdpi="157.554"
+       inkscape:export-ydpi="157.554" />
+    <path
+       sodipodi:type="star"
+       style="fill:#607eff;fill-opacity:1;stroke:#2942ff;stroke-width:0.36500001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path5319-0-9"
+       sodipodi:sides="5"
+       sodipodi:cx="91.074982"
+       sodipodi:cy="126.19337"
+       sodipodi:r1="1.5541326"
+       sodipodi:r2="0.77706629"
+       sodipodi:arg1="1.1263771"
+       sodipodi:arg2="1.7546956"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 91.743155,127.59653 -0.810271,-0.6392 -0.985914,0.30511 0.357529,-0.96814 -0.594841,-0.84337 1.031237,0.0409 0.618282,-0.82634 0.279811,0.99339 0.97696,0.33267 -0.858304,0.57309 z"
+       inkscape:transform-center-x="-0.087819491"
+       inkscape:transform-center-y="-0.062382329"
+       inkscape:export-xdpi="157.554"
+       inkscape:export-ydpi="157.554" />
+    <path
+       sodipodi:type="star"
+       style="fill:#607eff;fill-opacity:1;stroke:#2942ff;stroke-width:0.36500001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path5319-0-9-3"
+       sodipodi:sides="5"
+       sodipodi:cx="93.948135"
+       sodipodi:cy="115.90348"
+       sodipodi:r1="1.5541326"
+       sodipodi:r2="0.77706629"
+       sodipodi:arg1="1.1263771"
+       sodipodi:arg2="1.7546956"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 94.616309,117.30665 -0.810271,-0.63921 -0.985915,0.30511 0.357529,-0.96813 -0.59484,-0.84338 1.031236,0.0409 0.618283,-0.82635 0.27981,0.99339 0.976961,0.33267 -0.858305,0.57309 z"
+       inkscape:transform-center-x="-0.087819491"
+       inkscape:transform-center-y="-0.062382329"
+       inkscape:export-xdpi="157.554"
+       inkscape:export-ydpi="157.554" />
+  </g>
+</svg>

BIN
docs/presentations/2017_12_13/diagrams/seeding_step2.png


+ 434 - 0
docs/presentations/2017_12_13/diagrams/seeding_step2.svg

@@ -0,0 +1,434 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="210mm"
+   height="297mm"
+   viewBox="0 0 210 297"
+   version="1.1"
+   id="svg8"
+   inkscape:version="0.92.2 5c3e80d, 2017-08-06"
+   sodipodi:docname="seeding_step2.svg"
+   inkscape:export-filename="/home/caleb/Sources/EGamma/docs/presentations/2017_11_21/diagrams/seeding_step2.png"
+   inkscape:export-xdpi="157.554"
+   inkscape:export-ydpi="157.554">
+  <defs
+     id="defs2">
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker5185"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend">
+      <path
+         transform="scale(0.8) rotate(180) translate(12.5,0)"
+         style="fill-rule:evenodd;stroke:#e06a4d;stroke-width:1pt;stroke-opacity:1;fill:#e06a4d;fill-opacity:1"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         id="path5183" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker5127"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend">
+      <path
+         transform="scale(0.8) rotate(180) translate(12.5,0)"
+         style="fill-rule:evenodd;stroke:#e06a4d;stroke-width:1pt;stroke-opacity:1;fill:#e06a4d;fill-opacity:1"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         id="path5125" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker5034"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path5032"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) rotate(180) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker4994"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path4992"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) rotate(180) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker4960"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path4958"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) rotate(180) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Lend"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path4653"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) rotate(180) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lstart"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Lstart"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path4650"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) translate(12.5,0)" />
+    </marker>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="3.959798"
+     inkscape:cx="336.13622"
+     inkscape:cy="621.64333"
+     inkscape:document-units="mm"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="3840"
+     inkscape:window-height="2133"
+     inkscape:window-x="0"
+     inkscape:window-y="27"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata5">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <path
+       style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.20000005;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path3699"
+       sodipodi:type="arc"
+       sodipodi:cx="-159.44304"
+       sodipodi:cy="-100.99379"
+       sodipodi:rx="18.898809"
+       sodipodi:ry="19.560268"
+       sodipodi:start="0"
+       sodipodi:end="2.6141282"
+       d="m -140.54423,-100.99379 a 18.898809,19.560268 0 0 1 -13.97216,18.883948 18.898809,19.560268 0 0 1 -21.25685,-9.038403"
+       transform="rotate(-151.70891)"
+       sodipodi:open="true" />
+    <path
+       style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.2;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path3699-3"
+       sodipodi:type="arc"
+       sodipodi:cx="-159.77797"
+       sodipodi:cy="-101.19431"
+       sodipodi:rx="28.619246"
+       sodipodi:ry="29.62092"
+       sodipodi:start="0"
+       sodipodi:end="2.6141282"
+       d="m -131.15872,-101.19431 a 28.619246,29.62092 0 0 1 -21.15863,28.596737 28.619246,29.62092 0 0 1 -32.19011,-13.687227"
+       transform="rotate(-151.70891)"
+       sodipodi:open="true" />
+    <path
+       style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.2;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path3699-3-6"
+       sodipodi:type="arc"
+       sodipodi:cx="-159.94458"
+       sodipodi:cy="-101.45564"
+       sodipodi:rx="37.954716"
+       sodipodi:ry="39.283127"
+       sodipodi:start="0"
+       sodipodi:end="2.6141282"
+       d="m -121.98986,-101.45564 a 37.954716,39.283127 0 0 1 -28.06047,37.924862 37.954716,39.283127 0 0 1 -42.69039,-18.151937"
+       transform="rotate(-151.70891)"
+       sodipodi:open="true" />
+    <path
+       style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.2;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path3699-3-6-7"
+       sodipodi:type="arc"
+       sodipodi:cx="-159.41281"
+       sodipodi:cy="-101.87426"
+       sodipodi:rx="47.771393"
+       sodipodi:ry="49.44339"
+       sodipodi:start="0"
+       sodipodi:end="2.6141282"
+       d="m -111.64142,-101.87426 a 47.771393,49.44339 0 0 1 -35.31808,47.733824 47.771393,49.44339 0 0 1 -53.73191,-22.846789"
+       transform="rotate(-151.70891)"
+       sodipodi:open="true" />
+    <rect
+       style="fill:#e0da4d;fill-opacity:1;stroke:#b09e00;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="rect4551"
+       width="11.90625"
+       height="6.0476193"
+       x="88.329681"
+       y="98.802345" />
+    <rect
+       style="fill:#e0da4d;fill-opacity:1;stroke:#b09e00;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="rect4551-5"
+       width="11.90625"
+       height="6.0476193"
+       x="116.00665"
+       y="81.034035"
+       transform="rotate(9.3947036)" />
+    <rect
+       style="fill:#e0da4d;fill-opacity:1;stroke:#b09e00;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="rect4551-3"
+       width="11.90625"
+       height="6.0476193"
+       x="147.3625"
+       y="41.16695"
+       transform="rotate(25.875968)" />
+    <rect
+       style="fill:#e0da4d;fill-opacity:1;stroke:#b09e00;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="rect4551-56"
+       width="11.90625"
+       height="6.0476193"
+       x="166.07747"
+       y="-2.3016889"
+       transform="rotate(41.096103)"
+       inkscape:transform-center-x="-8.8198944"
+       inkscape:transform-center-y="-0.80180858" />
+    <rect
+       style="fill:#e0da4d;fill-opacity:1;stroke:#b09e00;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="rect4551-2"
+       width="11.90625"
+       height="6.0476193"
+       x="175.52022"
+       y="-35.794567"
+       transform="rotate(51.920815)"
+       inkscape:transform-center-x="-4.6772167"
+       inkscape:transform-center-y="-1.3363476" />
+    <rect
+       style="fill:#e0da4d;fill-opacity:1;stroke:#b09e00;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="rect4551-2-9"
+       width="11.90625"
+       height="6.0476193"
+       x="3.3661494"
+       y="125.19787"
+       transform="rotate(-28.866898)" />
+    <rect
+       style="fill:#e0da4d;fill-opacity:1;stroke:#b09e00;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="rect4551-2-1"
+       width="11.90625"
+       height="6.0476193"
+       x="50.194736"
+       y="116.17805"
+       transform="rotate(-13.177664)" />
+    <path
+       sodipodi:type="star"
+       style="fill:#e06a4d;fill-opacity:1;stroke:#b0000e;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path4626"
+       sodipodi:sides="5"
+       sodipodi:cx="107.04144"
+       sodipodi:cy="103.2296"
+       sodipodi:r1="1.9457515"
+       sodipodi:r2="0.97287577"
+       sodipodi:arg1="1.2924967"
+       sodipodi:arg2="1.9208152"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 107.57598,105.10049 -0.86815,-0.957 -1.28052,0.17262 0.64188,-1.12139 -0.55988,-1.16451 1.26486,0.26395 0.9345,-0.89233 0.13984,1.28451 1.13743,0.61302 -1.17843,0.52993 z"
+       inkscape:transform-center-x="-0.16518051"
+       inkscape:transform-center-y="0.021555627" />
+    <ellipse
+       style="fill:#000000;fill-opacity:1;stroke:#3c3c3c;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path4628"
+       cx="92.341621"
+       cy="165.1693"
+       rx="1.8708867"
+       ry="1.9377041" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:4.93888903px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="79.51268"
+       y="172.31876"
+       id="text4632"><tspan
+         sodipodi:role="line"
+         id="tspan4630"
+         x="79.51268"
+         y="172.31876"
+         style="font-size:4.93888903px;stroke-width:0.26458332px">Beam-Spot</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:4.23333311px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="113.08507"
+       y="75.540039"
+       id="text4636"
+       transform="rotate(11.383699)"><tspan
+         sodipodi:role="line"
+         id="tspan4634"
+         x="113.08507"
+         y="75.540039"
+         style="font-size:4.23333311px;stroke-width:0.26458332px">Super Cluster</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="30.335091"
+       y="164.70157"
+       id="text4640"><tspan
+         sodipodi:role="line"
+         id="tspan4638"
+         x="30.335091"
+         y="164.70157"
+         style="font-size:4.23333311px;stroke-width:0.26458332px">Pixel Layers</tspan></text>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;marker-end:url(#Arrow1Lend)"
+       d="M 55.458425,161.36071 72.69731,157.21803"
+       id="path4642"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker4960)"
+       d="m 55.458425,161.36071 10.690784,-8.28535"
+       id="path4644"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker4994)"
+       d="m 55.458425,161.36071 3.474506,-12.42803"
+       id="path4646"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5034)"
+       d="m 55.458425,161.36071 -5.34539,-16.70434"
+       id="path4648"
+       inkscape:connector-curvature="0" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="51.732628"
+       y="110.41105"
+       id="text4640-2"><tspan
+         sodipodi:role="line"
+         id="tspan4638-7"
+         x="51.732628"
+         y="110.41105"
+         style="font-size:4.23333311px;stroke-width:0.26458332px">ECAL</tspan></text>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#e06a4d;stroke-width:0.36500001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker5185)"
+       d="M 106.92719,103.147 C 77.830555,126.06702 92.498325,165.10202 92.498325,165.10202"
+       id="path5117"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       sodipodi:type="star"
+       style="fill:#56a500;fill-opacity:1;stroke:#3f7900;stroke-width:0.365;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path5319"
+       sodipodi:sides="5"
+       sodipodi:cx="90.203467"
+       sodipodi:cy="145.65862"
+       sodipodi:r1="1.5541326"
+       sodipodi:r2="0.77706629"
+       sodipodi:arg1="1.1263771"
+       sodipodi:arg2="1.7546956"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 90.871642,147.06178 -0.810271,-0.6392 -0.985915,0.30511 0.357529,-0.96814 -0.59484,-0.84338 1.031236,0.0409 0.618283,-0.82634 0.27981,0.99339 0.976961,0.33267 -0.858305,0.57309 z"
+       inkscape:transform-center-x="-0.087819491"
+       inkscape:transform-center-y="-0.062382329" />
+    <path
+       sodipodi:type="star"
+       style="fill:#607eff;fill-opacity:1;stroke:#2942ff;stroke-width:0.36500001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path5319-0"
+       sodipodi:sides="5"
+       sodipodi:cx="92.478153"
+       sodipodi:cy="135.54779"
+       sodipodi:r1="1.5541326"
+       sodipodi:r2="0.77706629"
+       sodipodi:arg1="1.1263771"
+       sodipodi:arg2="1.7546956"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 93.146323,136.95096 -0.810271,-0.63921 -0.985915,0.30511 0.357529,-0.96813 -0.59484,-0.84338 1.031236,0.0409 0.618283,-0.82635 0.27981,0.99339 0.976961,0.33267 -0.858305,0.57309 z"
+       inkscape:transform-center-x="-0.087819491"
+       inkscape:transform-center-y="-0.062382329" />
+    <path
+       sodipodi:type="star"
+       style="fill:#607eff;fill-opacity:1;stroke:#2942ff;stroke-width:0.36500001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path5319-0-9"
+       sodipodi:sides="5"
+       sodipodi:cx="91.074982"
+       sodipodi:cy="126.19337"
+       sodipodi:r1="1.5541326"
+       sodipodi:r2="0.77706629"
+       sodipodi:arg1="1.1263771"
+       sodipodi:arg2="1.7546956"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 91.743155,127.59653 -0.810271,-0.6392 -0.985914,0.30511 0.357529,-0.96814 -0.594841,-0.84337 1.031237,0.0409 0.618282,-0.82634 0.279811,0.99339 0.97696,0.33267 -0.858304,0.57309 z"
+       inkscape:transform-center-x="-0.087819491"
+       inkscape:transform-center-y="-0.062382329" />
+    <path
+       sodipodi:type="star"
+       style="fill:#607eff;fill-opacity:1;stroke:#2942ff;stroke-width:0.36500001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path5319-0-9-3"
+       sodipodi:sides="5"
+       sodipodi:cx="93.948135"
+       sodipodi:cy="115.90348"
+       sodipodi:r1="1.5541326"
+       sodipodi:r2="0.77706629"
+       sodipodi:arg1="1.1263771"
+       sodipodi:arg2="1.7546956"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 94.616309,117.30665 -0.810271,-0.63921 -0.985915,0.30511 0.357529,-0.96813 -0.59484,-0.84338 1.031236,0.0409 0.618283,-0.82635 0.27981,0.99339 0.976961,0.33267 -0.858305,0.57309 z"
+       inkscape:transform-center-x="-0.087819491"
+       inkscape:transform-center-y="-0.062382329" />
+  </g>
+</svg>

BIN
docs/presentations/2017_12_13/diagrams/seeding_step3.png


+ 434 - 0
docs/presentations/2017_12_13/diagrams/seeding_step3.svg

@@ -0,0 +1,434 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="210mm"
+   height="297mm"
+   viewBox="0 0 210 297"
+   version="1.1"
+   id="svg8"
+   inkscape:version="0.92.2 5c3e80d, 2017-08-06"
+   sodipodi:docname="seeding_step3.svg"
+   inkscape:export-filename="/home/caleb/Sources/EGamma/docs/presentations/2017_11_21/diagrams/seeding_step3.png"
+   inkscape:export-xdpi="157.554"
+   inkscape:export-ydpi="157.554">
+  <defs
+     id="defs2">
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker5185"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend">
+      <path
+         transform="scale(0.8) rotate(180) translate(12.5,0)"
+         style="fill-rule:evenodd;stroke:#56a500;stroke-width:1pt;stroke-opacity:1;fill:#56a500;fill-opacity:1"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         id="path5183" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker5127"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend">
+      <path
+         transform="scale(0.8) rotate(180) translate(12.5,0)"
+         style="fill-rule:evenodd;stroke:#e06a4d;stroke-width:1pt;stroke-opacity:1;fill:#e06a4d;fill-opacity:1"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         id="path5125" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker5034"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path5032"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) rotate(180) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker4994"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path4992"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) rotate(180) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker4960"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path4958"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) rotate(180) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Lend"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path4653"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) rotate(180) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lstart"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Lstart"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path4650"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) translate(12.5,0)" />
+    </marker>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="3.959798"
+     inkscape:cx="336.13622"
+     inkscape:cy="621.64333"
+     inkscape:document-units="mm"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="3840"
+     inkscape:window-height="2133"
+     inkscape:window-x="0"
+     inkscape:window-y="27"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata5">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <path
+       style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.20000005;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path3699"
+       sodipodi:type="arc"
+       sodipodi:cx="-159.44304"
+       sodipodi:cy="-100.99379"
+       sodipodi:rx="18.898809"
+       sodipodi:ry="19.560268"
+       sodipodi:start="0"
+       sodipodi:end="2.6141282"
+       d="m -140.54423,-100.99379 a 18.898809,19.560268 0 0 1 -13.97216,18.883948 18.898809,19.560268 0 0 1 -21.25685,-9.038403"
+       transform="rotate(-151.70891)"
+       sodipodi:open="true" />
+    <path
+       style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.2;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path3699-3"
+       sodipodi:type="arc"
+       sodipodi:cx="-159.77797"
+       sodipodi:cy="-101.19431"
+       sodipodi:rx="28.619246"
+       sodipodi:ry="29.62092"
+       sodipodi:start="0"
+       sodipodi:end="2.6141282"
+       d="m -131.15872,-101.19431 a 28.619246,29.62092 0 0 1 -21.15863,28.596737 28.619246,29.62092 0 0 1 -32.19011,-13.687227"
+       transform="rotate(-151.70891)"
+       sodipodi:open="true" />
+    <path
+       style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.2;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path3699-3-6"
+       sodipodi:type="arc"
+       sodipodi:cx="-159.94458"
+       sodipodi:cy="-101.45564"
+       sodipodi:rx="37.954716"
+       sodipodi:ry="39.283127"
+       sodipodi:start="0"
+       sodipodi:end="2.6141282"
+       d="m -121.98986,-101.45564 a 37.954716,39.283127 0 0 1 -28.06047,37.924862 37.954716,39.283127 0 0 1 -42.69039,-18.151937"
+       transform="rotate(-151.70891)"
+       sodipodi:open="true" />
+    <path
+       style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.2;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path3699-3-6-7"
+       sodipodi:type="arc"
+       sodipodi:cx="-159.41281"
+       sodipodi:cy="-101.87426"
+       sodipodi:rx="47.771393"
+       sodipodi:ry="49.44339"
+       sodipodi:start="0"
+       sodipodi:end="2.6141282"
+       d="m -111.64142,-101.87426 a 47.771393,49.44339 0 0 1 -35.31808,47.733824 47.771393,49.44339 0 0 1 -53.73191,-22.846789"
+       transform="rotate(-151.70891)"
+       sodipodi:open="true" />
+    <rect
+       style="fill:#e0da4d;fill-opacity:1;stroke:#b09e00;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="rect4551"
+       width="11.90625"
+       height="6.0476193"
+       x="88.329681"
+       y="98.802345" />
+    <rect
+       style="fill:#e0da4d;fill-opacity:1;stroke:#b09e00;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="rect4551-5"
+       width="11.90625"
+       height="6.0476193"
+       x="116.00665"
+       y="81.034035"
+       transform="rotate(9.3947036)" />
+    <rect
+       style="fill:#e0da4d;fill-opacity:1;stroke:#b09e00;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="rect4551-3"
+       width="11.90625"
+       height="6.0476193"
+       x="147.3625"
+       y="41.16695"
+       transform="rotate(25.875968)" />
+    <rect
+       style="fill:#e0da4d;fill-opacity:1;stroke:#b09e00;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="rect4551-56"
+       width="11.90625"
+       height="6.0476193"
+       x="166.07747"
+       y="-2.3016889"
+       transform="rotate(41.096103)"
+       inkscape:transform-center-x="-8.8198944"
+       inkscape:transform-center-y="-0.80180858" />
+    <rect
+       style="fill:#e0da4d;fill-opacity:1;stroke:#b09e00;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="rect4551-2"
+       width="11.90625"
+       height="6.0476193"
+       x="175.52022"
+       y="-35.794567"
+       transform="rotate(51.920815)"
+       inkscape:transform-center-x="-4.6772167"
+       inkscape:transform-center-y="-1.3363476" />
+    <rect
+       style="fill:#e0da4d;fill-opacity:1;stroke:#b09e00;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="rect4551-2-9"
+       width="11.90625"
+       height="6.0476193"
+       x="3.3661494"
+       y="125.19787"
+       transform="rotate(-28.866898)" />
+    <rect
+       style="fill:#e0da4d;fill-opacity:1;stroke:#b09e00;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="rect4551-2-1"
+       width="11.90625"
+       height="6.0476193"
+       x="50.194736"
+       y="116.17805"
+       transform="rotate(-13.177664)" />
+    <path
+       sodipodi:type="star"
+       style="fill:#e06a4d;fill-opacity:1;stroke:#b0000e;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path4626"
+       sodipodi:sides="5"
+       sodipodi:cx="107.04144"
+       sodipodi:cy="103.2296"
+       sodipodi:r1="1.9457515"
+       sodipodi:r2="0.97287577"
+       sodipodi:arg1="1.2924967"
+       sodipodi:arg2="1.9208152"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 107.57598,105.10049 -0.86815,-0.957 -1.28052,0.17262 0.64188,-1.12139 -0.55988,-1.16451 1.26486,0.26395 0.9345,-0.89233 0.13984,1.28451 1.13743,0.61302 -1.17843,0.52993 z"
+       inkscape:transform-center-x="-0.16518051"
+       inkscape:transform-center-y="0.021555627" />
+    <ellipse
+       style="fill:#000000;fill-opacity:1;stroke:#3c3c3c;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path4628"
+       cx="92.341621"
+       cy="165.1693"
+       rx="1.8708867"
+       ry="1.9377041" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:4.93888903px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="79.51268"
+       y="172.31876"
+       id="text4632"><tspan
+         sodipodi:role="line"
+         id="tspan4630"
+         x="79.51268"
+         y="172.31876"
+         style="font-size:4.93888903px;stroke-width:0.26458332px">Beam-Spot</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:4.23333311px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="113.08507"
+       y="75.540039"
+       id="text4636"
+       transform="rotate(11.383699)"><tspan
+         sodipodi:role="line"
+         id="tspan4634"
+         x="113.08507"
+         y="75.540039"
+         style="font-size:4.23333311px;stroke-width:0.26458332px">Super Cluster</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="30.335091"
+       y="164.70157"
+       id="text4640"><tspan
+         sodipodi:role="line"
+         id="tspan4638"
+         x="30.335091"
+         y="164.70157"
+         style="font-size:4.23333311px;stroke-width:0.26458332px">Pixel Layers</tspan></text>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;marker-end:url(#Arrow1Lend)"
+       d="M 55.458425,161.36071 72.69731,157.21803"
+       id="path4642"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker4960)"
+       d="m 55.458425,161.36071 10.690784,-8.28535"
+       id="path4644"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker4994)"
+       d="m 55.458425,161.36071 3.474506,-12.42803"
+       id="path4646"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5034)"
+       d="m 55.458425,161.36071 -5.34539,-16.70434"
+       id="path4648"
+       inkscape:connector-curvature="0" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="51.732628"
+       y="110.41105"
+       id="text4640-2"><tspan
+         sodipodi:role="line"
+         id="tspan4638-7"
+         x="51.732628"
+         y="110.41105"
+         style="font-size:4.23333311px;stroke-width:0.26458332px">ECAL</tspan></text>
+    <path
+       sodipodi:type="star"
+       style="fill:#56a500;fill-opacity:1;stroke:#3f7900;stroke-width:0.365;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path5319"
+       sodipodi:sides="5"
+       sodipodi:cx="90.203467"
+       sodipodi:cy="145.65862"
+       sodipodi:r1="1.5541326"
+       sodipodi:r2="0.77706629"
+       sodipodi:arg1="1.1263771"
+       sodipodi:arg2="1.7546956"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 90.871642,147.06178 -0.810271,-0.6392 -0.985915,0.30511 0.357529,-0.96814 -0.59484,-0.84338 1.031236,0.0409 0.618283,-0.82634 0.27981,0.99339 0.976961,0.33267 -0.858305,0.57309 z"
+       inkscape:transform-center-x="-0.087819491"
+       inkscape:transform-center-y="-0.062382329" />
+    <path
+       sodipodi:type="star"
+       style="fill:#607eff;fill-opacity:1;stroke:#2942ff;stroke-width:0.36500001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path5319-0"
+       sodipodi:sides="5"
+       sodipodi:cx="92.478153"
+       sodipodi:cy="135.54779"
+       sodipodi:r1="1.5541326"
+       sodipodi:r2="0.77706629"
+       sodipodi:arg1="1.1263771"
+       sodipodi:arg2="1.7546956"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 93.146323,136.95096 -0.810271,-0.63921 -0.985915,0.30511 0.357529,-0.96813 -0.59484,-0.84338 1.031236,0.0409 0.618283,-0.82635 0.27981,0.99339 0.976961,0.33267 -0.858305,0.57309 z"
+       inkscape:transform-center-x="-0.087819491"
+       inkscape:transform-center-y="-0.062382329" />
+    <path
+       sodipodi:type="star"
+       style="fill:#607eff;fill-opacity:1;stroke:#2942ff;stroke-width:0.36500001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path5319-0-9"
+       sodipodi:sides="5"
+       sodipodi:cx="91.074982"
+       sodipodi:cy="126.19337"
+       sodipodi:r1="1.5541326"
+       sodipodi:r2="0.77706629"
+       sodipodi:arg1="1.1263771"
+       sodipodi:arg2="1.7546956"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 91.743155,127.59653 -0.810271,-0.6392 -0.985914,0.30511 0.357529,-0.96814 -0.594841,-0.84337 1.031237,0.0409 0.618282,-0.82634 0.279811,0.99339 0.97696,0.33267 -0.858304,0.57309 z"
+       inkscape:transform-center-x="-0.087819491"
+       inkscape:transform-center-y="-0.062382329" />
+    <path
+       sodipodi:type="star"
+       style="fill:#607eff;fill-opacity:1;stroke:#2942ff;stroke-width:0.36500001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path5319-0-9-3"
+       sodipodi:sides="5"
+       sodipodi:cx="93.948135"
+       sodipodi:cy="115.90348"
+       sodipodi:r1="1.5541326"
+       sodipodi:r2="0.77706629"
+       sodipodi:arg1="1.1263771"
+       sodipodi:arg2="1.7546956"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 94.616309,117.30665 -0.810271,-0.63921 -0.985915,0.30511 0.357529,-0.96813 -0.59484,-0.84338 1.031236,0.0409 0.618283,-0.82635 0.27981,0.99339 0.976961,0.33267 -0.858305,0.57309 z"
+       inkscape:transform-center-x="-0.087819491"
+       inkscape:transform-center-y="-0.062382329" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#56a500;stroke-width:0.36500001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker5185)"
+       d="m 92.294183,165.22035 c -5.790008,-28.27836 1.038059,-46.14999 11.295827,-60.78851"
+       id="path5117"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+  </g>
+</svg>

BIN
docs/presentations/2017_12_13/diagrams/seeding_step4.png


+ 434 - 0
docs/presentations/2017_12_13/diagrams/seeding_step4.svg

@@ -0,0 +1,434 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="210mm"
+   height="297mm"
+   viewBox="0 0 210 297"
+   version="1.1"
+   id="svg8"
+   inkscape:version="0.92.2 5c3e80d, 2017-08-06"
+   sodipodi:docname="seeding_step4.svg"
+   inkscape:export-filename="/home/caleb/Sources/EGamma/docs/presentations/2017_11_21/diagrams/seeding_step4.png"
+   inkscape:export-xdpi="157.554"
+   inkscape:export-ydpi="157.554">
+  <defs
+     id="defs2">
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker5185"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend">
+      <path
+         transform="scale(0.8) rotate(180) translate(12.5,0)"
+         style="fill-rule:evenodd;stroke:#56a500;stroke-width:1pt;stroke-opacity:1;fill:#56a500;fill-opacity:1"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         id="path5183" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker5127"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend">
+      <path
+         transform="scale(0.8) rotate(180) translate(12.5,0)"
+         style="fill-rule:evenodd;stroke:#e06a4d;stroke-width:1pt;stroke-opacity:1;fill:#e06a4d;fill-opacity:1"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         id="path5125" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker5034"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path5032"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) rotate(180) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker4994"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path4992"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) rotate(180) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker4960"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path4958"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) rotate(180) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Lend"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path4653"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) rotate(180) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lstart"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Lstart"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path4650"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) translate(12.5,0)" />
+    </marker>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1.979899"
+     inkscape:cx="32.734031"
+     inkscape:cy="660.25753"
+     inkscape:document-units="mm"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="3840"
+     inkscape:window-height="2133"
+     inkscape:window-x="0"
+     inkscape:window-y="27"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata5">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <path
+       style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.20000005;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path3699"
+       sodipodi:type="arc"
+       sodipodi:cx="-159.44304"
+       sodipodi:cy="-100.99379"
+       sodipodi:rx="18.898809"
+       sodipodi:ry="19.560268"
+       sodipodi:start="0"
+       sodipodi:end="2.6141282"
+       d="m -140.54423,-100.99379 a 18.898809,19.560268 0 0 1 -13.97216,18.883948 18.898809,19.560268 0 0 1 -21.25685,-9.038403"
+       transform="rotate(-151.70891)"
+       sodipodi:open="true" />
+    <path
+       style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.2;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path3699-3"
+       sodipodi:type="arc"
+       sodipodi:cx="-159.77797"
+       sodipodi:cy="-101.19431"
+       sodipodi:rx="28.619246"
+       sodipodi:ry="29.62092"
+       sodipodi:start="0"
+       sodipodi:end="2.6141282"
+       d="m -131.15872,-101.19431 a 28.619246,29.62092 0 0 1 -21.15863,28.596737 28.619246,29.62092 0 0 1 -32.19011,-13.687227"
+       transform="rotate(-151.70891)"
+       sodipodi:open="true" />
+    <path
+       style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.2;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path3699-3-6"
+       sodipodi:type="arc"
+       sodipodi:cx="-159.94458"
+       sodipodi:cy="-101.45564"
+       sodipodi:rx="37.954716"
+       sodipodi:ry="39.283127"
+       sodipodi:start="0"
+       sodipodi:end="2.6141282"
+       d="m -121.98986,-101.45564 a 37.954716,39.283127 0 0 1 -28.06047,37.924862 37.954716,39.283127 0 0 1 -42.69039,-18.151937"
+       transform="rotate(-151.70891)"
+       sodipodi:open="true" />
+    <path
+       style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.2;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path3699-3-6-7"
+       sodipodi:type="arc"
+       sodipodi:cx="-159.41281"
+       sodipodi:cy="-101.87426"
+       sodipodi:rx="47.771393"
+       sodipodi:ry="49.44339"
+       sodipodi:start="0"
+       sodipodi:end="2.6141282"
+       d="m -111.64142,-101.87426 a 47.771393,49.44339 0 0 1 -35.31808,47.733824 47.771393,49.44339 0 0 1 -53.73191,-22.846789"
+       transform="rotate(-151.70891)"
+       sodipodi:open="true" />
+    <rect
+       style="fill:#e0da4d;fill-opacity:1;stroke:#b09e00;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="rect4551"
+       width="11.90625"
+       height="6.0476193"
+       x="88.329681"
+       y="98.802345" />
+    <rect
+       style="fill:#e0da4d;fill-opacity:1;stroke:#b09e00;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="rect4551-5"
+       width="11.90625"
+       height="6.0476193"
+       x="116.00665"
+       y="81.034035"
+       transform="rotate(9.3947036)" />
+    <rect
+       style="fill:#e0da4d;fill-opacity:1;stroke:#b09e00;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="rect4551-3"
+       width="11.90625"
+       height="6.0476193"
+       x="147.3625"
+       y="41.16695"
+       transform="rotate(25.875968)" />
+    <rect
+       style="fill:#e0da4d;fill-opacity:1;stroke:#b09e00;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="rect4551-56"
+       width="11.90625"
+       height="6.0476193"
+       x="166.07747"
+       y="-2.3016889"
+       transform="rotate(41.096103)"
+       inkscape:transform-center-x="-8.8198944"
+       inkscape:transform-center-y="-0.80180858" />
+    <rect
+       style="fill:#e0da4d;fill-opacity:1;stroke:#b09e00;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="rect4551-2"
+       width="11.90625"
+       height="6.0476193"
+       x="175.52022"
+       y="-35.794567"
+       transform="rotate(51.920815)"
+       inkscape:transform-center-x="-4.6772167"
+       inkscape:transform-center-y="-1.3363476" />
+    <rect
+       style="fill:#e0da4d;fill-opacity:1;stroke:#b09e00;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="rect4551-2-9"
+       width="11.90625"
+       height="6.0476193"
+       x="3.3661494"
+       y="125.19787"
+       transform="rotate(-28.866898)" />
+    <rect
+       style="fill:#e0da4d;fill-opacity:1;stroke:#b09e00;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="rect4551-2-1"
+       width="11.90625"
+       height="6.0476193"
+       x="50.194736"
+       y="116.17805"
+       transform="rotate(-13.177664)" />
+    <path
+       sodipodi:type="star"
+       style="fill:#e06a4d;fill-opacity:1;stroke:#b0000e;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path4626"
+       sodipodi:sides="5"
+       sodipodi:cx="107.04144"
+       sodipodi:cy="103.2296"
+       sodipodi:r1="1.9457515"
+       sodipodi:r2="0.97287577"
+       sodipodi:arg1="1.2924967"
+       sodipodi:arg2="1.9208152"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 107.57598,105.10049 -0.86815,-0.957 -1.28052,0.17262 0.64188,-1.12139 -0.55988,-1.16451 1.26486,0.26395 0.9345,-0.89233 0.13984,1.28451 1.13743,0.61302 -1.17843,0.52993 z"
+       inkscape:transform-center-x="-0.16518051"
+       inkscape:transform-center-y="0.021555627" />
+    <ellipse
+       style="fill:#000000;fill-opacity:1;stroke:#3c3c3c;stroke-width:0.40000001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path4628"
+       cx="92.341621"
+       cy="165.1693"
+       rx="1.8708867"
+       ry="1.9377041" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:4.93888903px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="79.51268"
+       y="172.31876"
+       id="text4632"><tspan
+         sodipodi:role="line"
+         id="tspan4630"
+         x="79.51268"
+         y="172.31876"
+         style="font-size:4.93888903px;stroke-width:0.26458332px">Beam-Spot</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:4.23333311px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="113.08507"
+       y="75.540039"
+       id="text4636"
+       transform="rotate(11.383699)"><tspan
+         sodipodi:role="line"
+         id="tspan4634"
+         x="113.08507"
+         y="75.540039"
+         style="font-size:4.23333311px;stroke-width:0.26458332px">Super Cluster</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="30.335091"
+       y="164.70157"
+       id="text4640"><tspan
+         sodipodi:role="line"
+         id="tspan4638"
+         x="30.335091"
+         y="164.70157"
+         style="font-size:4.23333311px;stroke-width:0.26458332px">Pixel Layers</tspan></text>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;marker-end:url(#Arrow1Lend)"
+       d="M 55.458425,161.36071 72.69731,157.21803"
+       id="path4642"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker4960)"
+       d="m 55.458425,161.36071 10.690784,-8.28535"
+       id="path4644"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker4994)"
+       d="m 55.458425,161.36071 3.474506,-12.42803"
+       id="path4646"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5034)"
+       d="m 55.458425,161.36071 -5.34539,-16.70434"
+       id="path4648"
+       inkscape:connector-curvature="0" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="51.732628"
+       y="110.41105"
+       id="text4640-2"><tspan
+         sodipodi:role="line"
+         id="tspan4638-7"
+         x="51.732628"
+         y="110.41105"
+         style="font-size:4.23333311px;stroke-width:0.26458332px">ECAL</tspan></text>
+    <path
+       sodipodi:type="star"
+       style="fill:#56a500;fill-opacity:1;stroke:#3f7900;stroke-width:0.365;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path5319"
+       sodipodi:sides="5"
+       sodipodi:cx="90.203467"
+       sodipodi:cy="145.65862"
+       sodipodi:r1="1.5541326"
+       sodipodi:r2="0.77706629"
+       sodipodi:arg1="1.1263771"
+       sodipodi:arg2="1.7546956"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 90.871642,147.06178 -0.810271,-0.6392 -0.985915,0.30511 0.357529,-0.96814 -0.59484,-0.84338 1.031236,0.0409 0.618283,-0.82634 0.27981,0.99339 0.976961,0.33267 -0.858305,0.57309 z"
+       inkscape:transform-center-x="-0.087819491"
+       inkscape:transform-center-y="-0.062382329" />
+    <path
+       sodipodi:type="star"
+       style="fill:#56a500;fill-opacity:1;stroke:#3f7900;stroke-width:0.36500001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path5319-0"
+       sodipodi:sides="5"
+       sodipodi:cx="92.478153"
+       sodipodi:cy="135.54779"
+       sodipodi:r1="1.5541326"
+       sodipodi:r2="0.77706629"
+       sodipodi:arg1="1.1263771"
+       sodipodi:arg2="1.7546956"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 93.146323,136.95096 -0.810271,-0.63921 -0.985915,0.30511 0.357529,-0.96813 -0.59484,-0.84338 1.031236,0.0409 0.618283,-0.82635 0.27981,0.99339 0.976961,0.33267 -0.858305,0.57309 z"
+       inkscape:transform-center-x="-0.087819491"
+       inkscape:transform-center-y="-0.062382329" />
+    <path
+       sodipodi:type="star"
+       style="fill:#56a500;fill-opacity:1;stroke:#3f7900;stroke-width:0.36500001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path5319-0-9"
+       sodipodi:sides="5"
+       sodipodi:cx="91.074982"
+       sodipodi:cy="126.19337"
+       sodipodi:r1="1.5541326"
+       sodipodi:r2="0.77706629"
+       sodipodi:arg1="1.1263771"
+       sodipodi:arg2="1.7546956"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 91.743155,127.59653 -0.810271,-0.6392 -0.985914,0.30511 0.357529,-0.96814 -0.594841,-0.84337 1.031237,0.0409 0.618282,-0.82634 0.279811,0.99339 0.97696,0.33267 -0.858304,0.57309 z"
+       inkscape:transform-center-x="-0.087819491"
+       inkscape:transform-center-y="-0.062382329" />
+    <path
+       sodipodi:type="star"
+       style="fill:#56a500;fill-opacity:1;stroke:#3f7900;stroke-width:0.36500001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path5319-0-9-3"
+       sodipodi:sides="5"
+       sodipodi:cx="93.948135"
+       sodipodi:cy="115.90348"
+       sodipodi:r1="1.5541326"
+       sodipodi:r2="0.77706629"
+       sodipodi:arg1="1.1263771"
+       sodipodi:arg2="1.7546956"
+       inkscape:flatsided="false"
+       inkscape:rounded="0"
+       inkscape:randomized="0"
+       d="m 94.616309,117.30665 -0.810271,-0.63921 -0.985915,0.30511 0.357529,-0.96813 -0.59484,-0.84338 1.031236,0.0409 0.618283,-0.82635 0.27981,0.99339 0.976961,0.33267 -0.858305,0.57309 z"
+       inkscape:transform-center-x="-0.087819491"
+       inkscape:transform-center-y="-0.062382329" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#56a500;stroke-width:0.36500001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker5185)"
+       d="m 92.294183,165.22035 c -5.790008,-28.27836 1.038059,-46.14999 11.295827,-60.78851"
+       id="path5117"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+  </g>
+</svg>

BIN
docs/presentations/2017_12_13/diagrams/vertex_z.png


+ 268 - 0
docs/presentations/2017_12_13/diagrams/vertex_z.svg

@@ -0,0 +1,268 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="210mm"
+   height="297mm"
+   viewBox="0 0 210 297"
+   version="1.1"
+   id="svg8245"
+   inkscape:version="0.92.2 5c3e80d, 2017-08-06"
+   sodipodi:docname="vertex_z.svg"
+   inkscape:export-filename="/home/caleb/Sources/EGamma/docs/presentations/2017_11_21/diagrams/vertex_z.png"
+   inkscape:export-xdpi="157.554"
+   inkscape:export-ydpi="157.554">
+  <defs
+     id="defs8239">
+    <marker
+       inkscape:stockid="StopL"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="StopL"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path4819"
+         d="M 0.0,5.65 L 0.0,-5.65"
+         style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#ad0000;stroke-width:1pt;stroke-opacity:1"
+         transform="scale(0.8)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lstart"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Lstart"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path4650"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker8920"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path8918"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#007932;stroke-width:1pt;stroke-opacity:1;fill:#007932;fill-opacity:1"
+         transform="scale(0.8) rotate(180) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Lend"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path4653"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) rotate(180) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="StopL"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="StopL-2"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path4819-0"
+         d="M 0,5.65 V -5.65"
+         style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#ad0000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="scale(0.8)" />
+    </marker>
+    <marker
+       inkscape:stockid="StopL"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker9388"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path9386"
+         d="M 0,5.65 V -5.65"
+         style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#ad0000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="scale(0.8)" />
+    </marker>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="5.6"
+     inkscape:cx="382.66038"
+     inkscape:cy="670.8583"
+     inkscape:document-units="mm"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="3840"
+     inkscape:window-height="2133"
+     inkscape:window-x="0"
+     inkscape:window-y="27"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata8242">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.23912072px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 94.952338,88.028016 -0.07175,53.320524"
+       id="path8247"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.17471994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 75.172396,132.36206 49.434354,-0.0785"
+       id="path8249"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <ellipse
+       style="fill:#000000;fill-opacity:1;stroke:#0b1303;stroke-width:0.36500001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path8251"
+       cx="114.67344"
+       cy="104.47501"
+       rx="0.4252232"
+       ry="0.37797621" />
+    <ellipse
+       style="fill:#000000;fill-opacity:1;stroke:#0b1303;stroke-width:0.36500001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path8251-6"
+       cx="101.59583"
+       cy="117.32806"
+       rx="0.4252232"
+       ry="0.37797621" />
+    <ellipse
+       style="fill:#000000;fill-opacity:1;stroke:#0b1303;stroke-width:0.36500001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path8251-0"
+       cx="94.980904"
+       cy="132.32855"
+       rx="0.4252232"
+       ry="0.37797621" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:3.52777767px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="122.57965"
+       y="134.97694"
+       id="text8819"><tspan
+         sodipodi:role="line"
+         id="tspan8817"
+         x="122.57965"
+         y="134.97694"
+         style="font-size:3.52777767px;stroke-width:0.26458332px">z</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:3.52777767px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="91.883476"
+       y="89.193726"
+       id="text8819-6"><tspan
+         sodipodi:role="line"
+         id="tspan8817-2"
+         x="91.883476"
+         y="89.193726"
+         style="font-size:3.52777767px;stroke-width:0.26458332px">R</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="115.25998"
+       y="103.73071"
+       id="text8841"><tspan
+         sodipodi:role="line"
+         id="tspan8839"
+         x="115.25998"
+         y="103.73071"
+         style="font-size:2.82222223px;stroke-width:0.26458332px">SC</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:11.60000637%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="99.058029"
+       y="113.31068"
+       id="text8841-6"><tspan
+         sodipodi:role="line"
+         id="tspan8839-1"
+         x="99.058029"
+         y="113.31068"
+         style="font-size:2.82222223px;line-height:11.60000637%;text-align:center;text-anchor:middle;stroke-width:0.26458332px">first</tspan><tspan
+         sodipodi:role="line"
+         x="99.058029"
+         y="116.10428"
+         style="font-size:2.82222223px;line-height:11.60000637%;text-align:center;text-anchor:middle;stroke-width:0.26458332px"
+         id="tspan8861">hit</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:11.60000637%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="99.420441"
+       y="135.71225"
+       id="text8841-6-8"><tspan
+         sodipodi:role="line"
+         x="99.420441"
+         y="135.71225"
+         style="font-size:2.82222223px;line-height:11.60000637%;text-align:center;text-anchor:middle;stroke-width:0.26458332px"
+         id="tspan8861-9">beam</tspan><tspan
+         sodipodi:role="line"
+         x="99.420441"
+         y="138.50584"
+         style="font-size:2.82222223px;line-height:11.60000637%;text-align:center;text-anchor:middle;stroke-width:0.26458332px"
+         id="tspan8886">spot</tspan></text>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#007932;stroke-width:0.26499999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.26499999, 0.26499999000000002;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker8920)"
+       d="M 114.62522,104.46571 86.795778,131.86084"
+       id="path11249"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#007932;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="78.877914"
+       y="135.46896"
+       id="text11397"><tspan
+         sodipodi:role="line"
+         id="tspan11395"
+         x="78.877914"
+         y="135.46896"
+         style="font-size:2.82222223px;fill:#007932;fill-opacity:1;stroke-width:0.26458332px">vertex</tspan></text>
+    <ellipse
+       style="fill:#007932;fill-opacity:1;stroke:#007932;stroke-width:0.36500001;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
+       id="path8251-0-3"
+       cx="86.403"
+       cy="132.35593"
+       rx="0.4252232"
+       ry="0.37797621" />
+  </g>
+</svg>

BIN
docs/presentations/2017_12_13/diagrams/window1.png


BIN
docs/presentations/2017_12_13/diagrams/window2.png


BIN
docs/presentations/2017_12_13/figures/dphi1_max.png


+ 1 - 0
docs/presentations/2017_12_13/figures/live

@@ -0,0 +1 @@
+../../../../output/figures

BIN
docs/presentations/2017_12_13/main.pdf


+ 334 - 0
docs/presentations/2017_12_13/main.tex

@@ -0,0 +1,334 @@
+
+% rubber: module pdftex
+
+\documentclass[english,aspectratio=43,8pt]{beamer}
+\usepackage{graphicx}
+\usepackage{amssymb}
+\usepackage{booktabs}
+\usepackage{siunitx}
+\usepackage{subcaption}
+\usepackage{marvosym}
+\usepackage{verbatim}
+\usepackage[normalem]{ulem}  % Needed for /sout
+
+\newcommand{\pb}{\si{\pico\barn}}%
+\newcommand{\fb}{\si{\femto\barn}}%
+\newcommand{\invfb}{\si{\per\femto\barn}}
+\newcommand{\GeV}{\si{\giga\electronvolt}}
+
+\hypersetup{colorlinks=true,urlcolor=blue}
+
+\usetheme[]{bjeldbak}
+
+\begin{document}
+
+\title[e Reco. Validation]{Off-line Electron Seeding Validation \-- Update}
+\author[C. Fangmeier]{\textbf{Caleb Fangmeier} \\ Ilya Kravchenko,  Greg Snow}
+\institute[UNL]{University of Nebraska \-- Lincoln}
+\date{Joint ECAL/EGM Meeting | December 13, 2017}
+
+\titlegraphic{%
+\begin{figure}
+  \includegraphics[width=1in]{CMSlogo.png}\hspace{0.75in}\includegraphics[width=1in]{nebraska-n.png}
+\end{figure}
+}
+
+\begin{frame}[plain]
+  \titlepage%
+\end{frame}
+
+\begin{frame}{Introduction}
+  \begin{itemize}
+    \item Our goal is to study \textbf{seeding} for the \textbf{off-line} GSF tracking with the \textbf{new pixel detector}.
+    \item Specifically, we want to optimize the new pixel-matching scheme from HLT for use in off-line reconstruction.
+    \item Since last update\footnote{https://indico.cern.ch/event/662751/contributions/2778076/attachments/1562070/2460731/main.pdf},
+    \begin{itemize}
+        \item Created sets of nTuples to compare/contrast seeding with new/old scheme.
+        \item Dataset: \\
+          {\tiny \vspace{0.05in}\hspace{-0.2in}\texttt{/ZToEE\_NNPDF30\_13TeV-powheg\_M\_120\_200/
+              \vspace{-0.05in}\hspace{-0.2in}RunIISummer17DRStdmix-NZSFlatPU28to62\_92X\_upgrade2017\_realistic\_v10-v1/GEN-SIM-RAW}}\vspace{0.05in}
+        \item Ntuples on Nebraska T2 (happy to share with interested parties!)
+    \end{itemize}
+  \item This Talk:
+    \begin{itemize}
+      \item Show performance comparisons between new and old seeding schemes
+      \item Show correlations between performance and detector geometry
+      \item Next steps
+    \end{itemize}
+  \end{itemize}
+\end{frame}
+
+
+\begin{frame}
+  First, some definitions
+  \begin{itemize}
+    \item \textbf{Sim-Track \--} A track from a simulated electron originating from the luminous region of CMS (beam-spot +- 5$\sigma$)
+    \item \textbf{ECAL-Driven Seed \--} A seed created via a matching procedure between Super-Clusters and General Tracking Seeds (Either from \texttt{ElectronSeedProducer} or \texttt{ElectronNHitSeedProducer})
+    \item \textbf{GSF Track \--} A track from GSF-Tracking resulting from an \textbf{ECAL-Driven Seed}
+    \item \textbf{Seeding Efficiency \--} The fraction of \textbf{Sim-Tracks} that have a matching \textbf{ECAL-Driven Seed} (based on simhit-rechit linkage)
+    \item \textbf{GSF Tracking Efficiency \--} The fraction of \textbf{Sim-Tracks} that have a matching \textbf{GSF Track} (again, based on simhit-rechit linkage)
+    \item \textbf{ECAL-Driven Seed Purity \--} The fraction of \textbf{ECAL-Driven Seeds} that have a matching \textbf{Sim-Track}
+    \item \textbf{GSF Tracking Purity \--} The fraction of \textbf{GSF Tracks} that have a matching \textbf{Sim-Track}
+  \end{itemize}
+\end{frame}
+
+\begin{frame}{ECAL-Driven Seeding Efficiency}
+  \begin{columns}
+  \begin{column}{0.45\textwidth}
+    \begin{itemize}
+      \item In general, performance is similar between old and new seeding scheme
+      \item Some early drop-off in efficiency at high eta
+      \item Note the drop in efficiency around $\eta\approx 1.4$. (see next slide)
+    \end{itemize}
+  \end{column}
+  \begin{column}{0.55\textwidth}
+    \begin{figure}
+      \includegraphics[width=\textwidth]{./figures/live/ECAL-Driven_Seeding_Efficiency.png}
+    \end{figure}
+  \end{column}
+  \end{columns}
+\end{frame}
+
+\begin{frame}{Number of Pixel Layers vs. $\eta$}
+  \begin{columns}
+  \begin{column}{0.45\textwidth}
+    \begin{itemize}
+      \item Expected number of layers with hits is flat just under 4 for $|\eta|<1.2$, but
+      \item Drops significantly at the boundary between BPIX and FPIX
+      \item However, at $|\eta|=2$, it peaks since the track could pass through BPIX L1-L2 \emph{and} FPIX L1-L3.
+    \end{itemize}
+  \end{column}
+  \begin{column}{0.55\textwidth}
+    \vspace{-0.25in}
+    \begin{figure}
+      \includegraphics[width=0.9\textwidth]{./figures/live/Hits.png}
+    \end{figure}
+    \vspace{-0.15in}
+    \begin{figure}
+      \includegraphics[width=0.7\textwidth]{./diagrams/phase2_tracker.jpg}
+    \end{figure}
+  \end{column}
+  \end{columns}
+\end{frame}
+
+\begin{frame}{ECAL-Driven Seeding Purity}
+  \begin{columns}
+  \begin{column}{0.45\textwidth}
+    \begin{itemize}
+      \item Similar performance in forward region, but new seeding suffers from low purity in the barrel, and especially in the transition region
+      \item Kinematic quantities here are from the seeds (based on some basic fitting), so likely worse resolution than from the GSF Tracks.
+    \end{itemize}
+  \end{column}
+  \begin{column}{0.55\textwidth}
+    \begin{figure}
+      \includegraphics[width=\textwidth]{./figures/live/ECAL-Driven_Seed_Purity.png}
+    \end{figure}
+  \end{column}
+  \end{columns}
+\end{frame}
+
+\begin{frame}{GSF Tracking Efficiency}
+  \begin{columns}
+  \begin{column}{0.45\textwidth}
+    \begin{itemize}
+      \item Again, similar performance between seeding strategies, although new is slightly worse
+      \item Note that both strategies share a performance dip in the BPIX-FPIX transition region
+    \end{itemize}
+  \end{column}
+  \begin{column}{0.55\textwidth}
+    \begin{figure}
+      \includegraphics[width=\textwidth]{./figures/live/GSF_Tracking_Efficiency.png}
+    \end{figure}
+  \end{column}
+  \end{columns}
+\end{frame}
+
+
+\begin{frame}{GSF Tracking Purity}
+  \begin{columns}
+  \begin{column}{0.45\textwidth}
+    \begin{itemize}
+      \item Similar performance, \textit{but}
+      \item Strangely, it seems that the purity of the GSF-Tracks is worse than the ECAL-Driven Seeds that produced them!
+      \item Which doesn't seem right... Needs further investigation.
+    \end{itemize}
+  \end{column}
+  \begin{column}{0.55\textwidth}
+    \begin{figure}
+      \includegraphics[width=\textwidth]{./figures/live/GSF_Track_Purity.png}
+    \end{figure}
+  \end{column}
+  \end{columns}
+\end{frame}
+
+\begin{frame}{Outlook}
+  \begin{itemize}
+    \item Targets for immediate investigation
+    \begin{itemize}
+      \item Sources of impurity in ECAL-Driven Seeds and GSF-Tracks (Pile-up? Conversions? Will be relatively straight-forward w/ truth info)
+      \item Reasons for GSF-Tracks being less pure than their associated ECAL-Driven Hits
+      \item Ensure that the simhit-rechit matching procedure isn't biasing these results based on the number of available hits
+    \end{itemize}
+    \item After that
+    \begin{itemize}
+      \item Determine method to optimize window sizing, trying to improve, ideally, both tracking efficiency and purity (Not so easy. Many knobs to adjust!)
+      \item Suggestions?
+    \end{itemize}
+  \end{itemize}
+  \vspace{1.5in}
+\end{frame}
+
+\begin{frame}
+  \begin{center}
+    {\Huge BACKUP}
+  \end{center}
+\end{frame}
+
+\begin{frame}{Triplet Electron Seeding \-- Setup}
+  \begin{columns}
+  \begin{column}{0.45\textwidth}
+    \begin{itemize}
+      \item Begin with ECAL super cluster and beam spot
+    \end{itemize}
+  \end{column}
+  \begin{column}{0.55\textwidth}
+    \begin{figure}
+      \includegraphics[width=\textwidth]{diagrams/seeding_base.png}
+    \end{figure}
+  \end{column}
+  \end{columns}
+\end{frame}
+
+\begin{frame}{Triplet Electron Seeding - Introduce Seed}
+  \begin{columns}
+  \begin{column}{0.45\textwidth}
+    \begin{itemize}
+      \item Now, examine, one-by-one seeds from general tracking*
+      \item Note that we do not look at all hits in an event, but rather rely on general tracking to identify seeds.
+    \end{itemize}
+    \vspace{0.1in}
+    \hline
+    \vspace{0.1in}
+    {\footnotesize *initialStepSeeds, highPtTripletStepSeeds, mixedTripletStepSeeds, pixelLessStepSeeds, tripletElectronSeeds, pixelPairElectronSeeds, stripPairElectronSeeds}
+  \end{column}
+  \begin{column}{0.55\textwidth}
+    \begin{figure}
+      \includegraphics[width=\textwidth]{diagrams/seeding_step1.png}
+    \end{figure}
+  \end{column}
+  \end{columns}
+\end{frame}
+
+\begin{frame}{Triplet Electron Seeding - Match First Hit}
+  \begin{columns}
+  \begin{column}{0.5\textwidth}
+    \begin{itemize}
+      \item Using the beam spot, the SC position, and SC energy, propagate a path through the pixels.
+      \item Next, require the first hit to be within a $\delta\phi$ and $\delta z$ window. ($\delta\phi$ and $\delta R$ for FPIX)
+      \item $\delta z$ window for first hit is huge as SC and beam spot positions give very little information about $z$.
+    \end{itemize}
+  \end{column}
+  \begin{column}{0.5\textwidth}
+    \begin{figure}
+      \includegraphics[width=\textwidth]{diagrams/seeding_step2.png}
+    \end{figure}
+  \end{column}
+  \end{columns}
+\end{frame}
+
+\begin{frame}{Triplet Electron Seeding - Extrapolate Vertex}
+  \begin{columns}
+  \begin{column}{0.45\textwidth}
+    \begin{itemize}
+      \item Once we have a matched hit, use it with the SC position, to find the vertex z.
+      \item Vertex x and y are still the beam spot's.
+      \item Just a simple linear extrapolation.
+    \end{itemize}
+  \end{column}
+  \begin{column}{0.55\textwidth}
+    \begin{figure}
+      \includegraphics[width=\textwidth]{diagrams/vertex_z.png}
+    \end{figure}
+  \end{column}
+  \end{columns}
+\end{frame}
+
+\begin{frame}{Triplet Electron Seeding - Match Other Hits}
+  \begin{columns}
+  \begin{column}{0.45\textwidth}
+    \begin{itemize}
+      \item Now forget the SC position, and propagate a new track based on the vertex and first hit positions, and the SC energy.
+      \item Progress one-by-one through the remaining hits in the seed and require each one fit within a specified window around the track.
+      \item Quit when all hits are matched, or a hit falls outside the window. No skipping is allowed.
+      \item However, \emph{layer} skipping is not ruled out if the original seed is missing a hit in a layer
+    \end{itemize}
+  \end{column}
+  \begin{column}{0.55\textwidth}
+    \begin{figure}
+      \includegraphics[width=\textwidth]{diagrams/seeding_step3.png}
+    \end{figure}
+  \end{column}
+  \end{columns}
+\end{frame}
+
+\begin{frame}{Triplet Electron Seeding - Window Sizes}
+  \begin{columns}
+  \begin{column}{0.55\textwidth}
+    \begin{itemize}
+      \item The $\delta\phi$ and $\delta R/z$ windows for each hit are defined using three parameters.
+        \begin{itemize}
+          \item \texttt{highEt}
+          \item \texttt{highEtThreshold}
+          \item \texttt{lowEtGradient}
+        \end{itemize}
+      \item From these, the window size is calculated as \\
+        $\texttt{highEt} + \min(0,\texttt{Et}-\texttt{highEtThreshold})*\texttt{lowEtGradient}$.
+      \item For the first hit, these parameters for the $\delta \phi$ window are,
+        \begin{itemize}
+          \item $\texttt{highEt}=0.05$
+          \item $\texttt{highEtThreshold}=20$
+          \item $\texttt{lowEtGradient}=-0.002$
+        \end{itemize}
+      \item For the first hit, these parameters for the $\delta \phi$ window are,
+    \end{itemize}
+  \end{column}
+  \begin{column}{0.45\textwidth}
+    \begin{figure}
+      \includegraphics[width=\textwidth]{figures/dphi1_max.png}
+    \end{figure}
+  \end{column}
+  \end{columns}
+  \vspace{0.1in} \hrule \vspace{0.1in}
+  These parameters can be specified for each successive hit, and in bins of $\eta$, so optimization is a challenge!
+\end{frame}
+
+\begin{frame}{Triplet Electron Seeding - Handle Missing Hits}
+  \begin{columns}
+  \begin{column}{0.45\textwidth}
+    \begin{itemize}
+      \item Finally, calculate the expected number of hits based on the number of working pixel modules the track passes through.
+      \item Require exact$^1$ number of matched hits depending on the expected number of hits.
+        \begin{itemize}
+          \item If $N_{\textrm{exp}}=4$, require $N_{\textrm{match}}=3$
+          \item If $N_{\textrm{exp}}<4$, require $N_{\textrm{match}}=2$
+        \end{itemize}
+      \item If the seed passes all requirements, all information, including
+        \begin{itemize}
+          \item Super cluster
+          \item Original Seed
+          \item Residuals (For both charge hypotheses)
+        \end{itemize}
+        are wrapped up and sent downstream to GSF tracking
+    \end{itemize}
+  \end{column}
+  \begin{column}{0.55\textwidth}
+    \begin{figure}
+      \includegraphics[width=\textwidth]{diagrams/seeding_step4.png}
+    \end{figure}
+  \end{column}
+  \end{columns}
+  \vspace{0.1in} \hrule \vspace{0.1in}
+  {\footnotesize $^1$Exact, rather than minimum to deal with duplicate seeds in input collection. Could switch to minimum with offline cross-cleaned seeds.}
+\end{frame}
+
+\end{document}

BIN
docs/presentations/2017_12_13/nebraska-n.png


+ 136 - 37
eff_plots.py

@@ -3,118 +3,217 @@ import numpy as np
 import matplotlib.pyplot as plt
 
 from filval.result_set import ResultSet
-from filval.histogram_utils import hist, hist_add, hist_normalize, hist_scale
-from filval.plotter import (decl_plot, render_plots, hist_plot, hist_plot_stack, Plot, generate_dashboard)
+from filval.histogram_utils import hist, hist_add, hist_normalize, hist_scale, hist2d
+from filval.plotter import (decl_plot, render_plots, hist_plot, hist2d_plot,
+                            hist_plot_stack, Plot, generate_dashboard)
+
+
+def center_text(x, y, txt, **kwargs):
+    plt.text(x, y, txt,
+             horizontalalignment='center', verticalalignment='center',
+             transform=plt.gca().transAxes, **kwargs)
 
 
 @decl_plot
 def plot_seed_eff(old_seeds, new_seeds):
-    r"""## Seeding Efficiency
+    r"""## ECAL-Driven Seeding Efficiency
 
-    The proportion of gen-level electrons origination in $\rho<1$cm and $|z|<10$cm from the beam spot that have
-    an associated Seed, matched via rechit-simhit associations in the pixel detector.
+    The proportion of gen-level electrons originating in the luminous region that have
+    an associated Seed, matched via rechit-simhit associations in the pixel detector. Cuts are on simtrack quantities.
     """
-    _, ((ax_pt, ax_eta), (ax_phi, _)) = plt.subplots(2, 2)
+    ax_pt = plt.subplot(221)
+    ax_eta = plt.subplot(222)
+    ax_phi = plt.subplot(223)
+
 
     errors = True
     plt.sca(ax_pt)
     hist_plot(hist(new_seeds.seed_eff_v_pt), include_errors=errors, label='New')
-    hist_plot(hist(old_seeds.seed_eff_v_pt), include_errors=errors, title='Efficiency vs. Pt', label='Old')
-    plt.xlabel("Pt")
+    hist_plot(hist(old_seeds.seed_eff_v_pt), include_errors=errors, label='Old')
+    center_text(0.5, 0.3, r'$|\eta|<2.4$')
+    plt.xlabel(r"Sim-Track $p_T$")
     plt.ylim((0, 1.1))
 
     plt.sca(ax_eta)
     hist_plot(hist(new_seeds.seed_eff_v_eta), include_errors=errors, label='New')
-    hist_plot(hist(old_seeds.seed_eff_v_eta), include_errors=errors, title='Efficiency vs. Eta', label='Old')
-    plt.xlabel("Eta")
+    hist_plot(hist(old_seeds.seed_eff_v_eta), include_errors=errors, label='Old')
+    center_text(0.5, 0.3, r'$p_T>20$')
+    plt.xlabel(r"Sim-Track $\eta$")
     plt.ylim((0, 1.1))
     plt.legend()
 
     plt.sca(ax_phi)
     hist_plot(hist(new_seeds.seed_eff_v_phi), include_errors=errors, label='New')
-    hist_plot(hist(old_seeds.seed_eff_v_phi), include_errors=errors, title='Efficiency vs. Phi', label='Old')
-    plt.xlabel("Phi")
+    hist_plot(hist(old_seeds.seed_eff_v_phi), include_errors=errors, label='Old')
+    center_text(0.5, 0.3, r'$p_T>20$ and $|\eta|<2.4$')
+    plt.xlabel(r"Sim-Track $\phi$")
     plt.ylim((0, 1.1))
 
+
 @decl_plot
 def plot_track_eff(old_seeds, new_seeds):
-    r"""## Tracking Efficiency
+    r"""## GSF Tracking Efficiency
 
-    The proportion of gen-level electrons origination in $\rho<1$cm and $|z|<10$cm from the beam spot that have
-    an associated GSF reconstructed electron.
+    The proportion of electrons origination in the luminous region from the that have
+    an associated GSF track. Cuts are on simtrack quantities.
     """
-    _, ((ax_pt, ax_eta), (ax_phi, _)) = plt.subplots(2, 2)
+    ax_pt = plt.subplot(221)
+    ax_eta = plt.subplot(222)
+    ax_phi = plt.subplot(223)
 
     errors = True
     plt.sca(ax_pt)
     hist_plot(hist(new_seeds.track_eff_v_pt), include_errors=errors, label='New')
-    hist_plot(hist(old_seeds.track_eff_v_pt), include_errors=errors, title='Efficiency vs. Pt', label='Old')
-    plt.xlabel("Pt")
+    hist_plot(hist(old_seeds.track_eff_v_pt), include_errors=errors, label='Old')
+    center_text(0.5, 0.3, r'$|\eta|<2.4$')
+    plt.xlabel(r"Sim-Track $p_T$")
     plt.ylim((0, 1.1))
 
     plt.sca(ax_eta)
     hist_plot(hist(new_seeds.track_eff_v_eta), include_errors=errors, label='New')
-    hist_plot(hist(old_seeds.track_eff_v_eta), include_errors=errors, title='Efficiency vs. Eta', label='Old')
-    plt.xlabel("Eta")
+    hist_plot(hist(old_seeds.track_eff_v_eta), include_errors=errors, label='Old')
+    center_text(0.5, 0.3, r'$p_T>20$')
+    plt.xlabel(r"Sim-Track $\eta$")
     plt.ylim((0, 1.1))
     plt.legend()
 
     plt.sca(ax_phi)
     hist_plot(hist(new_seeds.track_eff_v_phi), include_errors=errors, label='New')
-    hist_plot(hist(old_seeds.track_eff_v_phi), include_errors=errors, title='Efficiency vs. Phi', label='Old')
-    plt.xlabel("Phi")
+    hist_plot(hist(old_seeds.track_eff_v_phi), include_errors=errors, label='Old')
+    center_text(0.5, 0.3, r'$p_T>20$ and $|\eta|<2.4$')
+    plt.xlabel(r"Sim-Track $\phi$")
     plt.ylim((0, 1.1))
 
+
 @decl_plot
 def plot_seed_purity(old_seeds, new_seeds):
-    r"""## Seed Purity
+    r"""## ECAL-Driven Seed Purity
 
     The proportion of ECAL-driven seeds that have a matched gen-level electron originating in
-    $\rho<1$cm and $|z|<10$cm from the beam spot.
+    the luminous region. Cuts are on seed quantities.
     """
-    _, ((ax_pt, ax_eta), (ax_phi, _)) = plt.subplots(2, 2)
+    ax_pt = plt.subplot(221)
+    ax_eta = plt.subplot(222)
+    ax_phi = plt.subplot(223)
 
     errors = True
     plt.sca(ax_pt)
     hist_plot(hist(new_seeds.seed_pur_v_pt), include_errors=errors, label='New')
-    hist_plot(hist(old_seeds.seed_pur_v_pt), include_errors=errors, title='Purity vs. Pt', label='Old')
-    plt.xlabel("Pt")
+    hist_plot(hist(old_seeds.seed_pur_v_pt), include_errors=errors, label='Old')
+    center_text(0.5, 0.3, r'$|\eta|<2.4$')
+    plt.xlabel(r"Seed $p_T$")
     plt.ylim((0, 1.1))
 
     plt.sca(ax_eta)
     hist_plot(hist(new_seeds.seed_pur_v_eta), include_errors=errors, label='New')
-    hist_plot(hist(old_seeds.seed_pur_v_eta), include_errors=errors, title='Purity vs. Eta', label='Old')
-    plt.xlabel("Eta")
+    hist_plot(hist(old_seeds.seed_pur_v_eta), include_errors=errors, label='Old')
+    center_text(0.5, 0.3, r'$p_T>20$')
+    plt.xlabel(r"Seed $\eta$")
     plt.ylim((0, 1.1))
     plt.legend()
 
     plt.sca(ax_phi)
     hist_plot(hist(new_seeds.seed_pur_v_phi), include_errors=errors, label='New')
-    hist_plot(hist(old_seeds.seed_pur_v_phi), include_errors=errors, title='Purity vs. Phi', label='Old')
-    plt.xlabel("Phi")
+    hist_plot(hist(old_seeds.seed_pur_v_phi), include_errors=errors, label='Old')
+    center_text(0.5, 0.3, r'$p_T>20$ and $|\eta|<2.4$')
+    plt.xlabel(r"Seed $\phi$")
+    plt.ylim((0, 1.1))
+
+
+@decl_plot
+def plot_track_purity(old_seeds, new_seeds):
+    r"""## GSF Track Purity
+
+    The proportion of GSF-tracks w\ ECAL-driven seeds that have a matched gen-level electron originating in
+    the luminous region. Cuts are on GSF track quantities.
+    """
+    ax_pt = plt.subplot(221)
+    ax_eta = plt.subplot(222)
+    ax_phi = plt.subplot(223)
+
+    errors = True
+    plt.sca(ax_pt)
+    hist_plot(hist(new_seeds.track_pur_v_pt), include_errors=errors, label='New')
+    hist_plot(hist(old_seeds.track_pur_v_pt), include_errors=errors, label='Old')
+    center_text(0.5, 0.3, r'$|\eta|<2.4$')
+    plt.xlabel(r"GSF-Track $p_T$")
     plt.ylim((0, 1.1))
 
+    plt.sca(ax_eta)
+    hist_plot(hist(new_seeds.track_pur_v_eta), include_errors=errors, label='New')
+    hist_plot(hist(old_seeds.track_pur_v_eta), include_errors=errors, label='Old')
+    center_text(0.5, 0.3, r'$p_T>20$')
+    plt.xlabel(r"GSF-Track $\eta$")
+    plt.ylim((0, 1.1))
+    plt.legend()
+
+    plt.sca(ax_phi)
+    hist_plot(hist(new_seeds.track_pur_v_phi), include_errors=errors, label='New')
+    hist_plot(hist(old_seeds.track_pur_v_phi), include_errors=errors, label='Old')
+    center_text(0.5, 0.3, r'$p_T>20$ and $|\eta|<2.4$')
+    plt.xlabel(r"GSF-Track $\phi$")
+    plt.ylim((0, 1.1))
+
+
+@decl_plot
+def plot_nhits(old_seeds, new_seeds):
+    ax_sim = plt.subplot(211)
+    ax_rec_new = plt.subplot(223)
+    ax_rec_old = plt.subplot(224)
+
+    def _plot(histo):
+        hit_hist2d = hist2d(histo)
+        hist2d_plot(hit_hist2d)
+        weights, _, xs, ys = hit_hist2d
+        hits = (ys[1:, :-1] + ys[:-1, :-1])/2
+        etas = (xs[0, :-1] + xs[0, 1:])/2
+        avg_hits = np.ma.average(hits, axis=0, weights=weights)
+        plt.plot(etas, avg_hits, 'wo', label=r'Average in $\eta$ bin')
+        plt.xlabel(r'Track $\eta$')
+        plt.ylabel(r'\# of pixel layers with Hit')
+
+    plt.sca(ax_sim)
+    _plot(new_seeds.simpixlay_v_eta)
+    plt.legend()
+    plt.colorbar()
+    center_text(0.5, 0.1, "Sim Tracks", bbox=dict(facecolor='white', alpha=0.5))
+    plt.sca(ax_rec_old)
+    _plot(old_seeds.recpixlay_v_eta)
+    plt.colorbar()
+    center_text(0.5, 0.1, "GSF-Tracks (Old Seeding)", bbox=dict(facecolor='white', alpha=0.5))
+    plt.sca(ax_rec_new)
+    _plot(new_seeds.recpixlay_v_eta)
+    plt.colorbar()
+    center_text(0.5, 0.1, "GSF-Tracks (New Seeding)", bbox=dict(facecolor='white', alpha=0.5))
+
 if __name__ == '__main__':
-    old_seeds = ResultSet("old_seeds", 'build/old_seeding.root')
-    new_seeds = ResultSet("new_seeds", 'build/new_seeding.root')
+    old_seeds = ResultSet("old_seeds", 'old_seeding.root')
+    new_seeds = ResultSet("new_seeds", 'new_seeding.root')
 
     # Next, declare all of the (sub)plots that will be assembled into full
     # figures later
     seed_eff = (plot_seed_eff, (old_seeds, new_seeds), {})
     track_eff = (plot_track_eff, (old_seeds, new_seeds), {})
     seed_pur = (plot_seed_purity, (old_seeds, new_seeds), {})
+    track_pur = (plot_track_purity, (old_seeds, new_seeds), {})
+
+    nHits = (plot_nhits, (old_seeds, new_seeds), {})
 
     # Now assemble the plots into figures.
     plots = [
         Plot([[seed_eff]],
-             'Seeding Efficiency'),
-        Plot([[track_eff]],
-             'Tracking Efficiency'),
+             'ECAL-Driven Seeding Efficiency'),
         Plot([[seed_pur]],
              'ECAL-Driven Seed Purity'),
+        Plot([[track_eff]],
+             'GSF Tracking Efficiency'),
+        Plot([[track_pur]],
+             'GSF Track Purity'),
+        Plot([[nHits]],
+             'Hits'),
     ]
 
     # Finally, render and save the plots and generate the html+bootstrap
     # dashboard to view them
     render_plots(plots, to_disk=False)
-    generate_dashboard(plots, 'Seeding Efficiency', output='eff_plots.html', source_file=__file__)
+    generate_dashboard(plots, 'Seeding Efficiency', output='eff_plots.html', source_file=__file__)

+ 1 - 1
filval

@@ -1 +1 @@
-Subproject commit 74e26df8bf18ef7f23a7110248136b8161f5acd0
+Subproject commit 6d3fc567de70ee3702d9e96c7cabd39251c7f5a7