CbmRoot
Loading...
Searching...
No Matches
CbmBuildEventsQa.h
Go to the documentation of this file.
1/* Copyright (C) 2016-2021 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Volker Friese [committer], Dominik Smith */
4
9#ifndef CBMBUILDEVENTSQA_H_
10#define CBMBUILDEVENTSQA_H 1
11
12#include "CbmDefs.h"
13
14#include <FairTask.h>
15
16#include <TFolder.h>
17
18class TClonesArray;
19class TH1F;
20class TH2I;
21class CbmDigiManager;
22class CbmEvent;
23class CbmQaCanvas;
24
35class CbmBuildEventsQa : public FairTask {
36
37 public:
40
42 virtual ~CbmBuildEventsQa();
43
45 virtual void Exec(Option_t* opt);
46 void Finish();
47
49 void AddRefDetector(ECbmModuleId RefDetector) { fRefDetectors.push_back(RefDetector); }
50
51 private:
53 std::vector<ECbmModuleId> fSystems{}; // List of detector systems
54 TClonesArray* fEvents;
55 int fNofEntries = 0;
56
57 TFolder* histFolder = nullptr;
58 TFolder fOutFolder;
59
61 virtual InitStatus Init();
62 void DeInit();
63
65 TH1F* fhCorrectDigiRatioAll = nullptr;
67 TH1F* fhNoiseDigiRatioAll = nullptr;
68 TH1F* fhFoundDigiRatioAll = nullptr;
69 TH2I* fhCorrectVsFoundAll = nullptr;
71 nullptr;
72
74
75 std::map<ECbmModuleId, TH1F*> fhMapSystemsCorrectDigi; // histograms for subsystems
76 std::map<ECbmModuleId, TH1F*> fhMapSystemsCorrectDigiNoNoise; // histograms for subsystems
77 std::map<ECbmModuleId, TH1F*> fhMapSystemsNoiseDigi; // histograms for subsystems
78 std::map<ECbmModuleId, TH1F*> fhMapSystemsFoundDigi; // histograms for subsystems
79 std::map<ECbmModuleId, TH2I*> fhMapSystemsCorrectVsFound; // histograms for subsystems
80 std::map<ECbmModuleId, TH2I*> fhMapSystemsCorrectVsFoundNoNoise; // histograms for subsystems
81
82 std::map<ECbmModuleId, CbmQaCanvas*> fCanvMapSystems; //summary canvas per system
83
85 void InitHistograms();
86
90 void MatchEvent(CbmEvent* event);
91
95 int getMatchedMcEventNoNoise(const CbmEvent* event);
96
98
99 std::vector<ECbmModuleId> fRefDetectors; // Detectors used for MC matching
100
103
105};
106
107#endif /* CBMBUILDEVENTSQA_H */
ECbmDataType
Definition CbmDefs.h:90
ECbmModuleId
Definition CbmDefs.h:39
TH1F * fhNoiseDigiRatioAll
correct digis per event for all detectors, disregarding noise
TH2I * fhCorrectVsFoundAll
digis found per event for all detectors
TH1F * fhFoundDigiRatioAll
noise digis per event for all detectors
void MatchEvent(CbmEvent *event)
std::map< ECbmModuleId, TH2I * > fhMapSystemsCorrectVsFoundNoNoise
int fNofEntries
Number of processed entries.
CbmQaCanvas * fCanvAllSystems
correct digis per event vs found digis per event, all detectors, disregarding noise
std::map< ECbmModuleId, CbmQaCanvas * > fCanvMapSystems
virtual InitStatus Init()
output folder with histos and canvases
ECbmDataType GetDigiType(ECbmModuleId system)
TClonesArray * fEvents
Input array (class CbmEvent)
virtual void Exec(Option_t *opt)
std::map< ECbmModuleId, TH2I * > fhMapSystemsCorrectVsFound
CbmBuildEventsQa(const CbmBuildEventsQa &)
std::vector< ECbmModuleId > fRefDetectors
int getMatchedMcEventNoNoise(const CbmEvent *event)
void AddRefDetector(ECbmModuleId RefDetector)
std::map< ECbmModuleId, TH1F * > fhMapSystemsFoundDigi
std::vector< ECbmModuleId > fSystems
CbmDigiManager * fDigiMan
TH1F * fhCorrectDigiRatioAllNoNoise
correct digis per event for all detectors
std::map< ECbmModuleId, TH1F * > fhMapSystemsCorrectDigiNoNoise
std::map< ECbmModuleId, TH1F * > fhMapSystemsNoiseDigi
CbmBuildEventsQa & operator=(const CbmBuildEventsQa &)
TH2I * fhCorrectVsFoundAllNoNoise
correct digis per event vs found digis per event, all detectors
TFolder fOutFolder
subfolder for histograms
std::map< ECbmModuleId, TH1F * > fhMapSystemsCorrectDigi
summary canvas
ClassDef(CbmBuildEventsQa, 1)
CbmDigiManager.
Class characterising one event by a collection of links (indices) to data objects,...
Definition CbmEvent.h:34