Author: [log in to unmask]
Date: Mon May 4 03:14:49 2015
New Revision: 2892
Log:
use unbiased residual
Modified:
java/trunk/analysis/src/main/java/org/hps/analysis/dataquality/TrackingMonitoring.java
Modified: java/trunk/analysis/src/main/java/org/hps/analysis/dataquality/TrackingMonitoring.java
=============================================================================
--- java/trunk/analysis/src/main/java/org/hps/analysis/dataquality/TrackingMonitoring.java (original)
+++ java/trunk/analysis/src/main/java/org/hps/analysis/dataquality/TrackingMonitoring.java Mon May 4 03:14:49 2015
@@ -186,33 +186,43 @@
aida.tree().cd("/");
- if (!event.hasCollection(LCRelation.class, helicalTrackHitRelationsCollectionName) || !event.hasCollection(LCRelation.class, rotatedHelicalTrackHitRelationsCollectionName))
+ if (!event.hasCollection(LCRelation.class, helicalTrackHitRelationsCollectionName) || !event.hasCollection(LCRelation.class, rotatedHelicalTrackHitRelationsCollectionName)) {
return;
+ }
RelationalTable hittostrip = new BaseRelationalTable(RelationalTable.Mode.MANY_TO_MANY, RelationalTable.Weighting.UNWEIGHTED);
List<LCRelation> hitrelations = event.get(LCRelation.class, helicalTrackHitRelationsCollectionName);
- for (LCRelation relation : hitrelations)
- if (relation != null && relation.getFrom() != null && relation.getTo() != null)
+ for (LCRelation relation : hitrelations) {
+ if (relation != null && relation.getFrom() != null && relation.getTo() != null) {
hittostrip.add(relation.getFrom(), relation.getTo());
+ }
+ }
RelationalTable hittorotated = new BaseRelationalTable(RelationalTable.Mode.ONE_TO_ONE, RelationalTable.Weighting.UNWEIGHTED);
List<LCRelation> rotaterelations = event.get(LCRelation.class, rotatedHelicalTrackHitRelationsCollectionName);
- for (LCRelation relation : rotaterelations)
- if (relation != null && relation.getFrom() != null && relation.getTo() != null)
+ for (LCRelation relation : rotaterelations) {
+ if (relation != null && relation.getFrom() != null && relation.getTo() != null) {
hittorotated.add(relation.getFrom(), relation.getTo());
-
- if (!event.hasCollection(TrackerHit.class, helicalTrackHitCollectionName))
+ }
+ }
+
+ if (!event.hasCollection(TrackerHit.class, helicalTrackHitCollectionName)) {
return;
+ }
if (event.hasCollection(GenericObject.class, "TriggerBank")) {
List<GenericObject> triggerList = event.get(GenericObject.class, "TriggerBank");
- for (GenericObject data : triggerList)
+ for (GenericObject data : triggerList) {
if (AbstractIntData.getTag(data) == TIData.BANK_TAG) {
TIData triggerData = new TIData(data);
if (!matchTriggerType(triggerData))//only process singles0 triggers...
+ {
return;
+ }
}
- } else
+ }
+ } else {
System.out.println(this.getClass().getSimpleName() + ": No trigger bank found...running over all trigger types");
+ }
int[] topHits = {0, 0, 0, 0, 0, 0};
int[] botHits = {0, 0, 0, 0, 0, 0};
@@ -220,18 +230,19 @@
for (TrackerHit hit : hth) {
int module = -99;
int layer = ((RawTrackerHit) hit.getRawHits().get(0)).getLayerNumber();
- if (layer < 2)
+ if (layer < 2) {
module = 1;
- else if (layer < 4)
+ } else if (layer < 4) {
module = 2;
- else if (layer < 6)
+ } else if (layer < 6) {
module = 3;
- else if (layer < 8)
+ } else if (layer < 8) {
module = 4;
- else if (layer < 10)
+ } else if (layer < 10) {
module = 5;
- else
+ } else {
module = 6;
+ }
if (hit.getPosition()[1] > 0) {
topHits[module - 1]++;
@@ -340,10 +351,11 @@
rmsTime += Math.pow(hts.getTime() - meanTime, 2);
HpsSiSensor sensor = (HpsSiSensor) ((RawTrackerHit) hts.getRawHits().get(0)).getDetectorElement();
int layer = sensor.getLayerNumber();
- if (layer <= 6)
+ if (layer <= 6) {
rmsSeedTime += Math.pow(hts.getTime() - meanSeedTime, 2);
+ }
String sensorName = getNiceSensorName(sensor);
- getSensorPlot(plotDir + "hitTimeResidual_", sensorName).fill(hts.getTime() - meanTime);
+ getSensorPlot(plotDir + "hitTimeResidual_", sensorName).fill((hts.getTime() - meanTime) * nStrips / (nStrips - 1)); //correct residual for bias
}
}
rmsTime = Math.sqrt(rmsTime / nStrips);
@@ -376,15 +388,17 @@
@Override
public void printDQMData() {
System.out.println("ReconMonitoring::printDQMData");
- for (Map.Entry<String, Double> entry : monitoredQuantityMap.entrySet())
+ for (Map.Entry<String, Double> entry : monitoredQuantityMap.entrySet()) {
System.out.println(entry.getKey() + " = " + entry.getValue());
+ }
System.out.println("*******************************");
}
@Override
public void printDQMStrings() {
- for (Map.Entry<String, Double> entry : monitoredQuantityMap.entrySet())
+ for (Map.Entry<String, Double> entry : monitoredQuantityMap.entrySet()) {
System.out.println("ALTER TABLE dqm ADD " + entry.getKey() + " double;");
+ }
}
private IHistogram1D getSensorPlot(String prefix, HpsSiSensor sensor) {
|