Author: [log in to unmask]
Date: Mon Feb 15 14:49:25 2016
New Revision: 4227
Log:
made modifications to DQM: increase window sizes for higher beam energies; removed creation of .aida files (now root only), pass in beamEnergy as an argument for DataQualityRecon.lcsim
Modified:
java/trunk/analysis/src/main/java/org/hps/analysis/dataquality/EcalMonitoring.java
java/trunk/analysis/src/main/java/org/hps/analysis/dataquality/FinalStateMonitoring.java
java/trunk/analysis/src/main/java/org/hps/analysis/dataquality/TridentMonitoring.java
java/trunk/analysis/src/main/java/org/hps/analysis/dataquality/V0Monitoring.java
java/trunk/steering-files/src/main/resources/org/hps/steering/production/DataQualityRecon.lcsim
Modified: java/trunk/analysis/src/main/java/org/hps/analysis/dataquality/EcalMonitoring.java
=============================================================================
--- java/trunk/analysis/src/main/java/org/hps/analysis/dataquality/EcalMonitoring.java (original)
+++ java/trunk/analysis/src/main/java/org/hps/analysis/dataquality/EcalMonitoring.java Mon Feb 15 14:49:25 2016
@@ -73,7 +73,14 @@
boolean fillHitPlots = true;
String[] ecalQuantNames = {"avg_N_hits", "avg_Hit_Energy",
"avg_N_clusters", "avg_N_hitsPerCluster", "avg_Cluster_Energy", "avg_ClusterTime"};
- double maxE = 1.1;
+ double beamEnergy = 1.1;
+
+ double maxFactor = 1.5;
+
+ public void setBeamEnergy(double e){
+ beamEnergy = e;
+ }
+
private final String plotHitsDir = "EcalHits/";
private final String plotClustersDir = "EcalClusters/";
private final String plotFidCutDir = "FiducialCut/";
@@ -90,6 +97,7 @@
this.clusterCollectionName = clusterCollectionName;
}
+
public void setFillHitPlots(boolean fill) {
this.fillHitPlots = fill;
}
@@ -102,32 +110,32 @@
// Setup hit plots.
hitCountPlot = aida.histogram1D(plotHitsDir + triggerType + "/"+ calibratedHitCollectionName + " Hit Count In Event", 40, -0.5, 39.5);
hitTimePlot = aida.histogram1D(plotHitsDir + triggerType + "/"+calibratedHitCollectionName + " Hit Time", 50, 0 * 4.0, 50 * 4.0);
- hitEnergyPlot = aida.histogram1D(plotHitsDir + triggerType + "/"+calibratedHitCollectionName + " Hit Energy", 100, -0.1, maxE);
+ hitEnergyPlot = aida.histogram1D(plotHitsDir + triggerType + "/"+calibratedHitCollectionName + " Hit Energy", 100, -0.1, beamEnergy*maxFactor);
fiducialHitCountPlot = aida.histogram1D(plotHitsDir + triggerType + "/"+calibratedHitCollectionName + " Hit Count with Fiducial Cut", 10, -0.5, 9.5);
- fiducialEnergyPlot = aida.histogram1D(plotHitsDir + triggerType + "/"+calibratedHitCollectionName + " Hit Energy with Fiducial Cut", 100, -0.1, maxE);
+ fiducialEnergyPlot = aida.histogram1D(plotHitsDir + triggerType + "/"+calibratedHitCollectionName + " Hit Energy with Fiducial Cut", 100, -0.1, beamEnergy*maxFactor);
}
// Setup cluster plots
clusterCountPlot = aida.histogram1D(plotClustersDir + triggerType + "/"+clusterCollectionName + " Cluster Count per Event", 10, -0.5, 9.5);
clusterSizePlot = aida.histogram1D(plotClustersDir + triggerType + "/"+clusterCollectionName + " Cluster Size", 10, -0.5, 9.5);
- clusterEnergyPlot = aida.histogram1D(plotClustersDir + triggerType + "/"+clusterCollectionName + " Cluster Energy", 100, -0.1, maxE);
+ clusterEnergyPlot = aida.histogram1D(plotClustersDir + triggerType + "/"+clusterCollectionName + " Cluster Energy", 100, -0.1, beamEnergy*maxFactor);
clusterTimes = aida.histogram1D(plotClustersDir + triggerType + "/"+clusterCollectionName + " Cluster Seed Times", 400, 0, 4.0 * 50);
clusterTimeMean = aida.histogram1D(plotClustersDir + triggerType + "/"+clusterCollectionName + " Cluster Time Mean", 400, 0, 4.0 * 50);
clusterTimeSigma = aida.histogram1D(plotClustersDir + triggerType + "/"+clusterCollectionName + " Cluster Time Sigma", 100, 0, 10);
- twoclusterTotEnergy = aida.histogram1D(plotClustersDir + triggerType + "/"+clusterCollectionName + " Two Cluster Energy Sum", 100, 0, maxE);
- twoclusterEnergyAsymmetry = aida.histogram1D(plotClustersDir + triggerType + "/"+clusterCollectionName + " Two Cluster Energy Asymmetry", 100, 0, 1.0);
- energyVsT = aida.histogram2D(plotClustersDir + triggerType + "/"+clusterCollectionName + " Energy vs time", 400, 0.0, 200.0, 100, -0.1, maxE);
+ twoclusterTotEnergy = aida.histogram1D(plotClustersDir + triggerType + "/"+clusterCollectionName + " Two Cluster Energy Sum", 100, 0, beamEnergy*maxFactor);
+ twoclusterEnergyAsymmetry = aida.histogram1D(plotClustersDir + triggerType + "/"+clusterCollectionName + " Two Cluster Energy Asymmetry", 100, 0, beamEnergy*maxFactor);
+ energyVsT = aida.histogram2D(plotClustersDir + triggerType + "/"+clusterCollectionName + " Energy vs time", 400, 0.0, 200.0, 100, -0.1, beamEnergy*maxFactor);
xVsY = aida.histogram2D(plotClustersDir + triggerType + "/"+clusterCollectionName + " X vs Y (NHits >1)", 200, -200.0, 200.0, 85, -85.0, 85.0);
- energyVsX = aida.histogram2D(plotClustersDir + triggerType + "/"+clusterCollectionName + " Energy vs X", 50, 0, 1.6, 50, .0, 200.0);
- energyVsY = aida.histogram2D(plotClustersDir + triggerType + "/"+clusterCollectionName + " Energy vs Y", 50, 0, 1.6, 50, 20.0, 85.0);
- pairsE1vsE2 = aida.histogram2D(plotClustersDir + triggerType + "/"+clusterCollectionName + "Pair E1 vs E2", 50, 0, 2, 50, 0, 2);
+ energyVsX = aida.histogram2D(plotClustersDir + triggerType + "/"+clusterCollectionName + " Energy vs X", 50, 0, maxFactor*beamEnergy, 50, .0, 200.0);
+ energyVsY = aida.histogram2D(plotClustersDir + triggerType + "/"+clusterCollectionName + " Energy vs Y", 50, 0, maxFactor*beamEnergy, 50, 20.0, 85.0);
+ pairsE1vsE2 = aida.histogram2D(plotClustersDir + triggerType + "/"+clusterCollectionName + "Pair E1 vs E2", 50, 0, beamEnergy*maxFactor, 50, 0, beamEnergy*maxFactor);
pairsT1vsT2 = aida.histogram2D(plotClustersDir + triggerType + "/"+clusterCollectionName + "Pair T1 vs T2", 200, 0, 100, 200, 0, 100);
pairsDeltaT = aida.histogram1D(plotClustersDir + triggerType + "/" + clusterCollectionName + " Pair Time Difference", 100, -20.0, 20.0);
fiducialClusterCountPlot = aida.histogram1D(plotClustersDir + triggerType + "/"+plotFidCutDir + clusterCollectionName + " Cluster Count with Fiducal Cut", 10, -0.5, 9.5);
fiducialClusterSizePlot = aida.histogram1D(plotClustersDir+ triggerType + "/" +plotFidCutDir + clusterCollectionName + " Cluster Size with Fiducal Cut", 10, -0.5, 9.5);
- fiducialClusterEnergyPlot = aida.histogram1D(plotClustersDir + triggerType + "/"+plotFidCutDir + clusterCollectionName + " Cluster Energy with Fiducal Cut", 100, -0.1, maxE);
- fiducialenergyVsY = aida.histogram2D(plotClustersDir + triggerType + "/"+plotFidCutDir + clusterCollectionName + " Energy vs Y with Fiducial Cuts", 50, 0, 1.6, 50, 45.0, 85.0);
- fiducialenergyVsX = aida.histogram2D(plotClustersDir+ triggerType + "/" +plotFidCutDir + clusterCollectionName + " Energy vs X with Fiducial Cuts", 50, 0, 1.6, 50, 0.0, 200.0);
+ fiducialClusterEnergyPlot = aida.histogram1D(plotClustersDir + triggerType + "/"+plotFidCutDir + clusterCollectionName + " Cluster Energy with Fiducal Cut", 100, -0.1, beamEnergy*maxFactor);
+ fiducialenergyVsY = aida.histogram2D(plotClustersDir + triggerType + "/"+plotFidCutDir + clusterCollectionName + " Energy vs Y with Fiducial Cuts", 50, 0, beamEnergy*maxFactor, 50, 45.0, 85.0);
+ fiducialenergyVsX = aida.histogram2D(plotClustersDir+ triggerType + "/" +plotFidCutDir + clusterCollectionName + " Energy vs X with Fiducial Cuts", 50, 0, beamEnergy*maxFactor, 50, 0.0, 200.0);
}
Modified: java/trunk/analysis/src/main/java/org/hps/analysis/dataquality/FinalStateMonitoring.java
=============================================================================
--- java/trunk/analysis/src/main/java/org/hps/analysis/dataquality/FinalStateMonitoring.java (original)
+++ java/trunk/analysis/src/main/java/org/hps/analysis/dataquality/FinalStateMonitoring.java Mon Feb 15 14:49:25 2016
@@ -62,7 +62,7 @@
private final String plotDir = "FinalStateParticles/";
double beamEnergy = 1.05; //GeV
double maxFactor = 1.5;
- double feeMomentumCut = 0.8; //GeV
+ double feeMomentumCut = 0.75; //this number, multiplied by the beam energy, is the actual cut
IHistogram1D elePx;
IHistogram1D elePy;
@@ -97,6 +97,10 @@
/* number of unassocaited tracks/event */
IHistogram1D nUnAssTracksHisto;
+
+ public void setBeamEnergy(double e){
+ this.beamEnergy = e;
+ }
public void setFinalStateParticlesColName(String fsp) {
this.finalStateParticlesColName = fsp;
}
@@ -111,24 +115,24 @@
/* Final State Particle Quantities */
/* plot electron & positron momentum separately */
- elePx = aida.histogram1D(plotDir +trkType+ triggerType + "/" + "Electron Px (GeV)", 100, -0.1, 0.200);
- elePy = aida.histogram1D(plotDir +trkType+ triggerType + "/" + "Electron Py (GeV)", 100, -0.1, 0.1);
+ elePx = aida.histogram1D(plotDir +trkType+ triggerType + "/" + "Electron Px (GeV)", 100, -0.1*beamEnergy, 0.200*beamEnergy);
+ elePy = aida.histogram1D(plotDir +trkType+ triggerType + "/" + "Electron Py (GeV)", 100, -0.1*beamEnergy, 0.1*beamEnergy);
elePz = aida.histogram1D(plotDir +trkType+ triggerType + "/" + "Electron Pz (GeV)", 100, 0, beamEnergy * maxFactor);
- elePzBeam = aida.histogram1D(plotDir +trkType+ triggerType + "/" + "Beam Electrons Total P (GeV)", 100, feeMomentumCut, beamEnergy * maxFactor);
- elePzBeamTop = aida.histogram1D(plotDir +trkType+ triggerType + "/" + "Beam Electrons Total P (GeV): Top", 100, feeMomentumCut, beamEnergy * maxFactor);
- elePzBeamBottom = aida.histogram1D(plotDir +trkType+ triggerType + "/" + "Beam Electrons Total P (GeV): Bottom", 100, feeMomentumCut, beamEnergy * maxFactor);
+ elePzBeam = aida.histogram1D(plotDir +trkType+ triggerType + "/" + "Beam Electrons Total P (GeV)", 100, feeMomentumCut*beamEnergy, beamEnergy * maxFactor);
+ elePzBeamTop = aida.histogram1D(plotDir +trkType+ triggerType + "/" + "Beam Electrons Total P (GeV): Top", 100, feeMomentumCut*beamEnergy, beamEnergy * maxFactor);
+ elePzBeamBottom = aida.histogram1D(plotDir +trkType+ triggerType + "/" + "Beam Electrons Total P (GeV): Bottom", 100, feeMomentumCut*beamEnergy, beamEnergy * maxFactor);
elePTop = aida.histogram1D(plotDir +trkType+ triggerType + "/" + "Electron Total P (GeV): Top", 100, 0, beamEnergy * maxFactor);
elePBottom = aida.histogram1D(plotDir +trkType+ triggerType + "/" + "Electron Total P (GeV): Bottom", 100, 0, beamEnergy * maxFactor);
- posPx = aida.histogram1D(plotDir +trkType+ triggerType + "/" + "Positron Px (GeV)", 50, -0.1, 0.200);
- posPy = aida.histogram1D(plotDir +trkType+ triggerType + "/" + "Positron Py (GeV)", 50, -0.1, 0.1);
+ posPx = aida.histogram1D(plotDir +trkType+ triggerType + "/" + "Positron Px (GeV)", 50, -0.1*beamEnergy, 0.200*beamEnergy);
+ posPy = aida.histogram1D(plotDir +trkType+ triggerType + "/" + "Positron Py (GeV)", 50, -0.1*beamEnergy, 0.1*beamEnergy);
posPz = aida.histogram1D(plotDir +trkType+ triggerType + "/" + "Positron Pz (GeV)", 50, 0, beamEnergy * maxFactor);
posPTop = aida.histogram1D(plotDir +trkType+ triggerType + "/" + "Positron Total P (GeV): Top", 100, 0, beamEnergy * maxFactor);
posPBottom = aida.histogram1D(plotDir +trkType+ triggerType + "/" + "Positron Total P (GeV): Bottom", 100, 0, beamEnergy * maxFactor);
/* photon quanties (...right now, just unassociated clusters) */
nPhotonsHisto = aida.histogram1D(plotDir +trkType+ triggerType + "/" + "Number of photons per event", 15, 0, 15);
- enePhoton = aida.histogram1D(plotDir +trkType+ triggerType + "/" + "Photon Energy (GeV)", 50, 0, 2.4);
+ enePhoton = aida.histogram1D(plotDir +trkType+ triggerType + "/" + "Photon Energy (GeV)", 50, 0, 2.4*beamEnergy);
xPhoton = aida.histogram1D(plotDir +trkType+ triggerType + "/" + "Photon X position (mm)", 50, -200, 200);
yPhoton = aida.histogram1D(plotDir +trkType+ triggerType + "/" + "Photon Y position (mm)", 50, -100, 100);
Modified: java/trunk/analysis/src/main/java/org/hps/analysis/dataquality/TridentMonitoring.java
=============================================================================
--- java/trunk/analysis/src/main/java/org/hps/analysis/dataquality/TridentMonitoring.java (original)
+++ java/trunk/analysis/src/main/java/org/hps/analysis/dataquality/TridentMonitoring.java Mon Feb 15 14:49:25 2016
@@ -74,6 +74,36 @@
private final static Logger LOGGER = Logger.getLogger(TridentMonitoring.class.getPackage().getName());
private double ebeam = 1.05;
+
+ public void setBeamEnergy(double ebeam){
+ this.ebeam = ebeam;
+
+ plotsMinMass = 0.03 * ebeam;
+ plotsMaxMass = 0.04 * ebeam;
+
+
+ //v0 plot ranges
+ v0PzMax = 1.25 * ebeam;//GeV
+ v0PzMin = 0.1;// GeV
+ v0PyMax = 0.04 * ebeam;//GeV absolute value
+ v0PxMax = 0.04 * ebeam;//GeV absolute value
+
+ //v0 cuts
+ v0PzMaxCut = 1.25 * ebeam;//GeV
+ v0PzMinCut = 0.1;// GeV
+ v0PyCut = 0.04 * ebeam;//GeV absolute value
+ v0PxCut = 0.04 * ebeam;//GeV absolute value
+
+ // track quality cuts
+ beamPCut = 0.85 * ebeam;
+ minPCut = 0.05;
+// private double trkPyMax = 0.2;
+// private double trkPxMax = 0.2;
+ radCut = 0.8 * ebeam;
+
+
+ }
+
private final BasicHep3Matrix beamAxisRotation = new BasicHep3Matrix();
// private static final int nCuts = 9;
// private final String[] cutNames = {"Trk Quality",
@@ -216,8 +246,8 @@
private final IHistogram1D[][] cutVertexZ = new IHistogram1D[Cut.nCuts][2];
private final IHistogram2D[][] cutVertexZVsMass = new IHistogram2D[Cut.nCuts][2];
- private final double plotsMinMass = 0.03 * ebeam;
- private final double plotsMaxMass = 0.04 * ebeam;
+ private double plotsMinMass = 0.03 * ebeam;
+ private double plotsMaxMass = 0.04 * ebeam;
//clean up event first
private final int nTrkMax = 5;
@@ -228,29 +258,29 @@
private final double maxVertChi2 = 7.0;
//v0 plot ranges
- private final double v0PzMax = 1.25 * ebeam;//GeV
- private final double v0PzMin = 0.1;// GeV
- private final double v0PyMax = 0.04;//GeV absolute value
- private final double v0PxMax = 0.04;//GeV absolute value
+ private double v0PzMax = 1.25 * ebeam;//GeV
+ private double v0PzMin = 0.1;// GeV
+ private double v0PyMax = 0.04 * ebeam;//GeV absolute value
+ private double v0PxMax = 0.04 * ebeam;//GeV absolute value
private final double v0VzMax = 50.0;// mm from target...someday make mass dependent
private final double v0VyMax = 2.0;// mm from target...someday make mass dependent
private final double v0VxMax = 2.0;// mm from target...someday make mass dependent
//v0 cuts
- private final double v0PzMaxCut = 1.25 * ebeam;//GeV
- private final double v0PzMinCut = 0.1;// GeV
- private final double v0PyCut = 0.04;//GeV absolute value
- private final double v0PxCut = 0.04;//GeV absolute value
+ private double v0PzMaxCut = 1.25 * ebeam;//GeV
+ private double v0PzMinCut = 0.1;// GeV
+ private double v0PyCut = 0.04 * ebeam;//GeV absolute value
+ private double v0PxCut = 0.04 * ebeam;//GeV absolute value
private final double v0VzCut = 50.0;// mm from target...someday make mass dependent
private final double v0VyCut = 2.0;// mm from target...someday make mass dependent
private final double v0VxCut = 2.0;// mm from target...someday make mass dependent
// track quality cuts
- private final double beamPCut = 0.85;
- private final double minPCut = 0.05;
+ private double beamPCut = 0.85 * ebeam;
+ private double minPCut = 0.05;
// private double trkPyMax = 0.2;
// private double trkPxMax = 0.2;
- private final double radCut = 0.8 * ebeam;
+ private double radCut = 0.8 * ebeam;
private final double trkTimeDiff = 5.0;
private final double clusterTimeDiffCut = 2.5;
@@ -268,9 +298,7 @@
private float nRecoV0 = 0;
private final float[] nPassCut = new float[Cut.nCuts];
- public void setEbeam(double ebeam) {
- this.ebeam = ebeam;
- }
+
@Override
protected void detectorChanged(Detector detector) {
Modified: java/trunk/analysis/src/main/java/org/hps/analysis/dataquality/V0Monitoring.java
=============================================================================
--- java/trunk/analysis/src/main/java/org/hps/analysis/dataquality/V0Monitoring.java (original)
+++ java/trunk/analysis/src/main/java/org/hps/analysis/dataquality/V0Monitoring.java Mon Feb 15 14:49:25 2016
@@ -150,19 +150,40 @@
private final BasicHep3Matrix beamAxisRotation = new BasicHep3Matrix();
double maxFactor = 1.25;
- double feeMomentumCut = 0.8; //GeV
-
- double v0ESumMinCut = 0.8 * beamEnergy;
- double v0ESumMaxCut = 1.25 * beamEnergy;
- double v0MaxPCut = 1.1;//GeV
- double molPSumMin = 0.85;
- double molPSumMax = 1.3;
- double beambeamCut = 0.85;
+
+
double thetaMax = 0.06;
double thetaMin = 0.015;
+
+ public void setBeamEnergy(double e){
+ this.beamEnergy = e;
+ feeMomentumCut = 0.75*beamEnergy; //GeV
+
+ v0ESumMinCut = 0.8 * beamEnergy;
+ v0ESumMaxCut = 1.25 * beamEnergy;
+ /*double v0MaxPCut = 1.1;//GeV
+ double molPSumMin = 0.85;
+ double molPSumMax = 1.3;
+ double beambeamCut = 0.85;
+ */
+ v0MaxPCut = 1.05*beamEnergy;//GeV
+ molPSumMin = 0.80*beamEnergy;
+ molPSumMax = 1.25*beamEnergy;
+ beambeamCut = 0.80*beamEnergy;
+
+ }
+
+ double feeMomentumCut, v0ESumMinCut, v0MaxPCut, v0ESumMaxCut,
+ molPSumMin, molPSumMax, beambeamCut;
+
+
@Override
protected void detectorChanged(Detector detector) {
+ setBeamEnergy(beamEnergy);
+
+
+
beamAxisRotation.setActiveEuler(Math.PI / 2, -0.0305, -Math.PI / 2);
LOGGER.info("Setting up the plotter");
@@ -171,10 +192,13 @@
String trkType = "SeedTrack/";
if (isGBL)
trkType = "GBLTrack/";
+
+ double maxMass = .2*beamEnergy;
+ double maxMassMoller = .1*Math.sqrt(beamEnergy);
/* V0 Quantities */
/* Mass, vertex, chi^2 of fit */
/* unconstrained */
- unconMass = aida.histogram1D(plotDir + trkType + triggerType + "/" + unconstrainedV0CandidatesColName + "/" + "Invariant Mass (GeV)", 100, 0, 0.200);
+ unconMass = aida.histogram1D(plotDir + trkType + triggerType + "/" + unconstrainedV0CandidatesColName + "/" + "Invariant Mass (GeV)", 100, 0, maxMass);
unconVx = aida.histogram1D(plotDir + trkType + triggerType + "/" + unconstrainedV0CandidatesColName + "/" + "Vx (mm)", 50, -10, 10);
unconVy = aida.histogram1D(plotDir + trkType + triggerType + "/" + unconstrainedV0CandidatesColName + "/" + "Vy (mm)", 50, -10, 10);
unconVz = aida.histogram1D(plotDir + trkType + triggerType + "/" + unconstrainedV0CandidatesColName + "/" + "Vz (mm)", 50, -50, 50);
@@ -182,7 +206,7 @@
unconVzVsChi2 = aida.histogram2D(plotDir + trkType + triggerType + "/" + unconstrainedV0CandidatesColName + "/" + "Vz vs. Chi2", 25, 0, 25, 50, -50, 50);
unconChi2VsTrkChi2 = aida.histogram2D(plotDir + trkType + triggerType + "/" + unconstrainedV0CandidatesColName + "/" + "Chi2 vs. total track chi2", 50, 0, 50, 50, 0, 25);
/* beamspot constrained */
- bsconMass = aida.histogram1D(plotDir + trkType + triggerType + "/" + beamConV0CandidatesColName + "/" + "Mass (GeV)", 100, 0, 0.200);
+ bsconMass = aida.histogram1D(plotDir + trkType + triggerType + "/" + beamConV0CandidatesColName + "/" + "Mass (GeV)", 100, 0, maxMass);
bsconVx = aida.histogram1D(plotDir + trkType + triggerType + "/" + beamConV0CandidatesColName + "/" + "Vx (mm)", 50, -10, 10);
bsconVy = aida.histogram1D(plotDir + trkType + triggerType + "/" + beamConV0CandidatesColName + "/" + "Vy (mm)", 50, -10, 10);
bsconVz = aida.histogram1D(plotDir + trkType + triggerType + "/" + beamConV0CandidatesColName + "/" + "Vz (mm)", 50, -50, 50);
@@ -190,7 +214,7 @@
bsconVzVsChi2 = aida.histogram2D(plotDir + trkType + triggerType + "/" + beamConV0CandidatesColName + "/" + "Vz vs. Chi2", 25, 0, 25, 50, -50, 50);
bsconChi2VsTrkChi2 = aida.histogram2D(plotDir + trkType + triggerType + "/" + beamConV0CandidatesColName + "/" + "Chi2 vs. total track chi2", 50, 0, 50, 50, 0, 25);
/* target constrained */
- tarconMass = aida.histogram1D(plotDir + trkType + triggerType + "/" + targetV0ConCandidatesColName + "/" + "Mass (GeV)", 100, 0, 0.200);
+ tarconMass = aida.histogram1D(plotDir + trkType + triggerType + "/" + targetV0ConCandidatesColName + "/" + "Mass (GeV)", 100, 0, maxMass);
tarconVx = aida.histogram1D(plotDir + trkType + triggerType + "/" + targetV0ConCandidatesColName + "/" + "Vx (mm)", 50, -1, 1);
tarconVy = aida.histogram1D(plotDir + trkType + triggerType + "/" + targetV0ConCandidatesColName + "/" + "Vy (mm)", 50, -1, 1);
tarconVz = aida.histogram1D(plotDir + trkType + triggerType + "/" + targetV0ConCandidatesColName + "/" + "Vz (mm)", 50, -10, 10);
@@ -206,9 +230,9 @@
pEleVspPos = aida.histogram2D(plotDir + trkType + triggerType + "/" + xtra + "/" + "P(e) vs P(p)", 50, 0, beamEnergy * maxFactor, 50, 0, beamEnergy * maxFactor);
pEleVspPosWithCut = aida.histogram2D(plotDir + trkType + triggerType + "/" + xtra + "/" + "P(e) vs P(p): Radiative", 50, 0, beamEnergy * maxFactor, 50, 0, beamEnergy * maxFactor);
- pyEleVspyPos = aida.histogram2D(plotDir + trkType + triggerType + "/" + xtra + "/" + "Py(e) vs Py(p)", 50, -0.04, 0.04, 50, -0.04, 0.04);
- pxEleVspxPos = aida.histogram2D(plotDir + trkType + triggerType + "/" + xtra + "/" + "Px(e) vs Px(p)", 50, -0.04, 0.04, 50, -0.04, 0.04);
- VtxZVsMass = aida.histogram2D(plotDir + trkType + triggerType + "/" + xtra + "/" + "Vz vs Mass", 50, 0, 0.15, 50, -50, 80);
+ pyEleVspyPos = aida.histogram2D(plotDir + trkType + triggerType + "/" + xtra + "/" + "Py(e) vs Py(p)", 50, -0.04*beamEnergy, 0.04*beamEnergy, 50, -0.04*beamEnergy, 0.04*beamEnergy);
+ pxEleVspxPos = aida.histogram2D(plotDir + trkType + triggerType + "/" + xtra + "/" + "Px(e) vs Px(p)", 50, -0.04*beamEnergy, 0.04*beamEnergy, 50, -0.04*beamEnergy, 0.04*beamEnergy);
+ VtxZVsMass = aida.histogram2D(plotDir + trkType + triggerType + "/" + xtra + "/" + "Vz vs Mass", 50, 0, maxMass, 50, -50, 80);
VtxXVsVtxZ = aida.histogram2D(plotDir + trkType + triggerType + "/" + xtra + "/" + "Vx vs Vz", 100, -10, 10, 100, -50, 80);
VtxYVsVtxZ = aida.histogram2D(plotDir + trkType + triggerType + "/" + xtra + "/" + "Vy vs Vz", 100, -5, 5, 100, -50, 80);
VtxXVsVtxY = aida.histogram2D(plotDir + trkType + triggerType + "/" + xtra + "/" + "Vx vs Vy", 100, -10, 10, 100, -5, 5);
@@ -221,13 +245,13 @@
VtxZVsTrkChi2 = aida.histogram2D(plotDir + trkType + triggerType + "/" + xtra + "/" + "Vz vs Track Chi2", 50, 0, 50, 50, -50, 80);
pEleVspEle = aida.histogram2D(plotDir + trkType + triggerType + "/" + xtra + "/" + "2 Electron/P(e) vs P(e)", 50, 0, beamEnergy * maxFactor, 50, 0, beamEnergy * maxFactor);
phiEleVsphiEle = aida.histogram2D(plotDir + trkType + triggerType + "/" + xtra + "/" + "2 Electron/phi(e) vs phi(e)", 50, -Math.PI, Math.PI, 50, -Math.PI, Math.PI);
- pyEleVspyEle = aida.histogram2D(plotDir + trkType + triggerType + "/" + xtra + "/" + "2 Electron/Py(e) vs Py(e)", 50, -0.04, 0.04, 50, -0.04, 0.04);
- pxEleVspxEle = aida.histogram2D(plotDir + trkType + triggerType + "/" + xtra + "/" + "2 Electron/Px(e) vs Px(e)", 50, -0.02, 0.06, 50, -0.02, 0.06);
+ pyEleVspyEle = aida.histogram2D(plotDir + trkType + triggerType + "/" + xtra + "/" + "2 Electron/Py(e) vs Py(e)", 50, -0.04*beamEnergy, 0.04*beamEnergy, 50, -0.04*beamEnergy, 0.04*beamEnergy);
+ pxEleVspxEle = aida.histogram2D(plotDir + trkType + triggerType + "/" + xtra + "/" + "2 Electron/Px(e) vs Px(e)", 50, -0.02*beamEnergy, 0.06*beamEnergy, 50, -0.02*beamEnergy, 0.06*beamEnergy);
pEleVspEleNoBeam = aida.histogram2D(plotDir + trkType + triggerType + "/" + xtra + "/" + "2 Electron/P(e) vs P(e) NoBeam", 50, 0, beambeamCut, 50, 0, beambeamCut);
pEleVspEleMoller = aida.histogram2D(plotDir + trkType + triggerType + "/" + xtra + "/" + "2 Electron/P(e) vs P(e) Moller", 50, 0, beambeamCut, 50, 0, beambeamCut);
pEleVspEleBeamBeam = aida.histogram2D(plotDir + trkType + triggerType + "/" + xtra + "/" + "2 Electron/P(e) vs P(e) BeamBeam", 50, beambeamCut, beamEnergy * maxFactor, 50, beambeamCut, beamEnergy * maxFactor);
- pyEleVspyEleNoBeam = aida.histogram2D(plotDir + trkType + triggerType + "/" + xtra + "/" + "2 Electron/Py(e) vs Py(e) NoBeam", 50, -0.04, 0.04, 50, -0.04, 0.04);
- pxEleVspxEleNoBeam = aida.histogram2D(plotDir + trkType + triggerType + "/" + xtra + "/" + "2 Electron/Px(e) vs Px(e) NoBeam", 50, -0.02, 0.06, 50, -0.02, 0.06);
+ pyEleVspyEleNoBeam = aida.histogram2D(plotDir + trkType + triggerType + "/" + xtra + "/" + "2 Electron/Py(e) vs Py(e) NoBeam", 50, -0.04*beamEnergy, 0.04*beamEnergy, 50, -0.04*beamEnergy, 0.04*beamEnergy);
+ pxEleVspxEleNoBeam = aida.histogram2D(plotDir + trkType + triggerType + "/" + xtra + "/" + "2 Electron/Px(e) vs Px(e) NoBeam", 50, -0.02*beamEnergy, 0.06*beamEnergy, 50, -0.02*beamEnergy, 0.06*beamEnergy);
sumChargeHisto = aida.histogram1D(plotDir + trkType + triggerType + "/" + xtra + "/" + "Total Charge of Event", 5, -2, 3);
numChargeHisto = aida.histogram1D(plotDir + trkType + triggerType + "/" + xtra + "/" + "Number of Charged Particles", 6, 0, 6);
@@ -236,8 +260,8 @@
pEleVsthetaBeamBeam = aida.histogram2D(plotDir + trkType + triggerType + "/" + xtra + "/" + "2 Electron/P(e) vs Theta BeamBeam", 50, beambeamCut, beamEnergy * maxFactor, 50, thetaMin, thetaMax);
thetaEleVsthetaBeamBeam = aida.histogram2D(plotDir + trkType + triggerType + "/" + xtra + "/" + "2 Electron/Theta vs Theta BeamBeam", 50, thetaMin, thetaMax, 50, thetaMin, thetaMax);
- mollerMass = aida.histogram1D(plotDir + trkType + triggerType + "/" + xtra + "/" + "2 Electron/Moller Mass (GeV)", 100, 0, 0.100);
- mollerMassVtxCut = aida.histogram1D(plotDir + trkType + triggerType + "/" + xtra + "/" + "2 Electron/Moller Mass (GeV): VtxCut", 100, 0, 0.100);
+ mollerMass = aida.histogram1D(plotDir + trkType + triggerType + "/" + xtra + "/" + "2 Electron/Moller Mass (GeV)", 100, 0, maxMassMoller);
+ mollerMassVtxCut = aida.histogram1D(plotDir + trkType + triggerType + "/" + xtra + "/" + "2 Electron/Moller Mass (GeV): VtxCut", 100, 0, maxMassMoller);
mollerVx = aida.histogram1D(plotDir + trkType + triggerType + "/" + xtra + "/" + "2 Electron/Moller Vx (mm)", 50, -10, 10);
mollerVy = aida.histogram1D(plotDir + trkType + triggerType + "/" + xtra + "/" + "2 Electron/Moller Vy (mm)", 50, -2, 2);
mollerVz = aida.histogram1D(plotDir + trkType + triggerType + "/" + xtra + "/" + "2 Electron/Moller Vz (mm)", 50, -50, 50);
@@ -246,8 +270,8 @@
mollerYVsVtxZ = aida.histogram2D(plotDir + trkType + triggerType + "/" + xtra + "/" + "2 Electron/Moller Vy vs Vz", 100, -2, 2, 100, -50, 50);
mollerXVsVtxY = aida.histogram2D(plotDir + trkType + triggerType + "/" + xtra + "/" + "2 Electron/Moller Vx vs Vy", 100, -5, 5, 100, -2, 2);
- mollerUx = aida.histogram1D(plotDir + trkType + triggerType + "/" + xtra + "/" + "2 Electron/Moller Pair Momentum Direction Ux", 100, .025, .035);
- mollerUy = aida.histogram1D(plotDir + trkType + triggerType + "/" + xtra + "/" + "2 Electron/Moller Pair Momentum Direction Uy", 100, -.005, .005);
+ mollerUx = aida.histogram1D(plotDir + trkType + triggerType + "/" + xtra + "/" + "2 Electron/Moller Pair Momentum Direction Ux", 100, .015, .045);
+ mollerUy = aida.histogram1D(plotDir + trkType + triggerType + "/" + xtra + "/" + "2 Electron/Moller Pair Momentum Direction Uy", 100, -.01, .01);
@@ -471,8 +495,10 @@
mollerYVsVtxZ.fill(bv.getPosition().y(), bv.getPosition().z());
mollerXVsVtxY.fill(bv.getPosition().x(), bv.getPosition().y());
- mollerUx.fill((p1.x()+p2.x())/(p1.z()+p2.z()));
- mollerUy.fill((p1.y()+p2.y())/(p1.z()+p2.z()));
+ double ux = (ele1.getMomentum().x()+ele2.getMomentum().x())/(ele1.getMomentum().z()+ele2.getMomentum().z());
+ double uy = (ele1.getMomentum().y()+ele2.getMomentum().y())/(ele1.getMomentum().z()+ele2.getMomentum().z());
+ mollerUx.fill(ux);
+ mollerUy.fill(uy);
if (Math.abs(bv.getPosition().x()) < 2
&& Math.abs(bv.getPosition().y()) < 0.5) {
Modified: java/trunk/steering-files/src/main/resources/org/hps/steering/production/DataQualityRecon.lcsim
=============================================================================
--- java/trunk/steering-files/src/main/resources/org/hps/steering/production/DataQualityRecon.lcsim (original)
+++ java/trunk/steering-files/src/main/resources/org/hps/steering/production/DataQualityRecon.lcsim Mon Feb 15 14:49:25 2016
@@ -9,7 +9,8 @@
<!-- <driver name="DQMDatabaseDriver"/> -->
<driver name="RawTrackerHitSensorSetup"/>
<driver name="EcalMonitoring"/>
- <driver name="SVTMonitoring"/>
+ <driver name="EcalMonitoringCorr"/>
+ <driver name="SVTMonitoring"/>
<driver name="TrackingMonitoring"/>
<driver name="TrackingResiduals"/>
<driver name="FinalStateMonitoring"/>
@@ -21,6 +22,7 @@
<driver name="TridentMonitoringGBL"/>
<!-- Singles0 -->
<driver name="EcalMonitoringSingles0"/>
+ <driver name="EcalMonitoringCorrSingles0"/>
<driver name="TrackingMonitoringSingles0"/>
<driver name="TrackingMonitoringGBLSingles0"/>
<driver name="TrackingResidualsSingles0"/>
@@ -29,6 +31,7 @@
<driver name="TridentMonitoringSingles0"/>
<!-- Singles1 -->
<driver name="EcalMonitoringSingles1"/>
+ <driver name="EcalMonitoringCorrSingles1"/>
<driver name="TrackingMonitoringSingles1"/>
<driver name="TrackingMonitoringGBLSingles1"/>
<driver name="TrackingResidualsSingles1"/>
@@ -39,7 +42,8 @@
<driver name="V0MonitoringGBLSingles1"/>
<driver name="TridentMonitoringGBLSingles1"/>
<!-- Pairs0 -->
- <driver name="EcalMonitoringPairs0"/>
+ <driver name="EcalMonitoringPairs0"/>
+ <driver name="EcalMonitoringCorrPairs0"/>
<driver name="TrackingMonitoringPairs0"/>
<driver name="TrackingMonitoringGBLPairs0"/>
<driver name="TrackingResidualsPairs0"/>
@@ -47,7 +51,8 @@
<driver name="V0MonitoringPairs0"/>
<driver name="TridentMonitoringPairs0"/>
<!-- Pairs1 -->
- <driver name="EcalMonitoringPairs1"/>
+ <driver name="EcalMonitoringPairs1"/>
+ <driver name="EcalMonitoringCorrPairs1"/>
<driver name="TrackingMonitoringPairs1"/>
<driver name="TrackingMonitoringGBLPairs1"/>
<driver name="TrackingResidualsPairs1"/>
@@ -58,7 +63,7 @@
<driver name="V0MonitoringGBLPairs1"/>
<driver name="TridentMonitoringGBLPairs1"/>
<!-- -->
- <driver name="AidaSaveDriver"/>
+ <!-- <driver name="AidaSaveDriver"/>-->
<driver name="AidaToRootSaveDriver"/>
<driver name="CleanupDriver"/>
</execute>
@@ -79,6 +84,13 @@
<!-- all triggers -->
<driver name="EcalMonitoring" type="org.hps.analysis.dataquality.EcalMonitoring">
<triggerType>all</triggerType>
+ <beamEnergy>${beamEnergy}</beamEnergy>
+ </driver>
+ <driver name="EcalMonitoringCorr" type="org.hps.analysis.dataquality.EcalMonitoring">
+ <triggerType>all</triggerType>
+ <beamEnergy>${beamEnergy}</beamEnergy>
+ <clusterCollectionName>EcalClustersCorr</clusterCollectionName>
+ <fillHitPlots>false</fillHitPlots>
</driver>
<driver name="SVTMonitoring" type="org.hps.analysis.dataquality.SvtMonitoring">
<triggerType>all</triggerType>
@@ -92,12 +104,15 @@
</driver>
<driver name="FinalStateMonitoring" type="org.hps.analysis.dataquality.FinalStateMonitoring">
<triggerType>all</triggerType>
+ <beamEnergy>${beamEnergy}</beamEnergy>
</driver>
<driver name="V0Monitoring" type="org.hps.analysis.dataquality.V0Monitoring">
<triggerType>all</triggerType>
+ <beamEnergy>${beamEnergy}</beamEnergy>
</driver>
<driver name="TridentMonitoring" type="org.hps.analysis.dataquality.TridentMonitoring">
<triggerType>all</triggerType>
+ <beamEnergy>${beamEnergy}</beamEnergy>
</driver>
<driver name="TrackingMonitoringGBL" type="org.hps.analysis.dataquality.TrackingMonitoring">
<trackCollectionName>GBLTracks</trackCollectionName>
@@ -105,20 +120,30 @@
</driver>
<driver name="FinalStateMonitoringGBL" type="org.hps.analysis.dataquality.FinalStateMonitoring">
<triggerType>all</triggerType>
+ <beamEnergy>${beamEnergy}</beamEnergy>
<isGBL>true</isGBL>
</driver>
<driver name="V0MonitoringGBL" type="org.hps.analysis.dataquality.V0Monitoring">
<triggerType>all</triggerType>
<isGBL>true</isGBL>
+ <beamEnergy>${beamEnergy}</beamEnergy>
</driver>
<driver name="TridentMonitoringGBL" type="org.hps.analysis.dataquality.TridentMonitoring">
<triggerType>all</triggerType>
<isGBL>true</isGBL>
+ <beamEnergy>${beamEnergy}</beamEnergy>
</driver>
<!-- singles0 triggers -->
<driver name="EcalMonitoringSingles0" type="org.hps.analysis.dataquality.EcalMonitoring">
<triggerType>singles0</triggerType>
+ <beamEnergy>${beamEnergy}</beamEnergy>
+ </driver>
+ <driver name="EcalMonitoringCorrSingles0" type="org.hps.analysis.dataquality.EcalMonitoring">
+ <triggerType>singles0</triggerType>
+ <beamEnergy>${beamEnergy}</beamEnergy>
+ <clusterCollectionName>EcalClustersCorr</clusterCollectionName>
+ <fillHitPlots>false</fillHitPlots>
</driver>
<driver name="SVTMonitoringSingles0" type="org.hps.analysis.dataquality.SvtMonitoring">
<triggerType>singles0</triggerType>
@@ -135,17 +160,27 @@
</driver>
<driver name="FinalStateMonitoringSingles0" type="org.hps.analysis.dataquality.FinalStateMonitoring">
<triggerType>singles0</triggerType>
+ <beamEnergy>${beamEnergy}</beamEnergy>
</driver>
<driver name="V0MonitoringSingles0" type="org.hps.analysis.dataquality.V0Monitoring">
<triggerType>singles0</triggerType>
+ <beamEnergy>${beamEnergy}</beamEnergy>
</driver>
<driver name="TridentMonitoringSingles0" type="org.hps.analysis.dataquality.TridentMonitoring">
<triggerType>singles0</triggerType>
+ <beamEnergy>${beamEnergy}</beamEnergy>
</driver>
<!-- singles1 triggers -->
<driver name="EcalMonitoringSingles1" type="org.hps.analysis.dataquality.EcalMonitoring">
<triggerType>singles1</triggerType>
+ <beamEnergy>${beamEnergy}</beamEnergy>
+ </driver>
+ <driver name="EcalMonitoringCorrSingles1" type="org.hps.analysis.dataquality.EcalMonitoring">
+ <triggerType>singles1</triggerType>
+ <beamEnergy>${beamEnergy}</beamEnergy>
+ <clusterCollectionName>EcalClustersCorr</clusterCollectionName>
+ <fillHitPlots>false</fillHitPlots>
</driver>
<driver name="SVTMonitoringSingles1" type="org.hps.analysis.dataquality.SvtMonitoring">
<triggerType>singles1</triggerType>
@@ -162,29 +197,42 @@
</driver>
<driver name="FinalStateMonitoringSingles1" type="org.hps.analysis.dataquality.FinalStateMonitoring">
<triggerType>singles1</triggerType>
+ <beamEnergy>${beamEnergy}</beamEnergy>
</driver>
<driver name="V0MonitoringSingles1" type="org.hps.analysis.dataquality.V0Monitoring">
<triggerType>singles1</triggerType>
+ <beamEnergy>${beamEnergy}</beamEnergy>
</driver>
<driver name="TridentMonitoringSingles1" type="org.hps.analysis.dataquality.TridentMonitoring">
- <triggerType>singles1</triggerType>
+ <triggerType>singles1</triggerType>
+ <beamEnergy>${beamEnergy}</beamEnergy>
</driver>
<driver name="FinalStateMonitoringGBLSingles1" type="org.hps.analysis.dataquality.FinalStateMonitoring">
<triggerType>singles1</triggerType>
<isGBL>true</isGBL>
+ <beamEnergy>${beamEnergy}</beamEnergy>
</driver>
<driver name="V0MonitoringGBLSingles1" type="org.hps.analysis.dataquality.V0Monitoring">
<triggerType>singles1</triggerType>
+ <beamEnergy>${beamEnergy}</beamEnergy>
<isGBL>true</isGBL>
</driver>
<driver name="TridentMonitoringGBLSingles1" type="org.hps.analysis.dataquality.TridentMonitoring">
<triggerType>singles1</triggerType>
<isGBL>true</isGBL>
+ <beamEnergy>${beamEnergy}</beamEnergy>
</driver>
<!-- pairs0 triggers -->
<driver name="EcalMonitoringPairs0" type="org.hps.analysis.dataquality.EcalMonitoring">
<triggerType>pairs0</triggerType>
+ <beamEnergy>${beamEnergy}</beamEnergy>
+ </driver>
+ <driver name="EcalMonitoringCorrPairs0" type="org.hps.analysis.dataquality.EcalMonitoring">
+ <triggerType>pairs0</triggerType>
+ <beamEnergy>${beamEnergy}</beamEnergy>
+ <clusterCollectionName>EcalClustersCorr</clusterCollectionName>
+ <fillHitPlots>false</fillHitPlots>
</driver>
<driver name="SVTMonitoringPairs0" type="org.hps.analysis.dataquality.SvtMonitoring">
<triggerType>pairs0</triggerType>
@@ -201,18 +249,28 @@
</driver>
<driver name="FinalStateMonitoringPairs0" type="org.hps.analysis.dataquality.FinalStateMonitoring">
<triggerType>pairs0</triggerType>
+ <beamEnergy>${beamEnergy}</beamEnergy>
</driver>
<driver name="V0MonitoringPairs0" type="org.hps.analysis.dataquality.V0Monitoring">
<triggerType>pairs0</triggerType>
+ <beamEnergy>${beamEnergy}</beamEnergy>
</driver>
<driver name="TridentMonitoringPairs0" type="org.hps.analysis.dataquality.TridentMonitoring">
<triggerType>pairs0</triggerType>
+ <beamEnergy>${beamEnergy}</beamEnergy>
</driver>
<!-- pairs1 triggers -->
<driver name="EcalMonitoringPairs1" type="org.hps.analysis.dataquality.EcalMonitoring">
<triggerType>pairs1</triggerType>
+ <beamEnergy>${beamEnergy}</beamEnergy>
+ </driver>
+ <driver name="EcalMonitoringCorrPairs1" type="org.hps.analysis.dataquality.EcalMonitoring">
+ <triggerType>pairs1</triggerType>
+ <beamEnergy>${beamEnergy}</beamEnergy>
+ <clusterCollectionName>EcalClustersCorr</clusterCollectionName>
+ <fillHitPlots>false</fillHitPlots>
</driver>
<driver name="SVTMonitoringPairs1" type="org.hps.analysis.dataquality.SvtMonitoring">
<triggerType>pairs1</triggerType>
@@ -229,24 +287,30 @@
</driver>
<driver name="FinalStateMonitoringPairs1" type="org.hps.analysis.dataquality.FinalStateMonitoring">
<triggerType>pairs1</triggerType>
+ <beamEnergy>${beamEnergy}</beamEnergy>
</driver>
<driver name="V0MonitoringPairs1" type="org.hps.analysis.dataquality.V0Monitoring">
<triggerType>pairs1</triggerType>
+ <beamEnergy>${beamEnergy}</beamEnergy>
</driver>
<driver name="TridentMonitoringPairs1" type="org.hps.analysis.dataquality.TridentMonitoring">
<triggerType>pairs1</triggerType>
+ <beamEnergy>${beamEnergy}</beamEnergy>
</driver>
<driver name="FinalStateMonitoringGBLPairs1" type="org.hps.analysis.dataquality.FinalStateMonitoring">
<triggerType>pairs1</triggerType>
<isGBL>true</isGBL>
+ <beamEnergy>${beamEnergy}</beamEnergy>
</driver>
<driver name="V0MonitoringGBLPairs1" type="org.hps.analysis.dataquality.V0Monitoring">
<triggerType>pairs1</triggerType>
+ <beamEnergy>${beamEnergy}</beamEnergy>
<isGBL>true</isGBL>
</driver>
<driver name="TridentMonitoringGBLPairs1" type="org.hps.analysis.dataquality.TridentMonitoring">
<triggerType>pairs1</triggerType>
<isGBL>true</isGBL>
+ <beamEnergy>${beamEnergy}</beamEnergy>
</driver>
<driver name="CleanupDriver" type="org.lcsim.recon.tracking.digitization.sisim.config.ReadoutCleanupDriver"/>
|