20 for (bin = 0; bin < hst->GetNbinsX(); bin++){
21 if (hst->GetBinContent(bin) > 0)
break;
24 return (bin < hst->GetNbinsX()) ? bin : 0;
36 for (bin = hst->GetNbinsX(); bin > 0; bin--){
37 if (hst->GetBinContent(bin) > 0)
break;
40 return (bin > 0) ? bin : hst->GetNbinsX();
52 std::cout <<
"\033[1;31mERROR:\033[0m histogram to be cleaned up does not exist!" << std::endl;
56 Int_t cutoff = hist->GetNbinsX();
57 Float_t range = TMath::Abs(hist->GetMaximum() - hist->GetMinimum());
59 for (Int_t bin = 0; bin <= cutoff; bin++){
61 Float_t error = 2*hist->GetBinError(bin);
62 if (error/range >= factor) cutoff = bin;
66 for (Int_t bin = cutoff; bin < hist->GetNbinsX(); bin++){
68 hist->SetBinContent(bin, 0);
69 hist->SetBinError(bin, 0);
void CleanUpHistogram(TH1 *hist, Double_t factor)
Definition: functionality.h:44
Int_t GetXfirstFilledBin(AO *hst)
Definition: functionality.h:13
Int_t GetXlastFilledBin(AO *hst)
Definition: functionality.h:29