CbmRoot
Loading...
Searching...
No Matches
CbmCaInputQaSetup.h
Go to the documentation of this file.
1/* Copyright (C) 2023 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 "CaParameters.h"
14#include "CbmL1DetectorID.h"
15#include "CbmMCDataArray.h"
16#include "CbmMCDataObject.h"
17#include "CbmMCEventList.h"
18#include "CbmMuchPixelHit.h"
19#include "CbmMuchPoint.h"
21#include "CbmMvdHit.h"
22#include "CbmMvdPoint.h"
24#include "CbmQaTask.h"
25#include "CbmStsHit.h"
26#include "CbmStsPoint.h"
28#include "CbmTimeSlice.h"
29#include "CbmTofHit.h"
30#include "CbmTofPoint.h"
32#include "CbmTrdHit.h"
33#include "CbmTrdPoint.h"
35#include "TClonesArray.h"
36
37namespace cbm::ca
38{
41 class InputQaSetup : public CbmQaTask {
42 public:
46 InputQaSetup(int verbose, bool isMCUsed);
47
51 void ReadParameters(const char* filename) { fsParametersFilename = filename; }
52
54 void Check() override;
55
57 void CreateSummary() override;
58
60 void ExecQa() override;
61
63 InitStatus InitQa() override;
64
65
66 private:
68 void CheckInit() const;
69
71 template<ca::EDetectorID DetID>
72 void FillHistogramsDet();
73
74
75 // *******************************
76 // ** Data branches and flags **
77 // *******************************
80
84
87 std::shared_ptr<ca::Parameters<float>> fpParameters = nullptr;
88 std::string fsParametersFilename = "";
89
96
97 // ******************
98 // ** Histograms **
99 // ******************
100
101 std::vector<TH2F*> fph_hit_xy = {};
102 std::vector<TH2F*> fph_hit_xz = {};
103 std::vector<TH2F*> fph_hit_yz = {};
104 std::vector<TH2F*> fph_point_xy = {};
105 std::vector<TH2F*> fph_point_xz = {};
106 std::vector<TH2F*> fph_point_yz = {};
107 };
108
109} // namespace cbm::ca
Implementation of L1DetectorID enum class for CBM.
Class for pixel hits in MUCH detector.
A base class for CBM QA task logic.
Data class for a reconstructed hit in the STS.
Class for hits in TRD detector.
Access to a MC data branch for time-based analysis.
Container class for MC events with number, file and start time.
A QA task to analyze hit and MC point occupancy distributions in different tracking stations.
void FillHistogramsDet()
Fill histograms for a given detector type.
std::vector< TH2F * > fph_hit_xz
Hit occupancy in x-z plane vs. station.
std::shared_ptr< ca::Parameters< float > > fpParameters
Pointer to CA parameters object.
std::vector< TH2F * > fph_hit_xy
Hit occupancy in x-y plane vs. station.
DetIdArr_t< std::vector< double > > fvZmax
std::vector< TH2F * > fph_point_yz
MC point occupancy in y-z plane vs. station.
std::vector< TH2F * > fph_point_xz
MC point occupancy in x-z plane vs. station.
DetIdArr_t< std::vector< double > > fvXmin
DetIdArr_t< bool > fvbUseDet
Detector subsystem usage flag.
DetIdArr_t< std::vector< double > > fvZmin
std::string fsParametersFilename
Filename for the tracking parameters.
DetIdArr_t< std::vector< double > > fvXmax
std::vector< TH2F * > fph_hit_yz
Hit occupancy in y-z plane vs. station.
void CheckInit() const
Checks branches initialization.
void Check() override
Checks results of the QA and returns a success flag.
DetIdArr_t< TClonesArray * > fvpBrHits
Input branch for hits.
CbmMCDataObject * fpMCEventHeader
Pointer to MC event header.
InputQaSetup(int verbose, bool isMCUsed)
Constructor from parameters.
InitStatus InitQa() override
Initializes QA-task.
std::vector< TH2F * > fph_point_xy
MC point occupancy in x-z plane vs. station.
void ExecQa() override
Fills histograms.
DetIdArr_t< std::vector< double > > fvYmax
DetIdArr_t< CbmMCDataArray * > fvpBrPoints
Input branch for MC points.
DetIdArr_t< const CbmTrackingDetectorInterfaceBase * > fvpDetInterface
Pointers to the tracking detector interfaces for each subsystem.
CbmMCEventList * fpMCEventList
Pointer to MC event list.
void ReadParameters(const char *filename)
Reads defined parameters object from file.
void CreateSummary() override
Creates summary cavases, tables etc.
DetIdArr_t< std::vector< double > > fvYmin