lcsim/src/org/lcsim/contrib/uiowa
diff -u -r1.42 -r1.43
--- ReclusterDTreeDriver.java 15 Aug 2008 17:56:47 -0000 1.42
+++ ReclusterDTreeDriver.java 15 Aug 2008 22:16:19 -0000 1.43
@@ -34,7 +34,7 @@
* in this package, which uses the implementation in
* org.lcsim.recon.cluster.directedtree developed by NIU).
*
- * @version $Id: ReclusterDTreeDriver.java,v 1.42 2008/08/15 17:56:47 mcharles Exp $
+ * @version $Id: ReclusterDTreeDriver.java,v 1.43 2008/08/15 22:16:19 mcharles Exp $
* @author Mat Charles <[log in to unmask]>
*/
@@ -117,6 +117,11 @@
add(new ListFilterDriver(dec, "HcalBarrDigiHits", "HcalBarrDigiHitsNearBoundary", CalorimeterHit.class));
add(new ListFilterDriver(dec, "EcalEndcapDigiHits", "EcalEndcapDigiHitsNearBoundary", CalorimeterHit.class));
add(new ListFilterDriver(dec, "HcalEndcapDigiHits", "HcalEndcapDigiHitsNearBoundary", CalorimeterHit.class));
+ add(new TransientFlagDriver("EcalBarrDigiHitsNearBoundary"));
+ add(new TransientFlagDriver("HcalBarrDigiHitsNearBoundary"));
+ add(new TransientFlagDriver("EcalEndcapDigiHitsNearBoundary"));
+ add(new TransientFlagDriver("HcalEndcapDigiHitsNearBoundary"));
+
// Set up driver to look for structure inside clusters:
FindSubClusters clusDriverECAL = new FindSubClusters("DTreeClustersECAL", m_newMipFinderRadiusECAL, m_minHitsToBeTreatedAsClusterECAL, m_removePoorQualityMips, "OldMipsInsideTreesECAL", "NewMipsInsideTreesECAL", "ClumpsInsideTreesECAL", "BlocksInsideTreesECAL", "LeftoverHitsInsideTreesECAL", "MapTreeToTargetsECAL", "MapSharedToTreeECAL");
FindSubClusters clusDriverHCAL = new FindSubClusters("DTreeClustersHCAL", m_newMipFinderRadiusHCAL, m_minHitsToBeTreatedAsClusterHCAL, m_removePoorQualityMips, "OldMipsInsideTreesHCAL", "NewMipsInsideTreesHCAL", "ClumpsInsideTreesHCAL", "BlocksInsideTreesHCAL", "LeftoverHitsInsideTreesHCAL", "MapTreeToTargetsHCAL", "MapSharedToTreeHCAL");
@@ -134,11 +139,33 @@
}
add(clusDriverECAL);
add(clusDriverHCAL);
+ // Avoid too much output:
+ add(new TransientFlagDriver("OldMipsInsideTreesECAL"));
+ add(new TransientFlagDriver("NewMipsInsideTreesECAL"));
+ add(new TransientFlagDriver("ClumpsInsideTreesECAL"));
+ add(new TransientFlagDriver("BlocksInsideTreesECAL"));
+ add(new TransientFlagDriver("LeftoverHitsInsideTreesECAL"));
+ add(new TransientFlagDriver("OldMipsInsideTreesHCAL"));
+ add(new TransientFlagDriver("NewMipsInsideTreesHCAL"));
+ add(new TransientFlagDriver("ClumpsInsideTreesHCAL"));
+ add(new TransientFlagDriver("BlocksInsideTreesHCAL"));
+ add(new TransientFlagDriver("LeftoverHitsInsideTreesHCAL"));
+ // Write out mucal, fcal if needed:
if (m_useMucal) {
add(clusDriverMCAL);
+ add(new TransientFlagDriver("OldMipsInsideTreesMCAL"));
+ add(new TransientFlagDriver("NewMipsInsideTreesMCAL"));
+ add(new TransientFlagDriver("ClumpsInsideTreesMCAL"));
+ add(new TransientFlagDriver("BlocksInsideTreesMCAL"));
+ add(new TransientFlagDriver("LeftoverHitsInsideTreesMCAL"));
}
if (m_useFcal) {
add(clusDriverFCAL);
+ add(new TransientFlagDriver("OldMipsInsideTreesFCAL"));
+ add(new TransientFlagDriver("NewMipsInsideTreesFCAL"));
+ add(new TransientFlagDriver("ClumpsInsideTreesFCAL"));
+ add(new TransientFlagDriver("BlocksInsideTreesFCAL"));
+ add(new TransientFlagDriver("LeftoverHitsInsideTreesFCAL"));
}
}
@@ -146,6 +173,9 @@
super.debugProcess(event);
m_event = event;
+ // Some likelihood selectors need per-event info
+ supplyEventToLikelihoodSelectors();
+
// Steve's pre-shower MIP-finder
{
SteveMipWrapper tmpWrapper = new SteveMipWrapper();
@@ -446,6 +476,8 @@
List<Cluster> preShowerMips = new Vector<Cluster>();
preShowerMips.addAll(MapTrkToMIP.values());
event.put("ShowerFinderMips", preShowerMips);
+ event.getMetaData(preShowerMips).setTransient(true);
+
// Figure out whether tracks were uniquely matched or not:
Set<Track> uniquelyMatchedTracks = new HashSet<Track>();
@@ -3357,11 +3389,14 @@
debugEventPrintout(trackList, clustersMatchedToTracks, tracksMatchedToClusters, mapOrigTrackToTweakedTrack, electronTracks, electronClusters, photonLikePhotons, chargedHadronLikePhotons, modifiedPhotonClusters, mips, clumps, treesWithNoStructure, newMapTrackToShowerComponents, newMapShowerComponentToTrack, seedLeftoverHitClusters, neutralClusterCoreOfCluster, allHits, allHitsEcalBarrel, allHitsEcalEndcap, allHitsHcalBarrel, allHitsHcalEndcap, allSharedClusters, smallClustersToShare, leftoverHitClustersToShare, newMapShowerComponentToJet);
}
- // Write out
+ // Write out. Mark these collections as "transient" since they
+ // need to be flushed anyway before they can be written safely.
m_event.put(m_outputParticleListName, outputParticleList);
- m_event.put(m_outputParticleListName+"_withEoverPveto", outputParticleListWithEoverPveto);
m_event.put(m_outputParticleListName+"_forConfusionMatrix", outputParticleListTweakedForConfusionMatrix);
+ m_event.getMetaData(outputParticleList).setTransient(true);
+ m_event.getMetaData(outputParticleListTweakedForConfusionMatrix).setTransient(true);
if (m_writeExtraEventOutput) {
+ m_event.put(m_outputParticleListName+"_withEoverPveto", outputParticleListWithEoverPveto);
m_event.put(m_outputParticleListName+"_jetsOnly", outputParticleListForConfusionMatrix_jetTracksWithClusters);
m_event.put(m_outputParticleListName+"_unusedHits", particleOfUnusedHits);
m_event.put(m_outputParticleListName+"_chargedPassingEoverPveto", outputChargedParticleListWithEoverPveto_pass);
@@ -3379,6 +3414,24 @@
m_event.put(m_outputParticleListName+"_seedHadronLikePhotonClusters", seedHadronLikePhotonClusters_particles);
m_event.put(m_outputParticleListName+"_nonSeedHadronLikePhotonClusters", nonSeedHadronLikePhotonClusters_particles);
m_event.put(m_outputParticleListName+"_nonSeedPhotonLikePhotonClusters", nonSeedPhotonLikePhotonClusters_particles);
+ m_event.getMetaData(outputParticleListWithEoverPveto).setTransient(true);
+ m_event.getMetaData(outputParticleListForConfusionMatrix_jetTracksWithClusters).setTransient(true);
+ m_event.getMetaData(particleOfUnusedHits).setTransient(true);
+ m_event.getMetaData(outputChargedParticleListWithEoverPveto_pass).setTransient(true);
+ m_event.getMetaData(outputChargedParticleListWithEoverPveto_fail).setTransient(true);
+ m_event.getMetaData(outputChargedParticleListWithClusterEnergy).setTransient(true);
+ m_event.getMetaData(outputChargedParticleListWithClusterEnergy_punchThrough).setTransient(true);
+ m_event.getMetaData(outputChargedParticleListWithClusterEnergy_noPunchThrough).setTransient(true);
+ m_event.getMetaData(outputChargedParticleListWithClusterEnergy_oldCalib).setTransient(true);
+ m_event.getMetaData(outputChargedParticleListWithClusterEnergy_punchThrough_oldCalib).setTransient(true);
+ m_event.getMetaData(outputChargedParticleListWithClusterEnergy_noPunchThrough_oldCalib).setTransient(true);
+ m_event.getMetaData(chargedParticlesThatDontReachCalorimeter).setTransient(true);
+ m_event.getMetaData(photonLikePhotons_particles).setTransient(true);
+ m_event.getMetaData(chargedHadronLikePhotons_particles).setTransient(true);
+ m_event.getMetaData(electronClusters_particles).setTransient(true);
+ m_event.getMetaData(seedHadronLikePhotonClusters_particles).setTransient(true);
+ m_event.getMetaData(nonSeedHadronLikePhotonClusters_particles).setTransient(true);
+ m_event.getMetaData(nonSeedPhotonLikePhotonClusters_particles).setTransient(true);
}
}
@@ -3927,6 +3980,9 @@
}
int flag = 1<<org.lcsim.util.lcio.LCIOConstants.CLBIT_HITS;
m_event.put("DebugMipsRejected", debugList, Cluster.class, flag);
+ if (!m_writeExtraEventOutput) {
+ m_event.getMetaData(debugList).setTransient(true);
+ }
}
void handleTrackMatchingAmbiguities(Map<Cluster, List<Track>> clustersMatchedToTracks,