Author: [log in to unmask]
Date: Fri Apr 17 11:38:24 2015
New Revision: 2733
Log:
Minor fixes to setters.
Modified:
java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/trackrecon/TrackTimePlots.java
java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/trackrecon/TrackingReconPlots.java
Modified: java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/trackrecon/TrackTimePlots.java
=============================================================================
--- java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/trackrecon/TrackTimePlots.java (original)
+++ java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/trackrecon/TrackTimePlots.java Fri Apr 17 11:38:24 2015
@@ -35,7 +35,7 @@
//private AIDAFrame plotterFrame;
private AIDA aida = AIDA.defaultInstance();
private String hitCollection = "StripClusterer_SiTrackerHitStrip1D";
- private String trackCollection = "MatchedTracks";
+ private String trackCollectionName = "MatchedTracks";
IPlotter plotter, plotter2, plotter3, plotter4, plotter5, plotter6, plotter7;
private IHistogram1D[][] t0 = new IHistogram1D[4][12];
private IHistogram1D[][] trackHitT0 = new IHistogram1D[4][12];
@@ -49,6 +49,10 @@
private static final String subdetectorName = "Tracker";
int nlayers=12;
+
+ public void setTrackCollectionName(String name){
+ this.trackCollectionName=name;
+ }
@Override
protected void detectorChanged(Detector detector) {
@@ -144,9 +148,7 @@
this.hitCollection = hitCollection;
}
- public void setTrackCollection(String trackCollection) {
- this.trackCollection = trackCollection;
- }
+
@Override
public void process(EventHeader event) {
@@ -201,7 +203,7 @@
}
//
- List<Track> tracks = event.get(Track.class, trackCollection);
+ List<Track> tracks = event.get(Track.class, trackCollectionName);
for (Track track : tracks) {
int trackModule = -1;
if (track.getTrackerHits().get(0).getPosition()[2] > 0)
Modified: java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/trackrecon/TrackingReconPlots.java
=============================================================================
--- java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/trackrecon/TrackingReconPlots.java (original)
+++ java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/trackrecon/TrackingReconPlots.java Fri Apr 17 11:38:24 2015
@@ -20,7 +20,6 @@
import org.lcsim.event.LCIOParameters.ParameterName;
import org.lcsim.event.Track;
import org.lcsim.fit.helicaltrack.HelicalTrackFit;
-import org.lcsim.fit.helicaltrack.HelicalTrackHit;
import org.lcsim.geometry.Detector;
import org.lcsim.geometry.IDDecoder;
import org.lcsim.recon.tracking.seedtracker.SeedCandidate;
@@ -35,16 +34,19 @@
public class TrackingReconPlots extends Driver {
private AIDA aida = AIDA.defaultInstance();
- private String helicalTrackHitCollectionName = "HelicalTrackHits";
- private String rotatedTrackHitCollectionName = "RotatedHelicalTrackHits";
private String trackCollectionName = "MatchedTracks";
String ecalSubdetectorName = "Ecal";
String ecalCollectionName = "EcalClusters";
IDDecoder dec;
private String outputPlots = null;
+ private boolean debug = false;
+
+ double feeMomentumCut = 1.6;
+
IPlotter plotter;
IPlotter plotter22;
IPlotter plotterECal;
+ IPlotter plotterFEE;
IHistogram1D nTracks;
IHistogram1D nhits;
@@ -62,6 +64,10 @@
IHistogram1D hdelXECal;
IHistogram1D hdelYECal;
IHistogram2D heVsP;
+ IHistogram1D hfeeMom;
+ IHistogram1D hfeeTheta;
+ IHistogram1D hfeePOverE;
+ IHistogram2D hfeeClustPos;
@Override
protected void detectorChanged(Detector detector) {
@@ -107,13 +113,12 @@
plot(plotter22, trkz0, null, 5);
plotter22.show();
-
+
// ******************************************************************
heOverP = aida.histogram1D("Cluster Energy over Track Momentum ", 50, 0, 2.0);
hdelXECal = aida.histogram1D("delta X @ ECal (mm) ", 50, -15.0, 15.0);
hdelYECal = aida.histogram1D("delta Y @ ECal (mm) ", 50, -15.0, 15.0);
- heVsP = aida.histogram2D("Momentum vs ECal E ", 50, 0, 2.5 ,50, 0, 2.5);
-
+ heVsP = aida.histogram2D("Momentum vs ECal E ", 50, 0, 2.5, 50, 0, 2.5);
plotterECal = pfac.create("Cluster Matching");
plotterECal.createRegions(2, 2);
@@ -121,8 +126,24 @@
plot(plotterECal, hdelXECal, null, 1);
plot(plotterECal, hdelYECal, null, 2);
plot(plotterECal, heVsP, null, 3);
-
+
plotterECal.show();
+
+ // ******************************************************************
+ //fix the ranges here...
+ hfeeMom = aida.histogram1D("FEE Momentum", 50, feeMomentumCut, 2.2);
+ hfeeTheta = aida.histogram1D("FEE Angle", 50, -15.0, 15.0);
+ hfeePOverE = aida.histogram1D("FEE POverE", 50, 0, 1.5);
+ hfeeClustPos = aida.histogram2D("FEE Cluster Position", 50, -2000.0, 2000.0, 50, -500, 500);
+
+ plotterFEE = pfac.create("Full Energy Electrons");
+ plotterFEE.createRegions(2, 2);
+ plot(plotterFEE, hfeeMom, null, 0);
+ plot(plotterFEE, hfeeTheta, null, 1);
+ plot(plotterFEE, hfeePOverE, null, 2);
+ plot(plotterFEE, hfeeClustPos, null, 3);
+
+ plotterFEE.show();
}
@@ -133,17 +154,8 @@
this.outputPlots = output;
}
- public void setRawTrackerHitCollectionName(String rawTrackerHitCollectionName) {
- }
-
- public void setFittedTrackerHitCollectionName(String fittedTrackerHitCollectionName) {
- }
-
- public void setTrackerHitCollectionName(String trackerHitCollectionName) {
- }
-
- public void setHelicalTrackHitCollectionName(String helicalTrackHitCollectionName) {
- this.helicalTrackHitCollectionName = helicalTrackHitCollectionName;
+ public void setDebug(boolean dbg) {
+ this.debug = dbg;
}
public void setTrackCollectionName(String trackCollectionName) {
@@ -153,8 +165,6 @@
@Override
public void process(EventHeader event) {
aida.tree().cd("/");
- if (!event.hasCollection(HelicalTrackHit.class, helicalTrackHitCollectionName))
- return;
if (!event.hasCollection(Track.class, trackCollectionName)) {
nTracks.fill(0);
@@ -165,7 +175,11 @@
nTracks.fill(tracks.size());
for (Track trk : tracks) {
- Hep3Vector momentum =new BasicHep3Vector( trk.getTrackStates().get(0).getMomentum());
+ Hep3Vector momentum = new BasicHep3Vector(trk.getTrackStates().get(0).getMomentum());
+ double pmag = momentum.magnitude();
+ double pt = Math.sqrt(momentum.z() * momentum.z() + momentum.y() * momentum.y());
+ double theta = Math.acos(pt / pmag);
+
trkPx.fill(momentum.y());
trkPy.fill(momentum.z());
trkPz.fill(momentum.x());
@@ -179,30 +193,41 @@
trklam.fill(trk.getTrackStates().get(0).getParameter(ParameterName.tanLambda.ordinal()));
trkz0.fill(trk.getTrackStates().get(0).getParameter(ParameterName.z0.ordinal()));
+ if (pmag > feeMomentumCut && trk.getCharge() > 0) { //remember, hps-java track charge is opposite the real charge
+ hfeeMom.fill(momentum.magnitude());
+ hfeeTheta.fill(theta);
+ }
+
SeedTrack stEle = (SeedTrack) trk;
SeedCandidate seedEle = stEle.getSeedCandidate();
HelicalTrackFit ht = seedEle.getHelix();
HPSTrack hpstrk = new HPSTrack(ht);
double svt_l12 = 900.00;//mm ~approximately...this doesn't matter much
double ecal_face = 1393.00;//mm ~approximately ... this matters! Should use typical shower depth...or, once have cluster match, use that value of Z
- Hep3Vector posAtEcal = hpstrk.getPositionAtZMap(svt_l12, ecal_face, 5.0,event.getDetector().getFieldMap())[0];
+ Hep3Vector posAtEcal = hpstrk.getPositionAtZMap(svt_l12, ecal_face, 5.0, event.getDetector().getFieldMap())[0];
List<Cluster> clusters = event.get(Cluster.class, ecalCollectionName);
- if (clusters != null) {
- System.out.println("Found "+clusters.size()+ " clusters");
+ if (clusters != null) {
+ if (debug)
+ System.out.println("Found " + clusters.size() + " clusters");
Cluster clust = findClosestCluster(posAtEcal, clusters);
if (clust != null) {
- System.out.println("\t\t\t Found the best clusters");
- Hep3Vector clusterPos=new BasicHep3Vector(clust.getPosition());
+ if (debug)
+ System.out.println("\t\t\t Found the best clusters");
+ Hep3Vector clusterPos = new BasicHep3Vector(clust.getPosition());
double zCluster = clusterPos.z();
//improve the extrapolation...use the reconstructed cluster z-position
- posAtEcal = hpstrk.getPositionAtZMap(svt_l12, zCluster, 5.0,event.getDetector().getFieldMap())[0];
- double eOverP=clust.getEnergy()/momentum.magnitude();
- double dx= posAtEcal.x() - clusterPos.x();
- double dy= posAtEcal.y() - clusterPos.y();
+ posAtEcal = hpstrk.getPositionAtZMap(svt_l12, zCluster, 5.0, event.getDetector().getFieldMap())[0];
+ double eOverP = clust.getEnergy() / pmag;
+ double dx = posAtEcal.x() - clusterPos.x();
+ double dy = posAtEcal.y() - clusterPos.y();
heOverP.fill(eOverP);
hdelXECal.fill(dx);
- hdelYECal.fill(dy);
- heVsP.fill(momentum.magnitude(), clust.getEnergy());
+ hdelYECal.fill(dy);
+ heVsP.fill(pmag, clust.getEnergy());
+ if (pmag > feeMomentumCut && trk.getCharge() > 0) { //remember, hps-java track charge is opposite the real charge
+ hfeePOverE.fill(pmag / clust.getEnergy());
+ hfeeClustPos.fill(posAtEcal.x(), posAtEcal.y());
+ }
}
}
}
|