Logo ROOT  
Reference Guide
RooBinningCategory.h
Go to the documentation of this file.
1/*****************************************************************************
2 * Project: RooFit *
3 * Package: RooFitCore *
4 * File: $Id$
5 * Authors: *
6 * WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu *
7 * DK, David Kirkby, UC Irvine, dkirkby@uci.edu *
8 * *
9 * Copyright (c) 2000-2005, Regents of the University of California *
10 * and Stanford University. All rights reserved. *
11 * *
12 * Redistribution and use in source and binary forms, *
13 * with or without modification, are permitted according to the terms *
14 * listed in LICENSE (http://roofit.sourceforge.net/license.txt) *
15 *****************************************************************************/
16#ifndef ROO_BINNING_CATEGORY
17#define ROO_BINNING_CATEGORY
18
19#include "RooAbsCategory.h"
20#include "RooTemplateProxy.h"
21#include "TString.h"
22
24
25public:
26 // Constructors etc.
27 inline RooBinningCategory() { }
28 RooBinningCategory(const char *name, const char *title, RooAbsRealLValue& inputVar, const char* binningName=0, const char* catTypeName=0);
29 RooBinningCategory(const RooBinningCategory& other, const char *name=0) ;
30 TObject* clone(const char* newname) const override { return new RooBinningCategory(*this, newname); }
31 ~RooBinningCategory() override;
32
33 /// Printing interface (human readable)
34 void printMultiline(std::ostream& os, Int_t content, bool verbose=false, TString indent="") const override ;
35
36protected:
37
38 void initialize(const char* catTypeName=0) ;
39
40 RooTemplateProxy<RooAbsRealLValue> _inputVar; ///< Input variable that is mapped
41 TString _bname ; ///< Name of the binning specification to be used to perform the mapping
42
43 value_type evaluate() const override;
44 /// The shape of this category does not need to be recomputed, as it creates states on the fly.
45 void recomputeShape() override { }
46
47 ClassDefOverride(RooBinningCategory,1) // RealVar-to-Category function defined by bin boundaries on input var
48};
49
50#endif
#define ClassDefOverride(name, id)
Definition: Rtypes.h:339
static void indent(ostringstream &buf, int indent_level)
char name[80]
Definition: TGX11.cxx:110
A space to attach TBranches.
RooAbsRealLValue is the common abstract base class for objects that represent a real value that may a...
Class RooBinningCategory provides a real-to-category mapping defined by a series of thresholds.
void printMultiline(std::ostream &os, Int_t content, bool verbose=false, TString indent="") const override
Printing interface (human readable)
value_type evaluate() const override
Calculate and return the value of the mapping function.
~RooBinningCategory() override
Destructor.
TString _bname
Name of the binning specification to be used to perform the mapping.
RooTemplateProxy< RooAbsRealLValue > _inputVar
Input variable that is mapped.
void recomputeShape() override
The shape of this category does not need to be recomputed, as it creates states on the fly.
TObject * clone(const char *newname) const override
void initialize(const char *catTypeName=0)
Iterator over all bins in input variable and define corresponding state labels.
Mother of all ROOT objects.
Definition: TObject.h:37
Basic string class.
Definition: TString.h:136