trout
Phlex-based reconstruction framework for the SHiP experiment.
Loading...
Searching...
No Matches
surround_tagger_histogrammer.hpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2026 CERN for the benefit of the SHiP Collaboration
2//
3// SPDX-License-Identifier: LGPL-3.0-or-later
4
5// surround_tagger_histogrammer.hpp — Surround Background Tagger validation
6// histograms. A placeholder for the SBT experts to fill in: so far only the
7// per-event hit multiplicity, which comes from the shared
8// MultiplicityHistogrammer. Book SBT-specific histograms in the constructor and
9// fill them in observe(); once there are enough of them, drop the base class
10// and keep only this file (see SpectrometerHistogrammer for how that ends up
11// looking).
12
13#pragma once
14
15#include "HistoFileService.hpp"
17
18#include <SHiP/detectors/SBTHit.hpp>
19#include <memory>
20#include <utility>
21#include <vector>
22
23namespace SHiP::trout {
24
26 public:
27 explicit SurroundTaggerHistogrammer(std::shared_ptr<HistoFileService> file_service)
28 : MultiplicityHistogrammer{std::move(file_service), "h_surround_tagger_multiplicity",
29 "Surround tagger hits per event;N;Events"} {}
30
31 // Deliberately not inherited: phlex deduces the bound object type and the
32 // member pointer's class in one go (see delegate() in
33 // phlex/metaprogramming/delegate.hpp), so &SurroundTaggerHistogrammer::observe
34 // has to name a member of this class. Convenient, since this is also where
35 // the SBT-specific fills belong.
36 void observe(std::vector<SHiP::SBTHit> const& hits) { MultiplicityHistogrammer::observe(hits); }
37};
38
39} // namespace SHiP::trout
void observe(std::vector< Hit > const &hits)
Definition multiplicity_histogrammer.hpp:39
MultiplicityHistogrammer(std::shared_ptr< HistoFileService > file_service, std::string hist_name, std::string hist_title)
Definition multiplicity_histogrammer.hpp:31
std::shared_ptr< HistoFileService > const & file_service() const
Definition multiplicity_histogrammer.hpp:51
void observe(std::vector< SHiP::SBTHit > const &hits)
Definition surround_tagger_histogrammer.hpp:36
SurroundTaggerHistogrammer(std::shared_ptr< HistoFileService > file_service)
Definition surround_tagger_histogrammer.hpp:27
Definition fit_seed.cpp:16