Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #23546 from Dr15Jones/removeSetFromPFDisplacedVert…
…exSeed Changed set to vector in PFDisplacedVertexSeed
- Loading branch information
Showing
9 changed files
with
219 additions
and
40 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
<environment> | ||
<bin file="test_catch2_*.cc" name="TestDataFormatsParticleFlowRecoCatch"> | ||
<use name="DataFormats/ParticleFlowReco"/> | ||
<use name="catch2"/> | ||
</bin> | ||
</environment> |
104 changes: 104 additions & 0 deletions
104
DataFormats/ParticleFlowReco/test/test_catch2_PFDisplacedVertexSeed.cc
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,104 @@ | ||
#include "DataFormats/TrackReco/interface/Track.h" | ||
#include "DataFormats/ParticleFlowReco/interface/PFDisplacedVertexSeed.h" | ||
|
||
#include "catch.hpp" | ||
|
||
static constexpr auto s_tag = "[PFDisplacedVertexSeed]"; | ||
TEST_CASE("Check adding elements", s_tag) { | ||
reco::PFDisplacedVertexSeed seed; | ||
|
||
REQUIRE(seed.elements().empty()); | ||
|
||
SECTION("updateSeedPoint") { | ||
|
||
//empty tracks are fine | ||
std::vector<reco::Track> tracks(5); | ||
|
||
seed.updateSeedPoint(GlobalPoint(0.01,0.01,0.01), | ||
reco::TrackBaseRef(reco::TrackRef(&tracks,0)), | ||
reco::TrackBaseRef(reco::TrackRef(&tracks,1)) ); | ||
REQUIRE(seed.elements().size() == 2); | ||
REQUIRE(seed.nTracks() == 2); | ||
|
||
seed.updateSeedPoint(GlobalPoint(0.01,0.01,0.01), | ||
reco::TrackBaseRef(reco::TrackRef(&tracks,0)), | ||
reco::TrackBaseRef(reco::TrackRef(&tracks,1)) ); | ||
REQUIRE(seed.elements().size() == 2); | ||
REQUIRE(seed.nTracks() == 2); | ||
|
||
seed.updateSeedPoint(GlobalPoint(0.01,0.01,0.01), | ||
reco::TrackBaseRef(reco::TrackRef(&tracks,0)), | ||
reco::TrackBaseRef(reco::TrackRef(&tracks,2)) ); | ||
REQUIRE(seed.elements().size() == 3); | ||
REQUIRE(seed.nTracks() == 3); | ||
|
||
seed.updateSeedPoint(GlobalPoint(0.01,0.01,0.01), | ||
reco::TrackBaseRef(reco::TrackRef(&tracks,3)), | ||
reco::TrackBaseRef(reco::TrackRef(&tracks,4)) ); | ||
REQUIRE(seed.elements().size() == 5); | ||
REQUIRE(seed.nTracks() == 5); | ||
|
||
} | ||
|
||
SECTION("addElement") { | ||
//empty tracks are fine | ||
std::vector<reco::Track> tracks(3); | ||
|
||
seed.updateSeedPoint(GlobalPoint(0.01,0.01,0.01), | ||
reco::TrackBaseRef(reco::TrackRef(&tracks,0)), | ||
reco::TrackBaseRef(reco::TrackRef(&tracks,1)) ); | ||
REQUIRE(seed.elements().size() == 2); | ||
REQUIRE(seed.nTracks() == 2); | ||
|
||
seed.addElement(reco::TrackBaseRef(reco::TrackRef(&tracks,0))); | ||
REQUIRE(seed.elements().size() == 2); | ||
REQUIRE(seed.nTracks() == 2); | ||
|
||
seed.addElement(reco::TrackBaseRef(reco::TrackRef(&tracks,2))); | ||
REQUIRE(seed.elements().size() == 3); | ||
REQUIRE(seed.nTracks() == 3); | ||
|
||
} | ||
SECTION("mergeWith") { | ||
std::vector<reco::Track> tracks(5); | ||
|
||
seed.updateSeedPoint(GlobalPoint(0.01,0.01,0.01), | ||
reco::TrackBaseRef(reco::TrackRef(&tracks,0)), | ||
reco::TrackBaseRef(reco::TrackRef(&tracks,1)) ); | ||
|
||
|
||
SECTION("completely overlapping seeds") { | ||
reco::PFDisplacedVertexSeed otherSeed; | ||
otherSeed.updateSeedPoint(GlobalPoint(0.01,0.01,0.01), | ||
reco::TrackBaseRef(reco::TrackRef(&tracks,0)), | ||
reco::TrackBaseRef(reco::TrackRef(&tracks,1)) ); | ||
|
||
seed.mergeWith(otherSeed); | ||
REQUIRE(seed.elements().size() == 2); | ||
} | ||
|
||
SECTION("partially overlapping seeds") { | ||
reco::PFDisplacedVertexSeed otherSeed; | ||
otherSeed.updateSeedPoint(GlobalPoint(0.01,0.01,0.01), | ||
reco::TrackBaseRef(reco::TrackRef(&tracks,0)), | ||
reco::TrackBaseRef(reco::TrackRef(&tracks,2)) ); | ||
|
||
seed.mergeWith(otherSeed); | ||
REQUIRE(seed.elements().size() == 3); | ||
} | ||
|
||
SECTION("non overlapping seeds") { | ||
REQUIRE(seed.elements().size()==2); | ||
reco::PFDisplacedVertexSeed otherSeed; | ||
otherSeed.updateSeedPoint(GlobalPoint(0.01,0.01,0.01), | ||
reco::TrackBaseRef(reco::TrackRef(&tracks,3)), | ||
reco::TrackBaseRef(reco::TrackRef(&tracks,2)) ); | ||
REQUIRE(otherSeed.elements().size() == 2); | ||
|
||
seed.mergeWith(otherSeed); | ||
REQUIRE(seed.elements().size() == 4); | ||
} | ||
|
||
} | ||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
#define CATCH_CONFIG_MAIN | ||
#include "catch.hpp" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
67 changes: 67 additions & 0 deletions
67
RecoParticleFlow/PFTracking/test/test_catch2_PFDisplacedVertexProducer.cc
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
#include "catch.hpp" | ||
#include "FWCore/TestProcessor/interface/TestProcessor.h" | ||
#include "FWCore/Utilities/interface/Exception.h" | ||
#include "DataFormats/ParticleFlowReco/interface/PFDisplacedVertexFwd.h" | ||
|
||
|
||
static constexpr auto s_tag = "[PFDisplacedVertexProducer]"; | ||
|
||
TEST_CASE("Standard checks of PFDisplacedVertexProducer", s_tag) { | ||
const std::string baseConfig{ | ||
R"_(from FWCore.TestProcessor.TestProcess import * | ||
process = TestProcess() | ||
from RecoParticleFlow.PFTracking.particleFlowDisplacedVertex_cfi import particleFlowDisplacedVertex | ||
process.toTest = particleFlowDisplacedVertex | ||
process.moduleToTest(process.toTest) | ||
)_" | ||
}; | ||
|
||
const std::string fullConfig{ | ||
R"_(from FWCore.TestProcessor.TestProcess import * | ||
process = TestProcess() | ||
process.load("MagneticField.Engine.uniformMagneticField_cfi") | ||
process.load("Configuration.Geometry.GeometryExtended2018Reco_cff") | ||
process.add_(cms.ESProducer("TrackerParametersESModule")) | ||
process.load("Alignment.CommonAlignmentProducer.FakeAlignmentSource_cfi") | ||
from RecoParticleFlow.PFTracking.particleFlowDisplacedVertex_cfi import particleFlowDisplacedVertex | ||
process.toTest = particleFlowDisplacedVertex | ||
process.moduleToTest(process.toTest) | ||
)_" | ||
}; | ||
|
||
edm::test::TestProcessor::Config config{ baseConfig }; | ||
SECTION("base configuration is OK") { | ||
REQUIRE_NOTHROW(edm::test::TestProcessor(config)); | ||
} | ||
|
||
SECTION("No event data") { | ||
edm::test::TestProcessor::Config config{ fullConfig }; | ||
edm::test::TestProcessor tester(config); | ||
|
||
//The module ignores missing data products | ||
REQUIRE(tester.test().get<reco::PFDisplacedVertexCollection>()->empty()); | ||
} | ||
|
||
SECTION("beginJob and endJob only") { | ||
edm::test::TestProcessor tester(config); | ||
|
||
REQUIRE_NOTHROW(tester.testBeginAndEndJobOnly()); | ||
} | ||
|
||
SECTION("Run with no LuminosityBlocks") { | ||
edm::test::TestProcessor tester(config); | ||
|
||
REQUIRE_NOTHROW(tester.testRunWithNoLuminosityBlocks()); | ||
} | ||
|
||
SECTION("LuminosityBlock with no Events") { | ||
edm::test::TestProcessor tester(config); | ||
|
||
REQUIRE_NOTHROW(tester.testLuminosityBlockWithNoEvents()); | ||
} | ||
|
||
} | ||
|
||
//Add additional TEST_CASEs to exercise the modules capabilities |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
#define CATCH_CONFIG_MAIN | ||
#include "catch.hpp" |