Print

Print


Commit in slicPandora on MAIN
examples/PandoraSettingsNew.xml+103added 1.1
src/PfoConstructionAlgorithm.cpp+12-71.1 -> 1.2
   /PfoProcessor.cpp+2-21.3 -> 1.4
   /SlicPandoraPFANewProcessor.cpp+1-11.1 -> 1.2
tests/JobManagerTest.cpp+13-51.4 -> 1.5
     /PandoraSettings.xml-551.1 removed
+131-70
1 added + 1 removed + 4 modified, total 6 files
updates to compile against PandoraPFANew svn trunk; update example setup script; a few small changes to JobManagerTest

slicPandora/examples
PandoraSettingsNew.xml added at 1.1
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
PfoConstructionAlgorithm.cpp 1.1 -> 1.2
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
PfoProcessor.cpp 1.3 -> 1.4
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
SlicPandoraPFANewProcessor.cpp 1.1 -> 1.2
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
JobManagerTest.cpp 1.4 -> 1.5
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
PandoraSettings.xml removed after 1.1
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