From 96500d555a100d419537f27e327d027bcc54e559 Mon Sep 17 00:00:00 2001 From: AndreaCoccaro <andrea.coccaro@cern.ch> Date: Wed, 14 Apr 2021 11:34:46 +0200 Subject: [PATCH] trackseed EDM class now ready --- .../src/TrackerSeedFinder.cxx | 32 +++++++++--- .../TrackerSeedFinder/src/TrackerSeedFinder.h | 47 +++++++++-------- .../TrackerPrepRawData/CMakeLists.txt | 2 +- .../TrackerPrepRawData/TrackerSeed.h | 52 ++++++++++--------- .../TrackerSeedCollection.h | 5 +- .../TrackerPrepRawData/src/TrackerSeed.cxx | 44 +++++++--------- 6 files changed, 98 insertions(+), 84 deletions(-) diff --git a/Tracker/TrackerRecAlgs/TrackerSeedFinder/src/TrackerSeedFinder.cxx b/Tracker/TrackerRecAlgs/TrackerSeedFinder/src/TrackerSeedFinder.cxx index b0f81cdb9..6ec717613 100755 --- a/Tracker/TrackerRecAlgs/TrackerSeedFinder/src/TrackerSeedFinder.cxx +++ b/Tracker/TrackerRecAlgs/TrackerSeedFinder/src/TrackerSeedFinder.cxx @@ -65,7 +65,7 @@ namespace Tracker //----------------------------------------------------------------------- StatusCode TrackerSeedFinder::initialize() { - ATH_MSG_DEBUG( "AAAACCCC TrackerSeedFinder::initialize()" ); + ATH_MSG_DEBUG( "TrackerSeedFinder::initialize()" ); CHECK(m_thistSvc.retrieve()); // Check that clusters, space points and ids have names @@ -80,14 +80,19 @@ namespace Tracker // Initialize the key of input SiElementPropertiesTable and SiDetectorElementCollection for SCT ATH_CHECK(m_SCTDetEleCollKey.initialize()); - - if ( m_seed_spcontainerKey.key().empty()){ + if (m_seed_spcontainerKey.key().empty()){ ATH_MSG_FATAL( "No name set for output seeds space points"); return StatusCode::FAILURE; } ATH_CHECK( m_seed_spcontainerKey.initialize() ); + ATH_CHECK( m_trackerSeedContainerKey.initialize() ); + if (m_trackerSeedContainerKey.key().empty()){ + ATH_MSG_FATAL( "No name set for output track seeds"); + return StatusCode::FAILURE; + } + m_hist_n=new TH1D("sp_n","sp_n",20,0,20); m_hist_x=new TH1D("sp_x","sp_x",100,-200,200); m_hist_y=new TH1D("sp_y","sp_y",100,-200,200); @@ -141,7 +146,6 @@ namespace Tracker StatusCode TrackerSeedFinder::execute (const EventContext& ctx) const { //StatusCode TrackerSeedFinder::execute (const EventContext& ctx) { - ++m_numberOfEvents; // retrieve tracker spacepoint container @@ -151,7 +155,7 @@ namespace Tracker return StatusCode::RECOVERABLE; } - ATH_MSG_DEBUG( "AACC Tracker spacepoint container found: " << sct_spcontainer->size() << " collections" ); + ATH_MSG_DEBUG( "Tracker spacepoint container found: " << sct_spcontainer->size() << " collections" ); SpacePointContainer::const_iterator it = sct_spcontainer->begin(); SpacePointContainer::const_iterator itend = sct_spcontainer->end(); @@ -211,9 +215,9 @@ namespace Tracker pos.push_back((station-1)*3+plane); - ATH_MSG_DEBUG( "AACC spacepoint n " << m_numberOfSP ); - ATH_MSG_DEBUG( " station " << station << " plane " << plane << " pos " << pos.at(i-1) << " pos size " << pos.size()); - ATH_MSG_DEBUG( " i " << i << " x " << sp->globalPosition().x() << " y " << sp->globalPosition().y() << " z " << sp->globalPosition().z()); + ATH_MSG_VERBOSE( " spacepoint n " << m_numberOfSP ); + ATH_MSG_VERBOSE( " station " << station << " plane " << plane << " pos " << pos.at(i-1) << " pos size " << pos.size()); + ATH_MSG_VERBOSE( " i " << i << " x " << sp->globalPosition().x() << " y " << sp->globalPosition().y() << " z " << sp->globalPosition().z()); m_hist_r->Fill(sp->r()); m_hist_eta->Fill(sp->eta()); @@ -295,6 +299,18 @@ namespace Tracker } } + // AC + //vector<const Trk::SpacePoint*> my_coll_0; + SG::WriteHandle<TrackerSeedCollection> seedContainer(m_trackerSeedContainerKey, ctx); + ATH_CHECK(seedContainer.record( std::make_unique<TrackerSeedCollection>() ) ); + ATH_MSG_INFO("Created track seed container " << m_trackerSeedContainerKey.key()); + + vector<const Trk::SpacePoint*> ciao; + //TrackerSeed* trackerSeed = new TrackerSeed(ciao); + Tracker::TrackerSeed* trackerSeed = new Tracker::TrackerSeed(); + trackerSeed->add(ciao); + seedContainer->push_back(trackerSeed); + return StatusCode::SUCCESS; } diff --git a/Tracker/TrackerRecAlgs/TrackerSeedFinder/src/TrackerSeedFinder.h b/Tracker/TrackerRecAlgs/TrackerSeedFinder/src/TrackerSeedFinder.h index cf81e499e..1c72da0dd 100755 --- a/Tracker/TrackerRecAlgs/TrackerSeedFinder/src/TrackerSeedFinder.h +++ b/Tracker/TrackerRecAlgs/TrackerSeedFinder/src/TrackerSeedFinder.h @@ -19,6 +19,9 @@ #include "TrkSpacePoint/SpacePoint.h" #include "TrkSpacePoint/SpacePointContainer.h" #include "TrackerSpacePoint/SpacePointForSeedCollection.h" + +#include "TrackerPrepRawData/TrackerSeedCollection.h" +#include "TrackerPrepRawData/TrackerSeed.h" #include "TrkSpacePoint/SpacePointOverlapCollection.h" #include "TrackerSimEvent/FaserSiHitCollection.h" #include "TrackerRawData/FaserSCT_RDO_Container.h" @@ -65,28 +68,28 @@ class TrackerSeedFinder:public AthReentrantAlgorithm { private: - TrackerSeedFinder() = delete; - TrackerSeedFinder(const TrackerSeedFinder&) =delete; - TrackerSeedFinder &operator=(const TrackerSeedFinder&) = delete; - SG::ReadHandleKey<SpacePointContainer> m_Sct_spcontainerKey{this, "SpacePointsSCTName", "SCT spContainer"}; - - SG::WriteHandleKey<SpacePointForSeedCollection> m_seed_spcontainerKey{this, "FaserSpacePointsSeedsName", "SpacePointForSeedCollection", "SpacePointForSeedCollection"}; - - SG::ReadCondHandleKey<TrackerDD::SiDetectorElementCollection> m_SCTDetEleCollKey{this, "SCTDetEleCollKey", "SCT_DetectorElementCollection", "Key of SiDetectorElementCollection for SCT"}; - - - const FaserSCT_ID* m_idHelper{nullptr}; - mutable std::atomic<int> m_numberOfEvents{0}; - mutable std::atomic<int> m_numberOfSPCollection{0}; - mutable std::atomic<int> m_numberOfEmptySPCollection{0}; - mutable std::atomic<int> m_numberOfSP{0}; - - TH1* m_hist_n; - TH1* m_hist_x; - TH1* m_hist_y; - TH1* m_hist_z; - TH1* m_hist_r; - TH1* m_hist_phi; + TrackerSeedFinder() = delete; + TrackerSeedFinder(const TrackerSeedFinder&) =delete; + TrackerSeedFinder &operator=(const TrackerSeedFinder&) = delete; + SG::ReadHandleKey<SpacePointContainer> m_Sct_spcontainerKey{this, "SpacePointsSCTName", "SCT spContainer"}; + + SG::WriteHandleKey<SpacePointForSeedCollection> m_seed_spcontainerKey{this, "FaserSpacePointsSeedsName", "SpacePointForSeedCollection", "SpacePointForSeedCollection"}; + SG::WriteHandleKey<Tracker::TrackerSeedCollection> m_trackerSeedContainerKey{this, "FaserTrackerSeedName", "FaserTrackerSeedCollection", "FaserTrackerSeedCollection"}; + + SG::ReadCondHandleKey<TrackerDD::SiDetectorElementCollection> m_SCTDetEleCollKey{this, "SCTDetEleCollKey", "SCT_DetectorElementCollection", "Key of SiDetectorElementCollection for SCT"}; + + const FaserSCT_ID* m_idHelper{nullptr}; + mutable std::atomic<int> m_numberOfEvents{0}; + mutable std::atomic<int> m_numberOfSPCollection{0}; + mutable std::atomic<int> m_numberOfEmptySPCollection{0}; + mutable std::atomic<int> m_numberOfSP{0}; + + TH1* m_hist_n; + TH1* m_hist_x; + TH1* m_hist_y; + TH1* m_hist_z; + TH1* m_hist_r; + TH1* m_hist_phi; TH1* m_hist_eta; TH1* m_hist_layer; TH1* m_hist_strip; diff --git a/Tracker/TrackerRecEvent/TrackerPrepRawData/CMakeLists.txt b/Tracker/TrackerRecEvent/TrackerPrepRawData/CMakeLists.txt index 1d7a2f716..d1630abf2 100644 --- a/Tracker/TrackerRecEvent/TrackerPrepRawData/CMakeLists.txt +++ b/Tracker/TrackerRecEvent/TrackerPrepRawData/CMakeLists.txt @@ -15,7 +15,7 @@ atlas_add_library( TrackerPrepRawData PUBLIC_HEADERS TrackerPrepRawData INCLUDE_DIRS ${EIGEN_INCLUDE_DIRS} PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES ${EIGEN_LIBRARIES} AthLinks CxxUtils AthenaKernel GeoPrimitives Identifier EventPrimitives GaudiKernel TrackerReadoutGeometry TrkSurfaces TrkEventPrimitives TrkPrepRawData TrackerRawData EventContainers + LINK_LIBRARIES ${EIGEN_LIBRARIES} AthLinks CxxUtils AthenaKernel GeoPrimitives Identifier EventPrimitives GaudiKernel TrackerReadoutGeometry TrkSurfaces TrkEventPrimitives TrkPrepRawData TrackerRawData EventContainers TrkSpacePoint PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} ) atlas_add_dictionary( TrackerPrepRawDataDict diff --git a/Tracker/TrackerRecEvent/TrackerPrepRawData/TrackerPrepRawData/TrackerSeed.h b/Tracker/TrackerRecEvent/TrackerPrepRawData/TrackerPrepRawData/TrackerSeed.h index 634163acc..2369b11b1 100755 --- a/Tracker/TrackerRecEvent/TrackerPrepRawData/TrackerPrepRawData/TrackerSeed.h +++ b/Tracker/TrackerRecEvent/TrackerPrepRawData/TrackerPrepRawData/TrackerSeed.h @@ -1,8 +1,7 @@ #ifndef TRACKERRAWDATA_TRACKERSEED_H #define TRACKERRAWDATA_TRACKERSEED_H -// Space point Class -#include "TrkSpacePoint/SpacePointCollection.h" +#include "TrkSpacePoint/SpacePoint.h" #include <vector> @@ -12,31 +11,34 @@ class MsgStream; namespace Tracker { -class TrackerSeed { + class TrackerSeed { - public: - - TrackerSeed(); - TrackerSeed(const TrackerSeed &); - TrackerSeed(TrackerSeed &&); - TrackerSeed &operator=(const TrackerSeed &); - TrackerSeed &operator=(TrackerSeed &&); - - TrackerSeed(vector<const Trk::SpacePoint*>); - TrackerSeed(vector<const Trk::SpacePoint*>&); - - virtual MsgStream& dump( MsgStream& stream) const; - virtual std::ostream& dump( std::ostream& stream) const; + public: - private: - - vector<const Trk::SpacePoint*> m_seed; - -}; - - - MsgStream& operator << (MsgStream& stream, const TrackerSeed& prd); - std::ostream& operator << (std::ostream& stream, const TrackerSeed& prd); + TrackerSeed(); + TrackerSeed(const TrackerSeed &); + ~TrackerSeed(); + + TrackerSeed(vector<const Trk::SpacePoint*> seed); + + void add(vector<const Trk::SpacePoint*> seed); + + int size() const; + + TrackerSeed &operator=(const TrackerSeed &); + virtual MsgStream& dump(MsgStream& stream) const; + virtual ostream& dump(ostream& stream) const; + + private: + + vector<const Trk::SpacePoint*> m_seed; + + }; + + MsgStream& operator << (MsgStream& stream, const TrackerSeed& prd); + ostream& operator << (ostream& stream, const TrackerSeed& prd); + } #endif // TRACKERRAWDATA_TRACKERSEED_H + diff --git a/Tracker/TrackerRecEvent/TrackerPrepRawData/TrackerPrepRawData/TrackerSeedCollection.h b/Tracker/TrackerRecEvent/TrackerPrepRawData/TrackerPrepRawData/TrackerSeedCollection.h index d94c8c5d4..a90dedca9 100755 --- a/Tracker/TrackerRecEvent/TrackerPrepRawData/TrackerPrepRawData/TrackerSeedCollection.h +++ b/Tracker/TrackerRecEvent/TrackerPrepRawData/TrackerPrepRawData/TrackerSeedCollection.h @@ -1,16 +1,13 @@ #ifndef TRACKERSEEDCOLLECTION_H #define TRACKERSEEDCOLLECTION_H -// Base classes #include "AthenaKernel/CLASS_DEF.h" #include "AthContainers/DataVector.h" #include "GaudiKernel/DataObject.h" -//class SpacePoint; -#include "TrackerSpacePoint/SpacePointForSeed.h" #include "TrackerPrepRawData/TrackerSeed.h" namespace Tracker { -typedef DataVector<TrackerSeed> TrackerSeedCollection; + typedef DataVector<TrackerSeed> TrackerSeedCollection; } CLASS_DEF(Tracker::TrackerSeedCollection, 1139531114, 1) diff --git a/Tracker/TrackerRecEvent/TrackerPrepRawData/src/TrackerSeed.cxx b/Tracker/TrackerRecEvent/TrackerPrepRawData/src/TrackerSeed.cxx index 082eb049e..f9ca60f8f 100755 --- a/Tracker/TrackerRecEvent/TrackerPrepRawData/src/TrackerSeed.cxx +++ b/Tracker/TrackerRecEvent/TrackerPrepRawData/src/TrackerSeed.cxx @@ -4,45 +4,41 @@ namespace Tracker { TrackerSeed::TrackerSeed() {} - TrackerSeed::TrackerSeed(vector<const Trk::SpacePoint*> seed) : m_seed(seed) {} - TrackerSeed::TrackerSeed(vector<const Trk::SpacePoint*>& seed) : m_seed(seed) {} - TrackerSeed::TrackerSeed(const TrackerSeed& trackerSeed) : m_seed(trackerSeed.m_seed) {} + TrackerSeed::~TrackerSeed() {} + + TrackerSeed::TrackerSeed(vector<const Trk::SpacePoint*> seed) { m_seed = seed; } + + void TrackerSeed::add(vector<const Trk::SpacePoint*> seed) { m_seed = seed; } + + int TrackerSeed::size() const { return m_seed.size(); } + TrackerSeed& TrackerSeed::operator=(const TrackerSeed& trackSeed){ if(&trackSeed != this) { - TrackerCluster::operator=(trackSeed); + TrackerSeed::operator=(trackSeed); m_seed = trackSeed.m_seed; } return *this; } - TrackerSeed& TrackerSeed::operator=(TrackerSeed& trackSeed){ - if(&trackSeed != this) { - TrackerCluster::operator=(trackSeed); - m_seed = RIO.m_seed; - } - return *this; + MsgStream& TrackerSeed::dump(MsgStream& stream) const { + stream << "TrackerSeed object" << endl; + this->TrackerSeed::dump(stream); + return stream; } - MsgStream& operator << (MsgStream& stream, const TrackerSeed& trackSeed) - { - return trackSeed.dump(stream); + ostream& TrackerSeed::dump(ostream& stream) const { + stream << "TrackerSeed object" << endl; + this->TrackerSeed::dump(stream); + return stream; } - std::ostream& operator << (std::ostream& stream, const TrackerSeed& trackSeed) { + MsgStream& operator << (MsgStream& stream, const TrackerSeed& trackSeed) { return trackSeed.dump(stream); } - MsgStream& TrackerSeed::dump(MsgStream& stream) const { - stream << "TrackerSeed object" << endl; - this->TrackerCluster::dump(stream); - return stream; - } - - std::ostream& TrackerSeed::dump( std::ostream& stream) const { - stream << "TrackerSeed object"<<std::endl; - this->TrackerCluster::dump(stream); - return stream; + ostream& operator << (ostream& stream, const TrackerSeed& trackSeed) { + return trackSeed.dump(stream); } } -- GitLab