1 added + 1 removed + 4 modified, total 6 files
slicPandora/examples
diff -N PandoraSettingsNew.xml
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ PandoraSettingsNew.xml 10 Mar 2010 20:16:14 -0000 1.1
@@ -0,0 +1,103 @@
+<!-- Pandora settings xml file -->
+
+<pandora>
+
+ <!-- Primary clustering algorithm runs Clustering algorithm -->
+ <algorithm type = "PrimaryClustering">
+ <algorithm type = "Clustering" description = "ClusterFormation" instance = "mainClustering">
+ <!-- Non seed track related -->
+ <HitSortingStrategy>0</HitSortingStrategy>
+ <ClusterFormationStrategy>0</ClusterFormationStrategy>
+ <SameLayerPadWidthsECal>2.8</SameLayerPadWidthsECal>
+ <SameLayerPadWidthsHCal>1.8</SameLayerPadWidthsHCal>
+ <LayersToStepBackECal>3</LayersToStepBackECal>
+ <LayersToStepBackHCal>3</LayersToStepBackHCal>
+ <TanConeAngleECal>0.3</TanConeAngleECal>
+ <TanConeAngleHCal>0.5</TanConeAngleHCal>
+ <AdditionalPadWidthsECal>2.5</AdditionalPadWidthsECal>
+ <AdditionalPadWidthsHCal>2.5</AdditionalPadWidthsHCal>
+
+ <!-- Seed track related -->
+ <ClusterSeedStrategy>3</ClusterSeedStrategy>
+ <ShouldUseTrackSeed>true</ShouldUseTrackSeed>
+ <TrackSeedCutOffLayer>0</TrackSeedCutOffLayer>
+ <MaxLayersToTrackSeed>3</MaxLayersToTrackSeed>
+ </algorithm>
+
+ <!-- Topological associations, to be run after clustering -->
+ <algorithm type = "TopologicalAssociation" description = "ClusterAssociation" instance = "mainTopologicalAssoc">
+ <associationAlgorithms>
+ <algorithm type = "LoopingTracks"></algorithm>
+ <algorithm type = "BrokenTracks"></algorithm>
+ <algorithm type = "ShowerMipMerging"></algorithm>
+ <algorithm type = "ShowerMipMerging2"></algorithm>
+ <algorithm type = "BackscatteredTracks"></algorithm>
+ <algorithm type = "BackscatteredTracks2"></algorithm>
+ <algorithm type = "ShowerMipMerging3"></algorithm>
+ <algorithm type = "ShowerMipMerging4"></algorithm>
+ <algorithm type = "ProximityBasedMerging">
+ <algorithm type = "TrackClusterAssociation"></algorithm>
+ </algorithm>
+ <algorithm type = "ConeBasedMerging">
+ <algorithm type = "TrackClusterAssociation"></algorithm>
+ </algorithm>
+ <algorithm type = "SoftClusterMerging">
+ <algorithm type = "TrackClusterAssociation"></algorithm>
+ <ShouldUsePhotonClusters> false </ShouldUsePhotonClusters>
+ <PhotonClusterListName> photonClusters </PhotonClusterListName>
+ </algorithm>
+ <algorithm type = "IsolatedHitMerging">
+ <ShouldUsePhotonClusters> false </ShouldUsePhotonClusters>
+ <PhotonClusterListName> photonClusters </PhotonClusterListName>
+ </algorithm>
+ </associationAlgorithms>
+ </algorithm>
+ <clusterListName> PrimaryClusterList </clusterListName>
+ </algorithm>
+
+ <!-- Reclustering algorithm runs multiple Clustering algorithms -->
+ <algorithm type = "Reclustering">
+ <reclusteringAlgorithms>
+
+ <algorithm type = "SplitTrackAssociations" instance = "mySplitInstance">
+ <clusteringAlgorithms>
+ <algorithm type = "Clustering" instance = "mainClustering"/>
+ <algorithm type = "Clustering"/>
+ </clusteringAlgorithms>
+ <algorithm type = "TopologicalAssociation" description = "ClusterAssociation" instance = "mainTopologicalAssoc"></algorithm>
+ <algorithm type = "TrackClusterAssociation" description = "TrackClusterAssociation"></algorithm>
+ </algorithm>
+
+ <algorithm type = "ResolveTrackAssociations">
+ <clusteringAlgorithms>
+ <algorithm type = "Clustering" instance = "mainClustering"/>
+ <algorithm type = "Clustering"/>
+ </clusteringAlgorithms>
+ <NTrackAssociationsToResolve>2</NTrackAssociationsToResolve>
+ <algorithm type = "TopologicalAssociation" description = "ClusterAssociation" instance = "mainTopologicalAssoc"></algorithm>
+ <algorithm type = "TrackClusterAssociation" description = "TrackClusterAssociation"></algorithm>
+ <algorithm type = "SplitTrackAssociations" description = "SplitTrackClusterAssociation" instance = "mySplitInstance"></algorithm>
+ </algorithm>
+
+ </reclusteringAlgorithms>
+ </algorithm>
+
+ <!-- Create the final particle flow objects -->
+ <algorithm type = "PfoConstruction">
+ <algorithm type = "ClusterPreparation" description = "ClusterPreparation"></algorithm>
+ <algorithm type = "TrackPreparation" description = "TrackPreparation"></algorithm>
+ <algorithm type = "PfoCreation" description = "PfoCreation">
+ <ShouldUsePhotonClusters> false </ShouldUsePhotonClusters>
+ <PhotonClusterListName> photonClusters </PhotonClusterListName>
+ </algorithm>
+ </algorithm>
+
+ <IsMonitoringEnabled> true </IsMonitoringEnabled>
+ <MipNCellsForNearbyHit> 2 </MipNCellsForNearbyHit>
+ <IsolationDensityWeightCutECal> 0.1 </IsolationDensityWeightCutECal>
+ <IsolationDensityWeightCutHCal> 0.1 </IsolationDensityWeightCutHCal>
+ <ShouldUseSimpleIsolationScheme> false </ShouldUseSimpleIsolationScheme>
+ <IsolationCutDistanceECal> 25. </IsolationCutDistanceECal>
+ <IsolationCutDistanceHCal> 200. </IsolationCutDistanceHCal>
+ <IsolationMaxNearbyHits> 2 </IsolationMaxNearbyHits>
+</pandora>
slicPandora/src
diff -u -r1.1 -r1.2
--- PfoConstructionAlgorithm.cpp 8 Jan 2010 22:55:34 -0000 1.1
+++ PfoConstructionAlgorithm.cpp 10 Mar 2010 20:16:14 -0000 1.2
@@ -4,6 +4,9 @@
* @brief Implementation of the pfo construction algorithm class.
*
* $Log: PfoConstructionAlgorithm.cpp,v $
+ * Revision 1.2 2010/03/10 20:16:14 jeremy
+ * updates to compile against PandoraPFANew svn trunk; update example setup script; a few small changes to JobManagerTest
+ *
* Revision 1.1 2010/01/08 22:55:34 ngraf
* First working release.
*
@@ -24,14 +27,16 @@
Cluster *pCluster = *iter;
PandoraContentApi::ParticleFlowObjectParameters particleFlowObjectParameters;
+
+ // FIXME: Dummy parameters.
+ particleFlowObjectParameters.m_particleId = 1;
+ particleFlowObjectParameters.m_charge = -1;
+ particleFlowObjectParameters.m_mass = 1.;
+ particleFlowObjectParameters.m_energy = 1.;
+ particleFlowObjectParameters.m_momentum = CartesianVector(1, 2, 3);
- particleFlowObjectParameters.m_particleId = 1; // DUMMY PARAMETERS
- particleFlowObjectParameters.m_chargeSign = -1; // DUMMY PARAMETERS
- particleFlowObjectParameters.m_mass = 1.; // DUMMY PARAMETERS
- particleFlowObjectParameters.m_energy = 1.; // DUMMY PARAMETERS
- particleFlowObjectParameters.m_momentum = CartesianVector(1, 2, 3); // DUMMY PARAMETERS
-
- particleFlowObjectParameters.m_clusterList.insert(pCluster); // Make new pfo for every cluster
+ // Make a new pfo for every cluster.
+ particleFlowObjectParameters.m_clusterList.insert(pCluster);
PANDORA_RETURN_RESULT_IF(STATUS_CODE_SUCCESS, !=, PandoraContentApi::ParticleFlowObject::Create(*this, particleFlowObjectParameters));
}
slicPandora/src
diff -u -r1.3 -r1.4
--- PfoProcessor.cpp 9 Mar 2010 20:13:42 -0000 1.3
+++ PfoProcessor.cpp 10 Mar 2010 20:16:14 -0000 1.4
@@ -1,4 +1,4 @@
-// $Id: PfoProcessor.cpp,v 1.3 2010/03/09 20:13:42 jeremy Exp $
+// $Id: PfoProcessor.cpp,v 1.4 2010/03/10 20:16:14 jeremy Exp $
#include "PfoProcessor.h"
// lcio
@@ -102,7 +102,7 @@
pReconstructedParticle->setMomentum(momentum);
pReconstructedParticle->setEnergy((*itPFO)->GetEnergy());
pReconstructedParticle->setMass((*itPFO)->GetMass());
- pReconstructedParticle->setCharge((*itPFO)->GetChargeSign());
+ //pReconstructedParticle->setCharge((*itPFO)->GetChargeSign());
pReconstructedParticle->setType((*itPFO)->GetParticleId());
pReconstructedParticleCollection->addElement(pReconstructedParticle);
slicPandora/src
diff -u -r1.1 -r1.2
--- SlicPandoraPFANewProcessor.cpp 8 Jan 2010 22:55:34 -0000 1.1
+++ SlicPandoraPFANewProcessor.cpp 10 Mar 2010 20:16:14 -0000 1.2
@@ -235,7 +235,7 @@
pReconstructedParticle->setMomentum(momentum);
pReconstructedParticle->setEnergy((*itPFO)->GetEnergy());
pReconstructedParticle->setMass((*itPFO)->GetMass());
- pReconstructedParticle->setCharge((*itPFO)->GetChargeSign());
+ pReconstructedParticle->setCharge((*itPFO)->GetCharge());
pReconstructedParticle->setType((*itPFO)->GetParticleId());
pReconstructedParticleCollection->addElement(pReconstructedParticle);
slicPandora/tests
diff -u -r1.4 -r1.5
--- JobManagerTest.cpp 8 Mar 2010 23:00:54 -0000 1.4
+++ JobManagerTest.cpp 10 Mar 2010 20:16:14 -0000 1.5
@@ -1,4 +1,4 @@
-// $Id: JobManagerTest.cpp,v 1.4 2010/03/08 23:00:54 jeremy Exp $
+// $Id: JobManagerTest.cpp,v 1.5 2010/03/10 20:16:14 jeremy Exp $
// slicPandora
#include "JobConfig.h"
@@ -8,6 +8,8 @@
#include "PandoraProcessor.h"
#include "SimCalorimeterHitProcessor.h"
#include "CalorimeterHitProcessor.h"
+#include "ResetPandoraProcessor.h"
+#include "EventMarkerProcessor.h"
/**
* This main function runs a complete Pandora job on example input using the JobManager.
@@ -25,14 +27,14 @@
{
// Create an example job configuration.
JobConfig* config = new JobConfig();
- config->setPandoraSettingsXmlFile("./tests/PandoraSettings.xml");
+ config->setPandoraSettingsXmlFile("./examples/PandoraSettingsNew.xml");
config->setGeometryFile("./examples/sidloi2_pandora.xml");
- //config->useDefaultCalorimeterTypes();
- config->addCalorimeterType("EM_BARREL"); // DEBUG: Just use EM_BARREL collection.
+ config->useDefaultCalorimeterTypes();
+ //config->addCalorimeterType("EM_BARREL"); // DEBUG: Just use EM_BARREL collection.
config->addInputFile("./input.slcio");
config->setOutputFile("pandoraRecon.slcio");
config->setNumberOfEvents(1);
- config->setSkipEvents(0);
+ config->setSkipEvents(0);
// Make a new job manager.
JobManager* mgr = new JobManager();
@@ -40,6 +42,9 @@
// Set the JobManager's configuration.
mgr->setJobConfig(config);
+ // Add a processor to mark beginning of event processing.
+ mgr->addEventProcessor(new EventMarkerProcessor());
+
// Add a processor to convert LCIO SimCalorimeterHits to LCIO CalorimeterHits.
mgr->addEventProcessor(new SimCalorimeterHitProcessor());
@@ -52,6 +57,9 @@
// Add a processor to create LCIO PFO objects, including clusters and ReconParticles.
mgr->addEventProcessor(new PfoProcessor());
+ // Add a processor to reset Pandora after the event.
+ mgr->addEventProcessor(new ResetPandoraProcessor());
+
// Run the job.
mgr->run();
}
slicPandora/tests
diff -N PandoraSettings.xml
--- PandoraSettings.xml 8 Jan 2010 22:55:34 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,55 +0,0 @@
-<!-- Pandora settings xml file -->
-
-<pandora>
-
- <!-- Select the tracks to use for clustering -->
- <algorithm type = "TrackSelection">
- </algorithm>
-
- <!-- Photon clustering algorithm runs Clustering algorithm and saves a photon cluster list under a specified name-->
- <algorithm type = "PhotonClustering">
- <algorithm type = "Clustering" description = "ClusterFormation">
- </algorithm>
- <algorithm type = "TopologicalAssociation" description = "ClusterAssociation">
- </algorithm>
- <photonClusterListName> PhotonClusterList </photonClusterListName>
- </algorithm>
-
- <!-- Primary clustering algorithm runs Clustering algorithm -->
- <algorithm type = "PrimaryClustering">
- <algorithm type = "Clustering" description = "ClusterFormation">
- </algorithm>
- <algorithm type = "TopologicalAssociation" description = "ClusterAssociation">
- </algorithm>
- <clusterListName> PrimaryClusterList </clusterListName>
- </algorithm>
-
- <!-- Reclustering algorithm runs multiple Clustering algorithms -->
- <algorithm type = "Reclustering">
- <clusteringAlgorithms>
- <algorithm type = "Clustering">
- </algorithm>
-
- <algorithm type = "Clustering">
- </algorithm>
-
- <algorithm type = "Clustering">
- </algorithm>
-
- <algorithm type = "Clustering">
- </algorithm>
- </clusteringAlgorithms>
-
- <algorithm type = "TopologicalAssociation" description = "ClusterAssociation">
- </algorithm>
- </algorithm>
-
- <!-- Perform fragment removal -->
- <algorithm type = "FragmentRemoval">
- </algorithm>
-
- <!-- Create the final particle flow objects -->
- <algorithm type = "PFO_Construction">
- </algorithm>
-
-</pandora>
\ No newline at end of file
CVSspam 0.2.8