3 #include "KVDataQualityAuditReporting_INDRA.h"
43 void make_canvas(canvas_t
style = canvas_t::kLandscape);
47 std::map<double, std::vector<KVDetector*>> fazia_map;
48 void make_fazia_map(
double theta_bin);
50 std::vector<int> markers = {20, 24, 21, 25, 34, 28, 47, 46, 45, 44, 29, 30, 43, 42, 22, 26, 23, 32};
51 std::vector<int>::size_type max_marker;
53 std::pair<int, int> get_layout(
size_t ntels)
56 if (ntels <= 8)
return {4, 2};
57 else if (ntels <= 12)
return {4, 3};
60 bool fill_telescopes_of_group(
TList& tels, std::vector<KVDetector*>& dets,
const TString& idtype,
double& theta_min,
double& theta_max);
61 void draw_sidebar_legend();
62 void draw_sidebar_legend_fazia();
64 std::optional<KVUnownedList> get_indra_telescopes(
int ring,
const TString& idtype);
66 TString dataset_name, indra_csi_idtype =
"CSI", fazia_si_csi_idtype =
"SI_CSI";
69 : fReport{audit_name}, fAudit{fReport.GetAudit()}, dataset_name{exp_name}, max_marker{markers.
size()}
74 dataset_name.
Prepend(
"INDRAFAZIA.");
85 template<
typename TelescopeFunction>
92 auto lay = get_layout(dets.size());
93 myCanvas->
Divide(lay.first, lay.second);
94 int max_pad = lay.first * lay.second;
97 double theta_min{360}, theta_max{0};
98 fill_telescopes_of_group(tels, dets, idtype, theta_min, theta_max);
109 myCanvas->
Print(pdf_file,
Form(
"Title:FAZIA %s Group %d : %s", idtype.
Data(), group_num, title.
Data()));
111 myCanvas->
Divide(lay.first, lay.second);
115 if (pad != 1) myCanvas->
Print(pdf_file,
Form(
"Title:FAZIA %s Group %d : %s", idtype.
Data(), group_num, title.
Data()));
size_t size(const MatrixT &matrix)
#define ClassDef(name, id)
char * Form(const char *fmt,...)
Base class for KaliVeda framework.
Produce graphs and histograms from KVDataQualityAudit.
Prepare PDF report on data quality audits for INDRA-FAZIA experiments.
void relabel_FAZIA_telescope_axis(TMultiGraph *graf, const TList *tels) const
bool FAZIA_group_reporting_Z(int group_num, std::vector< KVDetector * > &, const TString &idtype)
bool FAZIA_group_Z_threshold_vs_Z(int group_num, std::vector< KVDetector * > &dets, const TString &idtype)
bool INDRA_ring_reporting_Z(int ring, const TString &idtype)
void FAZIA_group_reporting_detail(const TString &pdf_file, const TString &title, int group_num, std::vector< KVDetector * > &dets, const TString &idtype, TelescopeFunction TF, Bool_t logY=kFALSE)
KVDataQualityAuditReporting_INDRAFAZIA(const TString &audit_name, const TString &exp_name)
void INDRA_ring_Z_threshold_vs_Z(int ring, const TString &idtype, int &pad, int nx, int ny)
bool FAZIA_group_mean_A_vs_Z(int group_num, std::vector< KVDetector * > &, const TString &idtype)
void INDRA_ring_mean_A_vs_Z(int ring, const TString &idtype, int &pad, int nx, int ny)
bool FAZIA_group_A_threshold_vs_Z(int group_num, std::vector< KVDetector * > &dets, const TString &idtype)
Audit of experimental data identification and calibrations.
Base class for all detectors or associations of detectors in array which can identify charged particl...
void Clear(Option_t *option="") override
TVirtualPad * cd(Int_t subpadnumber=0) override
const char * GetName() const override
void Divide(Int_t nx=1, Int_t ny=1, Float_t xmargin=0.01, Float_t ymargin=0.01, Int_t color=0) override
void Print(const char *filename, Option_t *option) override
const char * Data() const
TString & Prepend(char c, Ssiz_t rep=1)