/usr/include/root/RooMomentMorph.h is in libroot-roofit-dev 5.34.19+dfsg-1.2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 | /*****************************************************************************
* Project: RooFit *
* *
* This code was autogenerated by RooClassFactory *
*****************************************************************************/
#ifndef ROOMOMENTMORPH
#define ROOMOMENTMORPH
#include "RooAbsPdf.h"
#include "RooRealProxy.h"
#include "RooCategoryProxy.h"
#include "RooAbsReal.h"
#include "RooAbsCategory.h"
#include "RooSetProxy.h"
#include "RooListProxy.h"
#include "RooArgList.h"
#include "TMatrixD.h"
#include "TVectorD.h"
#include <vector>
#include <string>
class RooChangeTracker ;
class RooMomentMorph : public RooAbsPdf {
public:
enum Setting { Linear, NonLinear, NonLinearPosFractions, NonLinearLinFractions, SineLinear } ;
RooMomentMorph() ;
RooMomentMorph(const char *name, const char *title, RooAbsReal& _m, const RooArgList& varList,
const RooArgList& pdfList, const RooArgList& mrefList, Setting setting = NonLinearPosFractions);
RooMomentMorph(const char *name, const char *title, RooAbsReal& _m, const RooArgList& varList,
const RooArgList& pdfList, const TVectorD& mrefpoints, Setting setting = NonLinearPosFractions );
RooMomentMorph(const RooMomentMorph& other, const char* name=0) ;
virtual TObject* clone(const char* newname) const { return new RooMomentMorph(*this,newname); }
virtual ~RooMomentMorph();
void setMode(const Setting& setting) { _setting = setting; }
void useHorizontalMorphing(bool val) { _useHorizMorph = val; }
virtual Bool_t selfNormalized() const {
// P.d.f is self normalized
return kTRUE ;
}
virtual Double_t getVal(const RooArgSet* set=0) const ;
RooAbsPdf* sumPdf(const RooArgSet* nset) ;
protected:
class CacheElem : public RooAbsCacheElement {
public:
CacheElem(RooAbsPdf& sumPdf, RooChangeTracker& tracker, const RooArgList& flist) : _sumPdf(&sumPdf), _tracker(&tracker) { _frac.add(flist) ; } ;
void operModeHook(RooAbsArg::OperMode) {};
virtual ~CacheElem() ;
virtual RooArgList containedArgs(Action) ;
RooAbsPdf* _sumPdf ;
RooChangeTracker* _tracker ;
RooArgList _frac ;
RooRealVar* frac(Int_t i ) ;
const RooRealVar* frac(Int_t i ) const ;
void calculateFractions(const RooMomentMorph& self, Bool_t verbose=kTRUE) const;
} ;
mutable RooObjCacheManager _cacheMgr ; //! The cache manager
mutable RooArgSet* _curNormSet ; //! Current normalization set
friend class CacheElem ; // Cache needs to be able to clear _norm pointer
Double_t evaluate() const ;
void initialize();
CacheElem* getCache(const RooArgSet* nset) const ;
inline Int_t ij(const Int_t& i, const Int_t& j) const { return (i*_varList.getSize()+j); }
int idxmin(const double& m) const;
int idxmax(const double& m) const;
RooRealProxy m ;
RooSetProxy _varList ;
RooListProxy _pdfList ;
mutable TVectorD* _mref;
TIterator* _varItr ; //! do not persist
TIterator* _pdfItr ; //!
mutable TMatrixD* _M; //
Setting _setting;
bool _useHorizMorph;
ClassDef(RooMomentMorph,3) // Your description goes here...
};
#endif
|