6 added files
lcsim-contrib/src/main/java/org/lcsim/contrib/JanStrube/CLIC_Studies
diff -N MuonHelicity.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ MuonHelicity.java 19 Jan 2012 16:00:11 -0000 1.1
@@ -0,0 +1,41 @@
+import hep.physics.vec.HepLorentzVector;
+import hep.physics.vec.VecOp;
+
+import java.util.List;
+
+import org.lcsim.event.EventHeader;
+import org.lcsim.event.MCParticle;
+import org.lcsim.util.Driver;
+import org.lcsim.util.aida.AIDA;
+
+
+public class MuonHelicity extends Driver {
+ AIDA aida = AIDA.defaultInstance();
+ public MuonHelicity() {
+
+ }
+
+ public void process(EventHeader event) {
+ List<MCParticle> parts = event.getMCParticles();
+ MCParticle muPlus = null;
+ MCParticle muMinus = null;
+ for (MCParticle p : parts) {
+ if (p.getGeneratorStatus() != p.FINAL_STATE) {
+ continue;
+ }
+ if (p.getPDGID() == 13) {
+ muPlus = p;
+ }
+ else if (p.getPDGID() == -13) {
+ muMinus = p;
+ }
+ }
+ if (muPlus == null || muMinus == null) {
+ return;
+ }
+ HepLorentzVector higgs = VecOp.add(muPlus.asFourVector(), muMinus.asFourVector());
+ HepLorentzVector muPlus_in_Higgs = VecOp.boost(muPlus.asFourVector(), higgs);
+ double theta = VecOp.dot(higgs, muPlus_in_Higgs) / higgs.magnitude() / muPlus_in_Higgs.magnitude();
+ aida.cloud1D("muonHel").fill(theta);
+ }
+}
lcsim-contrib/src/main/java/org/lcsim/contrib/JanStrube/CLIC_Studies
diff -N splitLCIOFile
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ splitLCIOFile 19 Jan 2012 16:00:11 -0000 1.1
@@ -0,0 +1,22 @@
+#!/data/jython-2.5.2/bin/jython
+
+from java.io import File
+from org.lcsim.mc.fast import MCFast
+from org.lcsim.util import Driver
+from org.lcsim.util.loop import LCIODriver
+from org.lcsim.util.loop import LCSimLoop
+import sys
+
+input = sys.argv[1]
+nEvents = int(sys.argv[2])
+iteration = 0
+while 1:
+ loop = LCSimLoop()
+ loop.setLCIORecordSource(File(input))
+ outputDriver = LCIODriver(File(input+str(iteration)))
+ loop.add(outputDriver)
+ loop.skip(nEvents*iteration)
+ loop.loop(nEvents)
+ loop.dispose()
+ iteration += 1
+
lcsim-contrib/src/main/java/org/lcsim/contrib/JanStrube/CLIC_Studies
diff -N BackgroundHitDropper.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ BackgroundHitDropper.java 19 Jan 2012 16:00:11 -0000 1.1
@@ -0,0 +1,77 @@
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.HashMap;
+
+import org.lcsim.event.CalorimeterHit;
+import org.lcsim.event.Cluster;
+import org.lcsim.event.EventHeader;
+import org.lcsim.event.EventHeader.LCMetaData;
+import org.lcsim.event.ReconstructedParticle;
+import org.lcsim.event.Track;
+import org.lcsim.event.TrackerHit;
+import org.lcsim.util.Driver;
+
+
+public class BackgroundHitDropper extends Driver {
+
+ public void process(EventHeader event) {
+ List<ReconstructedParticle> loosePFOs = event.get(ReconstructedParticle.class, "SelectedPandoraPFOCollection");
+ List<ReconstructedParticle> allPFOs = event.get(ReconstructedParticle.class, "PandoraPFOCollection");
+
+ List<List<TrackerHit>> trackerHitLists = event.get(TrackerHit.class);
+ List<List<CalorimeterHit>> caloHitLists = event.get(CalorimeterHit.class);
+ List<Track> tracks = event.getTracks();
+ List<Cluster> clusters = new ArrayList<Cluster>();// event.getClusters();
+ int trackerHitsToRemove = 0;
+ int caloHitsToRemove = 0;
+ int tracksToRemove = 0;
+ int clustersToRemove = 0;
+ for (ReconstructedParticle part: allPFOs) {
+ if (loosePFOs.contains(part)) {
+ continue;
+ }
+ List<Track> pfoTracks = part.getTracks();
+ tracksToRemove += pfoTracks.size();
+ for (Track t: pfoTracks) {
+ trackerHitsToRemove += t.getTrackerHits().size();
+ tracksToRemove += t.getTracks().size();
+ }
+ List<Cluster> pfoClusters = part.getClusters();
+ clustersToRemove += pfoClusters.size();
+ for (Cluster c: pfoClusters) {
+ caloHitsToRemove += c.getCalorimeterHits().size();
+ clustersToRemove += c.getClusters().size();
+ }
+
+ }
+ Iterator<Track> tIter = tracks.iterator();
+ while (tIter.hasNext() && tracksToRemove != 0) {
+ tIter.next();
+ tIter.remove();
+ tracksToRemove--;
+ }
+ for (List<TrackerHit> tHitList: trackerHitLists) {
+ Iterator<TrackerHit> tHitIterator = tHitList.iterator();
+ while (tHitIterator.hasNext() && trackerHitsToRemove != 0) {
+ tHitIterator.next();
+ tHitIterator.remove();
+ trackerHitsToRemove--;
+ }
+ }
+ Iterator<Cluster> cIter = clusters.iterator();
+ while (cIter.hasNext() && clustersToRemove != 0) {
+ cIter.next();
+ cIter.remove();
+ clustersToRemove--;
+ }
+ for (List<CalorimeterHit> cHitList: caloHitLists) {
+ Iterator<CalorimeterHit> cHitIter = cHitList.iterator();
+ while (cHitIter.hasNext() && caloHitsToRemove != 0) {
+ cHitIter.next();
+ cHitIter.remove();
+ caloHitsToRemove--;
+ }
+ }
+ }
+}
lcsim-contrib/src/main/java/org/lcsim/contrib/JanStrube/CLIC_Studies
diff -N .cvsignore
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ .cvsignore 19 Jan 2012 16:00:11 -0000 1.1
@@ -0,0 +1,2 @@
+*.class
+*.slcio
lcsim-contrib/src/main/java/org/lcsim/contrib/JanStrube/CLIC_Studies
diff -N DropSlicPandoraCollections.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ DropSlicPandoraCollections.java 19 Jan 2012 16:00:11 -0000 1.1
@@ -0,0 +1,30 @@
+// MainLoop.java
+// Java wrapper to enable running outside of JAS3
+// 16-JUL-2005 Jan Strube
+// from a response to the JAS mailing list by Tony Johnson
+
+import java.io.File;
+import org.lcsim.mc.fast.MCFast;
+import org.lcsim.util.Driver;
+import org.lcsim.util.aida.AIDA;
+import org.lcsim.util.loop.LCIODriver;
+import org.lcsim.util.loop.LCSimLoop;
+
+public class DropSlicPandoraCollections extends Driver {
+ public DropSlicPandoraCollections() {}
+ public static void main(String[] args) throws Exception {
+ //System.out.print(args[0]);
+ LCSimLoop loop = new LCSimLoop();
+ File input = new File(args[0]);
+// String fileBasename = args[0].substring(args[0].lastIndexOf('/')+1);
+ LCIODriver outputDriver = new LCIODriver(new File("out.slcio"));
+ loop.setLCIORecordSource(input);
+ //loop.add(new BackgroundHitDropper());
+ outputDriver.setIgnoreCollections(new String[]{"EM_BARREL", "EM_ENDCAP", "HAD_BARREL", "HAD_ENDCAP", "MUON_BARREL", "MUON_ENDCAP", "CalorimeterHitRelations", "ReconClusters", "PandoraPFOCollection"});
+ loop.add(outputDriver);
+ loop.loop(-1);
+ loop.dispose();
+// AIDA.defaultInstance().saveAs(outputDirectory + fileBasename.replace(".slcio", ".aida"));
+ }
+}
+
lcsim-contrib/src/main/java/org/lcsim/contrib/JanStrube/CLIC_Studies
diff -N CollectionDropper.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ CollectionDropper.java 19 Jan 2012 16:00:11 -0000 1.1
@@ -0,0 +1,79 @@
+// MainLoop.java
+// Java wrapper to enable running outside of JAS3
+// 16-JUL-2005 Jan Strube
+// from a response to the JAS mailing list by Tony Johnson
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+//import org.lcsim.mc.fast.MCFast;
+import org.lcsim.util.Driver;
+import org.lcsim.util.aida.AIDA;
+import org.lcsim.util.loop.LCIODriver;
+import org.lcsim.util.loop.LCSimLoop;
+//import org.lcsim.job.EventMarkerDriver;
+public class CollectionDropper extends Driver {
+ public static String[] makeSiDCollectionNames() {
+ List<String> nameList = new ArrayList<String>();
+ nameList.add("ReconClusters");
+ nameList.add("TKR_RawTrackerHits");
+ nameList.add("VXD_RawTrackerHits");
+ nameList.add("PandoraPFOCollection");
+ nameList.add("LooseSelectedPandoraPFOCollection");
+ nameList.add("Tracks");
+ nameList.add("TKR_TrackerHits");
+ nameList.add("VXD_TrackerHits");
+ nameList.add("HelicalTrackHits");
+ nameList.add("EM_BARREL");
+ nameList.add("EM_ENDCAP");
+ nameList.add("MUON_BARREL");
+ nameList.add("MUON_ENDCAP");
+ nameList.add("HAD_BARREL");
+ nameList.add("HAD_ENDCAP");
+ return nameList.toArray(new String[]{});
+ }
+
+ public static String[] makeILDCollectionNames() {
+ List<String> nameList = new ArrayList<String>();
+ nameList.add("AllTPCTrackerHits");
+ nameList.add("ECALBarrel");
+ nameList.add("ECALEndCap");
+ nameList.add("ECALOther");
+ nameList.add("ETDTrackerHits");
+ nameList.add("FTDTrackerHits");
+ nameList.add("HCALBarrel");
+ nameList.add("HCALEndcap");
+ nameList.add("HCALOther");
+ nameList.add("LDCTracks");
+ nameList.add("TPCTracks");
+ nameList.add("PandoraPFANewPFOs");
+ nameList.add("MUON");
+ nameList.add("VTXTrackerHits");
+ nameList.add("SITTrackerHits");
+ nameList.add("SETTrackerHits");
+ return nameList.toArray(new String[]{});
+ }
+
+ public CollectionDropper() {}
+ public static void main(String[] args) throws Exception {
+ //System.out.print(args[0]);
+ LCSimLoop loop = new LCSimLoop();
+ File input = new File(args[0]);
+ String fileBasename = args[0].substring(args[0].lastIndexOf('/')+1);
+ loop.setLCIORecordSource(input);
+ //loop.add(new MCFast());
+ //EventMarkerDriver eventMarkerDriver = new EventMarkerDriver();
+ //loop.add(eventMarkerDriver);
+ //String outputDirectory = "/opt/ppd/month/sidLOI/ReducedData/";
+ LCIODriver outputDriver = new LCIODriver();
+ outputDriver.setOutputFilePath("output.slcio");
+ outputDriver.setIgnoreCollections(makeSiDCollectionNames());
+ //outputDriver.setWriteOnlyCollections(makeSiDCollectionNames());
+ loop.add(outputDriver);
+ System.out.printf("%s: %d\n", fileBasename, loop.loop(-1));
+ loop.dispose();
+ //AIDA.defaultInstance().saveAs(outputDirectory + fileBasename.replace(".slcio", ".aida"));
+ //AIDA.defaultInstance().saveAs("output.aida");
+ }
+}
+
CVSspam 0.2.12