diff --git a/reco/L1/OffLineInterface/CbmL1GlobalFindTracksEvents.cxx b/reco/L1/OffLineInterface/CbmL1GlobalFindTracksEvents.cxx index be969544537d38ade092e261446778048a0c5d0b..1aa86de3f1d03e2311f055899683f1a33926e87c 100644 --- a/reco/L1/OffLineInterface/CbmL1GlobalFindTracksEvents.cxx +++ b/reco/L1/OffLineInterface/CbmL1GlobalFindTracksEvents.cxx @@ -85,6 +85,8 @@ CbmL1GlobalFindTracksEvents::~CbmL1GlobalFindTracksEvents() // ----- Task execution ------------------------------------------------ void CbmL1GlobalFindTracksEvents::Exec(Option_t* /*opt*/) { + nHitsTs = 0; + nTracksTs = 0; // --- Local variables Long64_t nEvents = 0; @@ -221,6 +223,7 @@ void CbmL1GlobalFindTracksEvents::Finish() LOG(info) << "Events processed : " << fNofEvents; LOG(info) << "Hits / event : " << fNofHits / Double_t(fNofEvents); LOG(info) << "Tracks / event : " << fNofTracks / Double_t(fNofEvents); + LOG(info) << "Time per event : " << 1000. * fTime / Double_t(fNofEvents) << " ms "; } LOG(info) << "====================================="; } @@ -238,9 +241,27 @@ pair<UInt_t, UInt_t> CbmL1GlobalFindTracksEvents::ProcessEvent(CbmEvent* event) // --- Event log Int_t eventNumber = (event ? event->GetNumber() : fNofEvents); - Int_t nHits = (event ? event->GetNofData(ECbmDataType::kStsHit) : fStsHits->GetEntriesFast()); + Int_t nHits = 0; + Int_t nHitsMuch = 0; + Int_t nHitsTrd = 0; + Int_t nHitsTof = 0; + if (event) { + nHits = 0 < event->GetNofData(ECbmDataType::kStsHit) ? event->GetNofData(ECbmDataType::kStsHit) : 0; + nHitsMuch = 0 < event->GetNofData(ECbmDataType::kMuchPixelHit) ? event->GetNofData(ECbmDataType::kMuchPixelHit) : 0; + nHitsTrd = 0 < event->GetNofData(ECbmDataType::kTrdHit) ? event->GetNofData(ECbmDataType::kTrdHit) : 0; + nHitsTof = 0 < event->GetNofData(ECbmDataType::kTofHit) ? event->GetNofData(ECbmDataType::kTofHit) : 0; + } + else { + nHits = fStsHits->GetEntriesFast(); + } + nHitsTs += nHits; + nTracksTs += nTracks; + LOG(debug) << "+ " << setw(20) << GetName() << ": Event " << setw(6) << right << eventNumber << ", real time " - << fixed << setprecision(6) << fTimer.RealTime() << " s, hits: " << nHits << ", tracks: " << nTracks; + << fixed << setprecision(6) << fTimer.RealTime() << " s, STS hits: " << setw(5) << nHits + << ", tracks: " << setw(4) << nTracks << " (TS: STS hits " << setw(7) << nHitsTs << ", tracks " << setw(6) + << nTracksTs << ") MUCH " << setw(4) << nHitsMuch << " TRD: " << setw(4) << nHitsTrd << " TOF: " << setw(4) + << nHitsTof << " Total: " << setw(5) << (nHits + nHitsMuch + nHitsTrd + nHitsTof); return std::make_pair(nHits, nTracks); } diff --git a/reco/L1/OffLineInterface/CbmL1GlobalFindTracksEvents.h b/reco/L1/OffLineInterface/CbmL1GlobalFindTracksEvents.h index ac604e019a0d369899cca5cf10b193f1ba0a9a07..6a6849530ed5deeb8066f94616827e887dbf4d18 100644 --- a/reco/L1/OffLineInterface/CbmL1GlobalFindTracksEvents.h +++ b/reco/L1/OffLineInterface/CbmL1GlobalFindTracksEvents.h @@ -33,7 +33,7 @@ class CbmStsTrackFinderIdeal; ** @date 07.05.2021 ** @version 1.0 ** - ** This task creates GlobalTrack, StsTrack, MuchTrack, TrdTrack, TofTrack objects + ** This task creates GlobalTrack, StsTrack, MuchTrack, TrdTrack, TofTrack objects ** from hits. ** It uses as finding engine CbmL1GlobalTrackFinder. **/ @@ -95,6 +95,8 @@ private: Double_t fNofTracks; ///< Number of tracks created Double_t fTime; ///< Total real time used for good events + Long64_t nHitsTs = 0; + Long64_t nTracksTs = 0; /** Initialisation at beginning of each event **/ virtual InitStatus Init(); diff --git a/reco/L1/OffLineInterface/CbmL1GlobalTrackFinder.cxx b/reco/L1/OffLineInterface/CbmL1GlobalTrackFinder.cxx index 7d514b1d04bf8f955f4db657d5dcc3a3852957a7..83b66c29f6f3d4de0f872e4398847fc2a0120f21 100644 --- a/reco/L1/OffLineInterface/CbmL1GlobalTrackFinder.cxx +++ b/reco/L1/OffLineInterface/CbmL1GlobalTrackFinder.cxx @@ -5,11 +5,11 @@ /* *==================================================================== * - * CBM Level 1 Reconstruction - * + * CBM Level 1 Reconstruction + * * Authors: V. Akishina * - * e-mail : v.akishina@gsi.de + * e-mail : v.akishina@gsi.de * *==================================================================== * @@ -74,7 +74,8 @@ Int_t CbmL1GlobalTrackFinder::CopyL1Tracks(CbmEvent* event) { CbmL1* L1 = CbmL1::Instance(); if (!L1) return 0; - Int_t globalTrackIndex = fGlobalTracks->GetEntriesFast(); + Int_t globalTrackIndex = fGlobalTracks->GetEntriesFast(); + Int_t globalTrackIndexStart = globalTrackIndex; Int_t stsTrackIndex = fStsTracks->GetEntriesFast(); Int_t muchTrackIndex = fMuchTracks->GetEntriesFast(); @@ -154,7 +155,7 @@ Int_t CbmL1GlobalTrackFinder::CopyL1Tracks(CbmEvent* event) } //END create detector tracks if needed } - return globalTrackIndex; + return globalTrackIndex - globalTrackIndexStart; } // -------------------------------------------------------------------------