BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
CalcEff.C
Go to the documentation of this file.
1
2void CalcEff(uint32_t runId, TString digiPath = ".")
3{
4 TString file_names(Form("%s/bmn_run%u_ev*_p*_digi.root", digiPath.Data(), runId));
5 ROOT::RDataFrame df{"bmndata", file_names};
6
7 auto df_num = df.Filter(
8 [&](BmnEventHeader& eh) { return ((eh.GetInputSignalsAR() & BIT(11)) && (eh.GetInputSignalsAR() & BIT(5))); },
9 {"BmnEventHeader."});
10 uint64_t num = *(df_num.Count());
11 auto df_den =
12 df.Filter([&](BmnEventHeader& eh) { return ((eh.GetInputSignalsAR() & BIT(5))); }, {"BmnEventHeader."});
13 uint64_t den = *(df_den.Count());
14 printf("Run %u \n\tnFD&CCT1 %7lu\n\t CCT1 %7lu\n", runId, num, den);
15 if (den > 0) {
16 double eff = num / (double)den;
17 printf("\t\tEff %2.2f\n", eff);
18 }
19}
#define BIT(n)
char * Form(const char *fmt,...)
UInt_t GetInputSignalsAR()
Get Input signal states, after reduction.
RInterface< RDFDetail::RFilter< F, Proxied >, DS_t > Filter(F f, const ColumnNames_t &columns={}, std::string_view name="")
void CalcEff(uint32_t runId, TString digiPath=".")
Definition CalcEff.C:2