lcsim-contrib/src/main/java/org/lcsim/contrib/HansWenzel/DualCorrection
diff -u -r1.4 -r1.5
--- ElectronCorrection.java 10 Dec 2009 17:21:25 -0000 1.4
+++ ElectronCorrection.java 10 Dec 2009 17:41:37 -0000 1.5
@@ -37,7 +37,7 @@
BufferedWriter out;
IFunctionFactory functionFactory;
IFitFactory fitFactory;
- IDataPointSetFactory dpsf;
+ IDataPointSetFactory dpsFactory;
IFunction gauss;
boolean first;
boolean firstEvent;
@@ -70,18 +70,18 @@
point_cerene = new int[Fitters.length];
fitFactory = aida.analysisFactory().createFitFactory();
functionFactory = aida.analysisFactory().createFunctionFactory(aida.tree());
- dpsf = aida.analysisFactory().createDataPointSetFactory(aida.tree());
+ dpsFactory = aida.analysisFactory().createDataPointSetFactory(aida.tree());
for (int i = 0; i < Fitters.length; i++) {
String dpsname = "dps_cerene_" + Fitters[i];
point_cerene[i] = 0;
- dps_cerene[i] = dpsf.create(dpsname, "electron response mean", 2);
+ dps_cerene[i] = dpsFactory.create(dpsname, "electron response mean", 2);
}
Ein_prev = 0;
firstEvent = true;
first = true;
// Create a two dimensional IDataPointSet.
- dps_emean = dpsf.create("dps_emean", "electron response mean", 2);
- dps_cerenemean = dpsf.create("dps_cerenemean", "electron response mean", 2);
+ dps_emean = dpsFactory.create("dps_emean", "electron response mean", 2);
+ dps_cerenemean = dpsFactory.create("dps_cerenemean", "electron response mean", 2);
point = 0;
point_cerenemean = 0;
gauss = functionFactory.createFunctionByName("gauss", "G");
@@ -188,7 +188,7 @@
System.out.println(Fitters[i] + ": " + resultline.quality());
fresult = resultline.fittedParameters();
try {
- out.write("Fitter: " + Fitters[i]);
+ out.write("Fitter: " + Fitters[i]+"\n");
out.write("Chi2 = " + resultline.quality() + "\n");
out.write(fresult[0] + " , " + fresult[1] + "\n");
} catch (IOException ex) {
lcsim-contrib/src/main/java/org/lcsim/contrib/HansWenzel/DualCorrection/DigiSim
diff -N CSClusdMJetDriver.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ CSClusdMJetDriver.java 10 Dec 2009 17:41:37 -0000 1.1
@@ -0,0 +1,123 @@
+/*
+ */
+
+package org.lcsim.contrib.HansWenzel.DualCorrection.DigiSim;
+
+import org.lcsim.util.*;
+import org.lcsim.recon.cluster.util.*;
+import org.lcsim.digisim.DigiSimDriver;
+import org.lcsim.digisim.SimCalorimeterHitsDriver;
+import org.lcsim.util.hitmap.HitListToHitMapDriver;
+import org.lcsim.util.hitmap.HitMapToHitListDriver;
+import org.lcsim.event.util.CreateFinalStateMCParticleList;
+import org.lcsim.recon.tracking.cheat.CheatTrackDriver;
+import org.lcsim.mc.fast.tracking.MCFastTracking;
+
+public class CSClusdMJetDriver extends Driver
+{
+
+ public CSClusdMJetDriver()
+ {
+
+// use DIGISIM - makes threshold and timing cuts from steering file CCAL001.steer
+ add(new CalHitMapDriver());
+ DigiSimDriver digi = new DigiSimDriver();
+ String dsteer = ("/home/wenzel/NetBeansProjects/lcsim/CCAL002M50.steer");
+ digi.setSteeringFile(dsteer);
+ add(digi);
+ add(new SimCalorimeterHitsDriver());
+
+// make subdetector hitmaps from DigiSim scintillator collections
+ HitListToHitMapDriver ebhitmap = new HitListToHitMapDriver();
+ ebhitmap.addInputList("Edep_EcalBarrDigiHits");
+ ebhitmap.setOutput("SCEBarrhitmap");
+ add(ebhitmap);
+ HitListToHitMapDriver hbhitmap = new HitListToHitMapDriver();
+ hbhitmap.addInputList("Edep_HcalBarrDigiHits");
+ hbhitmap.setOutput("SCHBarrhitmap");
+ add(hbhitmap);
+ HitListToHitMapDriver eehitmap = new HitListToHitMapDriver();
+ eehitmap.addInputList("Edep_EcalEndcapDigiHits");
+ eehitmap.setOutput("SCEEndcaphitmap");
+ add(eehitmap);
+ HitListToHitMapDriver hehitmap = new HitListToHitMapDriver();
+ hehitmap.addInputList("Edep_HcalEndcapDigiHits");
+ hehitmap.setOutput("SCHEndcaphitmap");
+ add(hehitmap);
+
+// Can make a combined hitmap for the digisim output hits - now have 5 hitmaps,
+// 1 for each cal subdetector and 1 with all hits
+ HitListToHitMapDriver digiHitMap = new HitListToHitMapDriver();
+ digiHitMap.addInputList("Edep_EcalBarrDigiHits");
+ digiHitMap.addInputList("Edep_EcalEndcapDigiHits");
+ digiHitMap.addInputList("Edep_HcalBarrDigiHits");
+ digiHitMap.addInputList("Edep_HcalEndcapDigiHits");
+ digiHitMap.setOutput("AllScDigiHitMap");
+ add(digiHitMap);
+
+// Convert to hit collection for display
+ HitMapToHitListDriver testlist = new HitMapToHitListDriver();
+ testlist.setInputHitMap("AllScDigiHitMap");
+ testlist.setOutputList("AllScDigiHits");
+ add(testlist);
+
+
+// Same thing for DigiSim cherenkov hits
+ HitListToHitMapDriver ebchitmap = new HitListToHitMapDriver();
+ ebchitmap.addInputList("Ceren_EcalBarrDigiHits");
+ ebchitmap.setOutput("ChEBarrhitmap");
+ add(ebchitmap);
+ HitListToHitMapDriver hbchitmap = new HitListToHitMapDriver();
+ hbchitmap.addInputList("Ceren_HcalBarrDigiHits");
+ hbchitmap.setOutput("ChHBarrhitmap");
+ add(hbchitmap);
+ HitListToHitMapDriver eechitmap = new HitListToHitMapDriver();
+ eechitmap.addInputList("Ceren_EcalEndcapDigiHits");
+ eechitmap.setOutput("ChEEndcaphitmap");
+ add(eechitmap);
+ HitListToHitMapDriver hechitmap = new HitListToHitMapDriver();
+ hechitmap.addInputList("Ceren_HcalEndcapDigiHits");
+ hechitmap.setOutput("ChHEndcaphitmap");
+ add(hechitmap);
+
+// Can make a combined hitmap for the digisim output hits - now have 5 hitmaps,
+// 1 for each cal subdetector and 1 with all hits
+ HitListToHitMapDriver cdigiHitMap = new HitListToHitMapDriver();
+ cdigiHitMap.addInputList("Ceren_EcalBarrDigiHits");
+ cdigiHitMap.addInputList("Ceren_EcalEndcapDigiHits");
+ cdigiHitMap.addInputList("Ceren_HcalBarrDigiHits");
+ cdigiHitMap.addInputList("Ceren_HcalEndcapDigiHits");
+ cdigiHitMap.setOutput("AllChDigiHitMap");
+ add(cdigiHitMap);
+
+// Convert to hit collection for display
+ HitMapToHitListDriver ctestlist = new HitMapToHitListDriver();
+ ctestlist.setInputHitMap("AllChDigiHitMap");
+ ctestlist.setOutputList("AllChDigiHits");
+ add(ctestlist);
+
+// Make a list of MCParticles to be considered - this gets final states from generator
+// eventually replace with Perfect DR objects for each simulated detector
+ CreateFinalStateMCParticleList gcfs = new CreateFinalStateMCParticleList("Gen");
+ String gfname = ("MCGenFSParticles");
+ gcfs.setCollectionName(gfname);
+ add(gcfs);
+
+ CreateFinalStateMCParticleList scfs = new CreateFinalStateMCParticleList("Sim");
+ String sfname = ("MCSimFSParticles");
+ scfs.setCollectionName(sfname);
+ add(scfs);
+
+ // get perfect tracks
+ String tempTname = "TempCheatTracks";
+ String tempPname = "TempCheatParticles";
+ add(new CheatTrackDriver(tempTname, tempPname));
+
+ String outFastMC = ("PerfectTracks");
+ MCFastTracking mcft = new MCFastTracking();
+ mcft.setFSList(gfname);
+ mcft.setOutputList(outFastMC);
+ add(mcft);
+
+ }
+}