CbmRoot
Loading...
Searching...
No Matches
TofHitfindQa.h
Go to the documentation of this file.
1/* Copyright (C) 2025 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Sergei Zharko [committer] */
4
9
10
11#pragma once
12
13#include "PODVector.h"
14#include "PartitionedVector.h"
15#include "qa/QaTaskHeader.h"
17
18namespace cbm::algo
19{
20 namespace qa
21 {
22 class H1D;
23 class H2D;
24 } // namespace qa
25
26 namespace tof
27 {
28 class Hit;
29 }
30} // namespace cbm::algo
31
32namespace cbm::algo::tof
33{
36 class HitfindQa : public qa::TaskHeader {
37 public:
41 HitfindQa(const std::unique_ptr<qa::Manager>& pManager, std::string_view name) : qa::TaskHeader(pManager, name) {}
42
44 HitfindQa() = default;
45
47 HitfindQa(const HitfindQa&) = delete;
48
50 HitfindQa(HitfindQa&&) = delete;
51
53 ~HitfindQa() = default;
54
56 HitfindQa& operator=(const HitfindQa&) = delete;
57
60
62 void Exec();
63
65 void Init();
66
68 void InitParameters(const HitfindSetup& hitSetup) { fParameters = std::move(HitfindQaParameters(hitSetup)); }
69
72 void RegisterHits(const PartitionedVector<tof::Hit>* pHits) { fpHits = pHits; }
73
74 private:
75 //* Constants
76 static constexpr int kHitOccupB{200};
77 static constexpr double kHitOccupL{-100.};
78 static constexpr double kHitOccupU{+100.};
79
80 //* Parameters
82
83 //* Data samples
85
86 //* Histograms
87 std::vector<qa::H1D*> fvphRpcHitOccupX;
88 std::vector<qa::H1D*> fvphRpcHitOccupY;
89 std::vector<qa::H1D*> fvphRpcHitOccupCh;
90 };
91} // namespace cbm::algo::tof
A header for a particular QA task, must be inherited by a given QA task.
A TOF hitfinder QA parameter configuration.
A vector that is partitioned into multiple subvectors.
An interface to the qa::Manager.
TaskHeader(const std::unique_ptr< Manager > &pManager, std::string_view name)
Constructor.
A QA module for the BMON hit-finder.
static constexpr double kHitOccupU
Hit occupancy: upper bound [cm].
std::vector< qa::H1D * > fvphRpcHitOccupX
Hit occupancy in RPC vs. x.
static constexpr double kHitOccupL
Hit occupancy: lower bound [cm].
HitfindQa(HitfindQa &&)=delete
Move constructor.
void Exec()
Executes the task, fills the histograms.
void InitParameters(const HitfindSetup &hitSetup)
Initialisation of the parameters.
~HitfindQa()=default
Destructor.
HitfindQa & operator=(const HitfindQa &)=delete
Copy assignment operator.
HitfindQaParameters fParameters
Parameters of the hit finder QA.
std::vector< qa::H1D * > fvphRpcHitOccupCh
Hit occupancy in RPC vs. channel.
HitfindQa()=default
Constructor from the configuration object.
std::vector< qa::H1D * > fvphRpcHitOccupY
Hit occupancy in RPC vs. y.
HitfindQa(const std::unique_ptr< qa::Manager > &pManager, std::string_view name)
Constructor.
HitfindQa & operator=(HitfindQa &&)=delete
Move assignment operator.
HitfindQa(const HitfindQa &)=delete
Copy constructor.
void Init()
Initialized the task.
void RegisterHits(const PartitionedVector< tof::Hit > *pHits)
Registers a sample of hits.
static constexpr int kHitOccupB
Hit occupancy: n bins.
const PartitionedVector< tof::Hit > * fpHits
Pointer to TOF hit sample.
A structure to handle TOF QA parameters.
Hitfind setup / Hardware cabling for TOF Used to create the hardware mapping for the TOF hitfinder.