From 402361c52513c6575e8ef148073353063896fafc Mon Sep 17 00:00:00 2001 From: samf25 Date: Thu, 14 Nov 2024 14:11:13 -0500 Subject: [PATCH 1/5] Added DD4hep B Field getter --- TrackPerf/EfficiencyHists.hxx | 12 ++++++---- TrackPerf/ResoHists.hxx | 13 ++++++---- TrackPerf/TrackHists.hxx | 12 ++++++---- TrackPerf/TrackPerfHistProc.hxx | 12 ++++++++++ src/EfficiencyHists.cxx | 11 +++++++-- src/ResoHists.cxx | 11 +++++++-- src/TrackHists.cxx | 11 +++++++-- src/TrackPerfHistProc.cxx | 42 ++++++++++++++++++++++++++++----- 8 files changed, 100 insertions(+), 24 deletions(-) diff --git a/TrackPerf/EfficiencyHists.hxx b/TrackPerf/EfficiencyHists.hxx index 990f5d3..24d18f8 100644 --- a/TrackPerf/EfficiencyHists.hxx +++ b/TrackPerf/EfficiencyHists.hxx @@ -5,6 +5,11 @@ #include #include +// ACTS +#include +#include +#include + namespace EVENT { class Track; class MCParticle; @@ -22,12 +27,11 @@ class EfficiencyHists { // Fill histograms with a single track void fillMC(const EVENT::MCParticle* track, bool passed); - void fillTrack(const EVENT::Track* track, bool passed); + void fillTrack(const EVENT::Track* track, bool passed, + std::shared_ptr magField, + Acts::MagneticFieldProvider::Cache& magCache); private: - //! magnetic field to use for curvature -> pT conversion - float _Bz = 3.57; - //! Efficiency plots TEfficiency* h_effpt; TEfficiency* h_efftheta; diff --git a/TrackPerf/ResoHists.hxx b/TrackPerf/ResoHists.hxx index 8db26a1..47aa072 100644 --- a/TrackPerf/ResoHists.hxx +++ b/TrackPerf/ResoHists.hxx @@ -4,6 +4,11 @@ #include #include +// ACTS +#include +#include +#include + namespace EVENT { class Track; class MCParticle; @@ -20,12 +25,12 @@ class ResoHists { ResoHists(); // Fill histograms with a single track - void fill(const EVENT::Track* track, const EVENT::MCParticle* particle); + void fill(const EVENT::Track* track, + const EVENT::MCParticle* particle, + std::shared_ptr magField, + Acts::MagneticFieldProvider::Cache& magCache); private: - //! magnetic field to use for curvature -> pT conversion - float _Bz = 3.57; - //! Reconstructed track pT TH2* h_track_truth_pt; TH1* h_reso_pt_rel; diff --git a/TrackPerf/TrackHists.hxx b/TrackPerf/TrackHists.hxx index 5a74dd4..0c7ceca 100644 --- a/TrackPerf/TrackHists.hxx +++ b/TrackPerf/TrackHists.hxx @@ -3,6 +3,11 @@ #include #include +// ACTS +#include +#include +#include + namespace EVENT { class Track; } @@ -18,12 +23,11 @@ class TrackHists { TrackHists(); // Fill histograms with a single track - void fill(const EVENT::Track* track); + void fill(const EVENT::Track* track, + std::shared_ptr magField, + Acts::MagneticFieldProvider::Cache& magCache); private: - //! magnetic field to use for curvature -> pT conversion - float _Bz = 3.57; - //! Reconstructed track pT TH1* h_pt; TH1* h_lambda; diff --git a/TrackPerf/TrackPerfHistProc.hxx b/TrackPerf/TrackPerfHistProc.hxx index 3f85ce1..57c0541 100644 --- a/TrackPerf/TrackPerfHistProc.hxx +++ b/TrackPerf/TrackPerfHistProc.hxx @@ -4,6 +4,9 @@ #include +// ACTS +#include + namespace TrackPerf { class TrackHists; class TruthHists; @@ -39,6 +42,11 @@ class TrackPerfHistProc : public marlin::Processor { */ virtual void end(); + /** + * @brief Builds the Magnetic field from dd4hep Detector information + */ + void buildBfield(); + private: //! Track Collection std::string _trkColName{}; @@ -49,6 +57,10 @@ class TrackPerfHistProc : public marlin::Processor { //! Track to MC truth match collection std::string _trkMatchColName{}; + //! Magnetic field to use for curvature -> pT conversion + std::shared_ptr _magneticField; + Acts::MagneticFieldContext _magFieldContext; + //! Determination of good vs bad match float _matchProb = 0.5; diff --git a/src/EfficiencyHists.cxx b/src/EfficiencyHists.cxx index 6af1f9c..17f2f7f 100644 --- a/src/EfficiencyHists.cxx +++ b/src/EfficiencyHists.cxx @@ -17,8 +17,15 @@ EfficiencyHists::EfficiencyHists(bool effi) { } } -void EfficiencyHists::fillTrack(const EVENT::Track* track, bool passed) { - float pt = fabs(0.3 * _Bz / track->getOmega() / 1000); +void EfficiencyHists::fillTrack(const EVENT::Track* track, bool passed, + std::shared_ptr magField, + Acts::MagneticFieldProvider::Cache& magCache) { + //TODO: This assumes uniform magnetic field + const Acts::Vector3 zeroPos(0, 0, 0); + Acts::Vector3 field = (*magField->getField(zeroPos, magCache)); + float Bz = field[2] / Acts::UnitConstants::T; + + float pt = fabs(0.3 * Bz / track->getOmega() / 1000); float theta = TMath::Pi() - std::atan(track->getTanLambda()); h_effpt->Fill(passed, pt); diff --git a/src/ResoHists.cxx b/src/ResoHists.cxx index b9bfad8..bed9360 100644 --- a/src/ResoHists.cxx +++ b/src/ResoHists.cxx @@ -23,8 +23,15 @@ ResoHists::ResoHists() { } void ResoHists::fill(const EVENT::Track* track, - const EVENT::MCParticle* particle) { - float track_pt = fabs(0.3 * _Bz / track->getOmega() / 1000); + const EVENT::MCParticle* particle, + std::shared_ptr magField, + Acts::MagneticFieldProvider::Cache& magCache) { + //TODO: This assumes uniform magnetic field + const Acts::Vector3 zeroPos(0, 0, 0); + Acts::Vector3 field = (*magField->getField(zeroPos, magCache)); + float Bz = field[2] / Acts::UnitConstants::T; + + float track_pt = fabs(0.3 * Bz / track->getOmega() / 1000); float track_lambda = std::atan(track->getTanLambda()); const double* mom = particle->getMomentum(); diff --git a/src/TrackHists.cxx b/src/TrackHists.cxx index 4332fae..fae2d7e 100644 --- a/src/TrackHists.cxx +++ b/src/TrackHists.cxx @@ -32,8 +32,15 @@ TrackHists::TrackHists() { 20, -0.5, 19.5); } -void TrackHists::fill(const EVENT::Track* track) { - float pt = fabs(0.3 * _Bz / track->getOmega() / 1000); +void TrackHists::fill(const EVENT::Track* track, + std::shared_ptr magField, + Acts::MagneticFieldProvider::Cache& magCache) { + //TODO: This assumes uniform magnetic field + const Acts::Vector3 zeroPos(0, 0, 0); + Acts::Vector3 field = (*magField->getField(zeroPos, magCache)); + float Bz = field[2] / Acts::UnitConstants::T; + + float pt = fabs(0.3 * Bz / track->getOmega() / 1000); h_pt->Fill(pt); float lambda = std::atan(track->getTanLambda()); diff --git a/src/TrackPerfHistProc.cxx b/src/TrackPerfHistProc.cxx index cbcd6c5..a2a5e75 100644 --- a/src/TrackPerfHistProc.cxx +++ b/src/TrackPerfHistProc.cxx @@ -44,6 +44,31 @@ TrackPerfHistProc::TrackPerfHistProc() : Processor("TrackPerfHistProc") { _trkMatchColName, _trkMatchColName); } +void TrackPerfHistAlg::buildBfield() { + // Get the magnetic field + dd4hep::Detector& lcdd = dd4hep::Detector::getInstance(); + const double position[3] = { + 0, 0, + 0}; // position to calculate magnetic field at (the origin in this case) + double magneticFieldVector[3] = { + 0, 0, 0}; // initialise object to hold magnetic field + lcdd.field().magneticField( + position, + magneticFieldVector); // get the magnetic field vector from DD4hep + + // Build ACTS representation of field + // Note: + // magneticFieldVector[2] = 3.57e-13 + // dd4hep::tesla = 1e-13 + // Acts::UnitConstants::T = 0.000299792 + _magneticField = std::make_shared(Acts::Vector3( + magneticFieldVector[0] / dd4hep::tesla * Acts::UnitConstants::T, + magneticFieldVector[1] / dd4hep::tesla * Acts::UnitConstants::T, + magneticFieldVector[2] / dd4hep::tesla * Acts::UnitConstants::T)); + _magFieldContext = Acts::MagneticFieldContext(); +} + + void TrackPerfHistProc::init() { // Print the initial parameters printParameters(); @@ -76,11 +101,16 @@ void TrackPerfHistProc::init() { tree->cd("../efficiency"); _effiPlots = std::make_shared(true); _fakePlots = std::make_shared(false); + + TrackPerfHistProc::buildBfield(); } void TrackPerfHistProc::processRunHeader(LCRunHeader* /*run*/) {} void TrackPerfHistProc::processEvent(LCEvent* evt) { + // Mag Cache + Acts::MagneticFieldProvider::Cache magCache = _magneticField->makeCache(m_magFieldContext); + // // Get object required collections and create lists // to keep track of unsaved objects. @@ -135,7 +165,7 @@ void TrackPerfHistProc::processEvent(LCEvent* evt) { static_cast(trkCol->getElementAt(i)); trkSet.insert(trk); - _allTracks->fill(trk); + _allTracks->fill(trk, _magneticField, magCache); } h_number_of_tracks->Fill(trkSet.size()); @@ -160,11 +190,11 @@ void TrackPerfHistProc::processEvent(LCEvent* evt) { if (rel->getWeight() > _matchProb) { if (trkSet.find(trk) != trkSet.end()) { - _realTracks->fill(trk); + _realTracks->fill(trk, _magneticField, magCache); _realTruths->fill(mcp); _effiPlots->fillMC(mcp, true); - _realReso->fill(trk, mcp); - _fakePlots->fillTrack(trk, false); + _realReso->fill(trk, mcp, _magneticField, magCache); + _fakePlots->fillTrack(trk, false, _magneticField, magCache); mcpSet.erase(mcp); trkSet.erase(trk); @@ -179,8 +209,8 @@ void TrackPerfHistProc::processEvent(LCEvent* evt) { _effiPlots->fillMC(mcp, false); } for (const EVENT::Track* trk : trkSet) { - _fakeTracks->fill(trk); - _fakePlots->fillTrack(trk, true); + _fakeTracks->fill(trk, _magneticField, magCache); + _fakePlots->fillTrack(trk, true, _magneticField, magCache); } h_number_of_fakes->Fill(trkSet.size()); } From 0dadb45d03d4962d80d8df2e74e730fbc0c2ba74 Mon Sep 17 00:00:00 2001 From: samf25 Date: Thu, 14 Nov 2024 14:14:37 -0500 Subject: [PATCH 2/5] Fixed CMake --- CMakeLists.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index a18d382..1f0d771 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -27,6 +27,8 @@ FIND_PACKAGE( ROOT REQUIRED) ## COMPONENTS Hist) FIND_PACKAGE( RAIDA REQUIRED ) +FIND_PACKAGE( Acts REQUIRED COMPONENTS Core ) + IF(WITH_PARQUET) FIND_PACKAGE( Arrow REQUIRED ) @@ -70,6 +72,7 @@ TARGET_LINK_LIBRARIES(TrackPerf ROOT::Hist ${ROOT_LIBRARIES} DD4hep::DDCore + ActsCore ) TARGET_COMPILE_DEFINITIONS(TrackPerf PRIVATE From 2857b5ae8452fe6ea5f13328027e1d8d45c0ce43 Mon Sep 17 00:00:00 2001 From: samf25 Date: Thu, 14 Nov 2024 14:17:11 -0500 Subject: [PATCH 3/5] includes for dd4hep and acts --- src/TrackPerfHistProc.cxx | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/TrackPerfHistProc.cxx b/src/TrackPerfHistProc.cxx index a2a5e75..bd2efb9 100644 --- a/src/TrackPerfHistProc.cxx +++ b/src/TrackPerfHistProc.cxx @@ -6,6 +6,14 @@ #include #include +// DD4hep +#include +#include + +// ACTS +#include +#include + #include #include #include @@ -44,7 +52,7 @@ TrackPerfHistProc::TrackPerfHistProc() : Processor("TrackPerfHistProc") { _trkMatchColName, _trkMatchColName); } -void TrackPerfHistAlg::buildBfield() { +void TrackPerfHistProc::buildBfield() { // Get the magnetic field dd4hep::Detector& lcdd = dd4hep::Detector::getInstance(); const double position[3] = { From c1bb4c210c7926886400c4de497842dd0eb2679b Mon Sep 17 00:00:00 2001 From: samf25 Date: Thu, 14 Nov 2024 14:18:22 -0500 Subject: [PATCH 4/5] fixed type --- src/TrackPerfHistProc.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/TrackPerfHistProc.cxx b/src/TrackPerfHistProc.cxx index bd2efb9..92fe1c8 100644 --- a/src/TrackPerfHistProc.cxx +++ b/src/TrackPerfHistProc.cxx @@ -117,7 +117,7 @@ void TrackPerfHistProc::processRunHeader(LCRunHeader* /*run*/) {} void TrackPerfHistProc::processEvent(LCEvent* evt) { // Mag Cache - Acts::MagneticFieldProvider::Cache magCache = _magneticField->makeCache(m_magFieldContext); + Acts::MagneticFieldProvider::Cache magCache = _magneticField->makeCache(_magFieldContext); // // Get object required collections and create lists From d6441647a6376f4651bae096bffb8ae6fa7143af Mon Sep 17 00:00:00 2001 From: samf25 Date: Thu, 14 Nov 2024 15:46:52 -0500 Subject: [PATCH 5/5] Remove ACTS dependancy --- CMakeLists.txt | 3 --- TrackPerf/EfficiencyHists.hxx | 10 +++---- TrackPerf/ResoHists.hxx | 12 ++++----- TrackPerf/TrackHists.hxx | 10 +++---- TrackPerf/TrackPerfHistProc.hxx | 13 +++------- src/EfficiencyHists.cxx | 11 ++++---- src/ResoHists.cxx | 11 ++++---- src/TrackHists.cxx | 11 ++++---- src/TrackPerfHistProc.cxx | 46 +++++---------------------------- 9 files changed, 43 insertions(+), 84 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1f0d771..a18d382 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -27,8 +27,6 @@ FIND_PACKAGE( ROOT REQUIRED) ## COMPONENTS Hist) FIND_PACKAGE( RAIDA REQUIRED ) -FIND_PACKAGE( Acts REQUIRED COMPONENTS Core ) - IF(WITH_PARQUET) FIND_PACKAGE( Arrow REQUIRED ) @@ -72,7 +70,6 @@ TARGET_LINK_LIBRARIES(TrackPerf ROOT::Hist ${ROOT_LIBRARIES} DD4hep::DDCore - ActsCore ) TARGET_COMPILE_DEFINITIONS(TrackPerf PRIVATE diff --git a/TrackPerf/EfficiencyHists.hxx b/TrackPerf/EfficiencyHists.hxx index 24d18f8..1a18332 100644 --- a/TrackPerf/EfficiencyHists.hxx +++ b/TrackPerf/EfficiencyHists.hxx @@ -5,10 +5,9 @@ #include #include -// ACTS -#include -#include -#include +// DD4hep +#include +#include namespace EVENT { class Track; @@ -28,8 +27,7 @@ class EfficiencyHists { // Fill histograms with a single track void fillMC(const EVENT::MCParticle* track, bool passed); void fillTrack(const EVENT::Track* track, bool passed, - std::shared_ptr magField, - Acts::MagneticFieldProvider::Cache& magCache); + dd4hep::Detector* lcdd); private: //! Efficiency plots diff --git a/TrackPerf/ResoHists.hxx b/TrackPerf/ResoHists.hxx index 47aa072..d95cde3 100644 --- a/TrackPerf/ResoHists.hxx +++ b/TrackPerf/ResoHists.hxx @@ -4,10 +4,11 @@ #include #include -// ACTS -#include -#include -#include +// DD4hep +#include +#include + + namespace EVENT { class Track; @@ -27,8 +28,7 @@ class ResoHists { // Fill histograms with a single track void fill(const EVENT::Track* track, const EVENT::MCParticle* particle, - std::shared_ptr magField, - Acts::MagneticFieldProvider::Cache& magCache); + dd4hep::Detector* lcdd); private: //! Reconstructed track pT diff --git a/TrackPerf/TrackHists.hxx b/TrackPerf/TrackHists.hxx index 0c7ceca..79aa099 100644 --- a/TrackPerf/TrackHists.hxx +++ b/TrackPerf/TrackHists.hxx @@ -3,10 +3,9 @@ #include #include -// ACTS -#include -#include -#include +// DD4hep +#include +#include namespace EVENT { class Track; @@ -24,8 +23,7 @@ class TrackHists { // Fill histograms with a single track void fill(const EVENT::Track* track, - std::shared_ptr magField, - Acts::MagneticFieldProvider::Cache& magCache); + dd4hep::Detector* lcdd); private: //! Reconstructed track pT diff --git a/TrackPerf/TrackPerfHistProc.hxx b/TrackPerf/TrackPerfHistProc.hxx index 57c0541..6328f9e 100644 --- a/TrackPerf/TrackPerfHistProc.hxx +++ b/TrackPerf/TrackPerfHistProc.hxx @@ -4,8 +4,8 @@ #include -// ACTS -#include +// DD4hep +#include namespace TrackPerf { class TrackHists; @@ -42,11 +42,6 @@ class TrackPerfHistProc : public marlin::Processor { */ virtual void end(); - /** - * @brief Builds the Magnetic field from dd4hep Detector information - */ - void buildBfield(); - private: //! Track Collection std::string _trkColName{}; @@ -58,8 +53,8 @@ class TrackPerfHistProc : public marlin::Processor { std::string _trkMatchColName{}; //! Magnetic field to use for curvature -> pT conversion - std::shared_ptr _magneticField; - Acts::MagneticFieldContext _magFieldContext; + dd4hep::Detector* _lcdd; + //! Determination of good vs bad match float _matchProb = 0.5; diff --git a/src/EfficiencyHists.cxx b/src/EfficiencyHists.cxx index 17f2f7f..1344baa 100644 --- a/src/EfficiencyHists.cxx +++ b/src/EfficiencyHists.cxx @@ -18,12 +18,13 @@ EfficiencyHists::EfficiencyHists(bool effi) { } void EfficiencyHists::fillTrack(const EVENT::Track* track, bool passed, - std::shared_ptr magField, - Acts::MagneticFieldProvider::Cache& magCache) { + dd4hep::Detector* lcdd) { //TODO: This assumes uniform magnetic field - const Acts::Vector3 zeroPos(0, 0, 0); - Acts::Vector3 field = (*magField->getField(zeroPos, magCache)); - float Bz = field[2] / Acts::UnitConstants::T; + const double position[3] = {0, 0, 0}; // position to calculate magnetic field (here, the origin) + double magneticFieldVector[3] = {0, 0, 0}; // initialise object to hold magnetic field + lcdd->field().magneticField( + position, magneticFieldVector); // get the magnetic field vector from DD4hep + float Bz = magneticFieldVector[2] / dd4hep::tesla; float pt = fabs(0.3 * Bz / track->getOmega() / 1000); float theta = TMath::Pi() - std::atan(track->getTanLambda()); diff --git a/src/ResoHists.cxx b/src/ResoHists.cxx index bed9360..fd8a9ea 100644 --- a/src/ResoHists.cxx +++ b/src/ResoHists.cxx @@ -24,12 +24,13 @@ ResoHists::ResoHists() { void ResoHists::fill(const EVENT::Track* track, const EVENT::MCParticle* particle, - std::shared_ptr magField, - Acts::MagneticFieldProvider::Cache& magCache) { + dd4hep::Detector* lcdd) { //TODO: This assumes uniform magnetic field - const Acts::Vector3 zeroPos(0, 0, 0); - Acts::Vector3 field = (*magField->getField(zeroPos, magCache)); - float Bz = field[2] / Acts::UnitConstants::T; + const double position[3] = {0, 0, 0}; // position to calculate magnetic field (here, the origin) + double magneticFieldVector[3] = {0, 0, 0}; // initialise object to hold magnetic field + lcdd->field().magneticField( + position, magneticFieldVector); // get the magnetic field vector from DD4hep + float Bz = magneticFieldVector[2] / dd4hep::tesla; float track_pt = fabs(0.3 * Bz / track->getOmega() / 1000); float track_lambda = std::atan(track->getTanLambda()); diff --git a/src/TrackHists.cxx b/src/TrackHists.cxx index fae2d7e..4320593 100644 --- a/src/TrackHists.cxx +++ b/src/TrackHists.cxx @@ -33,12 +33,13 @@ TrackHists::TrackHists() { } void TrackHists::fill(const EVENT::Track* track, - std::shared_ptr magField, - Acts::MagneticFieldProvider::Cache& magCache) { + dd4hep::Detector* lcdd) { //TODO: This assumes uniform magnetic field - const Acts::Vector3 zeroPos(0, 0, 0); - Acts::Vector3 field = (*magField->getField(zeroPos, magCache)); - float Bz = field[2] / Acts::UnitConstants::T; + const double position[3] = {0, 0, 0}; // position to calculate magnetic field (here, the origin) + double magneticFieldVector[3] = {0, 0, 0}; // initialise object to hold magnetic field + lcdd->field().magneticField( + position, magneticFieldVector); // get the magnetic field vector from DD4hep + float Bz = magneticFieldVector[2] / dd4hep::tesla; float pt = fabs(0.3 * Bz / track->getOmega() / 1000); h_pt->Fill(pt); diff --git a/src/TrackPerfHistProc.cxx b/src/TrackPerfHistProc.cxx index 92fe1c8..95cfc4c 100644 --- a/src/TrackPerfHistProc.cxx +++ b/src/TrackPerfHistProc.cxx @@ -10,10 +10,6 @@ #include #include -// ACTS -#include -#include - #include #include #include @@ -52,31 +48,6 @@ TrackPerfHistProc::TrackPerfHistProc() : Processor("TrackPerfHistProc") { _trkMatchColName, _trkMatchColName); } -void TrackPerfHistProc::buildBfield() { - // Get the magnetic field - dd4hep::Detector& lcdd = dd4hep::Detector::getInstance(); - const double position[3] = { - 0, 0, - 0}; // position to calculate magnetic field at (the origin in this case) - double magneticFieldVector[3] = { - 0, 0, 0}; // initialise object to hold magnetic field - lcdd.field().magneticField( - position, - magneticFieldVector); // get the magnetic field vector from DD4hep - - // Build ACTS representation of field - // Note: - // magneticFieldVector[2] = 3.57e-13 - // dd4hep::tesla = 1e-13 - // Acts::UnitConstants::T = 0.000299792 - _magneticField = std::make_shared(Acts::Vector3( - magneticFieldVector[0] / dd4hep::tesla * Acts::UnitConstants::T, - magneticFieldVector[1] / dd4hep::tesla * Acts::UnitConstants::T, - magneticFieldVector[2] / dd4hep::tesla * Acts::UnitConstants::T)); - _magFieldContext = Acts::MagneticFieldContext(); -} - - void TrackPerfHistProc::init() { // Print the initial parameters printParameters(); @@ -110,15 +81,12 @@ void TrackPerfHistProc::init() { _effiPlots = std::make_shared(true); _fakePlots = std::make_shared(false); - TrackPerfHistProc::buildBfield(); + _lcdd = &dd4hep::Detector::getInstance(); } void TrackPerfHistProc::processRunHeader(LCRunHeader* /*run*/) {} void TrackPerfHistProc::processEvent(LCEvent* evt) { - // Mag Cache - Acts::MagneticFieldProvider::Cache magCache = _magneticField->makeCache(_magFieldContext); - // // Get object required collections and create lists // to keep track of unsaved objects. @@ -173,7 +141,7 @@ void TrackPerfHistProc::processEvent(LCEvent* evt) { static_cast(trkCol->getElementAt(i)); trkSet.insert(trk); - _allTracks->fill(trk, _magneticField, magCache); + _allTracks->fill(trk, _lcdd); } h_number_of_tracks->Fill(trkSet.size()); @@ -198,11 +166,11 @@ void TrackPerfHistProc::processEvent(LCEvent* evt) { if (rel->getWeight() > _matchProb) { if (trkSet.find(trk) != trkSet.end()) { - _realTracks->fill(trk, _magneticField, magCache); + _realTracks->fill(trk, _lcdd); _realTruths->fill(mcp); _effiPlots->fillMC(mcp, true); - _realReso->fill(trk, mcp, _magneticField, magCache); - _fakePlots->fillTrack(trk, false, _magneticField, magCache); + _realReso->fill(trk, mcp, _lcdd); + _fakePlots->fillTrack(trk, false, _lcdd); mcpSet.erase(mcp); trkSet.erase(trk); @@ -217,8 +185,8 @@ void TrackPerfHistProc::processEvent(LCEvent* evt) { _effiPlots->fillMC(mcp, false); } for (const EVENT::Track* trk : trkSet) { - _fakeTracks->fill(trk, _magneticField, magCache); - _fakePlots->fillTrack(trk, true, _magneticField, magCache); + _fakeTracks->fill(trk, _lcdd); + _fakePlots->fillTrack(trk, true, _lcdd); } h_number_of_fakes->Fill(trkSet.size()); }