Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
LinInterpVar.h
Go to the documentation of this file.
1 // @(#)root/roostats:$Id: cranmer $
2 // Author: Kyle Cranmer, Akira Shibata
3 /*************************************************************************
4  * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. *
5  * All rights reserved. *
6  * *
7  * For the licensing terms see $ROOTSYS/LICENSE. *
8  * For the list of contributors see $ROOTSYS/README/CREDITS. *
9  *************************************************************************/
10 
11 #ifndef ROOSTATS_LININTERPVAR
12 #define ROOSTATS_LININTERPVAR
13 
14 #include "RooAbsPdf.h"
15 #include "RooRealProxy.h"
16 #include "RooListProxy.h"
17 
18 class RooRealVar;
19 class RooArgList ;
20 
21 namespace RooStats{
22 namespace HistFactory{
23 
24  class LinInterpVar : public RooAbsReal {
25  public:
26 
27  LinInterpVar() ;
28  LinInterpVar(const char *name, const char *title,
29  const RooArgList& _paramList, double nominal, std::vector<double> low, std::vector<double> high);
30 
31  LinInterpVar(const char *name, const char *title);
32  LinInterpVar(const LinInterpVar&, const char*);
33 
34  virtual TObject* clone(const char* newname) const { return new LinInterpVar(*this, newname); }
35  virtual ~LinInterpVar() ;
36 
37 
38  protected:
39 
40  RooListProxy _paramList ;
41  double _nominal;
42  std::vector<double> _low;
43  std::vector<double> _high;
44 
45  TIterator* _paramIter ; //! do not persist
46 
47  Double_t evaluate() const;
48 
49  ClassDef(RooStats::HistFactory::LinInterpVar,1) // Piecewise linear interpolation
50  };
51 }
52 }
53 
54 #endif