diff --git a/Trigger/EFTracking/FPGATrackSim/FPGATrackSimAlgorithms/src/FPGATrackSimMapMakerAlg.cxx b/Trigger/EFTracking/FPGATrackSim/FPGATrackSimAlgorithms/src/FPGATrackSimMapMakerAlg.cxx index c4074f91471e72219396fe9dd488f0f56a3902fd..62019a9c1a13f34a437c888480dc1124859376b8 100644 --- a/Trigger/EFTracking/FPGATrackSim/FPGATrackSimAlgorithms/src/FPGATrackSimMapMakerAlg.cxx +++ b/Trigger/EFTracking/FPGATrackSim/FPGATrackSimAlgorithms/src/FPGATrackSimMapMakerAlg.cxx @@ -4,7 +4,10 @@ #include "FPGATrackSimMapMakerAlg.h" #include "FPGATrackSimInput/IFPGATrackSimEventOutputHeaderTool.h" +#include "FPGATrackSimMaps/FPGATrackSimModuleRelabel.h" + #include "TH2.h" +#include "TFile.h" #include "GaudiKernel/IEventProcessor.h" @@ -690,7 +693,10 @@ StatusCode FPGATrackSimMapMakerAlg::finalize() ATH_CHECK(writeEtaPatterns()); ATH_CHECK(writeRadiiFile(m_allHits)); ATH_CHECK(writeMedianZFile(m_allHits)); - if (m_monitorFile) delete m_monitorFile; + delete m_monitorFile; + m_monitorFile = nullptr; + delete m_moduleRelabel; + m_moduleRelabel = nullptr; return StatusCode::SUCCESS; } diff --git a/Trigger/EFTracking/FPGATrackSim/FPGATrackSimAlgorithms/src/FPGATrackSimMapMakerAlg.h b/Trigger/EFTracking/FPGATrackSim/FPGATrackSimAlgorithms/src/FPGATrackSimMapMakerAlg.h index 26756eeb2693bf7785b657a3a5a7ba3497a00b83..30a3565ceb149ab928027a597d9510b69502f7f4 100644 --- a/Trigger/EFTracking/FPGATrackSim/FPGATrackSimAlgorithms/src/FPGATrackSimMapMakerAlg.h +++ b/Trigger/EFTracking/FPGATrackSim/FPGATrackSimAlgorithms/src/FPGATrackSimMapMakerAlg.h @@ -9,25 +9,30 @@ * Produce Map files from wrappers. */ -#include "AthenaBaseComps/AthAlgorithm.h" -#include "GaudiKernel/ToolHandle.h" -#include "GaudiKernel/MsgStream.h" -#include "FPGATrackSimObjects/FPGATrackSimTypes.h" -#include "FPGATrackSimObjects/FPGATrackSimEventInputHeader.h" -#include "FPGATrackSimMaps/FPGATrackSimModuleRelabel.h" -#include "FPGATrackSimInput/IFPGATrackSimEventInputHeaderTool.h" -#include "TFile.h" -#include <fstream> - -class IFPGATrackSimEventInputHeaderTool; -class FPGATrackSimEventInputHeader; +#include "AthenaBaseComps/AthAlgorithm.h" //inheritance +#include "GaudiKernel/ToolHandle.h" //member +#include "FPGATrackSimObjects/FPGATrackSimTypes.h" //enum classes (e.g. SiliconTech, DetectorZone) in global namespace :-( +#include "FPGATrackSimObjects/FPGATrackSimEventInputHeader.h" //member +#include "FPGATrackSimInput/IFPGATrackSimEventInputHeaderTool.h" //tool handle template param + +#include <fstream> //ofstream members +#include <tuple> //typedef +#include <map> //member +#include <set> //member +#include <vector> //member + + +class FPGATrackSimModuleRelabel; class FPGATrackSimHit; +class TFile; + -typedef std::tuple<SiliconTech, DetectorZone, int, int, int> FPGATrackSimModuleId; class FPGATrackSimMapMakerAlg : public AthAlgorithm { public: + typedef std::tuple<SiliconTech, DetectorZone, int, int, int> FPGATrackSimModuleId; + // FPGATrackSimMapMakerAlg(const std::string& name, ISvcLocator* pSvcLocator); virtual ~FPGATrackSimMapMakerAlg() = default; @@ -42,15 +47,15 @@ class FPGATrackSimMapMakerAlg : public AthAlgorithm FPGATrackSimEventInputHeader m_eventHeader; struct Module { - SiliconTech det; - DetectorZone bec; - int lyr; - int eta; - int phi; + SiliconTech det{SiliconTech::strip}; + DetectorZone bec{DetectorZone::barrel}; + int lyr{}; + int eta{}; + int phi{}; std::vector<int> numTracks; // used for trimming, indexed by slice - int plane; - Module() : det(SiliconTech::strip), bec(DetectorZone::barrel), lyr(0), eta(0), phi(0), numTracks(std::vector<int>()), plane(-1) {} - Module(SiliconTech det, DetectorZone bec, int lyr, int eta, int phi) : det(det), bec(bec), lyr(lyr), eta(eta), phi(phi), numTracks(std::vector<int>()), plane(-1) {} + int plane{-1}; + Module() = default; + Module(SiliconTech det, DetectorZone bec, int lyr, int eta, int phi) : det(det), bec(bec), lyr(lyr), eta(eta), phi(phi) {} FPGATrackSimModuleId moduleId() const { return std::tie(det,bec,lyr,eta,phi); } @@ -58,11 +63,11 @@ class FPGATrackSimMapMakerAlg : public AthAlgorithm { return std::tie(det,bec,lyr,eta,phi) == std::tie(m.det,m.bec,m.lyr,m.eta,m.phi); } - bool operator<(const Module m) const + bool operator<(const Module & m) const { return std::tie(det,bec,lyr,eta,phi) < std::tie(m.det,m.bec,m.lyr,m.eta,m.phi); } - bool operator>(const Module m) const + bool operator>(const Module & m) const { return std::tie(det,bec,lyr,eta,phi) > std::tie(m.det,m.bec,m.lyr,m.eta,m.phi); } @@ -106,7 +111,7 @@ class FPGATrackSimMapMakerAlg : public AthAlgorithm -> -1 means the layer is not used -> Example: se67+ = Strip Positve Endcap layer 67 */ - const std::vector<std::vector<std::vector<std::string>>>* m_planes; + const std::vector<std::vector<std::vector<std::string>>>* m_planes{}; const std::vector< std::vector< std::vector<std::string> > > m_planes_default = //first stage { { // region 0 @@ -216,7 +221,7 @@ class FPGATrackSimMapMakerAlg : public AthAlgorithm std::vector <std::vector < std::vector<float> > > m_z; // used to calculate median z per layer for each slice, [slice][plane][hit] // output map files and monitoring std::ofstream m_pmap, m_rmap, m_subrmap, m_etapat, m_radfile, m_zedfile; - TFile *m_monitorFile; + TFile *m_monitorFile{}; // TODO make automatic diff --git a/Trigger/EFTracking/FPGATrackSim/FPGATrackSimHough/src/FPGATrackSimEtaPatternFilterTool.cxx b/Trigger/EFTracking/FPGATrackSim/FPGATrackSimHough/src/FPGATrackSimEtaPatternFilterTool.cxx index 448880406d2b5ff51928de0b3d834b7b16e5ef54..b2f1cc69be7c73522cae31c7c584bcca0f0b742d 100644 --- a/Trigger/EFTracking/FPGATrackSim/FPGATrackSimHough/src/FPGATrackSimEtaPatternFilterTool.cxx +++ b/Trigger/EFTracking/FPGATrackSim/FPGATrackSimHough/src/FPGATrackSimEtaPatternFilterTool.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration +// Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration /** * @file FPGATrackSimEtaPatternFilterTool.cxx @@ -7,12 +7,9 @@ * @brief Implements road filtering using eta module patterns */ -#include "FPGATrackSimMaps/IFPGATrackSimMappingSvc.h" #include "FPGATrackSimMaps/FPGATrackSimPlaneMap.h" -#include "FPGATrackSimObjects/FPGATrackSimTypes.h" #include "FPGATrackSimObjects/FPGATrackSimHit.h" #include "FPGATrackSimObjects/FPGATrackSimConstants.h" -#include "FPGATrackSimBanks/IFPGATrackSimBankSvc.h" #include "FPGATrackSimBanks/FPGATrackSimSectorBank.h" #include "FPGATrackSimEtaPatternFilterTool.h" @@ -22,7 +19,6 @@ #include <fstream> #include <cmath> #include <algorithm> -#include <boost/dynamic_bitset.hpp> #include <iostream> @@ -306,7 +302,7 @@ FPGATrackSimRoad FPGATrackSimEtaPatternFilterTool::buildRoad(std::pair<EtaPatter /////////////////////////////////////////////////////////////////////////////// // Prints -std::string FPGATrackSimEtaPatternFilterTool::to_string(const std::vector<unsigned> v) const +std::string FPGATrackSimEtaPatternFilterTool::to_string(const std::vector<unsigned> & v) const { std::ostringstream oss; oss << "["; @@ -319,7 +315,7 @@ std::string FPGATrackSimEtaPatternFilterTool::to_string(const std::vector<unsign return oss.str(); } -std::string FPGATrackSimEtaPatternFilterTool::to_string(const EtaPattern patt) const +std::string FPGATrackSimEtaPatternFilterTool::to_string(const EtaPattern & patt) const { std::ostringstream oss; oss << "["; @@ -332,7 +328,7 @@ std::string FPGATrackSimEtaPatternFilterTool::to_string(const EtaPattern patt) c return oss.str(); } -std::string FPGATrackSimEtaPatternFilterTool::to_string(const FPGATrackSimRoad road) const +std::string FPGATrackSimEtaPatternFilterTool::to_string(const FPGATrackSimRoad & road) const { std::ostringstream oss; oss << road.getNHits() << " : ["; diff --git a/Trigger/EFTracking/FPGATrackSim/FPGATrackSimHough/src/FPGATrackSimEtaPatternFilterTool.h b/Trigger/EFTracking/FPGATrackSim/FPGATrackSimHough/src/FPGATrackSimEtaPatternFilterTool.h index eed940ba3d7fb7aff2af55682d03d7e349d1d62d..c8ea8136f01b023bb8353cde651fe00ead21483d 100644 --- a/Trigger/EFTracking/FPGATrackSim/FPGATrackSimHough/src/FPGATrackSimEtaPatternFilterTool.h +++ b/Trigger/EFTracking/FPGATrackSim/FPGATrackSimHough/src/FPGATrackSimEtaPatternFilterTool.h @@ -1,4 +1,4 @@ -// Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration +// Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration #ifndef FPGATRACKSIMETAPATTERNFILTERTOOL_H #define FPGATRACKSIMETAPATTERNFILTERTOOL_H @@ -14,24 +14,23 @@ * */ -#include "GaudiKernel/ServiceHandle.h" -#include "AthenaBaseComps/AthAlgTool.h" -#include "FPGATrackSimObjects/FPGATrackSimTypes.h" -#include "FPGATrackSimObjects/FPGATrackSimVectors.h" -#include "FPGATrackSimObjects/FPGATrackSimRoad.h" -#include "FPGATrackSimObjects/FPGATrackSimHit.h" -#include "FPGATrackSimObjects/FPGATrackSimTrackPars.h" -#include "FPGATrackSimHough/IFPGATrackSimRoadFilterTool.h" -#include "FPGATrackSimBanks/IFPGATrackSimBankSvc.h" -#include "FPGATrackSimMaps/IFPGATrackSimMappingSvc.h" +#include "AthenaBaseComps/AthAlgTool.h" //inheritance +#include "FPGATrackSimHough/IFPGATrackSimRoadFilterTool.h"//inheritance +#include "FPGATrackSimObjects/FPGATrackSimTypes.h" //SiliconTech, DetectorZone +#include "GaudiKernel/ServiceHandle.h" //member +#include "FPGATrackSimObjects/FPGATrackSimRoad.h" //template param for vector member + +#include "FPGATrackSimBanks/IFPGATrackSimBankSvc.h" //ServiceHandle template param +#include "FPGATrackSimMaps/IFPGATrackSimMappingSvc.h" //ServiceHandle template param + -#include "TFile.h" #include <string> #include <vector> #include <map> -#include <boost/dynamic_bitset_fwd.hpp> + +class FPGATrackSimHit; class FPGATrackSimEtaPatternFilterTool : public extends<AthAlgTool, IFPGATrackSimRoadFilterTool> { @@ -109,7 +108,7 @@ class FPGATrackSimEtaPatternFilterTool : public extends<AthAlgTool, IFPGATrackSi /////////////////////////////////////////////////////////////////////// // Convenience - unsigned m_nLayers; // alias to m_FPGATrackSimMapping->PlaneMap1stStage()->getNLogiLayers(); + unsigned m_nLayers{}; // alias to m_FPGATrackSimMapping->PlaneMap1stStage()->getNLogiLayers(); // The below maps are created in initialize, with fixed keys. But the counters (values) // are reset every input road. @@ -132,9 +131,9 @@ class FPGATrackSimEtaPatternFilterTool : public extends<AthAlgTool, IFPGATrackSi void addHitsToMap(FPGATrackSimRoad* r); void addRedundantPatterns(std::set<EtaPattern> & usedPatterns, EtaPattern const & currPatt, unsigned nExtra); FPGATrackSimRoad buildRoad(std::pair<EtaPattern, layer_bitmask_t> const & patt, FPGATrackSimRoad* origr, int etaPatternID) const; - std::string to_string(const EtaPattern patt) const; - std::string to_string(const FPGATrackSimRoad road) const; - std::string to_string(const std::vector<unsigned> v) const; + std::string to_string(const EtaPattern & patt) const; + std::string to_string(const FPGATrackSimRoad & road) const; + std::string to_string(const std::vector<unsigned> &v) const; };