16 #ifndef ROO_THRESHOLD_CATEGORY
17 #define ROO_THRESHOLD_CATEGORY
26 class RooThresholdCategory :
public RooAbsCategory {
30 RooThresholdCategory() {};
31 RooThresholdCategory(
const char *name,
const char *title, RooAbsReal& inputVar,
32 const char* defCatName=
"Default", Int_t defCatIdx=0);
33 RooThresholdCategory(
const RooThresholdCategory& other,
const char *name=0) ;
34 virtual TObject* clone(
const char* newname)
const {
return new RooThresholdCategory(*
this, newname); }
37 Bool_t addThreshold(Double_t upperLimit,
const char* catName, Int_t catIdx=-99999) ;
40 virtual void printMultiline(std::ostream& os, Int_t content, Bool_t verbose=kFALSE, TString indent=
"")
const ;
42 void writeToStream(std::ostream& os, Bool_t compact)
const ;
46 RooRealProxy _inputVar ;
47 const RooCatType* _defCat{
nullptr};
48 std::vector<std::pair<double,RooCatType>> _threshList;
50 virtual RooCatType evaluate()
const ;
52 ClassDef(RooThresholdCategory, 2)