22 enum class EFitExtraMask {
27 kDiagonalSliceIgnored,
28 kUltraDiagonalSliceIgnored
33 Double_t fMin[3], fMax[3];
34 std::vector<std::vector<std::vector<Short_t>>> fRawMask;
51 ApplyRange(Double_t minX, Double_t maxX, Double_t minY, Double_t maxY, Double_t minZ, Double_t maxZ, Bool_t additive = kTRUE);
52 void ApplyMask(EFitExtraMask mask, Bool_t additive = kFALSE);
53 void SetBin(Int_t binX, Int_t binY, Int_t binZ, Bool_t state =
true);
54 void Reset(Bool_t state = kTRUE);
55 void ApplyThreshold(
const TH1& h, Double_t threshold = 0);
57 inline Bool_t GetBinFlag(Int_t x, Int_t y, Int_t z)
const {
return fRawMask[x][y][z]; };
58 Bool_t AreCompatible(TObject* cf)
const;
59 Int_t GetNBins()
const {
return fRawMask.size() - 2; };
60 Int_t GetNbinsX()
const {
return fRawMask.size() - 2; };
61 Int_t GetNbinsY()
const {
return fRawMask[0].size() - 2; };
62 Int_t GetNbinsZ()
const {
return fRawMask[0][0].size() - 2; };