Commit in lcsim-contrib/src/main/java/org/lcsim/contrib/JanStrube/CLIC_Studies on MAIN
MuonHelicity.java+41added 1.1
splitLCIOFile+22added 1.1
BackgroundHitDropper.java+77added 1.1
.cvsignore+2added 1.1
DropSlicPandoraCollections.java+30added 1.1
CollectionDropper.java+79added 1.1
+251
6 added files
Some scripts for clic studies

lcsim-contrib/src/main/java/org/lcsim/contrib/JanStrube/CLIC_Studies
MuonHelicity.java added at 1.1
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
splitLCIOFile added at 1.1
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
BackgroundHitDropper.java added at 1.1
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
.cvsignore added at 1.1
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
DropSlicPandoraCollections.java added at 1.1
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
CollectionDropper.java added at 1.1
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


Use REPLY-ALL to reply to list

To unsubscribe from the LCD-CVS list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=LCD-CVS&A=1