51 double buffThreshold(NAN);
52 double buffMinEvents(NAN);
53 double dummyLowerAlarm, dummyLowerWarn, dummyUpperWarn, dummyUpperAlarm;
59 if (!std::isnan(buffThreshold)) {
60 B2INFO(
getName() <<
": Setting failure rate threshold from EPICS. New failureRateThreshold " << buffThreshold);
63 if (!std::isnan(buffMinEvents)) {
64 B2INFO(
getName() <<
": Setting min number of events threshold from EPICS. New minNoEvents " << buffMinEvents);
129 TH1* hAbortIn =
findHist(
"TrackingAbort/EventsWithAborts_IN");
130 TH1* hAbortOut =
findHist(
"TrackingAbort/EventsWithAborts_OUT");
135 if (hAbortIn !=
nullptr && hAbortOut !=
nullptr) {
137 nEventsIN = hAbortIn->GetEntries();
138 m_monObj->setVariable(
"nEvents_inActiveVeto", nEventsIN);
139 nEventsOUT = hAbortOut->GetEntries();
140 m_monObj->setVariable(
"nEvents_outActiveVeto", nEventsOUT);
141 const int nEvents = nEventsIN + nEventsOUT;
143 m_hAbort->SetBinContent(1, hAbortIn->GetBinContent(1) + hAbortOut->GetBinContent(1));
144 m_hAbort->SetBinContent(2, hAbortIn->GetBinContent(2) + hAbortOut->GetBinContent(2));
146 const double abortRate = (double)
m_hAbort->GetBinContent(2) / (
m_hAbort->GetBinContent(1) +
m_hAbort->GetBinContent(2));
147 m_hAbort->SetTitle(Form(
"[After Filter] Fraction of Events in which Tracking Aborts = %.2f %%", abortRate * 100));
150 m_monObj->setVariable(
"abortRate", abortRate);
153 const double abortRate_in = hAbortIn->GetMean();
154 m_monObj->setVariable(
"abortRate_inActiveVeto", abortRate_in);
155 setEpicsPV(
"abortRate_inActiveVeto", abortRate_in);
157 const double abortRate_out = hAbortOut->GetMean();
158 m_monObj->setVariable(
"abortRate_outActiveVeto", abortRate_out);
159 setEpicsPV(
"abortRate_outActiveVeto", abortRate_out);
188 TH1* hAbortIn_BF =
findHist(
"TrackingAbort_before_filter/EventsWithAborts_IN");
189 TH1* hAbortOut_BF =
findHist(
"TrackingAbort_before_filter/EventsWithAborts_OUT");
192 int nEventsOUTbf = 0;
194 if (hAbortIn_BF !=
nullptr && hAbortOut_BF !=
nullptr) {
196 nEventsINbf = hAbortIn_BF->GetEntries();
197 m_monObj->setVariable(
"nEventsBeforeFilter_inActiveVeto", nEventsINbf);
198 nEventsOUTbf = hAbortOut_BF->GetEntries();
199 m_monObj->setVariable(
"nEventsBeforeFilter_outActiveVeto", nEventsOUTbf);
200 const int nEvents_BF = nEventsINbf + nEventsOUTbf;
202 m_hAbort_BF->SetBinContent(1, hAbortIn_BF->GetBinContent(1) + hAbortOut_BF->GetBinContent(1));
203 m_hAbort_BF->SetBinContent(2, hAbortIn_BF->GetBinContent(2) + hAbortOut_BF->GetBinContent(2));
206 m_hAbort_BF->SetTitle(Form(
"[Before Filter] Fraction of Events in which Tracking Aborts = %.2f %%", abortRate_BF * 100));
209 m_monObj->setVariable(
"abortRateBeforeFilter", abortRate_BF);
210 setEpicsPV(
"abortRateBeforeFilter", abortRate_BF);
212 const double abortRate_in = hAbortIn_BF->GetMean();
213 m_monObj->setVariable(
"abortRateBeforeFilter_inActiveVeto", abortRate_in);
214 setEpicsPV(
"abortRateBeforeFilter_inActiveVeto", abortRate_in);
215 const double abortRate_out = hAbortOut_BF->GetMean();
216 m_monObj->setVariable(
"abortRateBeforeFilter_outActiveVeto", abortRate_out);
217 setEpicsPV(
"abortRateBeforeFilter_outActiveVeto", abortRate_out);
224 hAbortOut_BF->Draw();
232 TH1F* hAbortReason_in = (TH1F*)
findHist(
"TrackingAbort/TrkAbortReason_IN");
234 TH1F* hAbortReason_out = (TH1F*)
findHist(
"TrackingAbort/TrkAbortReason_OUT");
236 TH1F* hAbortReason_in_BF = (TH1F*)
findHist(
"TrackingAbort_before_filter/TrkAbortReason_IN");
237 if (hAbortReason_in_BF !=
nullptr)
scaleAndSendToMirabelle(hAbortReason_in_BF, nEventsIN,
"BeforeFilter_inActiveVeto");
238 TH1F* hAbortReason_out_BF = (TH1F*)
findHist(
"TrackingAbort_before_filter/TrkAbortReason_OUT");
239 if (hAbortReason_out_BF !=
nullptr)
scaleAndSendToMirabelle(hAbortReason_out_BF, nEventsOUT,
"BeforeFilter_outActiveVeto");
243 TH1F* hAverage_in = (TH1F*)
findHist(
"TrackingAbort/averages_IN");
246 TH1F* hAverage_out = (TH1F*)
findHist(
"TrackingAbort/averages_OUT");
249 TH1F* hAverage_in_BF = (TH1F*)
findHist(
"TrackingAbort_before_filter/averages_IN");
250 if (hAverage_in_BF !=
nullptr)
scaleAndSendToMirabelle(hAverage_in_BF, nEventsINbf,
"BeforeFilter_inActiveVeto");
252 TH1F* hAverage_out_BF = (TH1F*)
findHist(
"TrackingAbort_before_filter/averages_OUT");
253 if (hAverage_out_BF !=
nullptr)
scaleAndSendToMirabelle(hAverage_out_BF, nEventsOUTbf,
"BeforeFilter_outActiveVeto");
256 TH1* hL3UOccIn =
findHist(
"TrackingAbort/SVDL3UOcc_IN");
257 if (hL3UOccIn !=
nullptr)
m_monObj->setVariable(
"svdL3UOcc_inActiveVeto", hL3UOccIn->GetMean());
258 TH1* hL3UOccOut =
findHist(
"TrackingAbort/SVDL3UOcc_OUT");
259 if (hL3UOccOut !=
nullptr)
m_monObj->setVariable(
"svdL3UOcc_outActiveVeto", hL3UOccOut->GetMean());
260 TH1* hL3UOccIn_BF =
findHist(
"TrackingAbort_before_filter/SVDL3UOcc_IN");
261 if (hL3UOccIn_BF !=
nullptr)
m_monObj->setVariable(
"svdL3UOccBeforeFilter_inActiveVeto", hL3UOccIn_BF->GetMean());
262 TH1* hL3UOccOut_BF =
findHist(
"TrackingAbort_before_filter/SVDL3UOcc_OUT");
263 if (hL3UOccOut_BF !=
nullptr)
m_monObj->setVariable(
"svdL3UOccBeforeFilter_outActiveVeto", hL3UOccOut_BF->GetMean());
267 TH1* hCDCExtraHitsIn =
findHist(
"TrackingAbort/nCDCExtraHits_IN");
268 if (hCDCExtraHitsIn !=
nullptr)
m_monObj->setVariable(
"nCDCExtraHits_inActiveVeto", hCDCExtraHitsIn->GetMean());
269 TH1* hCDCExtraHitsOut =
findHist(
"TrackingAbort/nCDCExtraHits_OUT");
270 if (hCDCExtraHitsOut !=
nullptr) {
271 m_monObj->setVariable(
"nCDCExtraHits_outActiveVeto", hCDCExtraHitsOut->GetMean());
272 m_monObj->setVariable(
"nCDCExtraHitsRMS_outActiveVeto", hCDCExtraHitsOut->GetRMS());
275 int from_bin = hCDCExtraHitsOut->FindBin(2700);
276 int to_bin = hCDCExtraHitsOut->GetNbinsX() + 1;
277 double integral = hCDCExtraHitsOut->Integral(from_bin, to_bin);
278 if (hCDCExtraHitsOut->GetEntries() > 0) {
279 m_monObj->setVariable(
"fEventsWithCDCExtraHitsAbove2700_outActiveVeto", integral / hCDCExtraHitsOut->GetEntries());
282 TH1* hCDCExtraHitsIn_BF =
findHist(
"TrackingAbort_before_filter/nCDCExtraHits_IN");
283 if (hCDCExtraHitsIn_BF !=
nullptr)
m_monObj->setVariable(
"nCDCExtraHitsBeforeFilter_inActiveVeto", hCDCExtraHitsIn_BF->GetMean());
284 TH1* hCDCExtraHitsOut_BF =
findHist(
"TrackingAbort_before_filter/nCDCExtraHits_OUT");
285 if (hCDCExtraHitsOut_BF !=
nullptr)
m_monObj->setVariable(
"nCDCExtraHitsBeforeFilter_outActiveVeto",
286 hCDCExtraHitsOut_BF->GetMean());
318 hAverage->Scale(1. / nEvents);
320 const int nBins = hAverage->GetNbinsX();
321 for (
int bin = 1; bin < nBins + 1; bin++) {
322 const TString binLabel = hAverage->GetXaxis()->GetBinLabel(bin);
323 const TString varName = TString::Format(
"%s%s", binLabel.Data(), tag.Data());
324 const float varValue = hAverage->GetBinContent(bin);
325 m_monObj->setVariable(varName.Data(), varValue);