ABObj.h   ABObj.h 
// @(#)root/minuit2:$Id: ABObj.h 23970 2008-05-22 13:37:25Z moneta $ // @(#)root/minuit2:$Id: ABObj.h 34019 2010-06-21 15:19:37Z rdm $
// Authors: M. Winkler, F. James, L. Moneta, A. Zsenei 2003-2005 // Authors: M. Winkler, F. James, L. Moneta, A. Zsenei 2003-2005
/********************************************************************** /**********************************************************************
* * * *
* Copyright (c) 2005 LCG ROOT Math team, CERN/PH-SFT * * Copyright (c) 2005 LCG ROOT Math team, CERN/PH-SFT *
* * * *
**********************************************************************/ **********************************************************************/
#ifndef ROOT_Minuit2_ABObj #ifndef ROOT_Minuit2_ABObj
#define ROOT_Minuit2_ABObj #define ROOT_Minuit2_ABObj
skipping to change at line 33 skipping to change at line 33
typedef mtype Type; typedef mtype Type;
private: private:
ABObj() : fObject(M()), fFactor(T(0.)) {} ABObj() : fObject(M()), fFactor(T(0.)) {}
ABObj& operator=(const ABObj&) {return *this;} ABObj& operator=(const ABObj&) {return *this;}
template<class a, class b, class c> template<class a, class b, class c>
ABObj(const ABObj<a,b,c>& obj) : fObject(M()), fFactor(T(0.)) {} ABObj(const ABObj<a,b,c>&) : fObject(M()), fFactor(T(0.)) {}
template<class a, class b, class c> template<class a, class b, class c>
ABObj& operator=(const ABObj<a,b,c>&) {return *this;} ABObj& operator=(const ABObj<a,b,c>&) {return *this;}
public: public:
ABObj(const M& obj) : fObject(obj), fFactor(T(1.)) {} ABObj(const M& obj) : fObject(obj), fFactor(T(1.)) {}
ABObj(const M& obj, T factor) : fObject(obj), fFactor(factor) {} ABObj(const M& obj, T factor) : fObject(obj), fFactor(factor) {}
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 BayesianCalculator.h   BayesianCalculator.h 
// @(#)root/roostats:$Id: BayesianCalculator.h 33228 2010-04-27 07:09:42Z m oneta $ // @(#)root/roostats:$Id: BayesianCalculator.h 34109 2010-06-24 15:00:16Z m oneta $
// Author: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke // Author: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
#ifndef ROOSTATS_BayesianCalculator #ifndef ROOSTATS_BayesianCalculator
#define ROOSTATS_BayesianCalculator #define ROOSTATS_BayesianCalculator
#include "TNamed.h" #include "TNamed.h"
#include "Math/IFunctionfwd.h"
#ifndef ROO_ARG_SET #ifndef ROO_ARG_SET
#include "RooArgSet.h" #include "RooArgSet.h"
#endif #endif
#ifndef ROOSTATS_IntervalCalculator #ifndef ROOSTATS_IntervalCalculator
#include "RooStats/IntervalCalculator.h" #include "RooStats/IntervalCalculator.h"
#endif #endif
#ifndef ROOSTATS_SimpleInterval #ifndef ROOSTATS_SimpleInterval
#include "RooStats/SimpleInterval.h" #include "RooStats/SimpleInterval.h"
#endif #endif
class RooAbsData; class RooAbsData;
class RooAbsPdf; class RooAbsPdf;
class RooPlot; class RooPlot;
class RooAbsReal; class RooAbsReal;
class TF1;
namespace RooStats { namespace RooStats {
class ModelConfig; class ModelConfig;
class SimpleInterval; class SimpleInterval;
class BayesianCalculator : public IntervalCalculator, public TNamed { class BayesianCalculator : public IntervalCalculator, public TNamed {
public: public:
skipping to change at line 57 skipping to change at line 60
const RooArgSet& POI, const RooArgSet& POI,
RooAbsPdf& priorPOI, RooAbsPdf& priorPOI,
const RooArgSet* nuisanceParameters = 0 ); const RooArgSet* nuisanceParameters = 0 );
BayesianCalculator( RooAbsData& data, BayesianCalculator( RooAbsData& data,
ModelConfig& model ); ModelConfig& model );
// destructor // destructor
virtual ~BayesianCalculator(); virtual ~BayesianCalculator();
RooPlot* GetPosteriorPlot() const; // get the plot with option to get it normalized
RooPlot* GetPosteriorPlot(bool norm = false, double precision = 0.01)
const;
// return posterior pdf (object is managed by the BayesianCalculator class) // return posterior pdf (object is managed by the BayesianCalculator class)
RooAbsPdf* GetPosteriorPdf() const; RooAbsPdf* GetPosteriorPdf() const;
// return posterior function (object is managed by the BayesianCalcul
ator class)
RooAbsReal* GetPosteriorFunction() const;
// compute the interval. By Default a central interval is computed
// By using SetLeftTileFraction can control if central/ upper/lower i
nterval
// For shortest interval use SetShortestInterval(true)
virtual SimpleInterval* GetInterval() const ; virtual SimpleInterval* GetInterval() const ;
virtual void SetData( RooAbsData & data ) { virtual void SetData( RooAbsData & data ) {
fData = &data; fData = &data;
ClearAll(); ClearAll();
} }
// set the model via the ModelConfig
virtual void SetModel( const ModelConfig& model ); virtual void SetModel( const ModelConfig& model );
// set the size of the test (rate of Type I error) ( Eg. 0.05 for a 9 5% Confidence Interval) // set the size of the test (rate of Type I error) ( Eg. 0.05 for a 9 5% Confidence Interval)
virtual void SetTestSize( Double_t size ) { virtual void SetTestSize( Double_t size ) {
fSize = size; fSize = size;
fValidInterval = false; fValidInterval = false;
} }
// set the confidence level for the interval (eg. 0.95 for a 95% Conf idence Interval) // set the confidence level for the interval (eg. 0.95 for a 95% Conf idence Interval)
virtual void SetConfidenceLevel( Double_t cl ) { SetTestSize(1.-cl); } virtual void SetConfidenceLevel( Double_t cl ) { SetTestSize(1.-cl); }
// Get the size of the test (eg. rate of Type I error) // Get the size of the test (eg. rate of Type I error)
virtual Double_t Size() const { return fSize; } virtual Double_t Size() const { return fSize; }
// Get the Confidence level for the test // Get the Confidence level for the test
virtual Double_t ConfidenceLevel() const { return 1.-fSize; } virtual Double_t ConfidenceLevel() const { return 1.-fSize; }
// set the fraction of probability content on the left tail
// Central limits use 0.5 (default case)
// for upper limits it is 0 and 1 for lower limit
// For shortest intervals a negative value (i.e. -1) must be given
void SetLeftSideTailFraction(Double_t leftSideFraction ) {fLeftSideF
raction = leftSideFraction;}
// set the Bayesian calculator to compute the shorest interval (defau
lt is central interval)
// to switch off SetLeftSideTailFraction to the rght value
void SetShortestInterval() { fLeftSideFraction = -1; }
// set the precision of the Root Finder
void SetBrfPrecision( double precision ) { fBrfPrecision = precision;
}
// use directly the approximate posterior function obtained by binnin
g it in nbins
// by default the cdf is used by integrating the posterior
// if a value of nbin <= 0 the cdf function will be used
void SetScanOfPosterior(int nbin = 100) { fNScanBins = nbin; }
// set the integration type (possible type are)
// 1D: adaptive, gauss, nonadaptive
// multidim: adaptive, vegas, miser, plain. These last 3 are based on
MC integration
void SetIntegrationType(const char * type);
// return the mode (most probable value of the posterior function)
double GetMode() const;
protected: protected:
void ClearAll() const; void ClearAll() const;
void ApproximatePosterior() const;
void ComputeIntervalFromApproxPosterior(double c1, double c2) const;
void ComputeIntervalFromCdf(double c1, double c2) const;
void ComputeIntervalUsingRooFit(double c1, double c2) const;
void ComputeShortestInterval() const;
private: private:
// compute the most probable value: move to public once implemented
// returns a RooArgSet
RooArgSet* GetMode( RooArgSet* parameters ) const;
// plan to replace the above: return a SimpleInterval integrating // plan to replace the above: return a SimpleInterval integrating
// over all other parameters except the one specified as argument // over all other parameters except the one specified as argument
//virtual SimpleInterval* GetInterval( RooRealVar* parameter ) const { return 0; } //virtual SimpleInterval* GetInterval( RooRealVar* parameter ) const { return 0; }
RooAbsData* fData; RooAbsData* fData;
RooAbsPdf* fPdf; RooAbsPdf* fPdf;
RooArgSet fPOI; RooArgSet fPOI;
RooAbsPdf* fPriorPOI; RooAbsPdf* fPriorPOI;
RooArgSet fNuisanceParameters; RooArgSet fNuisanceParameters;
mutable RooAbsPdf* fProductPdf; mutable RooAbsPdf* fProductPdf; // internal pointer to m
mutable RooAbsReal* fLogLike; odel * prior
mutable RooAbsReal* fLikelihood; mutable RooAbsReal* fLogLike; // internal pointer to l
mutable RooAbsReal* fIntegratedLikelihood; og likelihood function
mutable RooAbsPdf* fPosteriorPdf; mutable RooAbsReal* fLikelihood; // internal pointer to l
mutable Double_t fLower; ikelihood function
mutable Double_t fUpper; mutable RooAbsReal* fIntegratedLikelihood; // integrated likelihood
function, i.e - unnormalized posterior function
mutable RooAbsPdf* fPosteriorPdf; // normalized (on the p
oi) posterior pdf
mutable ROOT::Math::IGenFunction * fPosteriorFunction; // function
representing the posterior
mutable TF1 * fApproxPosterior; // TF1 representing the scanned po
sterior function
mutable Double_t fLower; // computer lower interval bound
mutable Double_t fUpper; // upper interval bound
double fSize; // size used for getting the interval
double fLeftSideFraction; // fraction of probability content on le
ft side of interval
double fBrfPrecision; // root finder precision
int fNScanBins; // number of bins to scan, if = -1 no scan
is done (default)
mutable Bool_t fValidInterval; mutable Bool_t fValidInterval;
double fSize; // size used for getting the interval TString fIntegrationType;
protected: protected:
ClassDef(BayesianCalculator,1) // BayesianCalculator class ClassDef(BayesianCalculator,1) // BayesianCalculator class
}; };
} }
#endif #endif
 End of changes. 12 change blocks. 
13 lines changed or deleted 79 lines changed or added


 BinarySearchTreeNode.h   BinarySearchTreeNode.h 
// @(#)root/tmva $Id: BinarySearchTreeNode.h 31458 2009-11-30 13:58:20Z ste lzer $ // @(#)root/tmva $Id: BinarySearchTreeNode.h 33928 2010-06-15 16:19:31Z ste lzer $
// Author: Andreas Hoecker, Joerg Stelzer, Helge Voss, Kai Voss // Author: Andreas Hoecker, Joerg Stelzer, Helge Voss, Kai Voss
/************************************************************************** ******** /************************************************************************** ********
* Project: TMVA - a Root-integrated toolkit for multivariate data analysis * * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
* Package: TMVA * * Package: TMVA *
* Classes: Node, NodeID * * Classes: Node, NodeID *
* Web : http://tmva.sourceforge.net * * Web : http://tmva.sourceforge.net *
* * * *
* Description: * * Description: *
* Node for the BinarySearch * * Node for the BinarySearch *
skipping to change at line 115 skipping to change at line 115
private: private:
// Read the data block // Read the data block
virtual void ReadAttributes(void* node, UInt_t tmva_Version_Code = TM VA_VERSION_CODE ); virtual void ReadAttributes(void* node, UInt_t tmva_Version_Code = TM VA_VERSION_CODE );
virtual Bool_t ReadDataRecord( std::istream& is, UInt_t tmva_Version_ Code = TMVA_VERSION_CODE ); virtual Bool_t ReadDataRecord( std::istream& is, UInt_t tmva_Version_ Code = TMVA_VERSION_CODE );
virtual void ReadContent(std::stringstream& s); virtual void ReadContent(std::stringstream& s);
std::vector<Float_t> fEventV; std::vector<Float_t> fEventV;
std::vector<Float_t> fTargets; std::vector<Float_t> fTargets;
Float_t fWeight; Float_t fWeight;
// Float_t fIsSignal; // Float_t fIsSignal;
Int_t fClass; UInt_t fClass;
Short_t fSelector; // index of variable used in node select ion (decision tree) Short_t fSelector; // index of variable used in node select ion (decision tree)
ClassDef(BinarySearchTreeNode,0) // Node for the BinarySearchTree ClassDef(BinarySearchTreeNode,0) // Node for the BinarySearchTree
}; };
} // namespace TMVA } // namespace TMVA
#endif #endif
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 BinaryTree.h   BinaryTree.h 
// @(#)root/tmva $Id: BinaryTree.h 31458 2009-11-30 13:58:20Z stelzer $ // @(#)root/tmva $Id: BinaryTree.h 33928 2010-06-15 16:19:31Z stelzer $
// Author: Andreas Hoecker, Joerg Stelzer, Helge Voss, Kai Voss // Author: Andreas Hoecker, Joerg Stelzer, Helge Voss, Kai Voss
/************************************************************************** ******** /************************************************************************** ********
* Project: TMVA - a Root-integrated toolkit for multivariate data analysis * * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
* Package: TMVA * * Package: TMVA *
* Class : BinaryTree * * Class : BinaryTree *
* Web : http://tmva.sourceforge.net * * Web : http://tmva.sourceforge.net *
* * * *
* Description: * * Description: *
* BinaryTree: A base class for BinarySearch- or Decision-Trees * * BinaryTree: A base class for BinarySearch- or Decision-Trees *
skipping to change at line 124 skipping to change at line 124
// of by the "node" properties of the "root" // of by the "node" properties of the "root"
protected: protected:
// delete a node (and the corresponding event if owned by the tree) // delete a node (and the corresponding event if owned by the tree)
void DeleteNode( Node* ); void DeleteNode( Node* );
UInt_t fNNodes; // total number of nodes in the tree (c ounted) UInt_t fNNodes; // total number of nodes in the tree (c ounted)
UInt_t fDepth; // maximal depth in tree reached UInt_t fDepth; // maximal depth in tree reached
mutable MsgLogger* fLogger; // message loggera static MsgLogger* fgLogger; // message logger, static to save resou
MsgLogger& Log() const { return *fLogger; } rces
MsgLogger& Log() const { return *fgLogger; }
ClassDef(BinaryTree,0) // Base class for BinarySearch and Decision Tr ees ClassDef(BinaryTree,0) // Base class for BinarySearch and Decision Tr ees
}; };
} // namespace TMVA } // namespace TMVA
#endif #endif
 End of changes. 2 change blocks. 
3 lines changed or deleted 4 lines changed or added


 Class.h   Class.h 
skipping to change at line 148 skipping to change at line 148
int HasMethod(const char *fname); int HasMethod(const char *fname);
int HasDataMember(const char *name); int HasDataMember(const char *name);
int HasDefaultConstructor(); int HasDefaultConstructor();
private: private:
void CheckValidRootInfo(); void CheckValidRootInfo();
public: public:
long ClassProperty(); long ClassProperty();
unsigned char FuncFlag(); unsigned char FuncFlag();
static int GetNumClasses();
}; };
/********************************************************************* /*********************************************************************
* class G__FriendInfo * class G__FriendInfo
* *
* *
*********************************************************************/ *********************************************************************/
class class
#ifndef __CINT__ #ifndef __CINT__
 End of changes. 1 change blocks. 
0 lines changed or deleted 1 lines changed or added


 Config.h   Config.h 
// @(#)root/tmva $Id: Config.h 32128 2010-01-28 07:13:49Z brun $ // @(#)root/tmva $Id: Config.h 33931 2010-06-15 16:49:02Z stelzer $
// Author: Andreas Hoecker, Joerg Stelzer, Fredrik Tegenfeldt, Helge Voss // Author: Andreas Hoecker, Joerg Stelzer, Fredrik Tegenfeldt, Helge Voss
/************************************************************************** ******** /************************************************************************** ********
* Project: TMVA - a Root-integrated toolkit for multivariate data analysis * * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
* Package: TMVA * * Package: TMVA *
* Class : Config * * Class : Config *
* Web : http://tmva.sourceforge.net * * Web : http://tmva.sourceforge.net *
* * * *
* Description: * * Description: *
* GLobal configuration settings (singleton) * * GLobal configuration settings (singleton) *
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 DataInputHandler.h   DataInputHandler.h 
// @(#)root/tmva $Id: DataInputHandler.h 29195 2009-06-24 10:39:49Z brun $ // @(#)root/tmva $Id: DataInputHandler.h 33928 2010-06-15 16:19:31Z stelzer
// Author: Andreas Hoecker, Joerg Stelzer, Helge Voss $
// Author: Andreas Hoecker, Peter Speckmayer, Joerg Stelzer, Helge Voss
/************************************************************************** ******** /************************************************************************** ********
* Project: TMVA - a Root-integrated toolkit for multivariate data analysis * * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
* Package: TMVA * * Package: TMVA *
* Class : DataInputHandler * * Class : DataInputHandler *
* Web : http://tmva.sourceforge.net * * Web : http://tmva.sourceforge.net *
* * * *
* Description: * * Description: *
* Contains all the data information * * Contains all the data information *
* * * *
* Authors (alphabetical): * * Authors (alphabetical): *
* Andreas Hoecker <Andreas.Hocker@cern.ch> - CERN, Switzerland * * Andreas Hoecker <Andreas.Hocker@cern.ch> - CERN, Switzerland *
* Joerg Stelzer <Joerg.Stelzer@cern.ch> - CERN, Switzerland * * Joerg Stelzer <Joerg.Stelzer@cern.ch> - CERN, Switzerland *
* Peter Speckmayer <Peter.Speckmayer@cern.ch> - CERN, Switzerland *
* Helge Voss <Helge.Voss@cern.ch> - MPI-K Heidelberg, German y * * Helge Voss <Helge.Voss@cern.ch> - MPI-K Heidelberg, German y *
* * * *
* Copyright (c) 2006: * * Copyright (c) 2006: *
* CERN, Switzerland * * CERN, Switzerland *
* MPI-K Heidelberg, Germany * * MPI-K Heidelberg, Germany *
* * * *
* Redistribution and use in source and binary forms, with or without * * Redistribution and use in source and binary forms, with or without *
* modification, are permitted according to the terms listed in LICENSE * * modification, are permitted according to the terms listed in LICENSE *
* (http://tmva.sourceforge.net/LICENSE) * * (http://tmva.sourceforge.net/LICENSE) *
************************************************************************** ********/ ************************************************************************** ********/
 End of changes. 2 change blocks. 
2 lines changed or deleted 4 lines changed or added


 DataSet.h   DataSet.h 
// @(#)root/tmva $Id: DataSet.h 29195 2009-06-24 10:39:49Z brun $ // @(#)root/tmva $Id: DataSet.h 33928 2010-06-15 16:19:31Z stelzer $
// Author: Andreas Hoecker, Joerg Stelzer, Helge Voss // Author: Andreas Hoecker, Peter Speckmayer, Joerg Stelzer, Helge Voss
/************************************************************************** ******** /************************************************************************** ********
* Project: TMVA - a Root-integrated toolkit for multivariate data analysis * * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
* Package: TMVA * * Package: TMVA *
* Class : DataSet * * Class : DataSet *
* Web : http://tmva.sourceforge.net * * Web : http://tmva.sourceforge.net *
* * * *
* Description: * * Description: *
* Contains all the data information * * Contains all the data information *
* * * *
* Authors (alphabetical): * * Authors (alphabetical): *
* Andreas Hoecker <Andreas.Hocker@cern.ch> - CERN, Switzerland * * Andreas Hoecker <Andreas.Hocker@cern.ch> - CERN, Switzerland *
* Joerg Stelzer <Joerg.Stelzer@cern.ch> - CERN, Switzerland * * Joerg Stelzer <Joerg.Stelzer@cern.ch> - CERN, Switzerland *
* Peter Speckmayer <Peter.Speckmayer@cern.ch> - CERN, Switzerland *
* Helge Voss <Helge.Voss@cern.ch> - MPI-K Heidelberg, German y * * Helge Voss <Helge.Voss@cern.ch> - MPI-K Heidelberg, German y *
* * * *
* Copyright (c) 2006: * * Copyright (c) 2006: *
* CERN, Switzerland * * CERN, Switzerland *
* U. of Victoria, Canada * * U. of Victoria, Canada *
* MPI-K Heidelberg, Germany * * MPI-K Heidelberg, Germany *
* * * *
* Redistribution and use in source and binary forms, with or without * * Redistribution and use in source and binary forms, with or without *
* modification, are permitted according to the terms listed in LICENSE * * modification, are permitted according to the terms listed in LICENSE *
* (http://tmva.sourceforge.net/LICENSE) * * (http://tmva.sourceforge.net/LICENSE) *
 End of changes. 2 change blocks. 
2 lines changed or deleted 3 lines changed or added


 DataSetFactory.h   DataSetFactory.h 
// @(#)root/tmva $Id: DataSetFactory.h 31466 2009-11-30 16:23:35Z stelzer $ // @(#)root/tmva $Id: DataSetFactory.h 33928 2010-06-15 16:19:31Z stelzer $
// Author: Andreas Hoecker, Peter Speckmayer, Joerg Stelzer, Eckhard von To erne, Helge Voss // Author: Andreas Hoecker, Peter Speckmayer, Joerg Stelzer, Eckhard von To erne, Helge Voss
/************************************************************************** ******** /************************************************************************** ********
* Project: TMVA - a Root-integrated toolkit for multivariate data analysis * * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
* Package: TMVA * * Package: TMVA *
* Class : DataSetFactory * * Class : DataSetFactory *
* Web : http://tmva.sourceforge.net * * Web : http://tmva.sourceforge.net *
* * * *
* Description: * * Description: *
* Contains all the data information * * Contains all the data information *
skipping to change at line 29 skipping to change at line 29
* * * *
* Copyright (c) 2006: * * Copyright (c) 2006: *
* CERN, Switzerland * * CERN, Switzerland *
* MPI-K Heidelberg, Germany * * MPI-K Heidelberg, Germany *
* * * *
* Redistribution and use in source and binary forms, with or without * * Redistribution and use in source and binary forms, with or without *
* modification, are permitted according to the terms listed in LICENSE * * modification, are permitted according to the terms listed in LICENSE *
* (http://tmva.sourceforge.net/LICENSE) * * (http://tmva.sourceforge.net/LICENSE) *
************************************************************************** ********/ ************************************************************************** ********/
#define ALTERNATIVE_EVENT_VECTOR_BUILDING 1
#ifndef ROOT_TMVA_DataSetFactory #ifndef ROOT_TMVA_DataSetFactory
#define ROOT_TMVA_DataSetFactory #define ROOT_TMVA_DataSetFactory
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// // // //
// DataSetFactory // // DataSetFactory //
// // // //
// Class that contains all the data information // // Class that contains all the data information //
// // // //
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
skipping to change at line 229 skipping to change at line 227
protected: protected:
~DataSetFactory(); ~DataSetFactory();
DataSetFactory(); DataSetFactory();
static DataSetFactory *fgInstance; static DataSetFactory *fgInstance;
DataSet* BuildInitialDataSet( DataSetInfo&, TMVA::DataInputHandler& ); DataSet* BuildInitialDataSet( DataSetInfo&, TMVA::DataInputHandler& );
DataSet* BuildDynamicDataSet( DataSetInfo& ); DataSet* BuildDynamicDataSet( DataSetInfo& );
#ifndef ALTERNATIVE_EVENT_VECTOR_BUILDING
void BuildEventVector ( DataSetInfo& dsi,
DataInputHandler& dataInput,
std::vector< std::vector< Event* > >&
tmpEventVector,
std::vector<Double_t>& sumOfWeights,
std::vector<Double_t>& nTempEvents,
std::vector<Double_t>& renormFactor,
std::vector< std::vector< std::pair< L
ong64_t, Types::ETreeType > > >& userDefinedEventTypes );
DataSet* MixEvents ( DataSetInfo& dsi,
std::vector< std::vector< Event* > >&
tmpEventVector,
std::vector< std::pair< Int_t, Int_t >
>& nTrainTestEvents,
const TString& splitMode, UInt_t split
Seed,
std::vector<Double_t>& renormFactor,
std::vector< std::vector< std::pair< L
ong64_t, Types::ETreeType > > >& userDefinedEventTypes );
void InitOptions ( DataSetInfo& dsi,
std::vector< std::pair< Int_t, Int_t >
>& nTrainTestEvents,
TString& normMode, UInt_t& splitSeed,
TString& splitMode );
#else
// ---------- new versions // ---------- new versions
void BuildEventVector ( DataSetInfo& dsi, void BuildEventVector ( DataSetInfo& dsi,
DataInputHandler& dataInput, DataInputHandler& dataInput,
EventVectorOfClassesOfTreeType& tmpEv entVector); EventVectorOfClassesOfTreeType& tmpEv entVector);
DataSet* MixEvents ( DataSetInfo& dsi, DataSet* MixEvents ( DataSetInfo& dsi,
EventVectorOfClassesOfTreeType& tmpEv entVector, EventVectorOfClassesOfTreeType& tmpEv entVector,
NumberPerClassOfTreeType& nTrainTestE vents, NumberPerClassOfTreeType& nTrainTestE vents,
const TString& splitMode, const TString& splitMode,
const TString& mixMode, const TString& mixMode,
skipping to change at line 273 skipping to change at line 249
void RenormEvents ( DataSetInfo& dsi, void RenormEvents ( DataSetInfo& dsi,
EventVectorOfClassesOfTreeType& tmpEv entVector, EventVectorOfClassesOfTreeType& tmpEv entVector,
const TString& normMode ); const TString& normMode );
void InitOptions ( DataSetInfo& dsi, void InitOptions ( DataSetInfo& dsi,
NumberPerClassOfTreeType& nTrainTestE vents, NumberPerClassOfTreeType& nTrainTestE vents,
TString& normMode, UInt_t& splitSeed, TString& splitMode, TString& mixMode ); TString& normMode, UInt_t& splitSeed, TString& splitMode, TString& mixMode );
// ------------------------ // ------------------------
#endif
// auxiliary functions to compute correlations // auxiliary functions to compute correlations
TMatrixD* CalcCorrelationMatrix( DataSet*, const UInt_t classNumber ) ; TMatrixD* CalcCorrelationMatrix( DataSet*, const UInt_t classNumber ) ;
TMatrixD* CalcCovarianceMatrix ( DataSet*, const UInt_t classNumber ) ; TMatrixD* CalcCovarianceMatrix ( DataSet*, const UInt_t classNumber ) ;
void CalcMinMax ( DataSet*, DataSetInfo& dsi ); void CalcMinMax ( DataSet*, DataSetInfo& dsi );
// resets branch addresses to current event // resets branch addresses to current event
void ResetBranchAndEventAddresses( TTree* ); void ResetBranchAndEventAddresses( TTree* );
void ResetCurrentTree() { fCurrentTree = 0; } void ResetCurrentTree() { fCurrentTree = 0; }
void ChangeToNewTree( TreeInfo&, const DataSetInfo & ); void ChangeToNewTree( TreeInfo&, const DataSetInfo & );
 End of changes. 4 change blocks. 
34 lines changed or deleted 1 lines changed or added


 DataSetInfo.h   DataSetInfo.h 
// // @(#)root/tmva $Id: DataSetInfo.h 31458 2009-11-30 13:58:20Z stelzer $ // // @(#)root/tmva $Id: DataSetInfo.h 33928 2010-06-15 16:19:31Z stelzer $
// Author: Andreas Hoecker, Joerg Stelzer, Helge Voss // Author: Andreas Hoecker, Peter Speckmayer, Joerg Stelzer, Helge Voss
/************************************************************************** ******** /************************************************************************** ********
* Project: TMVA - a Root-integrated toolkit for multivariate data analysis * * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
* Package: TMVA * * Package: TMVA *
* Class : DataSetInfo * * Class : DataSetInfo *
* Web : http://tmva.sourceforge.net * * Web : http://tmva.sourceforge.net *
* * * *
* Description: * * Description: *
* Contains all the data information * * Contains all the data information *
* * * *
skipping to change at line 76 skipping to change at line 76
#include "TMVA/Event.h" #include "TMVA/Event.h"
#endif #endif
class TH2; class TH2;
namespace TMVA { namespace TMVA {
class DataSet; class DataSet;
class VariableTransformBase; class VariableTransformBase;
class MsgLogger; class MsgLogger;
class DataSetManager;
class DataSetInfo : public TObject { class DataSetInfo : public TObject {
public: public:
DataSetInfo(const TString& name = "Default"); DataSetInfo(const TString& name = "Default");
virtual ~DataSetInfo(); virtual ~DataSetInfo();
virtual const char* GetName() const { return fName.Data(); } virtual const char* GetName() const { return fName.Data(); }
skipping to change at line 140 skipping to change at line 141
const TString& GetNormalization() const { return fN ormalization; } const TString& GetNormalization() const { return fN ormalization; }
void SetNormalization( const TString& nor m ) { fNormalization = norm; } void SetNormalization( const TString& nor m ) { fNormalization = norm; }
// classification information // classification information
Int_t GetClassNameMaxLength() const; Int_t GetClassNameMaxLength() const;
ClassInfo* GetClassInfo( Int_t clNum ) const; ClassInfo* GetClassInfo( Int_t clNum ) const;
ClassInfo* GetClassInfo( const TString& name ) const; ClassInfo* GetClassInfo( const TString& name ) const;
void PrintClasses() const; void PrintClasses() const;
UInt_t GetNClasses() const { return fClasses.size(); } UInt_t GetNClasses() const { return fClasses.size(); }
Bool_t IsSignal( const Event* ev ) const; Bool_t IsSignal( const Event* ev ) const;
std::vector<Float_t>* GetTargetsForMulticlass( const Event* ev );
// by variable // by variable
Int_t FindVarIndex( const TString& ) const; Int_t FindVarIndex( const TString& ) const;
// weights // weights
const TString GetWeightExpression(Int_t i) const { return G etClassInfo(i)->GetWeight(); } const TString GetWeightExpression(Int_t i) const { return G etClassInfo(i)->GetWeight(); }
void SetWeightExpression( const TString& exp, const TSt ring& className = "" ); void SetWeightExpression( const TString& exp, const TSt ring& className = "" );
// cuts // cuts
const TCut& GetCut (Int_t i) const { r eturn GetClassInfo(i)->GetCut(); } const TCut& GetCut (Int_t i) const { r eturn GetClassInfo(i)->GetCut(); }
skipping to change at line 175 skipping to change at line 177
// options // options
void SetSplitOptions(const TString& so) { fSplitOptions = so; fNeedsRebuilding = kTRUE; } void SetSplitOptions(const TString& so) { fSplitOptions = so; fNeedsRebuilding = kTRUE; }
const TString& GetSplitOptions() const { return fSplitOptions; } const TString& GetSplitOptions() const { return fSplitOptions; }
// root dir // root dir
void SetRootDir(TDirectory* d) { fOwnRootDir = d; } void SetRootDir(TDirectory* d) { fOwnRootDir = d; }
TDirectory* GetRootDir() const { return fOwnRootDir; } TDirectory* GetRootDir() const { return fOwnRootDir; }
private: private:
TMVA::DataSetManager* fDataSetManager; // DSMTEST
void SetDataSetManager( DataSetManager* dsm ) {
fDataSetManager = dsm; } // DSMTEST
friend class DataSetManager; // DSMTEST (datasetmanager test)
DataSetInfo( const DataSetInfo& ) : TObject() {} DataSetInfo( const DataSetInfo& ) : TObject() {}
void PrintCorrelationMatrix( TTree* theTree ); void PrintCorrelationMatrix( TTree* theTree );
TString fName; //! name of the datase t info object TString fName; //! name of the datase t info object
mutable DataSet* fDataSet; //! dataset, owned by this datasetinfo object mutable DataSet* fDataSet; //! dataset, owned by this datasetinfo object
mutable Bool_t fNeedsRebuilding; //! flag if rebuilding of dataset is needed (after change of cuts, vars, etc.) mutable Bool_t fNeedsRebuilding; //! flag if rebuilding of dataset is needed (after change of cuts, vars, etc.)
// expressions/formulas // expressions/formulas
skipping to change at line 200 skipping to change at line 206
mutable std::vector<ClassInfo*> fClasses; //! name and other inf os of the classes mutable std::vector<ClassInfo*> fClasses; //! name and other inf os of the classes
TString fNormalization; //! TString fNormalization; //!
TString fSplitOptions; //! TString fSplitOptions; //!
TDirectory* fOwnRootDir; //! ROOT output dir TDirectory* fOwnRootDir; //! ROOT output dir
Bool_t fVerbose; //! Verbosity Bool_t fVerbose; //! Verbosity
UInt_t fSignalClass; //! index of the class with the name signal UInt_t fSignalClass; //! index of the class with the name signal
std::vector<Float_t>* fTargetsForMulticlass; //! all targe
ts 0 except the one with index==classNumber
mutable MsgLogger* fLogger; //! message logger mutable MsgLogger* fLogger; //! message logger
MsgLogger& Log() const { return *fLogger; } MsgLogger& Log() const { return *fLogger; }
}; };
} }
#endif #endif
 End of changes. 5 change blocks. 
2 lines changed or deleted 12 lines changed or added


 DataSetManager.h   DataSetManager.h 
// @(#)root/tmva $Id: DataSetManager.h 29205 2009-06-24 19:33:19Z brun $ // @(#)root/tmva $Id: DataSetManager.h 33928 2010-06-15 16:19:31Z stelzer $
// Author: Andreas Hoecker, Joerg Stelzer, Helge Voss // Author: Andreas Hoecker, Peter Speckmayer, Joerg Stelzer, Helge Voss
/************************************************************************** ******** /************************************************************************** ********
* Project: TMVA - a Root-integrated toolkit for multivariate data analysis * * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
* Package: TMVA * * Package: TMVA *
* Class : DataSetManager * * Class : DataSetManager *
* Web : http://tmva.sourceforge.net * * Web : http://tmva.sourceforge.net *
* * * *
* Description: * * Description: *
* Singleton class for dataset management * * Singleton class for dataset management *
* * * *
* Authors (alphabetical): * * Authors (alphabetical): *
* Andreas Hoecker <Andreas.Hocker@cern.ch> - CERN, Switzerland * * Andreas Hoecker <Andreas.Hocker@cern.ch> - CERN, Switzerland *
* Joerg Stelzer <Joerg.Stelzer@cern.ch> - CERN, Switzerland * * Joerg Stelzer <Joerg.Stelzer@cern.ch> - CERN, Switzerland *
* Peter Speckmayer <Peter.Speckmayer@cern.ch> - CERN, Switzerland *
* Helge Voss <Helge.Voss@cern.ch> - MPI-K Heidelberg, German y * * Helge Voss <Helge.Voss@cern.ch> - MPI-K Heidelberg, German y *
* * * *
* Copyright (c) 2006: * * Copyright (c) 2006: *
* CERN, Switzerland * * CERN, Switzerland *
* MPI-K Heidelberg, Germany * * MPI-K Heidelberg, Germany *
* * * *
* Redistribution and use in source and binary forms, with or without * * Redistribution and use in source and binary forms, with or without *
* modification, are permitted according to the terms listed in LICENSE * * modification, are permitted according to the terms listed in LICENSE *
* (http://tmva.sourceforge.net/LICENSE) * * (http://tmva.sourceforge.net/LICENSE) *
************************************************************************** ********/ ************************************************************************** ********/
skipping to change at line 50 skipping to change at line 51
#endif #endif
#ifndef ROOT_TString #ifndef ROOT_TString
#include "TString.h" #include "TString.h"
#endif #endif
namespace TMVA { namespace TMVA {
class DataSet; class DataSet;
class DataSetInfo; class DataSetInfo;
class DataInputHandler; class DataInputHandler;
class DataSetFactory; // DSMTEST
class MsgLogger; class MsgLogger;
class DataSetManager { class DataSetManager {
public: public:
// singleton class // singleton class
static DataSetManager& Instance(); // static DataSetManager& Instance();
static void CreateInstance( DataInputHandler& dataInput ); // static void CreateInstance( DataInputHandler& dataInput
static void DestroyInstance(); );
// static void DestroyInstance();
// private default constructor
DataSetManager(); // DSMTEST
DataSetManager( DataInputHandler& dataInput ); //DSMTEST
~DataSetManager(); // DSMTEST
// ownership stays with this handler // ownership stays with this handler
DataSet* CreateDataSet ( const TString& dsiName ); DataSet* CreateDataSet ( const TString& dsiName );
DataSetInfo* GetDataSetInfo( const TString& dsiName ); DataSetInfo* GetDataSetInfo( const TString& dsiName );
// makes a local copy of the dataset info object // makes a local copy of the dataset info object
DataSetInfo& AddDataSetInfo( DataSetInfo& dsi ); DataSetInfo& AddDataSetInfo( DataSetInfo& dsi );
private: private:
~DataSetManager(); // ~DataSetManager(); // DSMTEST moved to public
static DataSetManager* fgDSManager; // static DataSetManager* fgDSManager; // removed DSMTEST
// private default constructor // private default constructor
DataSetManager(); /* DataSetManager(); */ // DSMTEST
DataSetManager( DataInputHandler& dataInput ); /* DataSetManager( DataInputHandler& dataInput ); */ // DSMTEST
// // TMVA::DataSetFactory* fDatasetFactory; // DSMTEST
// access to input data // access to input data
DataInputHandler& DataInput() { return fDataInput; } DataInputHandler& DataInput() { return fDataInput; }
DataInputHandler& fDataInput; //! source of inpu t data DataInputHandler& fDataInput; //! source of inpu t data
TList fDataSetInfoCollection; //! all registered dataset definitions TList fDataSetInfoCollection; //! all registered dataset definitions
mutable MsgLogger* fLogger; // message logger mutable MsgLogger* fLogger; // message logger
MsgLogger& Log() const { return *fLogger; } MsgLogger& Log() const { return *fLogger; }
}; };
} }
 End of changes. 7 change blocks. 
9 lines changed or deleted 19 lines changed or added


 DebuggingSampler.h   DebuggingSampler.h 
// @(#)root/roostats:$Id: DebuggingSampler.h 31276 2009-11-18 15:06:42Z mon eta $ // @(#)root/roostats:$Id: DebuggingSampler.h 34109 2010-06-24 15:00:16Z mon eta $
// Author: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke // Author: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
#ifndef ROOSTATS_DebuggingSampler #ifndef ROOSTATS_DebuggingSampler
skipping to change at line 71 skipping to change at line 71
} }
// Main interface to evaluate the test statistic on a dataset // Main interface to evaluate the test statistic on a dataset
virtual Double_t EvaluateTestStatistic(RooAbsData& /*data*/, RooArgSet & /*paramsOfInterest*/) { virtual Double_t EvaluateTestStatistic(RooAbsData& /*data*/, RooArgSet & /*paramsOfInterest*/) {
// data = data; // avoid warning // data = data; // avoid warning
// paramsOfInterest = paramsOfInterest; // avoid warning // paramsOfInterest = paramsOfInterest; // avoid warning
return fRand->Uniform(); return fRand->Uniform();
} }
// Get the TestStatistic // Get the TestStatistic
virtual const RooAbsArg* GetTestStatistic() const {return fTestStati virtual TestStatistic* GetTestStatistic() const {
stic;} // TODO change to Roo... notifications
cout << "GetTestStatistic() IS NOT IMPLEMENTED FOR THIS SAMPLER. R
eturning NULL." << endl;
return NULL; /*fTestStatistic;*/
}
// Get the Confidence level for the test // Get the Confidence level for the test
virtual Double_t ConfidenceLevel() const {return 1.-fSize;} virtual Double_t ConfidenceLevel() const {return 1.-fSize;}
// Common Initialization // Common Initialization
virtual void Initialize(RooAbsArg& /* testStatistic */, RooArgSet& /* paramsOfInterest */, RooArgSet& /* nuisanceParameters */ ) { virtual void Initialize(RooAbsArg& /* testStatistic */, RooArgSet& /* paramsOfInterest */, RooArgSet& /* nuisanceParameters */ ) {
} }
// Set the Pdf, add to the the workspace if not already there // Set the Pdf, add to the the workspace if not already there
virtual void SetPdf(RooAbsPdf&) {} virtual void SetPdf(RooAbsPdf&) {}
// specify the parameters of interest in the interval // specify the parameters of interest in the interval
virtual void SetParameters(RooArgSet&) {} virtual void SetParameters(RooArgSet&) {}
// specify the nuisance parameters (eg. the rest of the parameters) // specify the nuisance parameters (eg. the rest of the parameters)
virtual void SetNuisanceParameters(RooArgSet&) {} virtual void SetNuisanceParameters(const RooArgSet&) {}
// specify the values of parameters used when evaluating test statist
ic
virtual void SetParametersForTestStat(const RooArgSet& ) {}
// specify the conditional observables
virtual void SetGlobalObservables(const RooArgSet& ) {}
// set the size of the test (rate of Type I error) ( Eg. 0.05 for a 9 5% Confidence Interval) // set the size of the test (rate of Type I error) ( Eg. 0.05 for a 9 5% Confidence Interval)
virtual void SetTestSize(Double_t size) {fSize = size;} virtual void SetTestSize(Double_t size) {fSize = size;}
// set the confidence level for the interval (eg. 0.95 for a 95% Conf idence Interval) // set the confidence level for the interval (eg. 0.95 for a 95% Conf idence Interval)
virtual void SetConfidenceLevel(Double_t cl) {fSize = 1.-cl;} virtual void SetConfidenceLevel(Double_t cl) {fSize = 1.-cl;}
// Set the TestStatistic (want the argument to be a function of the d ata & parameter points // Set the TestStatistic (want the argument to be a function of the d ata & parameter points
virtual void SetTestStatistic(RooAbsArg&) const {} virtual void SetTestStatistic(TestStatistic* /*testStatistic*/) {
// TODO change to Roo... notifications
cout << "SetTestStatistic(...) IS NOT IMPLEMENTED FOR THIS SAMPLER
" << endl;
}
private: private:
Double_t fSize; Double_t fSize;
RooRealVar* fTestStatistic; RooRealVar* fTestStatistic;
TRandom* fRand; TRandom* fRand;
protected: protected:
ClassDef(DebuggingSampler,1) // A simple implementation of the Dist ributionCreator interface ClassDef(DebuggingSampler,1) // A simple implementation of the Dist ributionCreator interface
}; };
} }
 End of changes. 4 change blocks. 
5 lines changed or deleted 18 lines changed or added


 DebuggingTestStat.h   DebuggingTestStat.h 
// @(#)root/roostats:$Id: DebuggingTestStat.h 31276 2009-11-18 15:06:42Z mo neta $ // @(#)root/roostats:$Id: DebuggingTestStat.h 34109 2010-06-24 15:00:16Z mo neta $
// Author: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke // Author: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
#ifndef ROOSTATS_DebuggingTestStat #ifndef ROOSTATS_DebuggingTestStat
skipping to change at line 64 skipping to change at line 64
// delete fTestStatistic; // delete fTestStatistic;
} }
// Main interface to evaluate the test statistic on a dataset // Main interface to evaluate the test statistic on a dataset
virtual Double_t Evaluate(RooAbsData& /*data*/, RooArgSet& /*paramsOfI nterest*/) { virtual Double_t Evaluate(RooAbsData& /*data*/, RooArgSet& /*paramsOfI nterest*/) {
//data = data; // avoid warning //data = data; // avoid warning
//paramsOfInterest = paramsOfInterest; //avoid warning //paramsOfInterest = paramsOfInterest; //avoid warning
return fRand->Uniform(); return fRand->Uniform();
} }
// Get the TestStatistic
virtual const RooAbsArg* GetTestStatistic() const {return fTestStati
stic;}
private: private:
RooRealVar* fTestStatistic; RooRealVar* fTestStatistic;
TRandom* fRand; TRandom* fRand;
protected: protected:
ClassDef(DebuggingTestStat,1) // A concrete implementation of the T estStatistic interface, useful for debugging. ClassDef(DebuggingTestStat,1) // A concrete implementation of the T estStatistic interface, useful for debugging.
}; };
} }
 End of changes. 2 change blocks. 
5 lines changed or deleted 1 lines changed or added


 DecisionTree.h   DecisionTree.h 
// @(#)root/tmva $Id: DecisionTree.h 29122 2009-06-22 06:51:30Z brun $ // @(#)root/tmva $Id: DecisionTree.h 33928 2010-06-15 16:19:31Z stelzer $
// Author: Andreas Hoecker, Joerg Stelzer, Helge Voss, Kai Voss // Author: Andreas Hoecker, Joerg Stelzer, Helge Voss, Kai Voss
/************************************************************************** ******** /************************************************************************** ********
* Project: TMVA - a Root-integrated toolkit for multivariate data analysis * * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
* Package: TMVA * * Package: TMVA *
* Class : DecisionTree * * Class : DecisionTree *
* Web : http://tmva.sourceforge.net * * Web : http://tmva.sourceforge.net *
* * * *
* Description: * * Description: *
* Implementation of a Decision Tree * * Implementation of a Decision Tree *
skipping to change at line 85 skipping to change at line 85
public: public:
typedef std::vector<TMVA::Event*> EventList; typedef std::vector<TMVA::Event*> EventList;
// the constructur needed for the "reading" of the decision tree from weight files // the constructur needed for the "reading" of the decision tree from weight files
DecisionTree( void ); DecisionTree( void );
// the constructur needed for constructing the decision tree via trai ning with events // the constructur needed for constructing the decision tree via trai ning with events
DecisionTree( SeparationBase *sepType, Int_t minSize, DecisionTree( SeparationBase *sepType, Int_t minSize,
Int_t nCuts, Int_t nCuts,
UInt_t cls =0,
Bool_t randomisedTree=kFALSE, Int_t useNvars=0, Bool_t randomisedTree=kFALSE, Int_t useNvars=0,
UInt_t nNodesMax=999999, UInt_t nMaxDepth=9999999, UInt_t nNodesMax=999999, UInt_t nMaxDepth=9999999,
Int_t iSeed=fgRandomSeed, Float_t purityLimit=0.5, Int_t iSeed=fgRandomSeed, Float_t purityLimit=0.5,
Int_t treeID = 0); Int_t treeID = 0);
// copy constructor // copy constructor
DecisionTree (const DecisionTree &d); DecisionTree (const DecisionTree &d);
virtual ~DecisionTree( void ); virtual ~DecisionTree( void );
virtual Node * CreateNode(UInt_t) const { return new DecisionTreeNode (); } virtual Node * CreateNode(UInt_t) const { return new DecisionTreeNode (); }
virtual BinaryTree* CreateTree() const { return new DecisionTree(); } virtual BinaryTree* CreateTree() const { return new DecisionTree(); }
virtual const char* ClassName() const { return "DecisionTree"; } virtual const char* ClassName() const { return "DecisionTree"; }
// building of a tree by recursivly splitting the nodes // building of a tree by recursivly splitting the nodes
UInt_t BuildTree( const EventList & eventSample, UInt_t BuildTree( const EventList & eventSample,
DecisionTreeNode *node = NULL); DecisionTreeNode *node = NULL);
// determine the way how a node is split (which variable, which cut v alue) // determine the way how a node is split (which variable, which cut v alue)
Float_t TrainNode( const EventList & eventSample, DecisionTreeNode * node ) { return TrainNodeFast( eventSample, node ); } Float_t TrainNode( const EventList & eventSample, DecisionTreeNode * node ) { return TrainNodeFast( eventSample, node ); }
Float_t TrainNodeFast( const EventList & eventSample, DecisionTreeNo de *node ); Float_t TrainNodeFast( const EventList & eventSample, DecisionTreeNo de *node );
Float_t TrainNodeFull( const EventList & eventSample, DecisionTreeNo de *node ); Float_t TrainNodeFull( const EventList & eventSample, DecisionTreeNo de *node );
// fill at tree with a given structure already (just see how many sig na/bkgr // fill at tree with a given structure already (just see how many sig na/bkgr
// events end up in each node // events end up in each node
void FillTree( EventList & eventSample); void FillTree( EventList & eventSample);
skipping to change at line 221 skipping to change at line 222
Bool_t fRandomisedTree; // choose at each node splitting a random set of variables Bool_t fRandomisedTree; // choose at each node splitting a random set of variables
Int_t fUseNvars; // the number of variables used in randomi sed trees; Int_t fUseNvars; // the number of variables used in randomi sed trees;
TRandom3 *fMyTrandom; // random number generator for randomised trees TRandom3 *fMyTrandom; // random number generator for randomised trees
std::vector< Double_t > fVariableImportance; // the relative importan ce of the different variables std::vector< Double_t > fVariableImportance; // the relative importan ce of the different variables
UInt_t fNNodesMax; // max # of nodes UInt_t fNNodesMax; // max # of nodes
UInt_t fMaxDepth; // max depth UInt_t fMaxDepth; // max depth
UInt_t fClass; // class which is treated as signal when b uilding the tree
static const Int_t fgDebugLevel = 0; // debug level determining some printout/control plots etc. static const Int_t fgDebugLevel = 0; // debug level determining some printout/control plots etc.
Int_t fTreeID; // just an ID number given to the tree.. ma kes debugging easier as tree knows who he is. Int_t fTreeID; // just an ID number given to the tree.. ma kes debugging easier as tree knows who he is.
Types::EAnalysisType fAnalysisType; // kClassification(=0=false) o r kRegression(=1=true) Types::EAnalysisType fAnalysisType; // kClassification(=0=false) o r kRegression(=1=true)
ClassDef(DecisionTree,0) // implementation of a Decisio n Tree ClassDef(DecisionTree,0) // implementation of a Decisio n Tree
}; };
} // namespace TMVA } // namespace TMVA
 End of changes. 4 change blocks. 
2 lines changed or deleted 4 lines changed or added


 DecisionTreeNode.h   DecisionTreeNode.h 
// @(#)root/tmva $Id: DecisionTreeNode.h 31458 2009-11-30 13:58:20Z stelzer // @(#)root/tmva $Id: DecisionTreeNode.h 33928 2010-06-15 16:19:31Z stelzer
$ $
// Author: Andreas Hoecker, Joerg Stelzer, Helge Voss, Kai Voss // Author: Andreas Hoecker, Joerg Stelzer, Helge Voss, Kai Voss, Eckhard vo
n Toerne
/************************************************************************** ******** /************************************************************************** ********
* Project: TMVA - a Root-integrated toolkit for multivariate data analysis * * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
* Package: TMVA * * Package: TMVA *
* Class : DecisionTreeNode * * Class : DecisionTreeNode *
* Web : http://tmva.sourceforge.net * * Web : http://tmva.sourceforge.net *
* * * *
* Description: * * Description: *
* Node for the Decision Tree * * Node for the Decision Tree *
* * * *
* Authors (alphabetical): * * Authors (alphabetical): *
* Andreas Hoecker <Andreas.Hocker@cern.ch> - CERN, Switzerland * * Andreas Hoecker <Andreas.Hocker@cern.ch> - CERN, Switzerland *
* Helge Voss <Helge.Voss@cern.ch> - MPI-K Heidelberg, German y * * Helge Voss <Helge.Voss@cern.ch> - MPI-K Heidelberg, German y *
* Kai Voss <Kai.Voss@cern.ch> - U. of Victoria, Canada * * Kai Voss <Kai.Voss@cern.ch> - U. of Victoria, Canada *
* Eckhard von Toerne <evt@physik.uni-bonn.de> - U. of Bonn, Germany *
* * * *
* Copyright (c) 2005: * * Copyright (c) 2009: *
* CERN, Switzerland * * CERN, Switzerland *
* U. of Victoria, Canada * * U. of Victoria, Canada *
* MPI-K Heidelberg, Germany * * MPI-K Heidelberg, Germany *
* U. of Bonn, Germany *
* * * *
* Redistribution and use in source and binary forms, with or without * * Redistribution and use in source and binary forms, with or without *
* modification, are permitted according to the terms listed in LICENSE * * modification, are permitted according to the terms listed in LICENSE *
* (http://tmva.sourceforge.net/LICENSE) * * (http://tmva.sourceforge.net/LICENSE) *
************************************************************************** ********/ ************************************************************************** ********/
#ifndef ROOT_TMVA_DecisionTreeNode #ifndef ROOT_TMVA_DecisionTreeNode
#define ROOT_TMVA_DecisionTreeNode #define ROOT_TMVA_DecisionTreeNode
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
skipping to change at line 51 skipping to change at line 53
#endif #endif
#ifndef ROOT_TMVA_Version #ifndef ROOT_TMVA_Version
#include "TMVA/Version.h" #include "TMVA/Version.h"
#endif #endif
#include <vector> #include <vector>
#include <map> #include <map>
namespace TMVA { namespace TMVA {
class DTNodeTrainingInfo
{
public:
DTNodeTrainingInfo():fSampleMin(),
fSampleMax(),
fNodeR(0),fSubTreeR(0),fAlpha(0),fG(0),fNTermina
l(0),
fNB(0),fNS(0),fSumTarget(0),fSumTarget2(0),fCC(0
),
fNSigEvents ( 0 ), fNBkgEvents ( 0 ),
fNEvents ( -1 ),
fNSigEvents_unweighted ( 0 ),
fNBkgEvents_unweighted ( 0 ),
fNEvents_unweighted ( 0 ),
fSeparationIndex (-1 ),
fSeparationGain ( -1 )
{
}
std::vector< Float_t > fSampleMin; // the minima for each ivar of th
e sample on the node during training
std::vector< Float_t > fSampleMax; // the maxima for each ivar of th
e sample on the node during training
Double_t fNodeR; // node resubstitution estimate, R(t)
Double_t fSubTreeR; // R(T) = Sum(R(t) : t in ~T)
Double_t fAlpha; // critical alpha for this node
Double_t fG; // minimum alpha in subtree rooted at this
node
Int_t fNTerminal; // number of terminal nodes in subtree roo
ted at this node
Double_t fNB; // sum of weights of background events fro
m the pruning sample in this node
Double_t fNS; // ditto for the signal events
Float_t fSumTarget; // sum of weight*target used for the calc
ulatio of the variance (regression)
Float_t fSumTarget2; // sum of weight*target^2 used for the cal
culatio of the variance (regression)
Double_t fCC; // debug variable for cost complexity pruning ..
Float_t fNSigEvents; // sum of weights of signal event in the n
ode
Float_t fNBkgEvents; // sum of weights of backgr event in the n
ode
Float_t fNEvents; // number of events in that entered the no
de (during training)
Float_t fNSigEvents_unweighted; // sum of signal event in the n
ode
Float_t fNBkgEvents_unweighted; // sum of backgr event in the n
ode
Float_t fNEvents_unweighted; // number of events in that ent
ered the node (during training)
Float_t fSeparationIndex; // measure of "purity" (separation between
S and B) AT this node
Float_t fSeparationGain; // measure of "purity", separation, or inf
ormation gained BY this nodes selection
// copy constructor
DTNodeTrainingInfo(const DTNodeTrainingInfo& n) :
fSampleMin(),fSampleMax(), // Samplemin and max are reset in copy
constructor
fNodeR(n.fNodeR), fSubTreeR(n.fSubTreeR),
fAlpha(n.fAlpha), fG(n.fG),
fNTerminal(n.fNTerminal),
fNB(n.fNB), fNS(n.fNS),
fSumTarget(0),fSumTarget2(0), // SumTarget reset in copy construct
or
fCC(0),
fNSigEvents ( n.fNSigEvents ), fNBkgEvents ( n.fNBkgEvents ),
fNEvents ( n.fNEvents ),
fNSigEvents_unweighted ( n.fNSigEvents_unweighted ),
fNBkgEvents_unweighted ( n.fNBkgEvents_unweighted ),
fNEvents_unweighted ( n.fNEvents_unweighted ),
fSeparationIndex( n.fSeparationIndex ),
fSeparationGain ( n.fSeparationGain )
{ }
};
class Event; class Event;
class MsgLogger; class MsgLogger;
class DecisionTreeNode: public Node { class DecisionTreeNode: public Node {
public: public:
// constructor of an essentially "empty" node floating in space // constructor of an essentially "empty" node floating in space
DecisionTreeNode (); DecisionTreeNode ();
// constructor of a daughter node as a daughter of 'p' // constructor of a daughter node as a daughter of 'p'
skipping to change at line 112 skipping to change at line 171
//return the response of the node (for regression) //return the response of the node (for regression)
Float_t GetResponse( void ) const { return fResponse;} Float_t GetResponse( void ) const { return fResponse;}
//set the RMS of the response of the node (for regression) //set the RMS of the response of the node (for regression)
void SetRMS( Float_t r ) { fRMS = r;} void SetRMS( Float_t r ) { fRMS = r;}
//return the RMS of the response of the node (for regression) //return the RMS of the response of the node (for regression)
Float_t GetRMS( void ) const { return fRMS;} Float_t GetRMS( void ) const { return fRMS;}
// set the sum of the signal weights in the node // set the sum of the signal weights in the node
void SetNSigEvents( Float_t s ) { fNSigEvents = s; } void SetNSigEvents( Float_t s ) { fTrainInfo->fNSigEvents = s; }
// set the sum of the backgr weights in the node // set the sum of the backgr weights in the node
void SetNBkgEvents( Float_t b ) { fNBkgEvents = b; } void SetNBkgEvents( Float_t b ) { fTrainInfo->fNBkgEvents = b; }
// set the number of events that entered the node (during training) // set the number of events that entered the node (during training)
void SetNEvents( Float_t nev ){ fNEvents =nev ; } void SetNEvents( Float_t nev ){ fTrainInfo->fNEvents =nev ; }
// set the sum of the unweighted signal events in the node // set the sum of the unweighted signal events in the node
void SetNSigEvents_unweighted( Float_t s ) { fNSigEvents_unweighted = s; } void SetNSigEvents_unweighted( Float_t s ) { fTrainInfo->fNSigEvents_ unweighted = s; }
// set the sum of the unweighted backgr events in the node // set the sum of the unweighted backgr events in the node
void SetNBkgEvents_unweighted( Float_t b ) { fNBkgEvents_unweighted = b; } void SetNBkgEvents_unweighted( Float_t b ) { fTrainInfo->fNBkgEvents_ unweighted = b; }
// set the number of unweighted events that entered the node (during training) // set the number of unweighted events that entered the node (during training)
void SetNEvents_unweighted( Float_t nev ){ fNEvents_unweighted =nev ; } void SetNEvents_unweighted( Float_t nev ){ fTrainInfo->fNEvents_unwei ghted =nev ; }
// increment the sum of the signal weights in the node // increment the sum of the signal weights in the node
void IncrementNSigEvents( Float_t s ) { fNSigEvents += s; } void IncrementNSigEvents( Float_t s ) { fTrainInfo->fNSigEvents += s; }
// increment the sum of the backgr weights in the node // increment the sum of the backgr weights in the node
void IncrementNBkgEvents( Float_t b ) { fNBkgEvents += b; } void IncrementNBkgEvents( Float_t b ) { fTrainInfo->fNBkgEvents += b; }
// increment the number of events that entered the node (during train ing) // increment the number of events that entered the node (during train ing)
void IncrementNEvents( Float_t nev ){ fNEvents +=nev ; } void IncrementNEvents( Float_t nev ){ fTrainInfo->fNEvents +=nev ; }
// increment the sum of the signal weights in the node // increment the sum of the signal weights in the node
void IncrementNSigEvents_unweighted( ) { fNSigEvents_unweighted += 1; } void IncrementNSigEvents_unweighted( ) { fTrainInfo->fNSigEvents_unwe ighted += 1; }
// increment the sum of the backgr weights in the node // increment the sum of the backgr weights in the node
void IncrementNBkgEvents_unweighted( ) { fNBkgEvents_unweighted += 1; } void IncrementNBkgEvents_unweighted( ) { fTrainInfo->fNBkgEvents_unwe ighted += 1; }
// increment the number of events that entered the node (during train ing) // increment the number of events that entered the node (during train ing)
void IncrementNEvents_unweighted( ){ fNEvents_unweighted +=1 ; } void IncrementNEvents_unweighted( ){ fTrainInfo->fNEvents_unweighted +=1 ; }
// return the sum of the signal weights in the node // return the sum of the signal weights in the node
Float_t GetNSigEvents( void ) const { return fNSigEvents; } Float_t GetNSigEvents( void ) const { return fTrainInfo->fNSigEvents ; }
// return the sum of the backgr weights in the node // return the sum of the backgr weights in the node
Float_t GetNBkgEvents( void ) const { return fNBkgEvents; } Float_t GetNBkgEvents( void ) const { return fTrainInfo->fNBkgEvents ; }
// return the number of events that entered the node (during trainin g) // return the number of events that entered the node (during trainin g)
Float_t GetNEvents( void ) const { return fNEvents; } Float_t GetNEvents( void ) const { return fTrainInfo->fNEvents; }
// return the sum of unweighted signal weights in the node // return the sum of unweighted signal weights in the node
Float_t GetNSigEvents_unweighted( void ) const { return fNSigEvents_ unweighted; } Float_t GetNSigEvents_unweighted( void ) const { return fTrainInfo-> fNSigEvents_unweighted; }
// return the sum of unweighted backgr weights in the node // return the sum of unweighted backgr weights in the node
Float_t GetNBkgEvents_unweighted( void ) const { return fNBkgEvents_ unweighted; } Float_t GetNBkgEvents_unweighted( void ) const { return fTrainInfo-> fNBkgEvents_unweighted; }
// return the number of unweighted events that entered the node (dur ing training) // return the number of unweighted events that entered the node (dur ing training)
Float_t GetNEvents_unweighted( void ) const { return fNEvents_unweig hted; } Float_t GetNEvents_unweighted( void ) const { return fTrainInfo->fNE vents_unweighted; }
// set the choosen index, measure of "purity" (separation between S a nd B) AT this node // set the choosen index, measure of "purity" (separation between S a nd B) AT this node
void SetSeparationIndex( Float_t sep ){ fSeparationIndex =sep ; } void SetSeparationIndex( Float_t sep ){ fTrainInfo->fSeparationIndex =sep ; }
// return the separation index AT this node // return the separation index AT this node
Float_t GetSeparationIndex( void ) const { return fSeparationIndex; } Float_t GetSeparationIndex( void ) const { return fTrainInfo->fSepar ationIndex; }
// set the separation, or information gained BY this nodes selection // set the separation, or information gained BY this nodes selection
void SetSeparationGain( Float_t sep ){ fSeparationGain =sep ; } void SetSeparationGain( Float_t sep ){ fTrainInfo->fSeparationGain =s ep ; }
// return the gain in separation obtained by this nodes selection // return the gain in separation obtained by this nodes selection
Float_t GetSeparationGain( void ) const { return fSeparationGain; } Float_t GetSeparationGain( void ) const { return fTrainInfo->fSepara tionGain; }
// printout of the node // printout of the node
virtual void Print( ostream& os ) const; virtual void Print( ostream& os ) const;
// recursively print the node and its daughters (--> print the 'tree' ) // recursively print the node and its daughters (--> print the 'tree' )
virtual void PrintRec( ostream& os ) const; virtual void PrintRec( ostream& os ) const;
virtual void AddAttributesToNode(void* node) const; virtual void AddAttributesToNode(void* node) const;
virtual void AddContentToNode(std::stringstream& s) const; virtual void AddContentToNode(std::stringstream& s) const;
skipping to change at line 200 skipping to change at line 259
inline DecisionTreeNode* GetMother( ) { return dynamic_cast<DecisionT reeNode*>(GetParent()); } inline DecisionTreeNode* GetMother( ) { return dynamic_cast<DecisionT reeNode*>(GetParent()); }
inline const DecisionTreeNode* GetLeftDaughter( ) const { return dyna mic_cast<DecisionTreeNode*>(GetLeft()); } inline const DecisionTreeNode* GetLeftDaughter( ) const { return dyna mic_cast<DecisionTreeNode*>(GetLeft()); }
inline const DecisionTreeNode* GetRightDaughter( ) const { return dyn amic_cast<DecisionTreeNode*>(GetRight()); } inline const DecisionTreeNode* GetRightDaughter( ) const { return dyn amic_cast<DecisionTreeNode*>(GetRight()); }
inline const DecisionTreeNode* GetMother( ) const { return dynamic_ca st<DecisionTreeNode*>(GetParent()); } inline const DecisionTreeNode* GetMother( ) const { return dynamic_ca st<DecisionTreeNode*>(GetParent()); }
ULong_t GetSequence() const {return fSequence;} ULong_t GetSequence() const {return fSequence;}
void SetSequence(ULong_t s) {fSequence=s;} void SetSequence(ULong_t s) {fSequence=s;}
// the node resubstitution estimate, R(t), for Cost Complexity prunin g // the node resubstitution estimate, R(t), for Cost Complexity prunin g
inline void SetNodeR( Double_t r ) { fNodeR = r; } inline void SetNodeR( Double_t r ) { fTrainInfo->fNodeR = r; }
inline Double_t GetNodeR( ) const { return fNodeR; } inline Double_t GetNodeR( ) const { return fTrainInfo->fNodeR; }
// the resubstitution estimate, R(T_t), of the tree rooted at this no de // the resubstitution estimate, R(T_t), of the tree rooted at this no de
inline void SetSubTreeR( Double_t r ) { fSubTreeR = r; } inline void SetSubTreeR( Double_t r ) { fTrainInfo->fSubTreeR = r;
inline Double_t GetSubTreeR( ) const { return fSubTreeR; } }
inline Double_t GetSubTreeR( ) const { return fTrainInfo->fSubTreeR;
}
// R(t) - R(T_t) // R(t) - R(T_t)
// the critical point alpha = ------------- // the critical point alpha = -------------
// |~T_t| - 1 // |~T_t| - 1
inline void SetAlpha( Double_t alpha ) { fAlpha = alpha; } inline void SetAlpha( Double_t alpha ) { fTrainInfo->fAlpha = alpha;
inline Double_t GetAlpha( ) const { return fAlpha; } }
inline Double_t GetAlpha( ) const { return fTrainInfo->fAlpha;
}
// the minimum alpha in the tree rooted at this node // the minimum alpha in the tree rooted at this node
inline void SetAlphaMinSubtree( Double_t g ) { fG = g; } inline void SetAlphaMinSubtree( Double_t g ) { fTrainInfo->fG = g;
inline Double_t GetAlphaMinSubtree( ) const { return fG; } }
inline Double_t GetAlphaMinSubtree( ) const { return fTrainInfo->fG;
}
// number of terminal nodes in the subtree rooted here // number of terminal nodes in the subtree rooted here
inline void SetNTerminal( Int_t n ) { fNTerminal = n; } inline void SetNTerminal( Int_t n ) { fTrainInfo->fNTerminal = n;
inline Int_t GetNTerminal( ) const { return fNTerminal; } }
inline Int_t GetNTerminal( ) const { return fTrainInfo->fNTerminal;
}
// number of background/signal events from the pruning validation sam ple // number of background/signal events from the pruning validation sam ple
inline void SetNBValidation( Double_t b ) { fNB = b; } inline void SetNBValidation( Double_t b ) { fTrainInfo->fNB = b; }
inline void SetNSValidation( Double_t s ) { fNS = s; } inline void SetNSValidation( Double_t s ) { fTrainInfo->fNS = s; }
inline Double_t GetNBValidation( ) const { return fNB; } inline Double_t GetNBValidation( ) const { return fTrainInfo->fNB; }
inline Double_t GetNSValidation( ) const { return fNS; } inline Double_t GetNSValidation( ) const { return fTrainInfo->fNS; }
inline void SetSumTarget(Float_t t) {fSumTarget = t; } inline void SetSumTarget(Float_t t) {fTrainInfo->fSumTarget = t; }
inline void SetSumTarget2(Float_t t2){fSumTarget2 = t2; } inline void SetSumTarget2(Float_t t2){fTrainInfo->fSumTarget2 = t2; }
inline void AddToSumTarget(Float_t t) {fSumTarget += t; } inline void AddToSumTarget(Float_t t) {fTrainInfo->fSumTarget += t;
inline void AddToSumTarget2(Float_t t2){fSumTarget2 += t2; } }
inline void AddToSumTarget2(Float_t t2){fTrainInfo->fSumTarget2 += t2
; }
inline Float_t GetSumTarget() const {return fSumTarget; } inline Float_t GetSumTarget() const {return fTrainInfo? fTrainInfo->
inline Float_t GetSumTarget2() const {return fSumTarget2; } fSumTarget : -9999;}
inline Float_t GetSumTarget2() const {return fTrainInfo? fTrainInfo->
fSumTarget2: -9999;}
// reset the pruning validation data // reset the pruning validation data
void ResetValidationData( ); void ResetValidationData( );
// flag indicates whether this node is terminal // flag indicates whether this node is terminal
inline Bool_t IsTerminal() const { return fIsTerminalNode; } inline Bool_t IsTerminal() const { return fIsTerminalNode; }
inline void SetTerminal( Bool_t s = kTRUE ) { fIsTerminalNode = s; } inline void SetTerminal( Bool_t s = kTRUE ) { fIsTerminalNode = s; }
void PrintPrune( ostream& os ) const ; void PrintPrune( ostream& os ) const ;
void PrintRecPrune( ostream& os ) const; void PrintRecPrune( ostream& os ) const;
void SetCC(Double_t cc) {fCC = cc;}; void SetCC(Double_t cc);
Double_t GetCC() const {return fCC;}; Double_t GetCC() const {return (fTrainInfo? fTrainInfo->fCC : -1.);}
Float_t GetSampleMin(UInt_t ivar) const; Float_t GetSampleMin(UInt_t ivar) const;
Float_t GetSampleMax(UInt_t ivar) const; Float_t GetSampleMax(UInt_t ivar) const;
void SetSampleMin(UInt_t ivar, Float_t xmin); void SetSampleMin(UInt_t ivar, Float_t xmin);
void SetSampleMax(UInt_t ivar, Float_t xmax); void SetSampleMax(UInt_t ivar, Float_t xmax);
static bool fgIsTraining; // static variable to flag training phase i
n which we need fTrainInfo
private: private:
virtual void ReadAttributes(void* node, UInt_t tmva_Version_Code = TM VA_VERSION_CODE ); virtual void ReadAttributes(void* node, UInt_t tmva_Version_Code = TM VA_VERSION_CODE );
virtual Bool_t ReadDataRecord( istream& is, UInt_t tmva_Version_Code = TMVA_VERSION_CODE ); virtual Bool_t ReadDataRecord( istream& is, UInt_t tmva_Version_Code = TMVA_VERSION_CODE );
virtual void ReadContent(std::stringstream& s); virtual void ReadContent(std::stringstream& s);
Double_t fNodeR; // node resubstitution estimate, R(t)
Double_t fSubTreeR; // R(T) = Sum(R(t) : t in ~T)
Double_t fAlpha; // critical alpha for this node
Double_t fG; // minimum alpha in subtree rooted at this
node
Int_t fNTerminal; // number of terminal nodes in subtree roo
ted at this node
Double_t fNB; // sum of weights of background events fro
m the pruning sample in this node
Double_t fNS; // ditto for the signal events
Float_t fSumTarget; // sum of weight*target used for the calc
ulatio of the variance (regression)
Float_t fSumTarget2; // sum of weight*target^2 used for the cal
culatio of the variance (regression)
Float_t fCutValue; // cut value appplied on this node to disc riminate bkg against sig Float_t fCutValue; // cut value appplied on this node to disc riminate bkg against sig
Bool_t fCutType; // true: if event variable > cutValue ==> signal , false otherwise Bool_t fCutType; // true: if event variable > cutValue ==> signal , false otherwise
Short_t fSelector; // index of variable used in node selectio n (decision tree) Short_t fSelector; // index of variable used in node selectio n (decision tree)
Float_t fNSigEvents; // sum of weights of signal event in the n
ode
Float_t fNBkgEvents; // sum of weights of backgr event in the n
ode
Float_t fNEvents; // number of events in that entered the no
de (during training)
Float_t fNSigEvents_unweighted; // sum of signal event in the n
ode
Float_t fNBkgEvents_unweighted; // sum of backgr event in the n
ode
Float_t fNEvents_unweighted; // number of events in that ent
ered the node (during training)
Float_t fSeparationIndex; // measure of "purity" (separation between
S and B) AT this node
Float_t fSeparationGain; // measure of "purity", separation, or inf
ormation gained BY this nodes selection
Float_t fResponse; // response value in case of regression Float_t fResponse; // response value in case of regression
Float_t fRMS; // response RMS of the regression node Float_t fRMS; // response RMS of the regression node
Int_t fNodeType; // Type of node: -1 == Bkg-leaf, 1 == Sign al-leaf, 0 = internal Int_t fNodeType; // Type of node: -1 == Bkg-leaf, 1 == Sign al-leaf, 0 = internal
ULong_t fSequence; // bit coded left right sequence to reach the node ULong_t fSequence; // bit coded left right sequence to reach the node
Bool_t fIsTerminalNode; //! flag to set node as terminal (i.e., without deleting its descendants) Bool_t fIsTerminalNode; //! flag to set node as terminal (i.e., without deleting its descendants)
Double_t fCC; // debug variable for cost complexity prui
ng .. temporary bla
std::vector< Float_t > fSampleMin; // the minima for each ivar of th
e sample on the node during training
std::vector< Float_t > fSampleMax; // the maxima for each ivar of th
e sample on the node during training
static MsgLogger* fgLogger; // static because there is a huge numb er of nodes... static MsgLogger* fgLogger; // static because there is a huge numb er of nodes...
mutable DTNodeTrainingInfo* fTrainInfo;
ClassDef(DecisionTreeNode,0) // Node for the Decision Tree ClassDef(DecisionTreeNode,0) // Node for the Decision Tree
}; };
} // namespace TMVA } // namespace TMVA
#endif #endif
 End of changes. 42 change blocks. 
90 lines changed or deleted 143 lines changed or added


 DistSampler.h   DistSampler.h 
// @(#)root/mathcore:$Id: DistSampler.h 33190 2010-04-26 07:26:12Z moneta $ // @(#)root/mathcore:$Id: DistSampler.h 34077 2010-06-23 10:09:18Z moneta $
// Author: L. Moneta Fri Sep 22 15:06:47 2006 // Author: L. Moneta Fri Sep 22 15:06:47 2006
/********************************************************************** /**********************************************************************
* * * *
* Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT * * Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT *
* * * *
* * * *
**********************************************************************/ **********************************************************************/
// Header file for class DistSampler // Header file for class DistSampler
skipping to change at line 125 skipping to change at line 125
/// set range in a given dimension /// set range in a given dimension
void SetRange(double xmin, double xmax, int icoord = 0); void SetRange(double xmin, double xmax, int icoord = 0);
/// set range for all dimensions /// set range for all dimensions
void SetRange(const double * xmin, const double * xmax); void SetRange(const double * xmin, const double * xmax);
/// set range using DataRange class /// set range using DataRange class
void SetRange(const ROOT::Fit::DataRange & range); void SetRange(const ROOT::Fit::DataRange & range);
/// set the mode of the distribution (could be useful to some methods)
/// implemented by derived classes if needed
virtual void SetMode(double ) {}
/// set the normalization area of distribution
/// implemented by derived classes if needed
virtual void SetArea(double) {}
/// get the parent distribution function (must be called after setting t he function) /// get the parent distribution function (must be called after setting t he function)
const ROOT::Math::IMultiGenFunction & ParentPdf() const { const ROOT::Math::IMultiGenFunction & ParentPdf() const {
return *fFunc; return *fFunc;
} }
/** /**
sample one event in one dimension sample one event in one dimension
better implementation could be provided by the derived classes better implementation could be provided by the derived classes
*/ */
virtual double Sample1D() { virtual double Sample1D() {
 End of changes. 2 change blocks. 
1 lines changed or deleted 9 lines changed or added


 Event.h   Event.h 
// @(#)root/tmva $Id: Event.h 31800 2009-12-10 15:04:44Z stelzer $ // @(#)root/tmva $Id: Event.h 33928 2010-06-15 16:19:31Z stelzer $
// Author: Andreas Hoecker, Joerg Stelzer, Helge Voss // Author: Andreas Hoecker, Peter Speckmayer, Joerg Stelzer, Helge Voss
/************************************************************************** ******** /************************************************************************** ********
* Project: TMVA - a Root-integrated toolkit for multivariate data analysis * * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
* Package: TMVA * * Package: TMVA *
* Class : Event * * Class : Event *
* Web : http://tmva.sourceforge.net * * Web : http://tmva.sourceforge.net *
* * * *
* Description: * * Description: *
* Event container * * Event container *
* * * *
* Authors (alphabetical): * * Authors (alphabetical): *
* Andreas Hoecker <Andreas.Hocker@cern.ch> - CERN, Switzerland * * Andreas Hoecker <Andreas.Hocker@cern.ch> - CERN, Switzerland *
* Joerg Stelzer <Joerg.Stelzer@cern.ch> - CERN, Switzerland * * Joerg Stelzer <Joerg.Stelzer@cern.ch> - CERN, Switzerland *
* Peter Speckmayer <Peter.Speckmayer@cern.ch> - CERN, Switzerland *
* Helge Voss <Helge.Voss@cern.ch> - MPI-K Heidelberg, German y * * Helge Voss <Helge.Voss@cern.ch> - MPI-K Heidelberg, German y *
* * * *
* Copyright (c) 2005: * * Copyright (c) 2005: *
* CERN, Switzerland * * CERN, Switzerland *
* U. of Victoria, Canada * * U. of Victoria, Canada *
* MPI-K Heidelberg, Germany * * MPI-K Heidelberg, Germany *
* LAPP, Annecy, France * * LAPP, Annecy, France *
* * * *
* Redistribution and use in source and binary forms, with or without * * Redistribution and use in source and binary forms, with or without *
* modification, are permitted according to the terms listed in LICENSE * * modification, are permitted according to the terms listed in LICENSE *
skipping to change at line 73 skipping to change at line 74
explicit Event( const std::vector<Float_t>& values, explicit Event( const std::vector<Float_t>& values,
const std::vector<Float_t>& targetValues, const std::vector<Float_t>& targetValues,
UInt_t theClass = 0, Float_t weight = 1.0, Float_t bo ostweight = 1.0 ); UInt_t theClass = 0, Float_t weight = 1.0, Float_t bo ostweight = 1.0 );
explicit Event( const std::vector<Float_t>&, explicit Event( const std::vector<Float_t>&,
UInt_t theClass, Float_t weight = 1.0, Float_t boostw eight = 1.0 ); UInt_t theClass, Float_t weight = 1.0, Float_t boostw eight = 1.0 );
explicit Event( const std::vector<Float_t*>*&, UInt_t nvar ); explicit Event( const std::vector<Float_t*>*&, UInt_t nvar );
~Event(); ~Event();
// accessors // accessors
Bool_t IsSignal() const { return (fClass==fSignalClass); } // deprecated: use <DataSetInfo>.IsSignal( Event* )
Bool_t IsDynamic() const {return fDynamic; } Bool_t IsDynamic() const {return fDynamic; }
Float_t GetWeight() const { return fWeight*fBoostWeight; } Float_t GetWeight() const { return fWeight*fBoostWeight; }
Float_t GetOriginalWeight() const { return fWeight; } Float_t GetOriginalWeight() const { return fWeight; }
Float_t GetBoostWeight() const { return TMath::Max(Float_t(0.0001) ,fBoostWeight); } Float_t GetBoostWeight() const { return TMath::Max(Float_t(0.0001) ,fBoostWeight); }
UInt_t GetClass() const { return fClass; } UInt_t GetClass() const { return fClass; }
Int_t GetSignalClass() const { return fSignalClass; } // interme diate solution to keep IsSignal() of Event working
UInt_t GetNVariables() const; UInt_t GetNVariables() const;
UInt_t GetNTargets() const; UInt_t GetNTargets() const;
UInt_t GetNSpectators() const; UInt_t GetNSpectators() const;
const std::vector<UInt_t>* GetVariableArrangement() const { return fV ariableArrangement; } const std::vector<UInt_t>* GetVariableArrangement() const { return fV ariableArrangement; }
Float_t GetValue( UInt_t ivar) const; Float_t GetValue( UInt_t ivar) const;
const std::vector<Float_t>& GetValues() const; const std::vector<Float_t>& GetValues() const;
skipping to change at line 104 skipping to change at line 103
Float_t GetSpectator( UInt_t ivar) const; Float_t GetSpectator( UInt_t ivar) const;
std::vector<Float_t>& GetSpectators() const { return fSpectators; } std::vector<Float_t>& GetSpectators() const { return fSpectators; }
void ScaleWeight ( Float_t s ) { fWeight*=s; } void ScaleWeight ( Float_t s ) { fWeight*=s; }
void SetWeight ( Float_t w ) { fWeight=w; } void SetWeight ( Float_t w ) { fWeight=w; }
void SetBoostWeight ( Float_t w ) { fBoostWeight=w; } void SetBoostWeight ( Float_t w ) { fBoostWeight=w; }
void ScaleBoostWeight ( Float_t s ) { fBoostWeight *= s; } void ScaleBoostWeight ( Float_t s ) { fBoostWeight *= s; }
void SetClass ( UInt_t t ) { fClass=t; } void SetClass ( UInt_t t ) { fClass=t; }
void SetVal ( UInt_t ivar, Float_t val ); void SetVal ( UInt_t ivar, Float_t val );
void SetTarget ( UInt_t itgt, Float_t value ); void SetTarget ( UInt_t itgt, Float_t value );
void SetSignalClass ( UInt_t cls ){ fSignalClass = cls; } / / intermediate solution to keep IsSignal() of Event working. TODO: remove I sSignal() from Event
void SetSpectator ( UInt_t ivar, Float_t value ); void SetSpectator ( UInt_t ivar, Float_t value );
void SetVariableArrangement( std::vector<UInt_t>* const m ) const; void SetVariableArrangement( std::vector<UInt_t>* const m ) const;
static void ClearDynamicVariables(); static void ClearDynamicVariables();
void CopyVarValues( const Event& other ); void CopyVarValues( const Event& other );
void Print ( std::ostream & o ) const; void Print ( std::ostream & o ) const;
private: private:
mutable std::vector<Float_t> fValues; // the event va lues mutable std::vector<Float_t> fValues; // the event va lues
static std::vector<Float_t*>* fgValuesDynamic; // the event va lues static std::vector<Float_t*>* fgValuesDynamic; // the event va lues
mutable std::vector<Float_t> fTargets; // target value s for regression mutable std::vector<Float_t> fTargets; // target value s for regression
mutable std::vector<Float_t> fSpectators; // "visisting" variables which are never used for any calculation mutable std::vector<Float_t> fSpectators; // "visisting" variables which are never used for any calculation
mutable std::vector<UInt_t>* fVariableArrangement; // needed for M ethodCategories, where we can train on other than the main variables mutable std::vector<UInt_t>* fVariableArrangement; // needed for M ethodCategories, where we can train on other than the main variables
UInt_t fClass; // signal or backgro und type: signal=1, background=0 UInt_t fClass; // signal or backgro und type: signal=1, background=0
Float_t fWeight; // event weight (pro duct of global and individual weights) Float_t fWeight; // event weight (pro duct of global and individual weights)
Float_t fBoostWeight; // internal weight t o be set by boosting algorithm Float_t fBoostWeight; // internal weight t o be set by boosting algorithm
Bool_t fDynamic; // is set when the d ynamic values are taken Bool_t fDynamic; // is set when the d ynamic values are taken
UInt_t fSignalClass; // intermediate solu tion to keep IsSignal() of Event working. TODO: remove IsSignal() from Even t
static Int_t fgCount; // count instances o f Event static Int_t fgCount; // count instances o f Event
}; };
} }
#endif #endif
 End of changes. 6 change blocks. 
6 lines changed or deleted 3 lines changed or added


 FastAllocString.h   FastAllocString.h 
skipping to change at line 80 skipping to change at line 80
// DON'T: these create ambiguities with ::op[char*, int] etc // DON'T: these create ambiguities with ::op[char*, int] etc
//char& operator[](int i) { return fBuf[i]; } //char& operator[](int i) { return fBuf[i]; }
//char operator[](int i) const { return fBuf[i]; } //char operator[](int i) const { return fBuf[i]; }
//char* operator+(int i) { return fBuf + i; } //char* operator+(int i) { return fBuf + i; }
//const char* operator+(int i) const { return fBuf + i; } //const char* operator+(int i) const { return fBuf + i; }
const char* data() const { return fBuf; } const char* data() const { return fBuf; }
int FormatArgList(const char *fmt, va_list args); int FormatArgList(const char *fmt, va_list args);
int Format(const char *fmt, ...); G__FastAllocString& Format(const char *fmt, ...);
size_t Capacity() const { return fCapacity; } size_t Capacity() const { return fCapacity; }
G__FastAllocString& operator=(const G__FastAllocString& s) { G__FastAllocString& operator=(const G__FastAllocString& s) {
// Copy s into *this. // Copy s into *this.
// Cannot rely on operator=(const char*) overload - compiler-generate d one wins resolution! // Cannot rely on operator=(const char*) overload - compiler-generate d one wins resolution!
return operator=(s.data()); return operator=(s.data());
} }
G__FastAllocString& operator=(const char*); G__FastAllocString& operator=(const char*);
G__FastAllocString& operator+=(const char*); G__FastAllocString& operator+=(const char*);
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 FeldmanCousins.h   FeldmanCousins.h 
// @(#)root/roostats:$Id: FeldmanCousins.h 31276 2009-11-18 15:06:42Z monet a $ // @(#)root/roostats:$Id: FeldmanCousins.h 34109 2010-06-24 15:00:16Z monet a $
// Author: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke // Author: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
#ifndef ROOSTATS_FeldmanCousins #ifndef ROOSTATS_FeldmanCousins
skipping to change at line 23 skipping to change at line 23
#ifndef ROOT_Rtypes #ifndef ROOT_Rtypes
#include "Rtypes.h" #include "Rtypes.h"
#endif #endif
#ifndef ROOSTATS_IntervalCalculator #ifndef ROOSTATS_IntervalCalculator
#include "RooStats/IntervalCalculator.h" #include "RooStats/IntervalCalculator.h"
#endif #endif
#include "RooStats/ToyMCSampler.h" #include "RooStats/ToyMCSampler.h"
//#include "RooStats/ToyMCSampler2.h"
#include "RooStats/ConfidenceBelt.h" #include "RooStats/ConfidenceBelt.h"
#include "RooAbsData.h" #include "RooAbsData.h"
#include "RooAbsPdf.h" #include "RooAbsPdf.h"
#include "RooArgSet.h" #include "RooArgSet.h"
#include "TList.h" #include "TList.h"
class RooAbsData; class RooAbsData;
namespace RooStats { namespace RooStats {
class ConfInterval; class ConfInterval;
class FeldmanCousins : public IntervalCalculator, public TNamed { class FeldmanCousins : public IntervalCalculator {
public: public:
FeldmanCousins(); // FeldmanCousins();
// Common constructor
FeldmanCousins(RooAbsData& data, ModelConfig& model);
virtual ~FeldmanCousins(); virtual ~FeldmanCousins();
// Main interface to get a ConfInterval (will be a PointSetInterval) // Main interface to get a ConfInterval (will be a PointSetInterval)
virtual ConfInterval* GetInterval() const; virtual ConfInterval* GetInterval() const;
// Get the size of the test (eg. rate of Type I error) // Get the size of the test (eg. rate of Type I error)
virtual Double_t Size() const {return fSize;} virtual Double_t Size() const {return fSize;}
// Get the Confidence level for the test // Get the Confidence level for the test
virtual Double_t ConfidenceLevel() const {return 1.-fSize;} virtual Double_t ConfidenceLevel() const {return 1.-fSize;}
// Set the DataSet // Set the DataSet
virtual void SetData(RooAbsData& data) { fData = &data; } virtual void SetData(RooAbsData& /*data*/) {
cout << "DEPRECATED, set data in constructor" << endl;
}
// Set the Pdf // Set the Pdf
virtual void SetPdf(RooAbsPdf& pdf) { fPdf = &pdf; } virtual void SetPdf(RooAbsPdf& /*pdf*/) {
cout << "DEPRECATED, use ModelConfig" << endl;
}
// specify the parameters of interest in the interval // specify the parameters of interest in the interval
virtual void SetParameters(const RooArgSet& set) { fPOI.removeAll(); virtual void SetParameters(const RooArgSet& /*set*/) {
fPOI.add(set); } cout << "DEPRECATED, use ModelConfig" << endl;
}
// specify the nuisance parameters (eg. the rest of the parameters) // specify the nuisance parameters (eg. the rest of the parameters)
virtual void SetNuisanceParameters(const RooArgSet& set) {fNuisParams virtual void SetNuisanceParameters(const RooArgSet& /*set*/) {
.removeAll(); fNuisParams.add(set);} cout << "DEPRECATED, use ModelConfig" << endl;
}
// set the size of the test (rate of Type I error) ( Eg. 0.05 for a 9 5% Confidence Interval) // set the size of the test (rate of Type I error) ( Eg. 0.05 for a 9 5% Confidence Interval)
virtual void SetTestSize(Double_t size) {fSize = size;} virtual void SetTestSize(Double_t size) {fSize = size;}
// set the confidence level for the interval (eg. 0.95 for a 95% Conf idence Interval) // set the confidence level for the interval (eg. 0.95 for a 95% Conf idence Interval)
virtual void SetConfidenceLevel(Double_t cl) {fSize = 1.-cl;} virtual void SetConfidenceLevel(Double_t cl) {fSize = 1.-cl;}
virtual void SetModel(const ModelConfig &); virtual void SetModel(const ModelConfig &);
RooAbsData* GetPointsToScan() { RooAbsData* GetPointsToScan() {
if(!fPointsToTest) CreateParameterPoints(); if(!fPointsToTest) CreateParameterPoints();
return fPointsToTest; return fPointsToTest;
} }
ConfidenceBelt* GetConfidenceBelt() {return fConfBelt;} ConfidenceBelt* GetConfidenceBelt() {return fConfBelt;}
void UseAdaptiveSampling(bool flag=true){fAdaptiveSampling=flag;} void UseAdaptiveSampling(bool flag=true){fAdaptiveSampling=flag;}
void AdditionalNToysFactor(double fact){fAdditionalNToysFactor = fact
;}
void SetNBins(Int_t bins) {fNbins = bins;} void SetNBins(Int_t bins) {fNbins = bins;}
void FluctuateNumDataEntries(bool flag=true){fFluctuateData = flag;} void FluctuateNumDataEntries(bool flag=true){fFluctuateData = flag;}
void SaveBeltToFile(bool flag=true){ void SaveBeltToFile(bool flag=true){
fSaveBeltToFile = flag; fSaveBeltToFile = flag;
if(flag) fCreateBelt = true; if(flag) fCreateBelt = true;
} }
void CreateConfBelt(bool flag=true){fCreateBelt = flag;} void CreateConfBelt(bool flag=true){fCreateBelt = flag;}
private: private:
// initializes fPointsToTest data member (mutable) // initializes fPointsToTest data member (mutable)
void CreateParameterPoints() const; void CreateParameterPoints() const;
// initializes fTestStatSampler data member (mutable) // initializes fTestStatSampler data member (mutable)
void CreateTestStatSampler() const; void CreateTestStatSampler() const;
Double_t fSize; // size of the test (eg. specified rate of Type I err or) Double_t fSize; // size of the test (eg. specified rate of Type I err or)
ModelConfig &fModel;
RooAbsData & fData; // data set
/*
RooAbsPdf * fPdf; // common PDF RooAbsPdf * fPdf; // common PDF
RooAbsData * fData; // data set
RooArgSet fPOI; // RooArgSet specifying parameters of interest for i nterval RooArgSet fPOI; // RooArgSet specifying parameters of interest for i nterval
RooArgSet fNuisParams;// RooArgSet specifying nuisance parameters fo r interval RooArgSet fNuisParams;// RooArgSet specifying nuisance parameters fo r interval
RooArgSet fObservables;// RooArgSet specifying nuisance parameters f
or interval
*/
mutable ToyMCSampler* fTestStatSampler; // the test statistic sampler mutable ToyMCSampler* fTestStatSampler; // the test statistic sampler
mutable RooAbsData* fPointsToTest; // points to perform the construct ion mutable RooAbsData* fPointsToTest; // points to perform the construct ion
mutable ConfidenceBelt* fConfBelt; mutable ConfidenceBelt* fConfBelt;
bool fAdaptiveSampling; // controls use of adaptive sampling algorith Bool_t fAdaptiveSampling; // controls use of adaptive sampling algori
m thm
Double_t fAdditionalNToysFactor; // give user ability to ask for more
toys
Int_t fNbins; // number of samples per variable Int_t fNbins; // number of samples per variable
Bool_t fFluctuateData; // tell ToyMCSampler to fluctuate number of e ntries in dataset Bool_t fFluctuateData; // tell ToyMCSampler to fluctuate number of e ntries in dataset
Bool_t fDoProfileConstruction; // instead of full construction over n uisance parametrs, do profile Bool_t fDoProfileConstruction; // instead of full construction over n uisance parametrs, do profile
bool fSaveBeltToFile; // controls use if ConfidenceBelt should be sav Bool_t fSaveBeltToFile; // controls use if ConfidenceBelt should be s
ed to a TFile aved to a TFile
bool fCreateBelt; // controls use if ConfidenceBelt should be saved t Bool_t fCreateBelt; // controls use if ConfidenceBelt should be saved
o a TFile to a TFile
protected: protected:
ClassDef(FeldmanCousins,1) // Interface for tools setting limits (p roducing confidence intervals) ClassDef(FeldmanCousins,1) // Interface for tools setting limits (p roducing confidence intervals)
}; };
} }
#endif #endif
 End of changes. 14 change blocks. 
16 lines changed or deleted 38 lines changed or added


 FitResult.h   FitResult.h 
// @(#)root/mathcore:$Id: FitResult.h 31604 2009-12-07 19:04:33Z moneta $ // @(#)root/mathcore:$Id: FitResult.h 33587 2010-05-20 07:27:00Z moneta $
// Author: L. Moneta Wed Aug 30 11:05:34 2006 // Author: L. Moneta Wed Aug 30 11:05:34 2006
/********************************************************************** /**********************************************************************
* * * *
* Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT * * Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT *
* * * *
* * * *
**********************************************************************/ **********************************************************************/
// Header file for class FitResult // Header file for class FitResult
skipping to change at line 154 skipping to change at line 154
/// parameter errors (return const pointer) /// parameter errors (return const pointer)
const double * GetErrors() const { return &fErrors.front(); } const double * GetErrors() const { return &fErrors.front(); }
/// parameter values (return std::vector) /// parameter values (return std::vector)
const std::vector<double> & Parameters() const { return fParams; } const std::vector<double> & Parameters() const { return fParams; }
/// parameter values (return const pointer) /// parameter values (return const pointer)
const double * GetParams() const { return &fParams.front();} const double * GetParams() const { return &fParams.front();}
/// parameter value by index /// parameter value by index
double Value(unsigned int i) const { return fParams[i]; } double Value(unsigned int i) const { return fParams[i]; }
/// parameter value by index
double Parameter(unsigned int i) const { return fParams[i]; }
/// parameter error by index /// parameter error by index
// (NOTE: this due to conflict with TObject::Error cannot used in derive
d class which
// inherits from TObject. Use instead ParError (or Errors()[i] )
double Error(unsigned int i) const { double Error(unsigned int i) const {
return (i < fErrors.size() ) ? fErrors[i] : 0; return (i < fErrors.size() ) ? fErrors[i] : 0;
} }
/// parameter error by index
double ParError(unsigned int i) const {
return (i < fErrors.size() ) ? fErrors[i] : 0;
}
/// name of the parameter
std::string ParName(unsigned int i) const;
/// set the Minos errors for parameter i (called by the Fitter class whe n running Minos) /// set the Minos errors for parameter i (called by the Fitter class whe n running Minos)
void SetMinosError(unsigned int i, double elow, double eup); void SetMinosError(unsigned int i, double elow, double eup);
/// lower Minos error. If Minos has not run for parameter i return the p arabolic error /// lower Minos error. If Minos has not run for parameter i return the p arabolic error
double LowerError(unsigned int i) const; double LowerError(unsigned int i) const;
/// upper Minos error. If Minos has not run for parameter i return the p arabolic error /// upper Minos error. If Minos has not run for parameter i return the p arabolic error
double UpperError(unsigned int i) const; double UpperError(unsigned int i) const;
skipping to change at line 262 skipping to change at line 273
///print error matrix and correlations ///print error matrix and correlations
void PrintCovMatrix(std::ostream & os) const; void PrintCovMatrix(std::ostream & os) const;
/// query if a parameter is bound /// query if a parameter is bound
bool IsParameterBound(unsigned int ipar) const; bool IsParameterBound(unsigned int ipar) const;
/// query if a parameter is fixed /// query if a parameter is fixed
bool IsParameterFixed(unsigned int ipar) const; bool IsParameterFixed(unsigned int ipar) const;
/// get name of parameter /// get name of parameter (deprecated)
std::string GetParameterName(unsigned int ipar) const; std::string GetParameterName(unsigned int ipar) const {
return ParName(ipar);
protected: }
protected: protected:
/// Return pointer non const pointer to model (fit) function with fitted parameter values. /// Return pointer non const pointer to model (fit) function with fitted parameter values.
/// used by Fitter class /// used by Fitter class
IModelFunction * ModelFunction() { return fFitFunc; } IModelFunction * ModelFunction() { return fFitFunc; }
void SetModelFunction(IModelFunction * func) { fFitFunc = func; } void SetModelFunction(IModelFunction * func) { fFitFunc = func; }
friend class Fitter; friend class Fitter;
skipping to change at line 295 skipping to change at line 306
double fChi2; // fit chi2 value (different than fval in case of chi2 fits) double fChi2; // fit chi2 value (different than fval in case of chi2 fits)
IModelFunction * fFitFunc; //! model function resulting from the fit. I t is given by Fitter but it is managed by FitResult IModelFunction * fFitFunc; //! model function resulting from the fit. I t is given by Fitter but it is managed by FitResult
std::vector<unsigned int> fFixedParams; // list of fixed parameters std::vector<unsigned int> fFixedParams; // list of fixed parameters
std::vector<unsigned int> fBoundParams; // list of limited parameters std::vector<unsigned int> fBoundParams; // list of limited parameters
std::vector<double> fParams; // parameter values. Size is total number of parameters std::vector<double> fParams; // parameter values. Size is total number of parameters
std::vector<double> fErrors; // errors std::vector<double> fErrors; // errors
std::vector<double> fCovMatrix; // covariance matrix (size is n par*(npar+1)/2) where npar is total parameters std::vector<double> fCovMatrix; // covariance matrix (size is n par*(npar+1)/2) where npar is total parameters
std::vector<double> fGlobalCC; // global Correlation coefficie nt std::vector<double> fGlobalCC; // global Correlation coefficie nt
std::map<unsigned int, std::pair<double,double> > fMinosErrors; // map contains the two Minos errors std::map<unsigned int, std::pair<double,double> > fMinosErrors; // map contains the two Minos errors
std::string fMinimType; // string indicating type of minimi zer std::string fMinimType; // string indicating type of minimi zer
std::vector<std::string> fParNames; // parameter names (only with FCN o nly fites, when fFitFunc=0) std::vector<std::string> fParNames; // parameter names (only with FCN o nly fits, when fFitFunc=0)
}; };
} // end namespace Fit } // end namespace Fit
} // end namespace ROOT } // end namespace ROOT
#endif /* ROOT_Fit_FitResult */ #endif /* ROOT_Fit_FitResult */
 End of changes. 6 change blocks. 
6 lines changed or deleted 18 lines changed or added


 GSLRndmEngines.h   GSLRndmEngines.h 
// @(#)root/mathmore:$Id: GSLRndmEngines.h 31763 2009-12-10 10:40:21Z monet a $ // @(#)root/mathmore:$Id: GSLRndmEngines.h 33304 2010-04-30 08:39:37Z monet a $
// Author: L. Moneta, A. Zsenei 08/2005 // Author: L. Moneta, A. Zsenei 08/2005
/********************************************************************** /**********************************************************************
* * * *
* Copyright (c) 2004 ROOT Foundation, CERN/PH-SFT * * Copyright (c) 2004 ROOT Foundation, CERN/PH-SFT *
* * * *
* This library is free software; you can redistribute it and/or * * This library is free software; you can redistribute it and/or *
* modify it under the terms of the GNU General Public License * * modify it under the terms of the GNU General Public License *
* as published by the Free Software Foundation; either version 2 * * as published by the Free Software Foundation; either version 2 *
* of the License, or (at your option) any later version. * * of the License, or (at your option) any later version. *
skipping to change at line 40 skipping to change at line 40
// //
#ifndef ROOT_Math_GSLRndmEngines #ifndef ROOT_Math_GSLRndmEngines
#define ROOT_Math_GSLRndmEngines #define ROOT_Math_GSLRndmEngines
#include <string> #include <string>
#include <vector> #include <vector>
namespace ROOT { namespace ROOT {
namespace Math { namespace Math {
//struct GSLRngType;
//struct GSLRng;
//class GSLRng;
//class GSLRngType;
//typedef gsl_rng GSLRng;
//typedef gsl_rng_type GSLRngType;
class GSLRngWrapper; class GSLRngWrapper;
//_________________________________________________________________ //_________________________________________________________________
/** /**
GSLRandomEngine GSLRandomEngine
Base class for all GSL random engines, Base class for all GSL random engines,
normally user instantiate the derived classes normally user instantiate the derived classes
which creates internally the generator. which creates internally the generator.
The main GSL generators (see The main GSL generators (see
skipping to change at line 81 skipping to change at line 75
default constructor. No creation of rng is done. default constructor. No creation of rng is done.
If then Initialize() is called an engine is created If then Initialize() is called an engine is created
based on default GSL type (MT) based on default GSL type (MT)
*/ */
GSLRandomEngine(); GSLRandomEngine();
/** /**
create from an existing rng. create from an existing rng.
User manage the rng pointer which is then deleted olny by calling Terminate() User manage the rng pointer which is then deleted olny by calling Terminate()
*/ */
GSLRandomEngine( GSLRngWrapper * rng) : GSLRandomEngine( GSLRngWrapper * rng);
fRng(rng) ,
fCurTime(0)
{}
/** /**
initialize the generator initialize the generator
If no rng is present the default one based on Mersenne and Twister is created If no rng is present the default one based on Mersenne and Twister is created
*/ */
void Initialize(); void Initialize();
/** /**
delete pointer to contained rng delete pointer to contained rng
*/ */
skipping to change at line 246 skipping to change at line 237
/** /**
Multinomial distribution Multinomial distribution
*/ */
std::vector<unsigned int> Multinomial( unsigned int ntot, const std:: vector<double> & p ) const; std::vector<unsigned int> Multinomial( unsigned int ntot, const std:: vector<double> & p ) const;
//@} //@}
protected: protected:
/// internal method used by the derived class to set the type of gene
rators
void SetType(GSLRngWrapper * r) {
fRng = r;
}
private: private:
GSLRngWrapper * fRng; // pointer to GSL generator wrapp er GSLRngWrapper * fRng; // pointer to GSL generator wrap per (managed by the class)
mutable unsigned int fCurTime; // current time used to seed the generator mutable unsigned int fCurTime; // current time used to seed the generator
}; };
//______________________________________________________________________ _______________ //______________________________________________________________________ _______________
/** /**
Mersenne-Twister generator Mersenne-Twister generator
gsl_rng_mt19937 from gsl_rng_mt19937 from
<A HREF="http://www.gnu.org/software/gsl/manual/html_node/Random-numb er-generator-algorithms.html">here</A> <A HREF="http://www.gnu.org/software/gsl/manual/html_node/Random-numb er-generator-algorithms.html">here</A>
 End of changes. 5 change blocks. 
12 lines changed or deleted 9 lines changed or added


 GuiTypes.h   GuiTypes.h 
/* @(#)root/base:$Id: GuiTypes.h 30919 2009-10-29 17:24:02Z rdm $ */ /* @(#)root/base:$Id: GuiTypes.h 33436 2010-05-10 08:14:51Z rdm $ */
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
#ifndef ROOT_GuiTypes #ifndef ROOT_GuiTypes
skipping to change at line 201 skipping to change at line 201
// (i.e. pointers on 64 bit machines) // (i.e. pointers on 64 bit machines)
}; };
// Key masks, used as modifiers to GrabButton and GrabKey and // Key masks, used as modifiers to GrabButton and GrabKey and
// in Event_t::fState in various key-, mouse-, and button-related events // in Event_t::fState in various key-, mouse-, and button-related events
const Mask_t kKeyShiftMask = BIT(0); const Mask_t kKeyShiftMask = BIT(0);
const Mask_t kKeyLockMask = BIT(1); const Mask_t kKeyLockMask = BIT(1);
const Mask_t kKeyControlMask = BIT(2); const Mask_t kKeyControlMask = BIT(2);
const Mask_t kKeyMod1Mask = BIT(3); // typically the Alt key const Mask_t kKeyMod1Mask = BIT(3); // typically the Alt key
const Mask_t kKeyMod2Mask = BIT(4); // typically mod on numeric keys const Mask_t kKeyMod2Mask = BIT(4); // typically mod on numeric keys
const Mask_t kKeyMod3Mask = BIT(5);
const Mask_t kKeyMod4Mask = BIT(6);
const Mask_t kKeyMod5Mask = BIT(7);
const Mask_t kButton1Mask = BIT(8); const Mask_t kButton1Mask = BIT(8);
const Mask_t kButton2Mask = BIT(9); const Mask_t kButton2Mask = BIT(9);
const Mask_t kButton3Mask = BIT(10); const Mask_t kButton3Mask = BIT(10);
const Mask_t kButton4Mask = BIT(11); const Mask_t kButton4Mask = BIT(11);
const Mask_t kButton5Mask = BIT(12); const Mask_t kButton5Mask = BIT(12);
const Mask_t kButton6Mask = BIT(13); const Mask_t kButton6Mask = BIT(13);
const Mask_t kButton7Mask = BIT(14); const Mask_t kButton7Mask = BIT(14);
const Mask_t kAnyModifier = BIT(15); const Mask_t kAnyModifier = BIT(15);
// Button names. Used as arguments to GrabButton and as Event_t::fCode // Button names. Used as arguments to GrabButton and as Event_t::fCode
 End of changes. 2 change blocks. 
1 lines changed or deleted 4 lines changed or added


 HybridCalculator.h   HybridCalculator.h 
// @(#)root/roostats:$Id: HybridCalculator.h 31741 2009-12-09 17:27:53Z mon // @(#)root/roostats:$Id: HybridCalculator.h 34109 2010-06-24 15:00:16Z mon
eta $ eta $
// Author: Kyle Cranmer, Sven Kreiss 23/05/10
/************************************************************************* /*************************************************************************
* Project: RooStats *
* Package: RooFit/RooStats *
* Authors: *
* Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke *
*************************************************************************
* Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
#ifndef ROOSTATS_HybridCalculator #ifndef ROOSTATS_HybridCalculator
#define ROOSTATS_HybridCalculator #define ROOSTATS_HybridCalculator
#ifndef ROOT_Rtypes
#include "Rtypes.h" // necessary for TNamed
#endif
#ifndef ROOSTATS_HypoTestCalculator #ifndef ROOSTATS_HypoTestCalculator
#include "RooStats/HypoTestCalculator.h" #include "RooStats/HypoTestCalculator.h"
#endif #endif
#include <vector> #ifndef ROOSTATS_ModelConfig
#include "RooStats/ModelConfig.h"
#endif
#ifndef ROOSTATS_HybridResult #ifndef ROOSTATS_TestStatistic
#include "RooStats/HybridResult.h" #include "RooStats/TestStatistic.h"
#endif #endif
#ifndef ROOSTATS_ModelConfig #ifndef ROOSTATS_TestStatSampler
#include "RooStats/ModelConfig.h" #include "RooStats/TestStatSampler.h"
#endif #endif
class TH1; #ifndef ROOSTATS_SamplingDistribution
#include "RooStats/SamplingDistribution.h"
#endif
namespace RooStats { #ifndef ROOSTATS_HypoTestResult
#include "RooStats/HypoTestResult.h"
#endif
class HybridResult; namespace RooStats {
class HybridCalculator : public HypoTestCalculator , public TNamed { class HybridCalculator: public HypoTestCalculator {
public: public:
HybridCalculator(
RooAbsData &data,
ModelConfig &altModel,
ModelConfig &nullModel,
TestStatSampler* sampler=0
);
/// Dummy Constructor with only name ~HybridCalculator();
explicit HybridCalculator(const char *name = 0);
/// Constructor for HybridCalculator from pdf instances but without a
data-set
HybridCalculator(RooAbsPdf& sb_model,
RooAbsPdf& b_model,
RooArgList& observables,
const RooArgSet* nuisance_parameters = 0,
RooAbsPdf* prior_pdf = 0,
bool GenerateBinned = false, int testStatistics = 1,
int ntoys = 1000 );
/// Constructor for HybridCalculator using a data set and pdf instan
ces
HybridCalculator(RooAbsData& data,
RooAbsPdf& sb_model,
RooAbsPdf& b_model,
const RooArgSet* nuisance_parameters = 0,
RooAbsPdf* prior_pdf = 0,
bool GenerateBinned = false, int testStatistics = 1,
int ntoys = 1000 );
/// Constructor passing a ModelConfig for the SBmodel and a ModelConf
ig for the B Model
HybridCalculator(RooAbsData& data,
const ModelConfig& sb_model,
const ModelConfig& b_model,
bool GenerateBinned = false, int testStatistics = 1,
int ntoys = 1000 );
public: public:
/// Destructor of HybridCalculator
virtual ~HybridCalculator();
/// inherited methods from HypoTestCalculator interface /// inherited methods from HypoTestCalculator interface
virtual HybridResult* GetHypoTest() const; virtual HypoTestResult* GetHypoTest() const;
// inherited setter methods from HypoTestCalculator
// set the model for the null hypothesis (only B) // set the model for the null hypothesis (only B)
virtual void SetNullModel(const ModelConfig & ); virtual void SetNullModel(const ModelConfig &nullModel) { fNullModel = nullModel; }
// set the model for the alternate hypothesis (S+B) // set the model for the alternate hypothesis (S+B)
virtual void SetAlternateModel(const ModelConfig & ); virtual void SetAlternateModel(const ModelConfig &altModel) { fAltMod
el = altModel; }
// Set a common PDF for both the null and alternate
virtual void SetCommonPdf(RooAbsPdf & pdf) { fSbModel = &pdf; }
// Set the PDF for the null (only B)
virtual void SetNullPdf(RooAbsPdf& pdf) { fBModel = &pdf; }
// Set the PDF for the alternate hypothesis ( i.e. S+B)
virtual void SetAlternatePdf(RooAbsPdf& pdf) { fSbModel = &pdf; }
// Set the DataSet // Set the DataSet
virtual void SetData(RooAbsData& data) { fData = &data; } virtual void SetData(RooAbsData &data) { fData = data; }
// set parameter values for the null if using a common PDF // Override the distribution used for marginalizing nuisance paramete
virtual void SetNullParameters(const RooArgSet& ) { } // not needed rs that is infered from ModelConfig
// set parameter values for the alternate if using a common PDF virtual void ForcePriorNuisanceNull(RooAbsPdf& priorNuisance) { fPrio
virtual void SetAlternateParameters(const RooArgSet&) {} // not need rNuisanceNull = &priorNuisance; }
ed virtual void ForcePriorNuisanceAlt(RooAbsPdf& priorNuisance) { fPrior
NuisanceAlt = &priorNuisance; }
// additional methods specific for HybridCalculator
// set a prior pdf for the nuisance parameters // Returns instance of TestStatSampler. Use to change properties of
void SetNuisancePdf(RooAbsPdf & prior_pdf) { // TestStatSampler, e.g. GetTestStatSampler.SetTestSize(Double_t size
fPriorPdf = &prior_pdf; );
fUsePriorPdf = true; // if set by default turn it on TestStatSampler* GetTestStatSampler(void) { return fTestStatSampler;
} }
// set the nuisance parameters to be marginalized
void SetNuisanceParameters(const RooArgSet & params) { fNuisanceParam
eters = &params; }
// set number of toy MC (Default is 1000)
void SetNumberOfToys(unsigned int ntoys) { fNToys = ntoys; }
unsigned int GetNumberOfToys() { return fNToys; }
// return number of toys used
unsigned int GetNumberOfToys() const { return fNToys; }
// control use of the pdf for the nuisance parameter and marginalize
them
void UseNuisance(bool on = true) { fUsePriorPdf = on; }
// control to use bin data generation
void SetGenerateBinned(bool on = true) { fGenerateBinned = on; }
/// set the desired test statistics:
/// index=1 : 2 * log( L_sb / L_b ) (DEFAULT)
/// index=2 : number of generated events
/// index=3 : profiled likelihood ratio
/// if the index is different to any of those values, the default is
used
void SetTestStatistic(int index);
HybridResult* Calculate(TH1& data, unsigned int nToys, bool usePriors
) const;
HybridResult* Calculate(RooAbsData& data, unsigned int nToys, bool us
ePriors) const;
HybridResult* Calculate(unsigned int nToys, bool usePriors) const;
void PrintMore(const char* options) const;
private: private:
ModelConfig &fAltModel;
ModelConfig &fNullModel;
RooAbsData &fData;
RooAbsPdf *fPriorNuisanceNull;
RooAbsPdf *fPriorNuisanceAlt;
TestStatSampler* fTestStatSampler;
TestStatSampler* fDefaultSampler;
TestStatistic* fDefaultTestStat;
void RunToys(std::vector<double>& bVals, std::vector<double>& sbVals, void SetupSampler(ModelConfig& model) const;
unsigned int nToys, bool usePriors) const;
// check input parameters before performing the calculation
bool DoCheckInputs() const;
unsigned int fTestStatisticsIdx; // Index of the test statistics to u
se
unsigned int fNToys; // number of Toys MC
RooAbsPdf* fSbModel; // The pdf of the signal+background model
RooAbsPdf* fBModel; // The pdf of the background model
mutable RooArgList* fObservables; // Collection of the observables of
the model
const RooArgSet* fNuisanceParameters; // Collection of the nuisance
parameters in the model
RooAbsPdf* fPriorPdf; // Prior PDF of the nuisance parameters
RooAbsData * fData; // pointer to the data sets
bool fGenerateBinned; //Flag to control binned generation
bool fUsePriorPdf; // use a prior for nuisance paramet
ers
// TString fSbModelName; // name of pdf of the signal+background mo
del
// TString fBModelName; // name of pdf of the background model
// TString fPriorPdfName; // name of pdf of the background model
// TString fDataName; // name of the dataset in the workspace
protected: protected:
ClassDef(HybridCalculator,1) // Hypothesis test calculator using a B ClassDef(HybridCalculator,1)
ayesian-frequentist hybrid method };
};
} }
#endif #endif
 End of changes. 21 change blocks. 
138 lines changed or deleted 57 lines changed or added


 HybridResult.h   HybridResult.h 
// @(#)root/roostats:$Id: HybridResult.h 31276 2009-11-18 15:06:42Z moneta $ // @(#)root/roostats:$Id: HybridResult.h 34109 2010-06-24 15:00:16Z moneta $
/************************************************************************* /*************************************************************************
* Project: RooStats * * Project: RooStats *
* Package: RooFit/RooStats * * Package: RooFit/RooStats *
* Authors: * * Authors: *
* Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke * * Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke *
************************************************************************* *************************************************************************
* Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
skipping to change at line 35 skipping to change at line 35
class HybridPlot; class HybridPlot;
class HybridResult : public HypoTestResult { class HybridResult : public HypoTestResult {
public: public:
/// Default constructor /// Default constructor
explicit HybridResult(const char *name = 0); explicit HybridResult(const char *name = 0);
/// Constructor for HybridResult /// Constructor for HybridResult
HybridResult(const char *name,std::vector<double>& testStat_sb_vals, HybridResult(const char *name,
std::vector<double>& testStat_b_vals, bool sumLargerValu const std::vector<double>& testStat_sb_vals,
es=true); const std::vector<double>& testStat_b_vals,
bool sumLargerValues=true);
/// Destructor of HybridResult /// Destructor of HybridResult
virtual ~HybridResult(); virtual ~HybridResult();
void SetDataTestStatistics(double testStat_data_val); void SetDataTestStatistics(double testStat_data_val);
void Add(HybridResult* other); void Add(HybridResult* other);
HybridPlot* GetPlot(const char* name,const char* title, int n_bins); HybridPlot* GetPlot(const char* name,const char* title, int n_bins);
 End of changes. 2 change blocks. 
4 lines changed or deleted 5 lines changed or added


 HypoTestResult.h   HypoTestResult.h 
// @(#)root/roostats:$Id: HypoTestResult.h 31276 2009-11-18 15:06:42Z monet // @(#)root/roostats:$Id: HypoTestResult.h 34109 2010-06-24 15:00:16Z monet
a $ a $
// Author: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke // Author: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke, S
ven Kreiss
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
#ifndef ROOSTATS_HypoTestResult #ifndef ROOSTATS_HypoTestResult
#define ROOSTATS_HypoTestResult #define ROOSTATS_HypoTestResult
#ifndef ROOT_TNamed #ifndef ROOT_TNamed
#include "TNamed.h" #include "TNamed.h"
#endif #endif
#ifndef ROOSTATS_RooStatsUtils #ifndef ROOSTATS_RooStatsUtils
#include "RooStats/RooStatsUtils.h" #include "RooStats/RooStatsUtils.h"
#endif #endif
#ifndef ROOSTATS_SamplingDistribution
#include "RooStats/SamplingDistribution.h"
#endif
namespace RooStats { namespace RooStats {
class HypoTestResult : public TNamed { class HypoTestResult : public TNamed {
public: public:
// default constructor // default constructor
explicit HypoTestResult(const char* name = 0); explicit HypoTestResult(const char* name = 0);
// constructor from name, null and alternate p values // constructor from name, null and alternate p values
HypoTestResult(const char* name, Double_t nullp, Double_t altp); HypoTestResult(const char* name, Double_t nullp, Double_t altp);
// destructor // destructor
virtual ~HypoTestResult(); virtual ~HypoTestResult();
// add values from another HypoTestResult
virtual void Append(const HypoTestResult *other);
// Return p-value for null hypothesis // Return p-value for null hypothesis
virtual Double_t NullPValue() const {return fNullPValue;} virtual Double_t NullPValue() const { return fNullPValue; }
// Return p-value for alternate hypothesis // Return p-value for alternate hypothesis
virtual Double_t AlternatePValue() const {return fAlternatePValue;} virtual Double_t AlternatePValue() const { return fAlternatePValue; }
// Convert NullPValue into a "confidence level" // Convert NullPValue into a "confidence level"
virtual Double_t CLb() const {return 1.-NullPValue();} virtual Double_t CLb() const { return 1.-NullPValue(); }
// Convert AlternatePValue into a "confidence level" // Convert AlternatePValue into a "confidence level"
virtual Double_t CLsplusb() const {return AlternatePValue();} virtual Double_t CLsplusb() const { return AlternatePValue(); }
// CLs is simply CLs+b/CLb (not a method, but a quantity) // CLs is simply CLs+b/CLb (not a method, but a quantity)
virtual Double_t CLs() const { virtual Double_t CLs() const {
double thisCLb = CLb(); double thisCLb = CLb();
if (thisCLb==0) { if (thisCLb == 0) {
std::cout << "Error: Cannot compute CLs because CLb = 0. Returnin std::cout << "Error: Cannot compute CLs because CLb = 0. Return
g CLs = -1\n"; ing CLs = -1\n";
return -1; return -1;
} }
double thisCLsb = CLsplusb(); double thisCLsb = CLsplusb();
return thisCLsb/thisCLb; return thisCLsb / thisCLb;
} }
// familiar name for the Null p-value in terms of 1-sided Gaussian si gnificance // familiar name for the Null p-value in terms of 1-sided Gaussian si gnificance
virtual Double_t Significance() const {return RooStats::PValueToSigni ficance( NullPValue() ); } virtual Double_t Significance() const {return RooStats::PValueToSigni ficance( NullPValue() ); }
SamplingDistribution* GetNullDistribution(void) const { return fNullD
istr; }
SamplingDistribution* GetAltDistribution(void) const { return fAltDis
tr; }
Double_t GetTestStatisticData(void) const { return fTestStatisticData
; }
Bool_t HasTestStatisticData(void) const;
void SetAltDistribution(SamplingDistribution *alt);
void SetNullDistribution(SamplingDistribution *null);
void SetTestStatisticData(const Double_t tsd);
void SetPValueIsRightTail(Bool_t pr);
Bool_t GetPValueIsRightTail(void) { return fPValueIsRightTail; }
/// The error on the "confidence level" of the null hypothesis
Double_t CLbError() const;
/// The error on the "confidence level" of the alternative hypothesis
Double_t CLsplusbError() const;
/// The error on the ratio CLs+b/CLb
Double_t CLsError() const;
void Print(const Option_t* ) const {
// Print out some information about the results
cout << endl << "Results " << GetName() << ": " << endl;
cout << " - Null p-value = " << NullPValue() << endl;
cout << " - Significance = " << Significance() << " sigma" << endl;
if(fAltDistr)
cout << " - Number of S+B toys: " << fAltDistr->GetSize() << st
d::endl;
if(fNullDistr)
cout << " - Number of B toys: " << fNullDistr->GetSize() << std
::endl;
if(HasTestStatisticData())
cout << " - Test statistic evaluated on data: " << fTestStatist
icData << std::endl;
if(HasTestStatisticData() && fNullDistr)
cout << " - CL_b: " << CLb() << " +/- " << CLbError() << std::e
ndl;
if(HasTestStatisticData() && fAltDistr)
cout << " - CL_s+b: " << CLsplusb() << " +/- " << CLsplusbError
() << std::endl;
if(HasTestStatisticData() && fAltDistr && fNullDistr)
cout << " - CL_s: " << CLs() << " +/- " << CLsError() << std::
endl;
return;
}
private:
void UpdatePValue(const SamplingDistribution* distr, Double_t *pvalue
, Bool_t pIsRightTail);
protected: protected:
mutable Double_t fNullPValue; // p-value for the null hypothesis (sma ll number means disfavored) mutable Double_t fNullPValue; // p-value for the null hypothesis (sma ll number means disfavored)
mutable Double_t fAlternatePValue; // p-value for the alternate hypot hesis (small number means disfavored) mutable Double_t fAlternatePValue; // p-value for the alternate hypot hesis (small number means disfavored)
Double_t fTestStatisticData; // result of the test statistic evaluate
d on data
SamplingDistribution *fNullDistr;
SamplingDistribution *fAltDistr;
Bool_t fPValueIsRightTail;
ClassDef(HypoTestResult,1) // Base class to represent results of a h ypothesis test ClassDef(HypoTestResult,1) // Base class to represent results of a h ypothesis test
}; };
} }
#endif #endif
 End of changes. 10 change blocks. 
15 lines changed or deleted 84 lines changed or added


 Interval.h   Interval.h 
// @(#)root/tmva $Id: Interval.h 29195 2009-06-24 10:39:49Z brun $ // @(#)root/tmva $Id: Interval.h 33928 2010-06-15 16:19:31Z stelzer $
// Author: Peter Speckmayer // Author: Peter Speckmayer
/************************************************************************** ******** /************************************************************************** ********
* Project: TMVA - a Root-integrated toolkit for multivariate data analysis * * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
* Package: TMVA * * Package: TMVA *
* Class : Interval * * Class : Interval *
* Web : http://tmva.sourceforge.net * * Web : http://tmva.sourceforge.net *
* * * *
* Description: * * Description: *
* Generic range definition (used, eg, in genetic algorithm) * * Generic range definition (used, eg, in genetic algorithm) *
skipping to change at line 71 skipping to change at line 71
Double_t GetElement( Int_t position ) const; Double_t GetElement( Int_t position ) const;
void SetMax( Double_t m ) { fMax = m; } void SetMax( Double_t m ) { fMax = m; }
void SetMin( Double_t m ) { fMin = m; } void SetMin( Double_t m ) { fMin = m; }
private: private:
Double_t fMin, fMax; // the constraints of the Interval Double_t fMin, fMax; // the constraints of the Interval
Int_t fNbins; // when >0 : number of bins (discrete interva l); when =0 continuous interval Int_t fNbins; // when >0 : number of bins (discrete interva l); when =0 continuous interval
mutable MsgLogger* fLogger; // message logger static MsgLogger* fgLogger; // message logger
MsgLogger& Log() const { return *fLogger; } MsgLogger& Log() const { return *fgLogger; }
ClassDef(Interval,0) // Interval definition, continous and discret e ClassDef(Interval,0) // Interval definition, continous and discret e
}; };
} // namespace TMVA } // namespace TMVA
#endif #endif
 End of changes. 2 change blocks. 
3 lines changed or deleted 3 lines changed or added


 MCMCCalculator.h   MCMCCalculator.h 
// @(#)root/roostats:$Id: MCMCCalculator.h 31276 2009-11-18 15:06:42Z monet a $ // @(#)root/roostats:$Id: MCMCCalculator.h 34109 2010-06-24 15:00:16Z monet a $
// Authors: Kevin Belasco 17/06/2009 // Authors: Kevin Belasco 17/06/2009
// Authors: Kyle Cranmer 17/06/2009 // Authors: Kyle Cranmer 17/06/2009
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 34 skipping to change at line 34
#endif #endif
#ifndef ROO_ABS_DATA #ifndef ROO_ABS_DATA
#include "RooAbsData.h" #include "RooAbsData.h"
#endif #endif
#ifndef ROO_ARG_SET #ifndef ROO_ARG_SET
#include "RooArgSet.h" #include "RooArgSet.h"
#endif #endif
#ifndef ROO_ARG_LIST #ifndef ROO_ARG_LIST
#include "RooArgList.h" #include "RooArgList.h"
#endif #endif
// #ifndef ROO_WORKSPACE
// #include "RooWorkspace.h"
// #endif
#ifndef ROOSTATS_ProposalFunction #ifndef ROOSTATS_ProposalFunction
#include "RooStats/ProposalFunction.h" #include "RooStats/ProposalFunction.h"
#endif #endif
#ifndef ROOSTATS_IntervalCalculator #ifndef ROOSTATS_IntervalCalculator
#include "RooStats/IntervalCalculator.h" #include "RooStats/IntervalCalculator.h"
#endif #endif
#ifndef RooStats_MCMCInterval #ifndef RooStats_MCMCInterval
#include "RooStats/MCMCInterval.h" #include "RooStats/MCMCInterval.h"
#endif #endif
namespace RooStats { namespace RooStats {
class ModelConfig; class ModelConfig;
class MCMCCalculator : public IntervalCalculator, public TNamed { class MCMCCalculator : public IntervalCalculator, public TNamed {
public: public:
// default constructor // default constructor
MCMCCalculator(); MCMCCalculator();
// This constructor will set up a basic settings package including a // Constructor for automatic configuration with basic settings and a
// ProposalFunction, number of iterations, burn in steps, confidence // ModelConfig. Uses a UniformProposal, 10,000 iterations, 40 burn i
// level, and interval determination method. Any of these basic n
// settings can be overridden by calling one of the Set...() methods. // steps, 50 bins for each RooRealVar, determines interval by histogr
// Force to pass the a prior PDF for the parameter of interest am,
MCMCCalculator(RooAbsData& data, RooAbsPdf& pdf, const RooArgSet& par // and finds a 95% confidence interval. Any of these basic settings
amsOfInterest, RooAbsPdf & priorPdf ); can
// be overridden by calling one of the Set...() methods.
// Constructor as before but without a prior.
// In this case it is assumed the prior is already included in the mo
del
// This constructor will set up a basic settings package including a
// ProposalFunction, number of iterations, burn in steps, confidence
// level, and interval determination method. Any of these basic
// settings can be overridden by calling one of the Set...() methods.
MCMCCalculator(RooAbsData& data, RooAbsPdf& pdf, const RooArgSet& par
amsOfInterest );
// Constructor from a ModelConfig class.
// This constructor will set up a basic settings package including a
// ProposalFunction, number of iterations, burn in steps, confidence
// level, and interval determination method. Any of these basic
// settings can be overridden by calling one of the Set...() methods.
MCMCCalculator(RooAbsData& data, const ModelConfig& model); MCMCCalculator(RooAbsData& data, const ModelConfig& model);
// alternate constructor, no automatic basic settings
MCMCCalculator(RooAbsData& data, const ModelConfig& model, ProposalFu
nction& proposalFunction,
Int_t numIters, RooArgList* axes = NULL, Double_t size
= 0.05);
// MCMCCalculator(RooWorkspace& ws, RooAbsData& data, RooAbsPdf& pdf
,
// const RooArgSet& paramsOfInterest, ProposalFunction& proposalFu
nction,
// Int_t numIters, RooArgList* axes = NULL, Double_t size = 0.05);
// alternate constructor, no automatic basic settings
MCMCCalculator(RooAbsData& data, RooAbsPdf& pdf,
const RooArgSet& paramsOfInterest, RooAbsPdf & priorPd
f, ProposalFunction& proposalFunction,
Int_t numIters, RooArgList* axes = NULL, Double_t size = 0.05);
virtual ~MCMCCalculator() {} virtual ~MCMCCalculator() {}
// Main interface to get a ConfInterval // Main interface to get a ConfInterval
virtual MCMCInterval* GetInterval() const; virtual MCMCInterval* GetInterval() const;
// Get the size of the test (eg. rate of Type I error) // Get the size of the test (eg. rate of Type I error)
virtual Double_t Size() const {return fSize;} virtual Double_t Size() const {return fSize;}
// Get the Confidence level for the test // Get the Confidence level for the test
virtual Double_t ConfidenceLevel() const {return 1.-fSize;} virtual Double_t ConfidenceLevel() const {return 1.-fSize;}
skipping to change at line 148 skipping to change at line 118
virtual void SetNumBins(Int_t numBins) { fNumBins = numBins; } virtual void SetNumBins(Int_t numBins) { fNumBins = numBins; }
// set which variables to put on each axis // set which variables to put on each axis
virtual void SetAxes(RooArgList& axes) virtual void SetAxes(RooArgList& axes)
{ fAxes = &axes; } { fAxes = &axes; }
// set whether to use kernel estimation to determine the interval // set whether to use kernel estimation to determine the interval
virtual void SetUseKeys(Bool_t useKeys) { fUseKeys = useKeys; } virtual void SetUseKeys(Bool_t useKeys) { fUseKeys = useKeys; }
// set whether to use sparse histogram (if using histogram at all) // set whether to use sparse histogram (if using histogram at all)
virtual void SetUseSparseHist(Bool_t useSparseHist) virtual void SetUseSparseHist(Bool_t useSparseHist)
{ fUseSparseHist = useSparseHist; } { fUseSparseHist = useSparseHist; }
// set what type of interval to have the MCMCInterval represent
virtual void SetIntervalType(enum MCMCInterval::IntervalType interval
Type)
{ fIntervalType = intervalType; }
// Set the left side tail fraction. This will automatically configure
the
// MCMCInterval to find a tail-fraction interval.
// Note: that `a' must be in the range 0 <= a <= 1
// or the user will be notified of the error
virtual void SetLeftSideTailFraction(Double_t a);
// Set the desired level of confidence-level accuracy for Keys inter
val
// determination.
//
// When determining the cutoff PDF height that gives the
// desired confidence level (C_d), the algorithm will consider accept
able
// any found confidence level c such that Abs(c - C_d) < epsilon.
//
// Any value of this "epsilon" > 0 is considered acceptable, though i
t is
// advisable to not use a value too small, because the integration of
the
// Keys PDF sometimes does not have extremely high accuracy.
virtual void SetKeysConfidenceAccuracy(Double_t epsilon)
{
if (epsilon < 0)
coutE(InputArguments) << "MCMCInterval::SetEpsilon will not all
ow "
<< "negative epsilon value" << endl;
else
fEpsilon = epsilon;
}
// When the shortest interval using Keys PDF could not be found to ha
ve
// the desired confidence level +/- the accuracy (see
// SetKeysConfidenceAccuracy()), the interval determination algorithm
// will have to terminate with an unsatisfactory confidence level whe
n
// the bottom and top of the cutoff search range are very close to be
ing
// equal. This scenario comes into play when there seems to be an er
ror
// in the accuracy of the Keys PDF integration, so the search range
// continues to shrink without converging to a cutoff value that will
// give an acceptable confidence level. To choose how small to allow
the
// search range to be before terminating, set the fraction delta such
// that the search will terminate when topCutoff (a) and bottomCutoff
(b)
// satisfy this condition:
//
// TMath::Abs(a - b) < TMath::Abs(delta * (a + b)/2)
virtual void SetKeysTerminationThreshold(Double_t delta)
{
if (delta < 0.)
coutE(InputArguments) << "MCMCInterval::SetDelta will not allow
"
<< "negative delta value" << endl;
else
fDelta = delta;
}
protected: protected:
Double_t fSize; // size of the test (eg. specified rate of T ype I error) Double_t fSize; // size of the test (eg. specified rate of Type I e rror)
RooArgSet fPOI; // parameters of interest for interval RooArgSet fPOI; // parameters of interest for interval
RooArgSet fNuisParams; // nuisance parameters for interval (not rea lly used) RooArgSet fNuisParams; // nuisance parameters for interval (not rea lly used)
mutable ProposalFunction* fPropFunc; // Proposal function for MCMC in tegration mutable ProposalFunction* fPropFunc; // Proposal function for MCMC in tegration
RooAbsPdf * fPdf; // pointer to common PDF (owned by the works pace) RooAbsPdf * fPdf; // pointer to common PDF (owned by the works pace)
RooAbsPdf * fPriorPdf; // pointer to prior PDF (owned by the works pace) RooAbsPdf * fPriorPdf; // pointer to prior PDF (owned by the works pace)
RooAbsData * fData; // pointer to the data (owned by the workspac e) RooAbsData * fData; // pointer to the data (owned by the workspac e)
Int_t fNumIters; // number of iterations to run metropolis algorithm Int_t fNumIters; // number of iterations to run metropolis algorithm
Int_t fNumBurnInSteps; // number of iterations to discard as burn-in, starting from the first Int_t fNumBurnInSteps; // number of iterations to discard as burn-in, starting from the first
Int_t fNumBins; // set the number of bins to create for each Int_t fNumBins; // set the number of bins to create for each
// axis when constructing the interval // axis when constructing the interval
RooArgList * fAxes; // which variables to put on each axis RooArgList * fAxes; // which variables to put on each axis
Bool_t fUseKeys; // whether to use kernel estimation to determine int erval Bool_t fUseKeys; // whether to use kernel estimation to determine int erval
Bool_t fUseSparseHist; // whether to use sparse histogram (if using h ist at all) Bool_t fUseSparseHist; // whether to use sparse histogram (if using h ist at all)
Double_t fLeftSideTF; // left side tail-fraction for interval
Double_t fEpsilon; // acceptable error for Keys interval determinatio
n
Double_t fDelta; // acceptable error for Keys cutoffs being equal
// topCutoff (a) considered == bottomCutoff (b) iff
// (TMath::Abs(a - b) < TMath::Abs(fDelta * (a + b)/
2));
// Theoretically, the Abs is not needed here, but
// floating-point arithmetic does not always work
// perfectly, and the Abs doesn't hurt
enum MCMCInterval::IntervalType fIntervalType; // type of interval to
find
void SetupBasicUsage(); void SetupBasicUsage();
void SetBins(const RooAbsCollection& coll, Int_t numBins) const void SetBins(const RooAbsCollection& coll, Int_t numBins) const
{ {
TIterator* it = coll.createIterator(); TIterator* it = coll.createIterator();
RooAbsArg* r; RooAbsArg* r;
while ((r = (RooAbsArg*)it->Next()) != NULL) while ((r = (RooAbsArg*)it->Next()) != NULL)
if (dynamic_cast<RooRealVar*>(r)) if (dynamic_cast<RooRealVar*>(r))
((RooRealVar*)r)->setBins(numBins); ((RooRealVar*)r)->setBins(numBins);
delete it; delete it;
 End of changes. 7 change blocks. 
45 lines changed or deleted 89 lines changed or added


 MCMCInterval.h   MCMCInterval.h 
// @(#)root/roostats:$Id: MCMCInterval.h 31276 2009-11-18 15:06:42Z moneta $ // @(#)root/roostats:$Id: MCMCInterval.h 34109 2010-06-24 15:00:16Z moneta $
// Authors: Kevin Belasco 17/06/2009 // Authors: Kevin Belasco 17/06/2009
// Authors: Kyle Cranmer 17/06/2009 // Authors: Kyle Cranmer 17/06/2009
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 28 skipping to change at line 28
#ifndef ROOSTATS_ConfInterval #ifndef ROOSTATS_ConfInterval
#include "RooStats/ConfInterval.h" #include "RooStats/ConfInterval.h"
#endif #endif
#ifndef ROO_ARG_SET #ifndef ROO_ARG_SET
#include "RooArgSet.h" #include "RooArgSet.h"
#endif #endif
#ifndef ROO_ARG_LIST #ifndef ROO_ARG_LIST
#include "RooArgList.h" #include "RooArgList.h"
#endif #endif
// #ifndef ROO_DATA_HIST
// #include "RooDataHist.h"
// #endif
// #ifndef ROO_DATA_SET
// #include "RooDataSet.h"
// #endif
// #ifndef ROO_REAL_VAR
// #include "RooRealVar.h"
// #endif
// #ifndef ROO_KEYS_PDF
// #include "RooNDKeysPdf.h"
// #endif
#ifndef ROOSTATS_MarkovChain #ifndef ROOSTATS_MarkovChain
#include "RooStats/MarkovChain.h" #include "RooStats/MarkovChain.h"
#endif #endif
// #ifndef ROOT_TH1
// #include "TH1.h"
// #endif
// #ifndef ROO_PRODUCT
// #include "RooProduct.h"
// #endif
// #ifndef RooStats_Heavyside
// #include "RooStats/Heavyside.h"
// #endif
// #ifndef ROO_PRODUCT
// #include "RooProduct.h"
// #endif
// #ifndef ROOT_THnSparse
// #include "THnSparse.h"
// #endif
class RooNDKeysPdf; class RooNDKeysPdf;
class RooProduct; class RooProduct;
namespace RooStats { namespace RooStats {
class Heavyside; class Heaviside;
class MCMCInterval : public ConfInterval { class MCMCInterval : public ConfInterval {
public: public:
// default constructor // default constructor
explicit MCMCInterval(const char* name = 0); explicit MCMCInterval(const char* name = 0);
// constructor from parameter of interest and Markov chain object // constructor from parameter of interest and Markov chain object
MCMCInterval(const char* name, const RooArgSet& parameters, MCMCInterval(const char* name, const RooArgSet& parameters,
MarkovChain& chain); MarkovChain& chain);
enum {DEFAULT_NUM_BINS = 50}; enum {DEFAULT_NUM_BINS = 50};
enum IntervalType {kShortest, kTailFraction};
virtual ~MCMCInterval(); virtual ~MCMCInterval();
// determine whether this point is in the confidence interval // determine whether this point is in the confidence interval
virtual Bool_t IsInInterval(const RooArgSet& point) const; virtual Bool_t IsInInterval(const RooArgSet& point) const;
// set the desired confidence level (see GetActualConfidenceLevel()) // set the desired confidence level (see GetActualConfidenceLevel())
// Note: calling this function triggers the algorithm that determines // Note: calling this function triggers the algorithm that determines
// the interval, so call this after initializing all other aspects // the interval, so call this after initializing all other aspects
// of this IntervalCalculator // of this IntervalCalculator
skipping to change at line 111 skipping to change at line 85
virtual Double_t GetHistCutoff(); virtual Double_t GetHistCutoff();
// get the cutoff RooNDKeysPdf value for being considered in the // get the cutoff RooNDKeysPdf value for being considered in the
// confidence interval // confidence interval
virtual Double_t GetKeysPdfCutoff(); virtual Double_t GetKeysPdfCutoff();
//virtual Double_t GetKeysPdfCutoff() { return fKeysCutoff; } //virtual Double_t GetKeysPdfCutoff() { return fKeysCutoff; }
// get the actual value of the confidence level for this interval. // get the actual value of the confidence level for this interval.
virtual Double_t GetActualConfidenceLevel(); virtual Double_t GetActualConfidenceLevel();
// get the sum of all bin weights
virtual Double_t GetSumOfWeights() const;
// whether the specified confidence level is a floor for the actual // whether the specified confidence level is a floor for the actual
// confidence level (strict), or a ceiling (not strict) // confidence level (strict), or a ceiling (not strict)
virtual void SetHistStrict(Bool_t isHistStrict) { fIsHistStrict = isH virtual void SetHistStrict(Bool_t isHistStrict)
istStrict; } { fIsHistStrict = isHistStrict; }
// check if parameters are correct. (dummy implementation to start) // check if parameters are correct. (dummy implementation to start)
Bool_t CheckParameters(const RooArgSet& point) const; Bool_t CheckParameters(const RooArgSet& point) const;
// Set the parameters of interest for this interval // Set the parameters of interest for this interval
// and change other internal data members accordingly // and change other internal data members accordingly
virtual void SetParameters(const RooArgSet& parameters); virtual void SetParameters(const RooArgSet& parameters);
// Set the MarkovChain that this interval is based on // Set the MarkovChain that this interval is based on
virtual void SetChain(MarkovChain& chain) { fChain = &chain; } virtual void SetChain(MarkovChain& chain) { fChain = &chain; }
skipping to change at line 143 skipping to change at line 115
// return a list of RooRealVars representing the axes // return a list of RooRealVars representing the axes
// you own the returned RooArgList // you own the returned RooArgList
virtual RooArgList* GetAxes() virtual RooArgList* GetAxes()
{ {
RooArgList* axes = new RooArgList(); RooArgList* axes = new RooArgList();
for (Int_t i = 0; i < fDimension; i++) for (Int_t i = 0; i < fDimension; i++)
axes->addClone(*fAxes[i]); axes->addClone(*fAxes[i]);
return axes; return axes;
} }
// get the lower limit of param in the confidence interval // get the lowest value of param that is within the confidence interv
al
virtual Double_t LowerLimit(RooRealVar& param);
// determine lower limit of the lower confidence interval
virtual Double_t LowerLimitTailFraction(RooRealVar& param);
// get the lower limit of param in the shortest confidence interval
// Note that this works better for some distributions (ones with exac tly // Note that this works better for some distributions (ones with exac tly
// one maximum) than others, and sometimes has little value. // one maximum) than others, and sometimes has little value.
virtual Double_t LowerLimit(RooRealVar& param); virtual Double_t LowerLimitShortest(RooRealVar& param);
// determine lower limit using keys pdf // determine lower limit in the shortest interval by using keys pdf
virtual Double_t LowerLimitByKeys(RooRealVar& param); virtual Double_t LowerLimitByKeys(RooRealVar& param);
// determine upper limit using keys pdf
virtual Double_t UpperLimitByKeys(RooRealVar& param);
// determine lower limit using histogram // determine lower limit using histogram
virtual Double_t LowerLimitByHist(RooRealVar& param); virtual Double_t LowerLimitByHist(RooRealVar& param);
// determine lower limit using histogram // determine lower limit using histogram
virtual Double_t LowerLimitBySparseHist(RooRealVar& param); virtual Double_t LowerLimitBySparseHist(RooRealVar& param);
// determine lower limit using histogram // determine lower limit using histogram
virtual Double_t LowerLimitByDataHist(RooRealVar& param); virtual Double_t LowerLimitByDataHist(RooRealVar& param);
// get the highest value of param that is within the confidence inter
val
virtual Double_t UpperLimit(RooRealVar& param);
// determine upper limit of the lower confidence interval
virtual Double_t UpperLimitTailFraction(RooRealVar& param);
// get the upper limit of param in the confidence interval
// Note that this works better for some distributions (ones with exac
tly
// one maximum) than others, and sometimes has little value.
virtual Double_t UpperLimitShortest(RooRealVar& param);
// determine upper limit in the shortest interval by using keys pdf
virtual Double_t UpperLimitByKeys(RooRealVar& param);
// determine upper limit using histogram // determine upper limit using histogram
virtual Double_t UpperLimitByHist(RooRealVar& param); virtual Double_t UpperLimitByHist(RooRealVar& param);
// determine upper limit using histogram // determine upper limit using histogram
virtual Double_t UpperLimitBySparseHist(RooRealVar& param); virtual Double_t UpperLimitBySparseHist(RooRealVar& param);
// determine upper limit using histogram // determine upper limit using histogram
virtual Double_t UpperLimitByDataHist(RooRealVar& param); virtual Double_t UpperLimitByDataHist(RooRealVar& param);
// get the upper limit of param in the confidence interval // Determine the approximate maximum value of the Keys PDF
// Note that this works better for some distributions (ones with exac Double_t GetKeysMax();
tly
// one maximum) than others, and sometimes has little value.
virtual Double_t UpperLimit(RooRealVar& param);
// set the number of steps in the chain to discard as burn-in, // set the number of steps in the chain to discard as burn-in,
// starting from the first // starting from the first
virtual void SetNumBurnInSteps(Int_t numBurnInSteps) virtual void SetNumBurnInSteps(Int_t numBurnInSteps)
{ fNumBurnInSteps = numBurnInSteps; } { fNumBurnInSteps = numBurnInSteps; }
// set whether to use kernel estimation to determine the interval // set whether to use kernel estimation to determine the interval
virtual void SetUseKeys(Bool_t useKeys) { fUseKeys = useKeys; } virtual void SetUseKeys(Bool_t useKeys) { fUseKeys = useKeys; }
// set whether to use a sparse histogram. you MUST also call // set whether to use a sparse histogram. you MUST also call
skipping to change at line 208 skipping to change at line 195
// set the number of bins to use (same for all axes, for now) // set the number of bins to use (same for all axes, for now)
//virtual void SetNumBins(Int_t numBins); //virtual void SetNumBins(Int_t numBins);
// Get a clone of the histogram of the posterior // Get a clone of the histogram of the posterior
virtual TH1* GetPosteriorHist(); virtual TH1* GetPosteriorHist();
// Get a clone of the keys pdf of the posterior // Get a clone of the keys pdf of the posterior
virtual RooNDKeysPdf* GetPosteriorKeysPdf(); virtual RooNDKeysPdf* GetPosteriorKeysPdf();
// Get a clone of the (keyspdf * heavyside) product of the posterior // Get a clone of the (keyspdf * heaviside) product of the posterior
virtual RooProduct* GetPosteriorKeysProduct(); virtual RooProduct* GetPosteriorKeysProduct();
// Get the number of parameters of interest in this interval // Get the number of parameters of interest in this interval
virtual Int_t GetDimension() const { return fDimension; } virtual Int_t GetDimension() const { return fDimension; }
// Get the markov chain on which this interval is based // Get the markov chain on which this interval is based
// You do not own the returned MarkovChain* // You do not own the returned MarkovChain*
virtual const MarkovChain* GetChain() { return fChain; } virtual const MarkovChain* GetChain() { return fChain; }
// Get a clone of the markov chain on which this interval is based // Get a clone of the markov chain on which this interval is based
skipping to change at line 239 skipping to change at line 226
// as a RooDataHist. You own the returned RooDataHist* // as a RooDataHist. You own the returned RooDataHist*
virtual RooDataHist* GetChainAsDataHist(RooArgSet* whichVars = NULL) virtual RooDataHist* GetChainAsDataHist(RooArgSet* whichVars = NULL)
{ return fChain->GetAsDataHist(whichVars); } { return fChain->GetAsDataHist(whichVars); }
// Get a clone of the markov chain on which this interval is based // Get a clone of the markov chain on which this interval is based
// as a THnSparse. You own the returned THnSparse* // as a THnSparse. You own the returned THnSparse*
virtual THnSparse* GetChainAsSparseHist(RooArgSet* whichVars = NULL) virtual THnSparse* GetChainAsSparseHist(RooArgSet* whichVars = NULL)
{ return fChain->GetAsSparseHist(whichVars); } { return fChain->GetAsSparseHist(whichVars); }
// Get a clone of the NLL variable from the markov chain // Get a clone of the NLL variable from the markov chain
virtual RooRealVar* GetNLLVar() const { return fChain->GetNLLVar(); } virtual RooRealVar* GetNLLVar() const
{ return fChain->GetNLLVar(); }
// Get a clone of the weight variable from the markov chain // Get a clone of the weight variable from the markov chain
virtual RooRealVar* GetWeightVar() const { return fChain->GetWeightVa virtual RooRealVar* GetWeightVar() const
r(); } { return fChain->GetWeightVar(); }
// set the acceptable level or error for Keys interval determination // set the acceptable level or error for Keys interval determination
virtual void SetEpsilon(Double_t epsilon) virtual void SetEpsilon(Double_t epsilon)
{ {
if (epsilon < 0) if (epsilon < 0)
coutE(InputArguments) << "MCMCInterval::SetEpsilon will not all ow " coutE(InputArguments) << "MCMCInterval::SetEpsilon will not all ow "
<< "negative epsilon value" << endl; << "negative epsilon value" << endl;
else else
fEpsilon = epsilon; fEpsilon = epsilon;
} }
// Set the type of interval to find. This will only have an effect f
or
// 1-D intervals. If is more than 1 parameter of interest, then a
// "shortest" interval will always be used, since it generalizes dire
ctly
// to N dimensions
virtual void SetIntervalType(enum IntervalType intervalType)
{ fIntervalType = intervalType; }
// Return the type of this interval
virtual enum IntervalType GetIntervalType() { return fIntervalType; }
// set the left-side tail fraction for a tail-fraction interval
virtual void SetLeftSideTailFraction(Double_t a) { fLeftSideTF = a; }
// kbelasco: The inner-workings of the class really should not be exp
osed
// like this in a comment, but it seems to be the only way to give
// the user any control over this process, if he desires it
//
// Set the fraction delta such that
// topCutoff (a) is considered == bottomCutoff (b) iff
// (TMath::Abs(a - b) < TMath::Abs(fDelta * (a + b)/2))
// when determining the confidence interval by Keys
virtual void SetDelta(Double_t delta)
{
if (delta < 0.)
coutE(InputArguments) << "MCMCInterval::SetDelta will not allow
"
<< "negative delta value" << endl;
else
fDelta = delta;
}
private: private:
inline Bool_t AcceptableConfLevel(Double_t confLevel); inline Bool_t AcceptableConfLevel(Double_t confLevel);
inline Bool_t WithinDeltaFraction(Double_t a, Double_t b);
protected: protected:
// data members // data members
RooArgSet fParameters; // parameters of interest for this interval RooArgSet fParameters; // parameters of interest for this interval
MarkovChain* fChain; // the markov chain MarkovChain* fChain; // the markov chain
Double_t fConfidenceLevel; // Requested confidence level (eg. 0.95 fo
r 95% CL)
RooDataHist* fDataHist; // the binned Markov Chain data RooDataHist* fDataHist; // the binned Markov Chain data
RooNDKeysPdf* fKeysPdf; // the kernel estimation pdf
RooProduct* fProduct; // the (keysPdf * heavyside) product
Heavyside* fHeavyside; // the Heavyside function
RooDataHist* fKeysDataHist; // data hist representing product
TH1* fHist; // the binned Markov Chain data
THnSparse* fSparseHist; // the binned Markov Chain data THnSparse* fSparseHist; // the binned Markov Chain data
Double_t fConfidenceLevel; // Requested confidence level (eg. 0.95 fo r 95% CL)
Double_t fHistConfLevel; // the actual conf level determined by hist Double_t fHistConfLevel; // the actual conf level determined by hist
Double_t fKeysConfLevel; // the actual conf level determined by keys
Double_t fHistCutoff; // cutoff bin size to be in interval Double_t fHistCutoff; // cutoff bin size to be in interval
RooNDKeysPdf* fKeysPdf; // the kernel estimation pdf
RooProduct* fProduct; // the (keysPdf * heaviside) product
Heaviside* fHeaviside; // the Heaviside function
RooDataHist* fKeysDataHist; // data hist representing product
RooRealVar* fCutoffVar; // cutoff variable to use for integrating key
s pdf
Double_t fKeysConfLevel; // the actual conf level determined by keys
Double_t fKeysCutoff; // cutoff keys pdf value to be in interval Double_t fKeysCutoff; // cutoff keys pdf value to be in interval
Double_t fFull; // Value of intergral of fProduct Double_t fFull; // Value of intergral of fProduct
RooRealVar* fCutoffVar; // cutoff variable to use for integrating key
s pdf Double_t fLeftSideTF; // left side tail-fraction for interval
Double_t fTFConfLevel; // the actual conf level of tail-fraction inte
rval
vector<Int_t> fVector; // vector containing the Markov chain data
Double_t fVecWeight; // sum of weights of all entries in fVector
Double_t fTFLower; // lower limit of the tail-fraction interval
Double_t fTFUpper; // upper limit of the tail-fraction interval
TH1* fHist; // the binned Markov Chain data
Bool_t fUseKeys; // whether to use kernel estimation Bool_t fUseKeys; // whether to use kernel estimation
Bool_t fUseSparseHist; // whether to use sparse hist (vs. RooDataHist ) Bool_t fUseSparseHist; // whether to use sparse hist (vs. RooDataHist )
Bool_t fIsHistStrict; // whether the specified confidence level is a Bool_t fIsHistStrict; // whether the specified confidence level is a
floor // floor for the actual confidence level (stric
// for the actual confidence level (strict), or t),
a // or a ceiling (not strict) for determination
// ceiling (not strict) for determination by hi by
stogram // histogram
Int_t fDimension; // number of variables Int_t fDimension; // number of variables
Int_t fNumBurnInSteps; // number of steps to discard as burn in, star Int_t fNumBurnInSteps; // number of steps to discard as burn in, star
ting from the first ting
// from the first
Double_t fIntervalSum; // sum of heights of bins in the interval Double_t fIntervalSum; // sum of heights of bins in the interval
RooRealVar** fAxes; // array of pointers to RooRealVars representing RooRealVar** fAxes; // array of pointers to RooRealVars representing
// the axes of the histogram // the axes of the histogram
// fAxes[0] represents x-axis, [1] y, [2] z, etc // fAxes[0] represents x-axis, [1] y, [2] z, etc
Double_t fEpsilon; // acceptable error for Keys interval determinatio n Double_t fEpsilon; // acceptable error for Keys interval determinatio n
Double_t fDelta; // topCutoff (a) considered == bottomCutoff (b) iff
// (TMath::Abs(a - b) < TMath::Abs(fDelta * (a + b)/
2));
// Theoretically, the Abs is not needed here, but
// floating-point arithmetic does not always work
// perfectly, and the Abs doesn't hurt
enum IntervalType fIntervalType;
// functions // functions
virtual void DetermineInterval(); virtual void DetermineInterval();
virtual void DetermineShortestInterval();
virtual void DetermineTailFractionInterval();
virtual void DetermineByHist(); virtual void DetermineByHist();
virtual void DetermineBySparseHist(); virtual void DetermineBySparseHist();
virtual void DetermineByDataHist(); virtual void DetermineByDataHist();
virtual void DetermineByKeys(); virtual void DetermineByKeys();
virtual void CreateHist(); virtual void CreateHist();
virtual void CreateSparseHist(); virtual void CreateSparseHist();
virtual void CreateDataHist(); virtual void CreateDataHist();
virtual void CreateKeysPdf(); virtual void CreateKeysPdf();
virtual void CreateKeysDataHist(); virtual void CreateKeysDataHist();
virtual void CreateVector(RooRealVar* param);
inline virtual Double_t CalcConfLevel(Double_t cutoff, Double_t full) ; inline virtual Double_t CalcConfLevel(Double_t cutoff, Double_t full) ;
ClassDef(MCMCInterval,1) // Concrete implementation of a ConfInterva l based on MCMC calculation ClassDef(MCMCInterval,1) // Concrete implementation of a ConfInterva l based on MCMC calculation
}; };
} }
#endif #endif
 End of changes. 30 change blocks. 
66 lines changed or deleted 116 lines changed or added


 MCMCIntervalPlot.h   MCMCIntervalPlot.h 
// @(#)root/roostats:$Id: MCMCIntervalPlot.h 31276 2009-11-18 15:06:42Z mon eta $ // @(#)root/roostats:$Id: MCMCIntervalPlot.h 34109 2010-06-24 15:00:16Z mon eta $
// Authors: Kevin Belasco 17/06/2009 // Authors: Kevin Belasco 17/06/2009
// Authors: Kyle Cranmer 17/06/2009 // Authors: Kyle Cranmer 17/06/2009
/************************************************************************* /*************************************************************************
* Project: RooStats * * Project: RooStats *
* Package: RooFit/RooStats * * Package: RooFit/RooStats *
************************************************************************* *************************************************************************
* Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
skipping to change at line 54 skipping to change at line 54
public: public:
MCMCIntervalPlot(); MCMCIntervalPlot();
MCMCIntervalPlot(MCMCInterval& interval); MCMCIntervalPlot(MCMCInterval& interval);
// Destructor of SamplingDistribution // Destructor of SamplingDistribution
virtual ~MCMCIntervalPlot(); virtual ~MCMCIntervalPlot();
void SetMCMCInterval(MCMCInterval& interval); void SetMCMCInterval(MCMCInterval& interval);
void SetLineColor(Color_t color) {fLineColor = color;} void SetLineColor(Color_t color) {fLineColor = color;}
void SetLineWidth(Int_t width) {fLineWidth = width;} void SetLineWidth(Int_t width) {fLineWidth = width;}
//void SetContourColor(Color_t color) {fContourColor = color;} void SetShadeColor(Color_t color) {fShadeColor = color;}
void SetShowBurnIn(Bool_t showBurnIn) { fShowBurnIn = showBurnIn; } void SetShowBurnIn(Bool_t showBurnIn) { fShowBurnIn = showBurnIn; }
void Draw(const Option_t* options = NULL); void Draw(const Option_t* options = NULL);
void DrawPosterior(const Option_t* options = NULL);
void DrawPosteriorHist(const Option_t* options = NULL, Bool_t scale =
kTRUE);
void DrawPosteriorKeysPdf(const Option_t* options = NULL);
void DrawPosteriorKeysProduct(const Option_t* options = NULL);
void DrawInterval(const Option_t* options = NULL);
void DrawHistInterval(const Option_t* options = NULL);
void DrawKeysPdfInterval(const Option_t* options = NULL);
void DrawChainScatter(RooRealVar& xVar, RooRealVar& yVar); void DrawChainScatter(RooRealVar& xVar, RooRealVar& yVar);
void DrawParameterVsTime(RooRealVar& param); void DrawParameterVsTime(RooRealVar& param);
void DrawNLLVsTime(); void DrawNLLVsTime();
void DrawNLLHist(const Option_t* options = NULL); void DrawNLLHist(const Option_t* options = NULL);
void DrawWeightHist(const Option_t* options = NULL); void DrawWeightHist(const Option_t* options = NULL);
private: private:
MCMCInterval *fInterval; MCMCInterval *fInterval;
RooArgSet *fParameters; RooArgSet *fParameters;
TH1* fPosteriorHist; TH1* fPosteriorHist;
RooNDKeysPdf* fPosteriorKeysPdf; RooNDKeysPdf* fPosteriorKeysPdf;
RooProduct* fPosteriorKeysProduct; RooProduct* fPosteriorKeysProduct;
TH1* fNLLHist; TH1* fNLLHist;
TH1* fWeightHist; TH1* fWeightHist;
TH1* fPosteriorHistHistCopy;
TH1* fPosteriorHistTFCopy;
Int_t fDimension; Int_t fDimension;
Color_t fLineColor; Color_t fLineColor;
Color_t fShadeColor;
Int_t fLineWidth; Int_t fLineWidth;
//Color_t fContourColor;
Bool_t fShowBurnIn; Bool_t fShowBurnIn;
TGraph* fWalk; TGraph* fWalk;
TGraph* fBurnIn; TGraph* fBurnIn;
TGraph* fFirst; TGraph* fFirst;
TGraph* fParamGraph; TGraph* fParamGraph;
TGraph* fNLLGraph; TGraph* fNLLGraph;
protected: protected:
void DrawPosterior(const Option_t* options = NULL);
void* DrawPosteriorHist(const Option_t* options = NULL,
const char* title = NULL, Bool_t scale = kTRUE);
void* DrawPosteriorKeysPdf(const Option_t* options = NULL);
void* DrawPosteriorKeysProduct(const Option_t* options = NULL);
void DrawInterval(const Option_t* options = NULL);
void DrawShortestInterval(const Option_t* options = NULL);
void DrawHistInterval(const Option_t* options = NULL);
void DrawKeysPdfInterval(const Option_t* options = NULL);
void DrawTailFractionInterval(const Option_t* options = NULL);
ClassDef(MCMCIntervalPlot,1) // Class containing the results of the MCMCCalculator ClassDef(MCMCIntervalPlot,1) // Class containing the results of the MCMCCalculator
}; };
} }
#endif #endif
 End of changes. 7 change blocks. 
13 lines changed or deleted 16 lines changed or added


 MethodANNBase.h   MethodANNBase.h 
// @(#)root/tmva $Id: MethodANNBase.h 31574 2009-12-05 18:23:21Z stelzer $ // @(#)root/tmva $Id: MethodANNBase.h 33928 2010-06-15 16:19:31Z stelzer $
// Author: Andreas Hoecker, Matt Jachowski // Author: Andreas Hoecker, Peter Speckmayer, Matt Jachowski
/************************************************************************** ******** /************************************************************************** ********
* Project: TMVA - a Root-integrated toolkit for multivariate data analysis * * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
* Package: TMVA * * Package: TMVA *
* Class : MethodANNBase * * Class : MethodANNBase *
* Web : http://tmva.sourceforge.net * * Web : http://tmva.sourceforge.net *
* * * *
* Description: * * Description: *
* Artificial neural network base class for the discrimination of sign al * * Artificial neural network base class for the discrimination of sign al *
* from background. * * from background. *
* * * *
* Authors (alphabetical): * * Authors (alphabetical): *
* Andreas Hoecker <Andreas.Hocker@cern.ch> - CERN, Switzerland * * Andreas Hoecker <Andreas.Hocker@cern.ch> - CERN, Switzerland *
* Matt Jachowski <jachowski@stanford.edu> - Stanford University, US A * * Matt Jachowski <jachowski@stanford.edu> - Stanford University, US A *
* Peter Speckmayer <Peter.Speckmayer@cern.ch> - CERN, Switzerland *
* Joerg Stelzer <Joerg.Stelzer@cern.ch> - CERN, Switzerland * * Joerg Stelzer <Joerg.Stelzer@cern.ch> - CERN, Switzerland *
* * * *
* Small changes (regression): * * Small changes (regression): *
* Krzysztof Danielowski <danielow@cern.ch> - IFJ PAN & AGH, Poland * * Krzysztof Danielowski <danielow@cern.ch> - IFJ PAN & AGH, Poland *
* Kamil Kraszewski <kalq@cern.ch> - IFJ PAN & UJ , Poland * * Kamil Kraszewski <kalq@cern.ch> - IFJ PAN & UJ , Poland *
* Maciej Kruk <mkruk@cern.ch> - IFJ PAN & AGH, Poland * * Maciej Kruk <mkruk@cern.ch> - IFJ PAN & AGH, Poland *
* * * *
* Copyright (c) 2005: * * Copyright (c) 2005: *
* CERN, Switzerland * * CERN, Switzerland *
* * * *
skipping to change at line 126 skipping to change at line 127
void ReadWeightsFromXML( void* wghtnode ); void ReadWeightsFromXML( void* wghtnode );
// read weights from file // read weights from file
virtual void ReadWeightsFromStream( istream& istr ); virtual void ReadWeightsFromStream( istream& istr );
// calculate the MVA value // calculate the MVA value
virtual Double_t GetMvaValue( Double_t* err = 0 ); virtual Double_t GetMvaValue( Double_t* err = 0 );
virtual const std::vector<Float_t> &GetRegressionValues(); virtual const std::vector<Float_t> &GetRegressionValues();
virtual const std::vector<Float_t> &GetMulticlassValues();
// write method specific histos to target file // write method specific histos to target file
virtual void WriteMonitoringHistosToFile() const; virtual void WriteMonitoringHistosToFile() const;
// ranking of input variables // ranking of input variables
const Ranking* CreateRanking(); const Ranking* CreateRanking();
// the option handling methods // the option handling methods
virtual void DeclareOptions(); virtual void DeclareOptions();
virtual void ProcessOptions(); virtual void ProcessOptions();
Bool_t Debug() const { return fgDEBUG; } Bool_t Debug() const;
enum EEstimator { kMSE=0,kCE};
protected: protected:
virtual void MakeClassSpecific( std::ostream&, const TString& ) const ; virtual void MakeClassSpecific( std::ostream&, const TString& ) const ;
std::vector<Int_t>* ParseLayoutString( TString layerSpec ); std::vector<Int_t>* ParseLayoutString( TString layerSpec );
virtual void BuildNetwork( std::vector<Int_t>* layout, std::ve ctor<Double_t>* weights=NULL, virtual void BuildNetwork( std::vector<Int_t>* layout, std::ve ctor<Double_t>* weights=NULL,
Bool_t fromFile = kFALSE ); Bool_t fromFile = kFALSE );
void ForceNetworkInputs( const Event* ev, Int_t ignoreIndex = -1 ); void ForceNetworkInputs( const Event* ev, Int_t ignoreIndex = -1 );
Double_t GetNetworkOutput() { return GetOutputNeuron()->GetActivation Value(); } Double_t GetNetworkOutput() { return GetOutputNeuron()->GetActivation Value(); }
skipping to change at line 162 skipping to change at line 167
// accessors // accessors
Int_t NumCycles() { return fNcycles; } Int_t NumCycles() { return fNcycles; }
TNeuron* GetInputNeuron(Int_t index) { return (TNeuron*)fInputL ayer->At(index); } TNeuron* GetInputNeuron(Int_t index) { return (TNeuron*)fInputL ayer->At(index); }
TNeuron* GetOutputNeuron( Int_t index = 0) { return fOutputNeurons.at (index); } TNeuron* GetOutputNeuron( Int_t index = 0) { return fOutputNeurons.at (index); }
// protected variables // protected variables
TObjArray* fNetwork; // TObjArray of TObjArrays representi ng network TObjArray* fNetwork; // TObjArray of TObjArrays representi ng network
TObjArray* fSynapses; // array of pointers to synapses, no structural data TObjArray* fSynapses; // array of pointers to synapses, no structural data
TActivation* fActivation; // activation function to be used for hidden layers TActivation* fActivation; // activation function to be used for hidden layers
TActivation* fOutput; // activation function to be used for output layers, depending on estimator
TActivation* fIdentity; // activation for input and output la yers TActivation* fIdentity; // activation for input and output la yers
TRandom3* frgen; // random number generator for variou s uses TRandom3* frgen; // random number generator for variou s uses
TNeuronInput* fInputCalculator; // input calculator for all neurons TNeuronInput* fInputCalculator; // input calculator for all neurons
std::vector<Int_t> fRegulatorIdx; //index to different priors
from every synapses
std::vector<Double_t> fRegulators; //the priors as regulator
EEstimator fEstimator;
TString fEstimatorS;
// monitoring histograms // monitoring histograms
TH1F* fEstimatorHistTrain; // monitors convergence of training sample TH1F* fEstimatorHistTrain; // monitors convergence of training sample
TH1F* fEstimatorHistTest; // monitors convergence of independent tes t sample TH1F* fEstimatorHistTest; // monitors convergence of independent tes t sample
// monitoring histograms (not available for regression) // monitoring histograms (not available for regression)
void CreateWeightMonitoringHists( const TString& bulkname, std::vecto r<TH1*>* hv = 0 ) const; void CreateWeightMonitoringHists( const TString& bulkname, std::vecto r<TH1*>* hv = 0 ) const;
std::vector<TH1*> fEpochMonHistS; // epoch monitoring hitograms for s ignal std::vector<TH1*> fEpochMonHistS; // epoch monitoring hitograms for s ignal
std::vector<TH1*> fEpochMonHistB; // epoch monitoring hitograms for b ackground std::vector<TH1*> fEpochMonHistB; // epoch monitoring hitograms for b ackground
std::vector<TH1*> fEpochMonHistW; // epoch monitoring hitograms for w eights std::vector<TH1*> fEpochMonHistW; // epoch monitoring hitograms for w eights
// general
TMatrixD fInvHessian; // zjh
bool fUseRegulator; // zjh
private: private:
// helper functions for building network // helper functions for building network
void BuildLayers(std::vector<Int_t>* layout, Bool_t from_file = false ); void BuildLayers(std::vector<Int_t>* layout, Bool_t from_file = false );
void BuildLayer(Int_t numNeurons, TObjArray* curLayer, TObjArray* pre vLayer, void BuildLayer(Int_t numNeurons, TObjArray* curLayer, TObjArray* pre vLayer,
Int_t layerIndex, Int_t numLayers, Bool_t from_file = false); Int_t layerIndex, Int_t numLayers, Bool_t from_file = false);
void AddPreLinks(TNeuron* neuron, TObjArray* prevLayer); void AddPreLinks(TNeuron* neuron, TObjArray* prevLayer);
// helper functions for weight initialization // helper functions for weight initialization
void InitWeights(); void InitWeights();
skipping to change at line 203 skipping to change at line 218
void PrintLayer(TObjArray* layer) const; void PrintLayer(TObjArray* layer) const;
void PrintNeuron(TNeuron* neuron) const; void PrintNeuron(TNeuron* neuron) const;
// private variables // private variables
Int_t fNcycles; // number of epochs to trai n Int_t fNcycles; // number of epochs to trai n
TString fNeuronType; // name of neuron activatio n function class TString fNeuronType; // name of neuron activatio n function class
TString fNeuronInputType; // name of neuron input cal culator class TString fNeuronInputType; // name of neuron input cal culator class
TObjArray* fInputLayer; // cache this for fast acce ss TObjArray* fInputLayer; // cache this for fast acce ss
std::vector<TNeuron*> fOutputNeurons; // cache this for fast acce ss std::vector<TNeuron*> fOutputNeurons; // cache this for fast acce ss
TString fLayerSpec; // layout specification opt ion TString fLayerSpec; // layout specification opt ion
Int_t fRandomSeed; // random seed for initial synapse weights
// some static flags // some static flags
static const Bool_t fgDEBUG = kTRUE; // debug flag static const Bool_t fgDEBUG = kTRUE; // debug flag
static const Bool_t fgFIXED_SEED = kFALSE; // fix rand generator see d
ClassDef(MethodANNBase,0) // Base class for TMVA ANNs ClassDef(MethodANNBase,0) // Base class for TMVA ANNs
}; };
} // namespace TMVA } // namespace TMVA
#endif #endif
 End of changes. 9 change blocks. 
4 lines changed or deleted 20 lines changed or added


 MethodBDT.h   MethodBDT.h 
// @(#)root/tmva $Id: MethodBDT.h 31574 2009-12-05 18:23:21Z stelzer $ // @(#)root/tmva $Id: MethodBDT.h 33939 2010-06-16 09:44:12Z rdm $
// Author: Andreas Hoecker, Joerg Stelzer, Helge Voss, Kai Voss // Author: Andreas Hoecker, Joerg Stelzer, Helge Voss, Kai Voss
/************************************************************************** ******** /************************************************************************** ********
* Project: TMVA - a Root-integrated toolkit for multivariate data analysis * * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
* Package: TMVA * * Package: TMVA *
* Class : MethodBDT (Boosted Decision Trees) * * Class : MethodBDT (Boosted Decision Trees) *
* Web : http://tmva.sourceforge.net * * Web : http://tmva.sourceforge.net *
* * * *
* Description: * * Description: *
* Analysis of Boosted Decision Trees * * Analysis of Boosted Decision Trees *
skipping to change at line 103 skipping to change at line 103
// read weights from file // read weights from file
void ReadWeightsFromStream( istream& istr ); void ReadWeightsFromStream( istream& istr );
void ReadWeightsFromXML(void* parent); void ReadWeightsFromXML(void* parent);
// write method specific histos to target file // write method specific histos to target file
void WriteMonitoringHistosToFile( void ) const; void WriteMonitoringHistosToFile( void ) const;
// calculate the MVA value // calculate the MVA value
Double_t GetMvaValue( Double_t* err = 0); Double_t GetMvaValue( Double_t* err = 0);
Double_t GetMvaValue( Double_t* err , UInt_t useNTrees ); Double_t GetMvaValue( Double_t* err , UInt_t useNTrees );
const std::vector<Float_t>& GetMulticlassValues();
// regression response // regression response
const std::vector<Float_t>& GetRegressionValues(); const std::vector<Float_t>& GetRegressionValues();
// apply the boost algorithm to a tree in the collection // apply the boost algorithm to a tree in the collection
Double_t Boost( std::vector<TMVA::Event*>, DecisionTree *dt, Int_t iT ree ); Double_t Boost( std::vector<TMVA::Event*>, DecisionTree *dt, Int_t iT ree, UInt_t cls = 0);
// ranking of input variables // ranking of input variables
const Ranking* CreateRanking(); const Ranking* CreateRanking();
// the option handling methods // the option handling methods
void DeclareOptions(); void DeclareOptions();
void ProcessOptions(); void ProcessOptions();
// get the forest // get the forest
inline const std::vector<TMVA::DecisionTree*> & GetForest() const; inline const std::vector<TMVA::DecisionTree*> & GetForest() const;
skipping to change at line 164 skipping to change at line 165
// boosting special for regression // boosting special for regression
Double_t RegBoost( std::vector<TMVA::Event*>, DecisionTree *dt ); Double_t RegBoost( std::vector<TMVA::Event*>, DecisionTree *dt );
// adaboost adapted to regression // adaboost adapted to regression
Double_t AdaBoostR2( std::vector<TMVA::Event*>, DecisionTree *dt ); Double_t AdaBoostR2( std::vector<TMVA::Event*>, DecisionTree *dt );
// binomial likelihood gradient boost for classification // binomial likelihood gradient boost for classification
// (see Friedman: "Greedy Function Approximation: a Gradient Boosting Machine" // (see Friedman: "Greedy Function Approximation: a Gradient Boosting Machine"
// Technical report, Dept. of Statistics, Stanford University) // Technical report, Dept. of Statistics, Stanford University)
Double_t GradBoost( std::vector<TMVA::Event*>, DecisionTree *dt ); Double_t GradBoost( std::vector<TMVA::Event*>, DecisionTree *dt, UInt _t cls = 0);
Double_t GradBoostRegression(std::vector<TMVA::Event*>, DecisionTree *dt ); Double_t GradBoostRegression(std::vector<TMVA::Event*>, DecisionTree *dt );
void InitGradBoost( std::vector<TMVA::Event*>); void InitGradBoost( std::vector<TMVA::Event*>);
void UpdateTargets( std::vector<TMVA::Event*>); void UpdateTargets( std::vector<TMVA::Event*>, UInt_t cls = 0);
void UpdateTargetsRegression( std::vector<TMVA::Event*>,Bool_t first= kFALSE); void UpdateTargetsRegression( std::vector<TMVA::Event*>,Bool_t first= kFALSE);
Double_t GetGradBoostMVA(TMVA::Event& e, UInt_t nTrees); Double_t GetGradBoostMVA(TMVA::Event& e, UInt_t nTrees);
void GetRandomSubSample(); void GetRandomSubSample();
Double_t GetWeightedQuantile(std::vector<std::vector<Double_t> > &vec , const Double_t quantile, const Double_t SumOfWeights = 0.0); Double_t GetWeightedQuantile(std::vector<std::pair<Double_t, Double_t > > vec, const Double_t quantile, const Double_t SumOfWeights = 0.0);
std::vector<TMVA::Event*> fEventSample; // the training eve nts std::vector<TMVA::Event*> fEventSample; // the training eve nts
std::vector<TMVA::Event*> fValidationSample;// the Validation e vents std::vector<TMVA::Event*> fValidationSample;// the Validation e vents
std::vector<TMVA::Event*> fSubSample; // subsample for ba gged grad boost std::vector<TMVA::Event*> fSubSample; // subsample for ba gged grad boost
Int_t fNTrees; // number of decisi on trees requested Int_t fNTrees; // number of decisi on trees requested
std::vector<DecisionTree*> fForest; // the collection o f decision trees std::vector<DecisionTree*> fForest; // the collection o f decision trees
std::vector<double> fBoostWeights; // the weights appl ied in the individual boosts std::vector<double> fBoostWeights; // the weights appl ied in the individual boosts
std::vector<double> fInitialWeights; // the initial even
t weights
std::vector<double> fRegResiduals; // temporary storag
e for regression residuals
TString fBoostType; // string specifyin g the boost type TString fBoostType; // string specifyin g the boost type
Double_t fSumOfWeights; // total sum of all event weights
Double_t fAdaBoostBeta; // beta parameter f or AdaBoost algorithm Double_t fAdaBoostBeta; // beta parameter f or AdaBoost algorithm
TString fAdaBoostR2Loss; // loss type used i n AdaBoostR2 (Linear,Quadratic or Exponential) TString fAdaBoostR2Loss; // loss type used i n AdaBoostR2 (Linear,Quadratic or Exponential)
Double_t fTransitionPoint; // break-down point for gradient regression Double_t fTransitionPoint; // break-down point for gradient regression
Double_t fShrinkage; // learning rate fo r gradient boost; Double_t fShrinkage; // learning rate fo r gradient boost;
Bool_t fBaggedGradBoost; // turn bagging in combination with grad boost on/off Bool_t fBaggedGradBoost; // turn bagging in combination with grad boost on/off
Double_t fSampleFraction; // fraction of even ts used for bagged grad boost Double_t fSampleFraction; // fraction of even ts used for bagged grad boost
Double_t fSumOfWeights; // sum of all event
weights
std::vector<std::pair<Double_t, Double_t> > fWeightedResiduals;
// weighted regression residuals
std::map< TMVA::Event*,std::vector<double> > fResiduals; // individua
l event residuals for gradient boost
//options for the decision Tree //options for the decision Tree
SeparationBase *fSepType; // the separation u sed in node splitting SeparationBase *fSepType; // the separation u sed in node splitting
TString fSepTypeS; // the separation ( option string) used in node splitting TString fSepTypeS; // the separation ( option string) used in node splitting
Int_t fNodeMinEvents; // min number of ev ents in node Int_t fNodeMinEvents; // min number of ev ents in node
Int_t fNCuts; // grid used in cut applied in node splitting Int_t fNCuts; // grid used in cut applied in node splitting
Bool_t fUseYesNoLeaf; // use sig or bkg c lassification in leave nodes or sig/bkg Bool_t fUseYesNoLeaf; // use sig or bkg c lassification in leave nodes or sig/bkg
Double_t fNodePurityLimit; // purity limit for sig/bkg nodes Double_t fNodePurityLimit; // purity limit for sig/bkg nodes
Bool_t fUseWeightedTrees;// use average clas sification from the trees, or have the individual trees trees in the forest weighted (e.g. log(boostweight) from AdaBoost Bool_t fUseWeightedTrees;// use average clas sification from the trees, or have the individual trees trees in the forest weighted (e.g. log(boostweight) from AdaBoost
 End of changes. 10 change blocks. 
11 lines changed or deleted 12 lines changed or added


 MethodBase.h   MethodBase.h 
// @(#)root/tmva $Id: MethodBase.h 31574 2009-12-05 18:23:21Z stelzer $ // @(#)root/tmva $Id: MethodBase.h 34022 2010-06-21 15:52:50Z stelzer $
// Author: Andreas Hoecker, Joerg Stelzer, Helge Voss, Kai Voss // Author: Andreas Hoecker, Peter Speckmayer, Joerg Stelzer, Helge Voss, Ka
i Voss
/************************************************************************** ******** /************************************************************************** ********
* Project: TMVA - a Root-integrated toolkit for multivariate data analysis * * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
* Package: TMVA * * Package: TMVA *
* Class : MethodBase * * Class : MethodBase *
* Web : http://tmva.sourceforge.net * * Web : http://tmva.sourceforge.net *
* * * *
* Description: * * Description: *
* Virtual base class for all MVA method * * Virtual base class for all MVA method *
* * * *
skipping to change at line 129 skipping to change at line 129
void SetTrainTime( Double_t trainTime ) { fTrainTime = tr ainTime; } void SetTrainTime( Double_t trainTime ) { fTrainTime = tr ainTime; }
Double_t GetTrainTime() const { return fTrainTime; } Double_t GetTrainTime() const { return fTrainTime; }
// store and retrieve time used for testing // store and retrieve time used for testing
void SetTestTime ( Double_t testTime ) { fTestTime = test Time; } void SetTestTime ( Double_t testTime ) { fTestTime = test Time; }
Double_t GetTestTime () const { return fTestTime; } Double_t GetTestTime () const { return fTestTime; }
// performs classifier testing // performs classifier testing
virtual void TestClassification(); virtual void TestClassification();
// performs multiclass classifier testing
virtual void TestMulticlass();
// performs regression testing // performs regression testing
virtual void TestRegression( Double_t& bias, Double_t& biasT, virtual void TestRegression( Double_t& bias, Double_t& biasT,
Double_t& dev, Double_t& devT, Double_t& dev, Double_t& devT,
Double_t& rms, Double_t& rmsT, Double_t& rms, Double_t& rmsT,
Double_t& mInf, Double_t& mInfT, // mutual information Double_t& mInf, Double_t& mInfT, // mutual information
Double_t& corr, Double_t& corr,
Types::ETreeType type ); Types::ETreeType type );
// classifier response - some methods may return a per-event error es
timate (unless: *err = -1)
virtual Double_t GetMvaValue( Double_t* err = 0 ) = 0;
Double_t GetMvaValue( const TMVA::Event* const ev, Double_t* err = 0
);
// options treatment // options treatment
virtual void Init() = 0; virtual void Init() = 0;
virtual void DeclareOptions() = 0; virtual void DeclareOptions() = 0;
virtual void ProcessOptions() = 0; virtual void ProcessOptions() = 0;
virtual void DeclareCompatibilityOptions(); // declaration of pas t options virtual void DeclareCompatibilityOptions(); // declaration of pas t options
// classifier response - some methods may return a per-event error es
timate (unless: *err = -1)
virtual Double_t GetMvaValue( Double_t* err = 0 ) = 0;
//zjh=>
virtual Double_t GetMvaValues( Double_t& errUpper, Double_t& errLower
)
{Double_t mva=GetMvaValue(&errUpper); errLower=errUpper;re
turn mva;}
//<=zjh
// signal/background classification response
Double_t GetMvaValue( const TMVA::Event* const ev, Double_t* err = 0
);
// regression response // regression response
virtual const std::vector<Float_t>& GetRegressionValues() { virtual const std::vector<Float_t>& GetRegressionValues() {
std::vector<Float_t>* ptr = new std::vector<Float_t>(0); std::vector<Float_t>* ptr = new std::vector<Float_t>(0);
return (*ptr); return (*ptr);
} }
// multiclass classification response
virtual const std::vector<Float_t>& GetMulticlassValues() {
std::vector<Float_t>* ptr = new std::vector<Float_t>(0);
return (*ptr);
}
// probability of classifier response (mvaval) to be signal (requires "CreateMvaPdf" option set) // probability of classifier response (mvaval) to be signal (requires "CreateMvaPdf" option set)
virtual Double_t GetProba( Double_t mvaVal, Double_t ap_sig ); virtual Double_t GetProba( Double_t mvaVal, Double_t ap_sig );
// Rarity of classifier response (signal or background (default) is u niform in [0,1]) // Rarity of classifier response (signal or background (default) is u niform in [0,1])
virtual Double_t GetRarity( Double_t mvaVal, Types::ESBType reftype = Types::kBackground ) const; virtual Double_t GetRarity( Double_t mvaVal, Types::ESBType reftype = Types::kBackground ) const;
// create ranking // create ranking
virtual const Ranking* CreateRanking() = 0; virtual const Ranking* CreateRanking() = 0;
// perfrom extra actions during the boosting at different stages // perfrom extra actions during the boosting at different stages
skipping to change at line 194 skipping to change at line 209
virtual void ReadWeightsFromStream( TFile& ) {} // bac kward compatibility virtual void ReadWeightsFromStream( TFile& ) {} // bac kward compatibility
private: private:
friend class MethodCategory; friend class MethodCategory;
friend class MethodCommittee; friend class MethodCommittee;
friend class MethodCompositeBase; friend class MethodCompositeBase;
void WriteStateToXML ( void* parent ) const; void WriteStateToXML ( void* parent ) const;
void ReadStateFromXML ( void* parent ); void ReadStateFromXML ( void* parent );
void WriteStateToStream ( std::ostream& tf ) const; // needed for MakeClass void WriteStateToStream ( std::ostream& tf ) const; // needed for MakeClass
void WriteVarsToStream ( std::ostream& tf, const TString& prefix = "" ) const; // needed for MakeClass void WriteVarsToStream ( std::ostream& tf, const TString& prefix = "" ) const; // needed for MakeClass
public: // these two need to be public, they are used to read in-memory
weight-files
void ReadStateFromStream ( std::istream& tf ); // backward c ompatibility void ReadStateFromStream ( std::istream& tf ); // backward c ompatibility
void ReadStateFromStream ( TFile& rf ); // backward c ompatibility void ReadStateFromStream ( TFile& rf ); // backward c ompatibility
void ReadStateFromXMLString( const char* xmlstr ); // for readin g from memory
private:
// the variable information // the variable information
void AddVarsXMLTo ( void* parent ) const; void AddVarsXMLTo ( void* parent ) const;
void AddSpectatorsXMLTo ( void* parent ) const; void AddSpectatorsXMLTo ( void* parent ) const;
void AddTargetsXMLTo ( void* parent ) const; void AddTargetsXMLTo ( void* parent ) const;
void ReadVariablesFromXML ( void* varnode ); void ReadVariablesFromXML ( void* varnode );
void ReadSpectatorsFromXML( void* specnode); void ReadSpectatorsFromXML( void* specnode);
void ReadTargetsFromXML ( void* tarnode ); void ReadTargetsFromXML ( void* tarnode );
void ReadVarsFromStream ( std::istream& istr ); // backward c ompatibility void ReadVarsFromStream ( std::istream& istr ); // backward c ompatibility
public: public:
skipping to change at line 323 skipping to change at line 342
// the reference cut "xC" is taken to be where // the reference cut "xC" is taken to be where
// Int_[-oo,xC] { PDF_S(x) dx } = Int_[xC,+oo] { PDF_B(x) dx } // Int_[-oo,xC] { PDF_S(x) dx } = Int_[xC,+oo] { PDF_B(x) dx }
virtual Bool_t IsSignalLike() { return GetMvaValue() > GetSign alReferenceCut() ? kTRUE : kFALSE; } virtual Bool_t IsSignalLike() { return GetMvaValue() > GetSign alReferenceCut() ? kTRUE : kFALSE; }
DataSet* Data() const { return DataInfo().GetDataSet(); } DataSet* Data() const { return DataInfo().GetDataSet(); }
Bool_t HasMVAPdfs() const { return fHasMVAPdfs; } Bool_t HasMVAPdfs() const { return fHasMVAPdfs; }
virtual void SetAnalysisType( Types::EAnalysisType type ) { fAnalysisType = type; } virtual void SetAnalysisType( Types::EAnalysisType type ) { fAnalysisType = type; }
Types::EAnalysisType GetAnalysisType() const { return fAnalysisType; } Types::EAnalysisType GetAnalysisType() const { return fAnalysisType; }
Bool_t DoRegression() const { return fAnalysisType == Types::kRegression; } Bool_t DoRegression() const { return fAnalysisType == Types::kRegression; }
Bool_t DoMulticlass() const { return fAnalysisType == Types::kMulticlass; }
// setter method for suppressing writing to XML and writing of standa lone classes // setter method for suppressing writing to XML and writing of standa lone classes
void DisableWriting(Bool_t setter){ fDisableWriting = setter; } void DisableWriting(Bool_t setter){ fDisableWriting = setter; }
protected: protected:
// ---------- protected acccessors ---------------------------------- --------- // ---------- protected acccessors ---------------------------------- ---------
//TDirectory* LocalTDir() const { return Data().LocalRootDir(); } //TDirectory* LocalTDir() const { return Data().LocalRootDir(); }
skipping to change at line 370 skipping to change at line 390
protected: protected:
// make ROOT-independent C++ class for classifier response (classifie r-specific implementation) // make ROOT-independent C++ class for classifier response (classifie r-specific implementation)
virtual void MakeClassSpecific( std::ostream&, const TString& = " " ) const {} virtual void MakeClassSpecific( std::ostream&, const TString& = " " ) const {}
// header and auxiliary classes // header and auxiliary classes
virtual void MakeClassSpecificHeader( std::ostream&, const TStrin g& = "" ) const {} virtual void MakeClassSpecificHeader( std::ostream&, const TStrin g& = "" ) const {}
// static pointer to this object - required for ROOT finder (to be so lved differently) // static pointer to this object - required for ROOT finder (to be so lved differently)
static MethodBase* GetThisBase() { return fgThisBase; } static MethodBase* GetThisBase();
// some basic statistical analysis // some basic statistical analysis
void Statistics( Types::ETreeType treeType, const TString& theVarName , void Statistics( Types::ETreeType treeType, const TString& theVarName ,
Double_t&, Double_t&, Double_t&, Double_t&, Double_t&, Double_t&,
Double_t&, Double_t&, Double_t& ); Double_t&, Double_t&, Double_t& );
// if TRUE, write weights only to text files // if TRUE, write weights only to text files
Bool_t TxtWeightsOnly() const { return kTRUE; } Bool_t TxtWeightsOnly() const { return kTRUE; }
protected: protected:
skipping to change at line 410 skipping to change at line 430
void DeclareBaseOptions(); void DeclareBaseOptions();
void ProcessBaseOptions(); void ProcessBaseOptions();
// used in efficiency computation // used in efficiency computation
enum ECutOrientation { kNegative = -1, kPositive = +1 }; enum ECutOrientation { kNegative = -1, kPositive = +1 };
ECutOrientation GetCutOrientation() const { return fCutOrientation; } ECutOrientation GetCutOrientation() const { return fCutOrientation; }
// ---------- private acccessors ------------------------------------ --------- // ---------- private acccessors ------------------------------------ ---------
// reset required for RootFinder // reset required for RootFinder
void ResetThisBase() { fgThisBase = this; } void ResetThisBase();
// ---------- private auxiliary methods ----------------------------- --------- // ---------- private auxiliary methods ----------------------------- ---------
// PDFs for classifier response (required to compute signal probabili ty and Rarity) // PDFs for classifier response (required to compute signal probabili ty and Rarity)
void CreateMVAPdfs(); void CreateMVAPdfs();
// for root finder // for root finder
static Double_t IGetEffForRoot( Double_t ); // interface static Double_t IGetEffForRoot( Double_t ); // interface
Double_t GetEffForRoot ( Double_t ); // implementation Double_t GetEffForRoot ( Double_t ); // implementation
// used for file parsing // used for file parsing
Bool_t GetLine( std::istream& fin, char * buf ); Bool_t GetLine( std::istream& fin, char * buf );
// fill test tree with classification or regression results // fill test tree with classification or regression results
virtual void AddClassifierOutput ( Types::ETreeType type ); virtual void AddClassifierOutput ( Types::ETreeType type );
virtual void AddClassifierOutputProb( Types::ETreeType type ); virtual void AddClassifierOutputProb( Types::ETreeType type );
virtual void AddRegressionOutput ( Types::ETreeType type ); virtual void AddRegressionOutput ( Types::ETreeType type );
virtual void AddMulticlassOutput ( Types::ETreeType type );
private: private:
void AddInfoItem( void* gi, const TString& name, const TS tring& value) const; void AddInfoItem( void* gi, const TString& name, const TS tring& value) const;
void CreateVariableTransforms(const TString& trafoDefinit ion ); void CreateVariableTransforms(const TString& trafoDefinit ion );
// ========== class members ========================================= ========= // ========== class members ========================================= =========
protected: protected:
// direct accessors // direct accessors
Ranking* fRanking; // pointer to ranking ob ject (created by derived classifiers) Ranking* fRanking; // pointer to ranking ob ject (created by derived classifiers)
std::vector<TString>* fInputVars; // vector of input varia bles used in MVA std::vector<TString>* fInputVars; // vector of input varia bles used in MVA
// histogram binning // histogram binning
Int_t fNbins; // number of bins in rep resentative histograms Int_t fNbins; // number of bins in rep resentative histograms
Int_t fNbinsH; // number of bins in eva luation histograms Int_t fNbinsH; // number of bins in eva luation histograms
Types::EAnalysisType fAnalysisType; // method-mode : true -- > regression, false --> classification Types::EAnalysisType fAnalysisType; // method-mode : true -- > regression, false --> classification
std::vector<Float_t>* fRegressionReturnVal; // holds the return-valu std::vector<Float_t>* fRegressionReturnVal; // holds the return-valu
e for the regression es for the regression
std::vector<Float_t>* fMulticlassReturnVal; // holds the return-valu
es for the multiclass classification
private: private:
// MethodCuts redefines some of the evaluation variables and histogra ms -> must access private members // MethodCuts redefines some of the evaluation variables and histogra ms -> must access private members
friend class MethodCuts; friend class MethodCuts;
Bool_t fDisableWriting; //! set to true in order to s uppress writing to XML Bool_t fDisableWriting; //! set to true in order to s uppress writing to XML
// data sets // data sets
DataSetInfo& fDataSetInfo; //! the data set information ( sometimes needed) DataSetInfo& fDataSetInfo; //! the data set information ( sometimes needed)
skipping to change at line 557 skipping to change at line 579
mutable std::vector<const std::vector<TMVA::Event*>*> fEventCollectio ns; // if the method needs the complete event-collection, the transformed e vent coll. ist stored here. mutable std::vector<const std::vector<TMVA::Event*>*> fEventCollectio ns; // if the method needs the complete event-collection, the transformed e vent coll. ist stored here.
public: public:
Bool_t fSetupCompleted; // is method setup Bool_t fSetupCompleted; // is method setup
private: private:
// this carrier // this carrier
static MethodBase* fgThisBase; // this pointer static MethodBase* fgThisBase; // this pointer
// ===== depriciated options, kept for backward compatibility ===== // ===== depreciated options, kept for backward compatibility =====
private: private:
Bool_t fNormalise; // normalise input var iables Bool_t fNormalise; // normalise input var iables
Bool_t fUseDecorr; // synonymous for deco rrelation Bool_t fUseDecorr; // synonymous for deco rrelation
TString fVariableTransformTypeString; // labels variable tra nsform type TString fVariableTransformTypeString; // labels variable tra nsform type
Bool_t fTxtWeightsOnly; // if TRUE, write weig hts only to text files Bool_t fTxtWeightsOnly; // if TRUE, write weig hts only to text files
Int_t fNbinsMVAPdf; // number of bins used in histogram that creates PDF Int_t fNbinsMVAPdf; // number of bins used in histogram that creates PDF
Int_t fNsmoothMVAPdf; // number of times a h istogram is smoothed before creating the PDF Int_t fNsmoothMVAPdf; // number of times a h istogram is smoothed before creating the PDF
protected: protected:
 End of changes. 14 change blocks. 
14 lines changed or deleted 41 lines changed or added


 MethodBoost.h   MethodBoost.h 
// @(#)root/tmva $Id: MethodBoost.h 31458 2009-11-30 13:58:20Z stelzer $ // @(#)root/tmva $Id: MethodBoost.h 33928 2010-06-15 16:19:31Z stelzer $
// Author: Andreas Hoecker, Joerg Stelzer, Helge Voss, Kai Voss,Or Cohen // Author: Andreas Hoecker, Joerg Stelzer, Helge Voss, Kai Voss,Or Cohen
/************************************************************************** ******** /************************************************************************** ********
* Project: TMVA - a Root-integrated toolkit for multivariate data analysis * * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
* Package: TMVA * * Package: TMVA *
* Class : MethodCompositeBase * * Class : MethodCompositeBase *
* Web : http://tmva.sourceforge.net * * Web : http://tmva.sourceforge.net *
* * * *
* Description: * * Description: *
* Virtual base class for all MVA method * * Virtual base class for all MVA method *
skipping to change at line 56 skipping to change at line 56
#ifndef ROOT_TMVA_MethodBase #ifndef ROOT_TMVA_MethodBase
#include "TMVA/MethodBase.h" #include "TMVA/MethodBase.h"
#endif #endif
#ifndef ROOT_TMVA_MethodCompositeBase #ifndef ROOT_TMVA_MethodCompositeBase
#include "TMVA/MethodCompositeBase.h" #include "TMVA/MethodCompositeBase.h"
#endif #endif
namespace TMVA { namespace TMVA {
class Factory; // DSMTEST
class Reader; // DSMTEST
class DataSetManager; // DSMTEST
class MethodBoost : public MethodCompositeBase { class MethodBoost : public MethodCompositeBase {
public : public :
// constructors // constructors
MethodBoost( const TString& jobName, MethodBoost( const TString& jobName,
const TString& methodTitle, const TString& methodTitle,
DataSetInfo& theData, DataSetInfo& theData,
const TString& theOption = "", const TString& theOption = "",
TDirectory* theTargetDir = NULL ); TDirectory* theTargetDir = NULL );
skipping to change at line 196 skipping to change at line 200
// the stage of the boosting // the stage of the boosting
Types::EBoostStage fBoostStage; Types::EBoostStage fBoostStage;
//the number of histogram filled for every type of boosted classifier //the number of histogram filled for every type of boosted classifier
Int_t fDefaultHistNum; Int_t fDefaultHistNum;
//whether to recalculate the MVA cut at every boosting step //whether to recalculate the MVA cut at every boosting step
Bool_t fRecalculateMVACut; Bool_t fRecalculateMVACut;
DataSetManager* fDataSetManager; // DSMTEST
friend class Factory; // DSMTEST
friend class Reader; // DSMTEST
protected: protected:
// get help message text // get help message text
void GetHelpMessage() const; void GetHelpMessage() const;
ClassDef(MethodBoost,0) ClassDef(MethodBoost,0)
}; };
} }
#endif #endif
 End of changes. 3 change blocks. 
1 lines changed or deleted 9 lines changed or added


 MethodCFMlpANN.h   MethodCFMlpANN.h 
// @(#)root/tmva $Id: MethodCFMlpANN.h 31458 2009-11-30 13:58:20Z stelzer $ // @(#)root/tmva $Id: MethodCFMlpANN.h 33928 2010-06-15 16:19:31Z stelzer $
// Author: Andreas Hoecker, Joerg Stelzer, Helge Voss, Kai Voss // Author: Andreas Hoecker, Joerg Stelzer, Helge Voss, Kai Voss
/************************************************************************** ******** /************************************************************************** ********
* Project: TMVA - a Root-integrated toolkit for multivariate data analysis * * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
* Package: TMVA * * Package: TMVA *
* Class : MethodCFMlpANN * * Class : MethodCFMlpANN *
* Web : http://tmva.sourceforge.net * * Web : http://tmva.sourceforge.net *
* * * *
* Description: * * Description: *
* Interface for Clermond-Ferrand artificial neural network. * * Interface for Clermond-Ferrand artificial neural network. *
skipping to change at line 139 skipping to change at line 139
void ReadWeightsFromStream( istream& istr ); void ReadWeightsFromStream( istream& istr );
void ReadWeightsFromXML( void* wghtnode ); void ReadWeightsFromXML( void* wghtnode );
// calculate the MVA value // calculate the MVA value
Double_t GetMvaValue( Double_t* err = 0 ); Double_t GetMvaValue( Double_t* err = 0 );
// data accessors for external functions // data accessors for external functions
Double_t GetData ( Int_t isel, Int_t ivar ) const { return (*fData)(i sel, ivar); } Double_t GetData ( Int_t isel, Int_t ivar ) const { return (*fData)(i sel, ivar); }
Int_t GetClass( Int_t ivar ) const { return (*fClass)[ ivar]; } Int_t GetClass( Int_t ivar ) const { return (*fClass)[ ivar]; }
// static pointer to this object (required for external functions // static pointer to this object (required for external functions
static MethodCFMlpANN* This( void ) { return fgThis; } static MethodCFMlpANN* This( void );
// ranking of input variables // ranking of input variables
const Ranking* CreateRanking() { return 0; } const Ranking* CreateRanking() { return 0; }
protected: protected:
// make ROOT-independent C++ class for classifier response (classifie r-specific implementation) // make ROOT-independent C++ class for classifier response (classifie r-specific implementation)
void MakeClassSpecific( std::ostream&, const TString& ) const; void MakeClassSpecific( std::ostream&, const TString& ) const;
// header and auxiliary classes // header and auxiliary classes
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 MethodCategory.h   MethodCategory.h 
// @(#)root/tmva $Id: MethodCategory.h 31458 2009-11-30 13:58:20Z stelzer $ // @(#)root/tmva $Id: MethodCategory.h 33928 2010-06-15 16:19:31Z stelzer $
// Author: Andreas Hoecker, Joerg Stelzer, Helge Voss, Kai Voss,Or Cohen // Author: Andreas Hoecker, Joerg Stelzer, Helge Voss, Kai Voss,Or Cohen
/************************************************************************** ******** /************************************************************************** ********
* Project: TMVA - a Root-integrated toolkit for multivariate data analysis * * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
* Package: TMVA * * Package: TMVA *
* Class : MethodCompositeBase * * Class : MethodCompositeBase *
* Web : http://tmva.sourceforge.net * * Web : http://tmva.sourceforge.net *
* * * *
* Description: * * Description: *
* Virtual base class for all MVA method * * Virtual base class for all MVA method *
skipping to change at line 55 skipping to change at line 55
#ifndef ROOT_TMVA_MethodBase #ifndef ROOT_TMVA_MethodBase
#include "TMVA/MethodBase.h" #include "TMVA/MethodBase.h"
#endif #endif
#ifndef ROOT_TMVA_MethodCompositeBase #ifndef ROOT_TMVA_MethodCompositeBase
#include "TMVA/MethodCompositeBase.h" #include "TMVA/MethodCompositeBase.h"
#endif #endif
namespace TMVA { namespace TMVA {
class Factory; // DSMTEST
class Reader; // DSMTEST
class MethodBoost; // DSMTEST
class DataSetManager; // DSMTEST
class MethodCategory : public MethodCompositeBase { class MethodCategory : public MethodCompositeBase {
public : public :
// constructors // constructors
MethodCategory( const TString& jobName, MethodCategory( const TString& jobName,
const TString& methodTitle, const TString& methodTitle,
DataSetInfo& theData, DataSetInfo& theData,
const TString& theOption = "", const TString& theOption = "",
TDirectory* theTargetDir = NULL ); TDirectory* theTargetDir = NULL );
skipping to change at line 126 skipping to change at line 131
TMVA::DataSetInfo& CreateCategoryDSI(const TCut&, const TString&, con st TString&); TMVA::DataSetInfo& CreateCategoryDSI(const TCut&, const TString&, con st TString&);
private: private:
void InitCircularTree(const DataSetInfo& dsi); void InitCircularTree(const DataSetInfo& dsi);
TTree * fCatTree; //! needed in conjunction with T TreeFormulas for evaluation category expressions TTree * fCatTree; //! needed in conjunction with T TreeFormulas for evaluation category expressions
std::vector<TTreeFormula*> fCatFormulas; std::vector<TTreeFormula*> fCatFormulas;
DataSetManager* fDataSetManager; // DSMTEST
friend class Factory; // DSMTEST
friend class Reader; // DSMTEST
friend class MethodBoost; // DSMTEST
ClassDef(MethodCategory,0) ClassDef(MethodCategory,0)
}; };
} }
#endif #endif
 End of changes. 3 change blocks. 
1 lines changed or deleted 11 lines changed or added


 MethodFDA.h   MethodFDA.h 
// @(#)root/tmva $Id: MethodFDA.h 31458 2009-11-30 13:58:20Z stelzer $ // @(#)root/tmva $Id: MethodFDA.h 33928 2010-06-15 16:19:31Z stelzer $
// Author: Andreas Hoecker, Peter Speckmayer // Author: Andreas Hoecker, Peter Speckmayer
/************************************************************************** ******** /************************************************************************** ********
* Project: TMVA - a Root-integrated toolkit for multivariate data analysis * * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
* Package: TMVA * * Package: TMVA *
* Class : MethodFDA * * Class : MethodFDA *
* Web : http://tmva.sourceforge.net * * Web : http://tmva.sourceforge.net *
* * * *
* Description: * * Description: *
* Function discriminant analysis (FDA). This simple classifier * * Function discriminant analysis (FDA). This simple classifier *
* fits any user-defined TFormula (via option configuration string) to * * fits any user-defined TFormula (via option configuration string) to *
* the training data by requiring a formula response of 1 (0) to signa l * * the training data by requiring a formula response of 1 (0) to signa l *
* (background) events. The parameter fitting is done via the abstract * * (background) events. The parameter fitting is done via the abstract *
* class FitterBase, featuring Monte Carlo sampling, Genetic * * class FitterBase, featuring Monte Carlo sampling, Genetic *
* Algorithm, Simulated Annealing, MINUIT and combinations of these. * * Algorithm, Simulated Annealing, MINUIT and combinations of these. *
* * * *
* Authors (alphabetical): * * Authors (alphabetical): *
* Andreas Hoecker <Andreas.Hocker@cern.ch> - CERN, Switzerland * * Andreas Hoecker <Andreas.Hocker@cern.ch> - CERN, Switzerland *
* Peter Speckmayer <speckmay@mail.cern.ch> - CERN, Switzerland * * Peter Speckmayer <speckmay@mail.cern.ch> - CERN, Switzerland *
* * * *
* Copyright (c) 2005-2006: * * Copyright (c) 2005-2010: *
* CERN, Switzerland * * CERN, Switzerland *
* MPI-K Heidelberg, Germany * * MPI-K Heidelberg, Germany *
* * * *
* Redistribution and use in source and binary forms, with or without * * Redistribution and use in source and binary forms, with or without *
* modification, are permitted according to the terms listed in LICENSE * * modification, are permitted according to the terms listed in LICENSE *
* (http://tmva.sourceforge.net/LICENSE) * * (http://tmva.sourceforge.net/LICENSE) *
************************************************************************** ********/ ************************************************************************** ********/
#ifndef ROOT_TMVA_MethodFDA #ifndef ROOT_TMVA_MethodFDA
#define ROOT_TMVA_MethodFDA #define ROOT_TMVA_MethodFDA
skipping to change at line 95 skipping to change at line 95
using MethodBase::ReadWeightsFromStream; using MethodBase::ReadWeightsFromStream;
void AddWeightsXMLTo ( void* parent ) const; void AddWeightsXMLTo ( void* parent ) const;
void ReadWeightsFromStream( std::istream & i ); void ReadWeightsFromStream( std::istream & i );
void ReadWeightsFromXML ( void* wghtnode ); void ReadWeightsFromXML ( void* wghtnode );
// calculate the MVA value // calculate the MVA value
Double_t GetMvaValue( Double_t* err = 0 ); Double_t GetMvaValue( Double_t* err = 0 );
std::vector<Float_t>& GetRegressionValues(); virtual const std::vector<Float_t>& GetRegressionValues();
virtual const std::vector<Float_t>& GetMulticlassValues();
void Init( void ); void Init( void );
// ranking of input variables // ranking of input variables
const Ranking* CreateRanking() { return 0; } const Ranking* CreateRanking() { return 0; }
Double_t EstimatorFunction( std::vector<Double_t>& ); Double_t EstimatorFunction( std::vector<Double_t>& );
// no check of options at this place // no check of options at this place
void CheckSetup() {} void CheckSetup() {}
skipping to change at line 117 skipping to change at line 118
protected: protected:
// make ROOT-independent C++ class for classifier response (classifie r-specific implementation) // make ROOT-independent C++ class for classifier response (classifie r-specific implementation)
void MakeClassSpecific( std::ostream&, const TString& ) const; void MakeClassSpecific( std::ostream&, const TString& ) const;
// get help message text // get help message text
void GetHelpMessage() const; void GetHelpMessage() const;
private: private:
// compute multiclass values
void CalculateMulticlassValues( const TMVA::Event*& evt, std::vector<
Double_t>& parameters, std::vector<Float_t>& values);
// create and interpret formula expression and compute estimator // create and interpret formula expression and compute estimator
void CreateFormula (); void CreateFormula ();
Double_t InterpretFormula( const Event*, std::vector<Double_t>& pars ); Double_t InterpretFormula( const Event*, std::vector<Double_t>::itera tor begin, std::vector<Double_t>::iterator end );
// clean up // clean up
void ClearAll(); void ClearAll();
// print fit results // print fit results
void PrintResults( const TString&, std::vector<Double_t>&, const Doub le_t ) const; void PrintResults( const TString&, std::vector<Double_t>&, const Doub le_t ) const;
// the option handling methods // the option handling methods
void DeclareOptions(); void DeclareOptions();
void ProcessOptions(); void ProcessOptions();
TString fFormulaStringP; // string with function TString fFormulaStringP; // string with function
TString fParRangeStringP; // string with ranges of parameters TString fParRangeStringP; // string with ranges of parameters
TString fFormulaStringT; // string with function TString fFormulaStringT; // string with function
TString fParRangeStringT; // string with ranges of parameters TString fParRangeStringT; // string with ranges of parameters
TFormula* fFormula; // the discrimination fun ction TFormula* fFormula; // the discrimination fun ction
Int_t fNPars; // number of parameters UInt_t fNPars; // number of parameters
std::vector<Interval*> fParRange; // ranges of parameters std::vector<Interval*> fParRange; // ranges of parameters
std::vector<Double_t> fBestPars; // the pars that optimise (minimise) the estimator std::vector<Double_t> fBestPars; // the pars that optimise (minimise) the estimator
TString fFitMethod; // estimator optimisation method TString fFitMethod; // estimator optimisation method
TString fConverger; // fitmethod uses fConver ger as intermediate step to converge into local minimas TString fConverger; // fitmethod uses fConver ger as intermediate step to converge into local minimas
FitterBase* fFitter; // the fitter used in the training FitterBase* fFitter; // the fitter used in the training
IFitterTarget* fConvergerFitter; // intermediate fitter IFitterTarget* fConvergerFitter; // intermediate fitter
// sum of weights (this should become centrally available through the dataset) // sum of weights (this should become centrally available through the dataset)
Double_t fSumOfWeightsSig; // sum of weights (signal ) Double_t fSumOfWeightsSig; // sum of weights (signal )
Double_t fSumOfWeightsBkg; // sum of weights (backgr ound) Double_t fSumOfWeightsBkg; // sum of weights (backgr ound)
Double_t fSumOfWeights; // sum of weights Double_t fSumOfWeights; // sum of weights
//
Int_t fOutputDimensions; // number of output value
s
ClassDef(MethodFDA,0) // Function Discriminant Analysis ClassDef(MethodFDA,0) // Function Discriminant Analysis
}; };
} // namespace TMVA } // namespace TMVA
#endif // MethodFDA_H #endif // MethodFDA_H
 End of changes. 7 change blocks. 
5 lines changed or deleted 14 lines changed or added


 MethodMLP.h   MethodMLP.h 
// @(#)root/tmva $Id: MethodMLP.h 31458 2009-11-30 13:58:20Z stelzer $ // @(#)root/tmva $Id: MethodMLP.h 33928 2010-06-15 16:19:31Z stelzer $
// Author: Andreas Hoecker, Matt Jachowski // Author: Andreas Hoecker, Peter Speckmayer, Matt Jachowski
/************************************************************************** ******** /************************************************************************** ********
* Project: TMVA - a Root-integrated toolkit for multivariate data analysis * * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
* Package: TMVA * * Package: TMVA *
* Class : MethodMLP * * Class : MethodMLP *
* Web : http://tmva.sourceforge.net * * Web : http://tmva.sourceforge.net *
* * * *
* Description: * * Description: *
* ANN Multilayer Perceptron class for the discrimination of signal * * ANN Multilayer Perceptron class for the discrimination of signal *
* from background. BFGS implementation based on TMultiLayerPerceptro n * * from background. BFGS implementation based on TMultiLayerPerceptro n *
skipping to change at line 114 skipping to change at line 114
void Train() { Train(NumCycles()); } void Train() { Train(NumCycles()); }
// for GA // for GA
Double_t ComputeEstimator ( std::vector<Double_t>& parameters ); Double_t ComputeEstimator ( std::vector<Double_t>& parameters );
Double_t EstimatorFunction( std::vector<Double_t>& parameters ); Double_t EstimatorFunction( std::vector<Double_t>& parameters );
enum ETrainingMethod { kBP=0, kBFGS, kGA }; enum ETrainingMethod { kBP=0, kBFGS, kGA };
enum EBPTrainingMode { kSequential=0, kBatch }; enum EBPTrainingMode { kSequential=0, kBatch };
Double_t GetMvaValues( Double_t& errUpper, Double_t& errLower );
//zjh
protected: protected:
// make ROOT-independent C++ class for classifier response (classifie r-specific implementation) // make ROOT-independent C++ class for classifier response (classifie r-specific implementation)
void MakeClassSpecific( std::ostream&, const TString& ) const; void MakeClassSpecific( std::ostream&, const TString& ) const;
// get help message text // get help message text
void GetHelpMessage() const; void GetHelpMessage() const;
private: private:
skipping to change at line 143 skipping to change at line 145
// used as a measure of success in all minimization techniques // used as a measure of success in all minimization techniques
Double_t CalculateEstimator( Types::ETreeType treeType = Types::kTrai ning, Int_t iEpoch = -1 ); Double_t CalculateEstimator( Types::ETreeType treeType = Types::kTrai ning, Int_t iEpoch = -1 );
// BFGS functions // BFGS functions
void BFGSMinimize( Int_t nEpochs ); void BFGSMinimize( Int_t nEpochs );
void SetGammaDelta( TMatrixD &Gamma, TMatrixD &Delta, std::vector <Double_t> &Buffer ); void SetGammaDelta( TMatrixD &Gamma, TMatrixD &Delta, std::vector <Double_t> &Buffer );
void SteepestDir( TMatrixD &Dir ); void SteepestDir( TMatrixD &Dir );
Bool_t GetHessian( TMatrixD &Hessian, TMatrixD &Gamma, TMatrixD &De lta ); Bool_t GetHessian( TMatrixD &Hessian, TMatrixD &Gamma, TMatrixD &De lta );
void SetDir( TMatrixD &Hessian, TMatrixD &Dir ); void SetDir( TMatrixD &Hessian, TMatrixD &Dir );
Double_t DerivDir( TMatrixD &Dir ); Double_t DerivDir( TMatrixD &Dir );
Bool_t LineSearch( TMatrixD &Dir, std::vector<Double_t> &Buffer ); Bool_t LineSearch( TMatrixD &Dir, std::vector<Double_t> &Buffer, Do uble_t* dError=0 ); //zjh
void ComputeDEDw(); void ComputeDEDw();
void SimulateEvent( const Event* ev ); void SimulateEvent( const Event* ev );
void SetDirWeights( std::vector<Double_t> &Origin, TMatrixD &Dir, Double_t alpha ); void SetDirWeights( std::vector<Double_t> &Origin, TMatrixD &Dir, Double_t alpha );
Double_t GetError(); Double_t GetError();
Double_t GetSqrErr( const Event* ev, UInt_t index = 0 ); Double_t GetMSEErr( const Event* ev, UInt_t index = 0 ); //zjh
Double_t GetCEErr( const Event* ev, UInt_t index = 0 ); //zjh
// backpropagation functions // backpropagation functions
void BackPropagationMinimize( Int_t nEpochs ); void BackPropagationMinimize( Int_t nEpochs );
void TrainOneEpoch(); void TrainOneEpoch();
void Shuffle( Int_t* index, Int_t n ); void Shuffle( Int_t* index, Int_t n );
void DecaySynapseWeights(Bool_t lateEpoch ); void DecaySynapseWeights(Bool_t lateEpoch );
void TrainOneEvent( Int_t ievt); void TrainOneEvent( Int_t ievt);
Double_t GetDesiredOutput( const Event* ev ); Double_t GetDesiredOutput( const Event* ev );
void UpdateNetwork( Double_t desired, Double_t eventWeight=1.0 ); void UpdateNetwork( Double_t desired, Double_t eventWeight=1.0 );
void UpdateNetwork(std::vector<Float_t>& desired, Double_t eventW eight=1.0); void UpdateNetwork(std::vector<Float_t>& desired, Double_t eventW eight=1.0);
skipping to change at line 172 skipping to change at line 175
// faster backpropagation // faster backpropagation
void TrainOneEventFast( Int_t ievt, Float_t*& branchVar, Int_t& t ype ); void TrainOneEventFast( Int_t ievt, Float_t*& branchVar, Int_t& t ype );
// genetic algorithm functions // genetic algorithm functions
void GeneticMinimize(); void GeneticMinimize();
#ifdef MethodMLP_UseMinuit__ #ifdef MethodMLP_UseMinuit__
// minuit functions -- commented out because they rely on a static po inter // minuit functions -- commented out because they rely on a static po inter
void MinuitMinimize(); void MinuitMinimize();
static MethodMLP* GetThisPtr() { return fgThis; } static MethodMLP* GetThisPtr();
static void IFCN( Int_t& npars, Double_t* grad, Double_t &f, Double_t * fitPars, Int_t ifl ); static void IFCN( Int_t& npars, Double_t* grad, Double_t &f, Double_t * fitPars, Int_t ifl );
void FCN( Int_t& npars, Double_t* grad, Double_t &f, Double_t* fitPar s, Int_t ifl ); void FCN( Int_t& npars, Double_t* grad, Double_t &f, Double_t* fitPar s, Int_t ifl );
#endif #endif
// general // general
bool fUseRegulator; // zjh
Double_t fPrior; // zjh
std::vector<Double_t> fPriorDev; // zjh
void GetApproxInvHessian ( TMatrixD& InvHessian, bool r
egulate=true ); //rank-1 approximation, neglect 2nd derivatives. //zjh
void UpdateRegulators(); // zjh
void UpdatePriors(); // zjh
Int_t fUpdateLimit; // zjh
ETrainingMethod fTrainingMethod; // method of training, BP or GA ETrainingMethod fTrainingMethod; // method of training, BP or GA
TString fTrainMethodS; // training method option param TString fTrainMethodS; // training method option param
Float_t fSamplingFraction; // fraction of events which is sa mpled for training Float_t fSamplingFraction; // fraction of events which is sa mpled for training
Float_t fSamplingEpoch; // fraction of epochs where sampl ing is used Float_t fSamplingEpoch; // fraction of epochs where sampl ing is used
Float_t fSamplingWeight; // changing factor for event weig hts when sampling is turned on Float_t fSamplingWeight; // changing factor for event weig hts when sampling is turned on
Bool_t fSamplingTraining; // The training sample is sampled Bool_t fSamplingTraining; // The training sample is sampled
Bool_t fSamplingTesting; // The testing sample is sampled Bool_t fSamplingTesting; // The testing sample is sampled
// BFGS variables // BFGS variables
 End of changes. 6 change blocks. 
5 lines changed or deleted 18 lines changed or added


 MethodPDERS.h   MethodPDERS.h 
// @(#)root/tmva $Id: MethodPDERS.h 31458 2009-11-30 13:58:20Z stelzer $ // @(#)root/tmva $Id: MethodPDERS.h 33928 2010-06-15 16:19:31Z stelzer $
// Author: Andreas Hoecker, Yair Mahalalel, Joerg Stelzer, Helge Voss, Kai Voss // Author: Andreas Hoecker, Yair Mahalalel, Joerg Stelzer, Helge Voss, Kai Voss
/************************************************************************** ******** /************************************************************************** ********
* Project: TMVA - a Root-integrated toolkit for multivariate data analysis * * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
* Package: TMVA * * Package: TMVA *
* Class : MethodPDERS * * Class : MethodPDERS *
* Web : http://tmva.sourceforge.net * * Web : http://tmva.sourceforge.net *
* * * *
* Description: * * Description: *
* Multidimensional Likelihood using the "Probability density estimato r * * Multidimensional Likelihood using the "Probability density estimato r *
skipping to change at line 109 skipping to change at line 109
// calculate the MVA value // calculate the MVA value
const std::vector<Float_t>& GetRegressionValues(); const std::vector<Float_t>& GetRegressionValues();
public: public:
// for root finder // for root finder
static Double_t IGetVolumeContentForRoot( Double_t ); static Double_t IGetVolumeContentForRoot( Double_t );
Double_t GetVolumeContentForRoot( Double_t ); Double_t GetVolumeContentForRoot( Double_t );
// static pointer to this object // static pointer to this object
static MethodPDERS* ThisPDERS( void ) { return fgThisPDERS; } static MethodPDERS* ThisPDERS( void );
protected: protected:
// make ROOT-independent C++ class for classifier response (classifie r-specific implementation) // make ROOT-independent C++ class for classifier response (classifie r-specific implementation)
void MakeClassSpecific( std::ostream&, const TString& ) const; void MakeClassSpecific( std::ostream&, const TString& ) const;
// get help message text // get help message text
void GetHelpMessage() const; void GetHelpMessage() const;
Volume* fHelpVolume; // auxiliary variable Volume* fHelpVolume; // auxiliary variable
skipping to change at line 223 skipping to change at line 223
void SetVolumeElement ( void ); void SetVolumeElement ( void );
Double_t CRScalc ( const Event& ); Double_t CRScalc ( const Event& );
void RRScalc ( const Event&, std::vector<F loat_t>* count ); void RRScalc ( const Event&, std::vector<F loat_t>* count );
Float_t GetError ( Float_t countS, Float_t countB, Float_t GetError ( Float_t countS, Float_t countB,
Float_t sumW2S, Float_t sumW2B ) const; Float_t sumW2S, Float_t sumW2B ) const;
// this carrier // this carrier
static MethodPDERS* fgThisPDERS; // this pointer (required by root fi nder) static MethodPDERS* fgThisPDERS; // this pointer (required by root fi nder)
void UpdateThis() { fgThisPDERS = this; } void UpdateThis();
void Init( void ); void Init( void );
ClassDef(MethodPDERS,0) // Multi-dimensional probability density esti mator range search (PDERS) method ClassDef(MethodPDERS,0) // Multi-dimensional probability density esti mator range search (PDERS) method
}; };
} // namespace TMVA } // namespace TMVA
#endif // MethodPDERS_H #endif // MethodPDERS_H
 End of changes. 3 change blocks. 
3 lines changed or deleted 3 lines changed or added


 Minuit2Minimizer.h   Minuit2Minimizer.h 
skipping to change at line 147 skipping to change at line 147
virtual bool Minimize(); virtual bool Minimize();
/// return minimum function value /// return minimum function value
virtual double MinValue() const { return fState.Fval(); } virtual double MinValue() const { return fState.Fval(); }
/// return expected distance reached from the minimum /// return expected distance reached from the minimum
virtual double Edm() const { return fState.Edm(); } virtual double Edm() const { return fState.Edm(); }
/// return pointer to X values at the minimum /// return pointer to X values at the minimum
virtual const double * X() const { virtual const double * X() const {
// need to copy them since MnUserParameterState returns them by value fValues = fState.Params();
fValues=fState.Params(); return (fValues.size() ) ? &fValues.front() : 0;
return &fValues.front();
} }
/// return pointer to gradient values at the minimum /// return pointer to gradient values at the minimum
virtual const double * MinGradient() const { return 0; } // not availab le in Minuit2 virtual const double * MinGradient() const { return 0; } // not availab le in Minuit2
/// number of function calls to reach the minimum /// number of function calls to reach the minimum
virtual unsigned int NCalls() const { return fState.NFcn(); } virtual unsigned int NCalls() const { return fState.NFcn(); }
/// this is <= Function().NDim() which is the total /// this is <= Function().NDim() which is the total
/// number of variables (free+ constrained ones) /// number of variables (free+ constrained ones)
virtual unsigned int NDim() const { return fDim; } virtual unsigned int NDim() const { return fDim; }
/// number of free variables (real dimension of the problem) /// number of free variables (real dimension of the problem)
/// this is <= Function().NDim() which is the total /// this is <= Function().NDim() which is the total
virtual unsigned int NFree() const { return fState.VariableParameters(); } virtual unsigned int NFree() const { return fState.VariableParameters(); }
/// minimizer provides error and error matrix /// minimizer provides error and error matrix
virtual bool ProvidesError() const { return true; } virtual bool ProvidesError() const { return true; }
/// return errors at the minimum /// return errors at the minimum
virtual const double * Errors() const { virtual const double * Errors() const;
fErrors = fState.Errors();
return &fErrors.front();
}
/** /**
return covariance matrices elements return covariance matrices elements
if the variable is fixed or const the value is zero if the variable is fixed or const the value is zero
The ordering of the variables is the same as in errors and parameter value. The ordering of the variables is the same as in errors and parameter value.
This is different from the direct interface of Minuit2 or TMinuit wh ere the This is different from the direct interface of Minuit2 or TMinuit wh ere the
values were obtained only to variable parameters values were obtained only to variable parameters
*/ */
virtual double CovMatrix(unsigned int i, unsigned int j) const; virtual double CovMatrix(unsigned int i, unsigned int j) const;
skipping to change at line 243 skipping to change at line 239
status += 100*hesseStatus where hesse status is: status += 100*hesseStatus where hesse status is:
status = 1 : hesse failed status = 1 : hesse failed
status = 2 : matrix inversion failed status = 2 : matrix inversion failed
status = 3 : matrix is not pos defined status = 3 : matrix is not pos defined
*/ */
virtual bool Hesse(); virtual bool Hesse();
/// return reference to the objective function /// return reference to the objective function
///virtual const ROOT::Math::IGenFunction & Function() const; ///virtual const ROOT::Math::IGenFunction & Function() const;
/// print result of minimization
virtual void PrintResults();
protected: protected:
// protected function for accessing the internal Minuit2 object. Needed for derived classes // protected function for accessing the internal Minuit2 object. Needed for derived classes
virtual const ROOT::Minuit2::ModularFunctionMinimizer * GetMinimizer() c onst { return fMinimizer; } virtual const ROOT::Minuit2::ModularFunctionMinimizer * GetMinimizer() c onst { return fMinimizer; }
virtual void SetMinimizer( ROOT::Minuit2::ModularFunctionMinimizer * m) { fMinimizer = m; } virtual void SetMinimizer( ROOT::Minuit2::ModularFunctionMinimizer * m) { fMinimizer = m; }
void SetMinimizerType( ROOT::Minuit2::EMinimizerType type); void SetMinimizerType( ROOT::Minuit2::EMinimizerType type);
virtual const ROOT::Minuit2::FCNBase * GetFCN() const { return fMinuitF CN; } virtual const ROOT::Minuit2::FCNBase * GetFCN() const { return fMinuitF CN; }
/// examine the minimum result /// examine the minimum result
bool ExamineMinimum(const ROOT::Minuit2::FunctionMinimum & min); bool ExamineMinimum(const ROOT::Minuit2::FunctionMinimum & min);
private: private:
// dimension of the function to be minimized unsigned int fDim; // dimension of the function to be minimized
unsigned int fDim;
// error code
int fErrorCode;
bool fUseFumili; bool fUseFumili;
ROOT::Minuit2::MnUserParameterState fState; ROOT::Minuit2::MnUserParameterState fState;
// std::vector<ROOT::Minuit2::MinosError> fMinosErrors; // std::vector<ROOT::Minuit2::MinosError> fMinosErrors;
ROOT::Minuit2::ModularFunctionMinimizer * fMinimizer; ROOT::Minuit2::ModularFunctionMinimizer * fMinimizer;
ROOT::Minuit2::FCNBase * fMinuitFCN; ROOT::Minuit2::FCNBase * fMinuitFCN;
ROOT::Minuit2::FunctionMinimum * fMinimum; ROOT::Minuit2::FunctionMinimum * fMinimum;
mutable std::vector<double> fValues; mutable std::vector<double> fValues;
mutable std::vector<double> fErrors; mutable std::vector<double> fErrors;
 End of changes. 4 change blocks. 
11 lines changed or deleted 7 lines changed or added


 ModelConfig.h   ModelConfig.h 
// @(#)root/roostats:$Id: ModelConfig.h 33228 2010-04-27 07:09:42Z moneta $ // @(#)root/roostats:$Id: ModelConfig.h 34109 2010-06-24 15:00:16Z moneta $
// Author: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke // Author: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
#ifndef ROOSTATS_ModelConfig #ifndef ROOSTATS_ModelConfig
skipping to change at line 30 skipping to change at line 30
#endif #endif
#ifndef ROO_ARG_SET #ifndef ROO_ARG_SET
#include "RooArgSet.h" #include "RooArgSet.h"
#endif #endif
#ifndef ROO_WORKSPACE #ifndef ROO_WORKSPACE
#include "RooWorkspace.h" #include "RooWorkspace.h"
#endif #endif
#ifndef ROOT_TRef
#include "TRef.h"
#endif
#include <string> #include <string>
//_________________________________________________ //_________________________________________________
/* /*
BEGIN_HTML BEGIN_HTML
<p> <p>
ModelConfig is a simple class that holds configuration information specifyi ng how a model ModelConfig is a simple class that holds configuration information specifyi ng how a model
should be used in the context of various RooStats tools. A single model ca n be used should be used in the context of various RooStats tools. A single model ca n be used
in different ways, and this class should carry all that is needed to specif y how it should be used. in different ways, and this class should carry all that is needed to specif y how it should be used.
ModelConfig requires a workspace to be set
</p> </p>
END_HTML END_HTML
*/ */
// //
namespace RooStats { namespace RooStats {
class ModelConfig : public TNamed { class ModelConfig : public TNamed {
public: public:
ModelConfig() : TNamed(), fWS(0), fOwnsWorkspace(false) { ModelConfig(RooWorkspace * ws = 0) :
} TNamed(),
fWS(ws)
ModelConfig(const char* name) : TNamed(name, name), fWS(0), fOwnsWorkspa //fOwnsWorkspace(false)
ce(false) { {
} if (ws) fWSName = ws->GetName();
}
ModelConfig(const char* name, const char* title) : TNamed(name, title),
fWS(0), fOwnsWorkspace(false) { ModelConfig(const char* name, RooWorkspace *ws = 0) :
fWS = 0; TNamed(name, name),
fOwnsWorkspace = false; fWS(ws)
//fOwnsWorkspace(false)
{
if (ws) fWSName = ws->GetName();
}
ModelConfig(const char* name, const char* title, RooWorkspace *ws = 0) :
TNamed(name, title),
fWS(ws)
//fOwnsWorkspace(false)
{
if (ws) fWSName = ws->GetName();
} }
// destructor. // destructor.
virtual ~ModelConfig(); virtual ~ModelConfig();
// clone
virtual ModelConfig * Clone(const char * name = "ModelConfig") const {
ModelConfig * mc = new ModelConfig(*this);
mc->SetName(name);
return mc;
}
// set a workspace that owns all the necessary components for the analys is // set a workspace that owns all the necessary components for the analys is
virtual void SetWorkspace(RooWorkspace & ws); virtual void SetWorkspace(RooWorkspace & ws);
// Set the proto DataSet, add to the the workspace if not already there // Set the proto DataSet, add to the the workspace if not already there
virtual void SetProtoData(RooAbsData & data) { virtual void SetProtoData(RooAbsData & data) {
ImportDataInWS(data); ImportDataInWS(data);
SetProtoData( data.GetName() ); SetProtoData( data.GetName() );
} }
// Set the Pdf, add to the the workspace if not already there // Set the Pdf, add to the the workspace if not already there
virtual void SetPdf(RooAbsPdf& pdf) { virtual void SetPdf(const RooAbsPdf& pdf) {
ImportPdfInWS(pdf); ImportPdfInWS(pdf);
SetPdf( pdf.GetName() ); SetPdf( pdf.GetName() );
} }
// Set the Prior Pdf, add to the the workspace if not already there // Set the Prior Pdf, add to the the workspace if not already there
virtual void SetPriorPdf(RooAbsPdf& pdf) { virtual void SetPriorPdf(const RooAbsPdf& pdf) {
ImportPdfInWS(pdf); ImportPdfInWS(pdf);
SetPriorPdf( pdf.GetName() ); SetPriorPdf( pdf.GetName() );
} }
// specify the parameters of interest in the interval // specify the parameters of interest in the interval
virtual void SetParameters(RooArgSet& set) { virtual void SetParameters(const RooArgSet& set) {
fPOIName=std::string(GetName()) + "_POI"; fPOIName=std::string(GetName()) + "_POI";
DefineSetInWS(fPOIName.c_str(), set); DefineSetInWS(fPOIName.c_str(), set);
} }
virtual void SetParametersOfInterest(RooArgSet& set) { virtual void SetParametersOfInterest(const RooArgSet& set) {
SetParameters(set); SetParameters(set);
} }
// specify the nuisance parameters (eg. the rest of the parameters) // specify the nuisance parameters (eg. the rest of the parameters)
virtual void SetNuisanceParameters(RooArgSet& set) { virtual void SetNuisanceParameters(const RooArgSet& set) {
fNuisParamsName=std::string(GetName()) + "_NuisParams"; fNuisParamsName=std::string(GetName()) + "_NuisParams";
DefineSetInWS(fNuisParamsName.c_str(), set); DefineSetInWS(fNuisParamsName.c_str(), set);
} }
// specify the constraint parameters // specify the constraint parameters
virtual void SetConstraintParameters(RooArgSet& set) { virtual void SetConstraintParameters(const RooArgSet& set) {
fConstrParamsName=std::string(GetName()) + "_ConstrainedParams"; fConstrParamsName=std::string(GetName()) + "_ConstrainedParams";
DefineSetInWS(fConstrParamsName.c_str(), set); DefineSetInWS(fConstrParamsName.c_str(), set);
} }
// specify the observables // specify the observables
virtual void SetObservables(RooArgSet& set) { virtual void SetObservables(const RooArgSet& set) {
fObservablesName=std::string(GetName()) + "_Observables"; fObservablesName=std::string(GetName()) + "_Observables";
DefineSetInWS(fObservablesName.c_str(), set); DefineSetInWS(fObservablesName.c_str(), set);
} }
// specify the conditional observables // specify the conditional observables
virtual void SetConditionalObservables(RooArgSet& set) { virtual void SetConditionalObservables(const RooArgSet& set) {
fConditionalObsName=std::string(GetName()) + "_ConditionalObservables "; fConditionalObsName=std::string(GetName()) + "_ConditionalObservables ";
DefineSetInWS(fConditionalObsName.c_str(), set); DefineSetInWS(fConditionalObsName.c_str(), set);
} }
// set parameter values for the null if using a common PDF // specify the conditional observables
virtual void SetSnapshot(RooArgSet& set) { virtual void SetGlobalObservables(const RooArgSet& set) {
fSnapshotName=std::string(GetName()) + "_Snapshot"; fGlobalObsName=std::string(GetName()) + "_GlobalObservables";
DefineSetInWS(fSnapshotName.c_str(), set); DefineSetInWS(fGlobalObsName.c_str(), set);
} }
// set parameter values for a particular hypothesis if using a common PD
F
// by saving a snapshot in the workspace
virtual void SetSnapshot(const RooArgSet& set);
// specify the name of the PDF in the workspace to be used // specify the name of the PDF in the workspace to be used
virtual void SetPdf(const char* name) { virtual void SetPdf(const char* name) {
if(!fWS){ if(!fWS){
coutE(ObjectHandling) << "workspace not set" << endl; coutE(ObjectHandling) << "workspace not set" << endl;
return; return;
} }
if(fWS->pdf(name)) if(fWS->pdf(name))
fPdfName = name; fPdfName = name;
else else
coutE(ObjectHandling) << "pdf "<<name<< " does not exist in worksp ace"<<endl; coutE(ObjectHandling) << "pdf "<<name<< " does not exist in worksp ace"<<endl;
skipping to change at line 177 skipping to change at line 206
/// get RooArgSet containing the nuisance parameters (return NULL if not existing) /// get RooArgSet containing the nuisance parameters (return NULL if not existing)
const RooArgSet * GetNuisanceParameters() const { return (fWS) ? fWS->se t(fNuisParamsName.c_str()) : 0; } const RooArgSet * GetNuisanceParameters() const { return (fWS) ? fWS->se t(fNuisParamsName.c_str()) : 0; }
/// get RooArgSet containing the constraint parameters (return NULL if n ot existing) /// get RooArgSet containing the constraint parameters (return NULL if n ot existing)
const RooArgSet * GetConstraintParameters() const { return (fWS) ? fWS-> set(fConstrParamsName.c_str()) : 0; } const RooArgSet * GetConstraintParameters() const { return (fWS) ? fWS-> set(fConstrParamsName.c_str()) : 0; }
/// get parameters prior pdf (return NULL if not existing) /// get parameters prior pdf (return NULL if not existing)
RooAbsPdf * GetPriorPdf() const { return (fWS) ? fWS->pdf(fPriorPdfName. c_str()) : 0; } RooAbsPdf * GetPriorPdf() const { return (fWS) ? fWS->pdf(fPriorPdfName. c_str()) : 0; }
/// get RooArgSet for observales (return NULL if not existing) /// get RooArgSet for observables (return NULL if not existing)
const RooArgSet * GetObservables() const { return (fWS) ? fWS->set(fObse rvablesName.c_str()) : 0; } const RooArgSet * GetObservables() const { return (fWS) ? fWS->set(fObse rvablesName.c_str()) : 0; }
/// get RooArgSet for conditional observales (return NULL if not existi ng) /// get RooArgSet for conditional observables (return NULL if not exist ing)
const RooArgSet * GetConditionalObservables() const { return (fWS) ? fWS ->set(fConditionalObsName.c_str()) : 0; } const RooArgSet * GetConditionalObservables() const { return (fWS) ? fWS ->set(fConditionalObsName.c_str()) : 0; }
/// get RooArgSet for global observables (return NULL if not existing)
const RooArgSet * GetGlobalObservables() const { return (fWS) ? fWS->set
(fGlobalObsName.c_str()) : 0; }
/// get Proto data set (return NULL if not existing) /// get Proto data set (return NULL if not existing)
RooAbsData * GetProtoData() const { return (fWS) ? fWS->data(fProtoDat aName.c_str()) : 0; } RooAbsData * GetProtoData() const { return (fWS) ? fWS->data(fProtoDat aName.c_str()) : 0; }
/// get RooArgSet for parameters for a particular hypothesis (return NU LL if not existing) /// get RooArgSet for parameters for a particular hypothesis (return NU LL if not existing)
const RooArgSet * GetSnapshot() const { return (fWS) ? fWS->set(fSnapsho tName.c_str()) : 0; } const RooArgSet * GetSnapshot() const;
const RooWorkspace * GetWS() const { return fWS; } void LoadSnapshot() const;
protected: RooWorkspace * GetWS() const;
/// guesses Observables and ParametersOfInterest if not already set
void GuessObsAndNuisance(const RooAbsData& data);
protected:
// helper functions to define a set in the WS // helper functions to define a set in the WS
void DefineSetInWS(const char* name, RooArgSet& set); void DefineSetInWS(const char* name, const RooArgSet& set);
// internal function to import Pdf in WS // internal function to import Pdf in WS
void ImportPdfInWS(RooAbsPdf & pdf); void ImportPdfInWS(const RooAbsPdf & pdf);
// internal function to import data in WS // internal function to import data in WS
void ImportDataInWS(RooAbsData & data); void ImportDataInWS(RooAbsData & data);
RooWorkspace* fWS; // a workspace that owns all the components to be use mutable RooWorkspace* fWS; //! a workspace that owns all the compone
d by the calculator nts to be used by the calculator (transient member)
Bool_t fOwnsWorkspace; TRef fRefWS; // WS reference used in the file
//Bool_t fOwnsWorkspace;
std::string fWSName; // name of the WS
std::string fPdfName; // name of PDF in workspace std::string fPdfName; // name of PDF in workspace
std::string fDataName; // name of data set in workspace std::string fDataName; // name of data set in workspace
std::string fPOIName; // name for RooArgSet specifying parameters of int erest std::string fPOIName; // name for RooArgSet specifying parameters of int erest
std::string fNuisParamsName; // name for RooArgSet specifying nuisance p arameters std::string fNuisParamsName; // name for RooArgSet specifying nuisance p arameters
std::string fConstrParamsName; // name for RooArgSet specifying constrai ned parameters std::string fConstrParamsName; // name for RooArgSet specifying constrai ned parameters
std::string fPriorPdfName; // name for RooAbsPdf specifying a prior on t he parameters std::string fPriorPdfName; // name for RooAbsPdf specifying a prior on t he parameters
std::string fConditionalObsName; // name for RooArgSet specifying condit ional observables std::string fConditionalObsName; // name for RooArgSet specifying condit ional observables
std::string fGlobalObsName; // name for RooArgSet specifying global obse rvables
std::string fProtoDataName; // name for RooArgSet specifying dataset tha t should be used as protodata std::string fProtoDataName; // name for RooArgSet specifying dataset tha t should be used as protodata
std::string fSnapshotName; // name for RooArgSet that specifies a partic ular hypothesis std::string fSnapshotName; // name for RooArgSet that specifies a partic ular hypothesis
std::string fObservablesName; // name for RooArgSet specifying observabl e parameters. std::string fObservablesName; // name for RooArgSet specifying observabl e parameters.
ClassDef(ModelConfig,1) // A class that holds configuration information for a model using a workspace as a store ClassDef(ModelConfig,3) // A class that holds configuration information for a model using a workspace as a store
}; };
} // end namespace RooStats } // end namespace RooStats
#endif #endif
 End of changes. 27 change blocks. 
35 lines changed or deleted 76 lines changed or added


 MsgLogger.h   MsgLogger.h 
// @(#)root/tmva $Id: MsgLogger.h 31458 2009-11-30 13:58:20Z stelzer $ // @(#)root/tmva $Id: MsgLogger.h 33928 2010-06-15 16:19:31Z stelzer $
// Author: Attila Krasznahorkay // Author: Attila Krasznahorkay
/************************************************************************** ******** /************************************************************************** ********
* Project: TMVA - a Root-integrated toolkit for multivariate data analysis * * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
* Package: TMVA * * Package: TMVA *
* Class : MsgLogger * * Class : MsgLogger *
* Web : http://tmva.sourceforge.net * * Web : http://tmva.sourceforge.net *
* * * *
* Description: * * Description: *
* TMVA output logger class producing nicely formatted log messages * * TMVA output logger class producing nicely formatted log messages *
skipping to change at line 108 skipping to change at line 108
private: private:
// private utility routines // private utility routines
void Send(); void Send();
void InitMaps(); void InitMaps();
void WriteMsg( EMsgType type, const std::string& line ) const; void WriteMsg( EMsgType type, const std::string& line ) const;
const TObject* fObjSource; // the source TObjec t (used for name) const TObject* fObjSource; // the source TObjec t (used for name)
std::string fStrSource; // alternative strin g source std::string fStrSource; // alternative strin g source
const std::string fPrefix; // the prefix of the static const std::string fgPrefix; // the prefi
source name x of the source name
const std::string fSuffix; // suffix following static const std::string fgSuffix; // suffix fo
source name llowing source name
EMsgType fActiveType; // active type EMsgType fActiveType; // active type
static UInt_t fgMaxSourceSize; // maximum length of source name static UInt_t fgMaxSourceSize; // maximum length of source name
static Bool_t fgOutputSupressed; // disable the out put globaly (used by generic booster) static Bool_t fgOutputSupressed; // disable the out put globaly (used by generic booster)
std::map<EMsgType, std::string> fTypeMap; // matches output ty static std::map<EMsgType, std::string> fgTypeMap; // matches o
pes with strings utput types with strings
std::map<EMsgType, std::string> fColorMap; // matches output ty static std::map<EMsgType, std::string> fgColorMap; // matches o
pes with terminal colors utput types with terminal colors
EMsgType fMinType; // minimum type for output EMsgType fMinType; // minimum type for output
static Bool_t fgInhibitOutput; // flag to suppress all output static Bool_t fgInhibitOutput; // flag to suppress all output
ClassDef(MsgLogger,0) // Ostringstream derivative to redirect and for mat logging output ClassDef(MsgLogger,0) // Ostringstream derivative to redirect and for mat logging output
}; // class MsgLogger }; // class MsgLogger
inline MsgLogger& MsgLogger::operator<< ( MsgLogger& (*_f)( MsgLogger& ) ) inline MsgLogger& MsgLogger::operator<< ( MsgLogger& (*_f)( MsgLogger& ) )
{ {
return (_f)(*this); return (_f)(*this);
 End of changes. 3 change blocks. 
9 lines changed or deleted 9 lines changed or added


 NeymanConstruction.h   NeymanConstruction.h 
// @(#)root/roostats:$Id: NeymanConstruction.h 31276 2009-11-18 15:06:42Z m oneta $ // @(#)root/roostats:$Id: NeymanConstruction.h 34109 2010-06-24 15:00:16Z m oneta $
// Author: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke // Author: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
#ifndef ROOSTATS_NeymanConstruction #ifndef ROOSTATS_NeymanConstruction
skipping to change at line 23 skipping to change at line 23
#ifndef ROOT_Rtypes #ifndef ROOT_Rtypes
#include "Rtypes.h" #include "Rtypes.h"
#endif #endif
#ifndef ROOSTATS_IntervalCalculator #ifndef ROOSTATS_IntervalCalculator
#include "RooStats/IntervalCalculator.h" #include "RooStats/IntervalCalculator.h"
#endif #endif
#include "RooStats/TestStatSampler.h" #include "RooStats/TestStatSampler.h"
#include "RooStats/ModelConfig.h"
#include "RooStats/ConfidenceBelt.h" #include "RooStats/ConfidenceBelt.h"
#include "RooAbsData.h" #include "RooAbsData.h"
#include "RooAbsPdf.h" #include "RooAbsPdf.h"
#include "RooArgSet.h" #include "RooArgSet.h"
#include "TList.h" #include "TList.h"
class RooAbsData; class RooAbsData;
namespace RooStats { namespace RooStats {
class ConfInterval; class ConfInterval;
class NeymanConstruction : public IntervalCalculator, public TNamed { class NeymanConstruction : public IntervalCalculator{
public: public:
NeymanConstruction(); // NeymanConstruction();
NeymanConstruction(RooAbsData& data, ModelConfig& model);
virtual ~NeymanConstruction(); virtual ~NeymanConstruction();
// Main interface to get a ConfInterval (will be a PointSetInterval) // Main interface to get a ConfInterval (will be a PointSetInterval)
virtual ConfInterval* GetInterval() const; virtual ConfInterval* GetInterval() const;
virtual ConfInterval* GetIntervalUsingList() const;
// Interface extended with I/O support
virtual ConfInterval* GetInterval(const char* asciiFilePat) const;
// Actually generate teh sampling distribution
virtual TList* GenSamplingDistribution(const char* asciiFilePa
t = 0) const;
virtual ConfInterval* Run(TList *SamplingList) const;
// in addition to interface we also need: // in addition to interface we also need:
// Set the TestStatSampler (eg. ToyMC or FFT, includes choice of Test Statistic) // Set the TestStatSampler (eg. ToyMC or FFT, includes choice of Test Statistic)
void SetTestStatSampler(TestStatSampler& distCreator) {fTestStatSampl er = &distCreator;} void SetTestStatSampler(TestStatSampler& sampler) {fTestStatSampler = &sampler;}
// fLeftSideTailFraction*fSize defines lower edge of acceptance regio n. // fLeftSideTailFraction*fSize defines lower edge of acceptance regio n.
// Unified limits use 0, central limits use 0.5, // Unified limits use 0, central limits use 0.5,
// for upper/lower limits it is 0/1 depends on sign of test statistic w.r.t. parameter // for upper/lower limits it is 0/1 depends on sign of test statistic w.r.t. parameter
void SetLeftSideTailFraction(Double_t leftSideFraction = 0.) {fLeftSi deFraction = leftSideFraction;} void SetLeftSideTailFraction(Double_t leftSideFraction = 0.) {fLeftSi deFraction = leftSideFraction;}
// User-defined set of points to test // User-defined set of points to test
void SetParameterPointsToTest(RooAbsData& pointsToTest) { void SetParameterPointsToTest(RooAbsData& pointsToTest) {
fPointsToTest = &pointsToTest; fPointsToTest = &pointsToTest;
fConfBelt = new ConfidenceBelt("ConfBelt",pointsToTest); fConfBelt = new ConfidenceBelt("ConfBelt",pointsToTest);
} }
skipping to change at line 81 skipping to change at line 75
// This class can make regularly spaced scans based on range stored i n RooRealVars. // This class can make regularly spaced scans based on range stored i n RooRealVars.
// Choose number of steps for a rastor scan (specific for each dimens ion) // Choose number of steps for a rastor scan (specific for each dimens ion)
// void SetNumSteps(map<RooAbsArg, Int_t>) // void SetNumSteps(map<RooAbsArg, Int_t>)
// Get the size of the test (eg. rate of Type I error) // Get the size of the test (eg. rate of Type I error)
virtual Double_t Size() const {return fSize;} virtual Double_t Size() const {return fSize;}
// Get the Confidence level for the test // Get the Confidence level for the test
virtual Double_t ConfidenceLevel() const {return 1.-fSize;} virtual Double_t ConfidenceLevel() const {return 1.-fSize;}
virtual void SetModel(const ModelConfig &); // Set ModelConfig
virtual void SetModel(const ModelConfig &model) {fModel = model;}
// Set the DataSet // Set the DataSet
virtual void SetData(RooAbsData& data) { fData = &data; } virtual void SetData(RooAbsData& data) { fData = data; }
// Set the Pdf, add to the the workspace if not already there // Set the Pdf, add to the the workspace if not already there
virtual void SetPdf(RooAbsPdf& pdf) { fPdf = &pdf; } virtual void SetPdf(RooAbsPdf& /*pdf*/) {
cout << "DEPRECATED, use ModelConfig"<<endl;
}
// specify the parameters of interest in the interval // specify the parameters of interest in the interval
virtual void SetParameters(const RooArgSet& set) { fPOI.removeAll(); virtual void SetParameters(const RooArgSet& /*set*/) {
fPOI.add(set); } cout << "DEPRECATED, use ModelConfig"<<endl;
}
// specify the nuisance parameters (eg. the rest of the parameters) // specify the nuisance parameters (eg. the rest of the parameters)
virtual void SetNuisanceParameters(const RooArgSet& set) {fNuisParams virtual void SetNuisanceParameters(const RooArgSet& /*set*/) {
.removeAll(); fNuisParams.add(set);} cout << "DEPRECATED, use ModelConfig"<<endl;
}
// set the size of the test (rate of Type I error) ( Eg. 0.05 for a 9 5% Confidence Interval) // set the size of the test (rate of Type I error) ( Eg. 0.05 for a 9 5% Confidence Interval)
virtual void SetTestSize(Double_t size) {fSize = size;} virtual void SetTestSize(Double_t size) {fSize = size;}
// set the confidence level for the interval (eg. 0.95 for a 95% Conf idence Interval) // set the confidence level for the interval (eg. 0.95 for a 95% Conf idence Interval)
virtual void SetConfidenceLevel(Double_t cl) {fSize = 1.-cl;} virtual void SetConfidenceLevel(Double_t cl) {fSize = 1.-cl;}
// get confidence belt
ConfidenceBelt* GetConfidenceBelt() {return fConfBelt;} ConfidenceBelt* GetConfidenceBelt() {return fConfBelt;}
// adaptive sampling algorithm to speed up interval caculation
void UseAdaptiveSampling(bool flag=true){fAdaptiveSampling=flag;} void UseAdaptiveSampling(bool flag=true){fAdaptiveSampling=flag;}
// give user ability to ask for more toys
void AdditionalNToysFactor(double fact){fAdditionalNToysFactor = fact
;}
// save teh confidence belt to a file
void SaveBeltToFile(bool flag=true){ void SaveBeltToFile(bool flag=true){
fSaveBeltToFile = flag; fSaveBeltToFile = flag;
if(flag) fCreateBelt = true; if(flag) fCreateBelt = true;
} }
// should create confidence belt
void CreateConfBelt(bool flag=true){fCreateBelt = flag;} void CreateConfBelt(bool flag=true){fCreateBelt = flag;}
private: private:
Double_t fSize; // size of the test (eg. specified rate of Type I err or) Double_t fSize; // size of the test (eg. specified rate of Type I err or)
RooAbsData& fData; // data set
ModelConfig &fModel;
/*
RooAbsPdf * fPdf; // common PDF RooAbsPdf * fPdf; // common PDF
RooAbsData * fData; // data set mutable RooArgSet fPOI; // RooArgSet specifying parameters of intere
RooArgSet fPOI; // RooArgSet specifying parameters of interest for i st for interval
nterval
RooArgSet fNuisParams;// RooArgSet specifying nuisance parameters fo r interval RooArgSet fNuisParams;// RooArgSet specifying nuisance parameters fo r interval
*/
TestStatSampler* fTestStatSampler; TestStatSampler* fTestStatSampler;
RooAbsData* fPointsToTest; RooAbsData* fPointsToTest;
Double_t fLeftSideFraction; Double_t fLeftSideFraction;
ConfidenceBelt* fConfBelt; ConfidenceBelt* fConfBelt;
bool fAdaptiveSampling; // controls use of adaptive sampling algorith m bool fAdaptiveSampling; // controls use of adaptive sampling algorith m
Double_t fAdditionalNToysFactor; // give user ability to ask for more toys
bool fSaveBeltToFile; // controls use if ConfidenceBelt should be sav ed to a TFile bool fSaveBeltToFile; // controls use if ConfidenceBelt should be sav ed to a TFile
bool fCreateBelt; // controls use if ConfidenceBelt should be saved t o a TFile bool fCreateBelt; // controls use if ConfidenceBelt should be saved t o a TFile
protected: protected:
ClassDef(NeymanConstruction,1) // Interface for tools setting limit s (producing confidence intervals) ClassDef(NeymanConstruction,1) // Interface for tools setting limit s (producing confidence intervals)
}; };
} }
#endif #endif
 End of changes. 19 change blocks. 
23 lines changed or deleted 34 lines changed or added


 Node.h   Node.h 
// @(#)root/tmva $Id: Node.h 31458 2009-11-30 13:58:20Z stelzer $ // @(#)root/tmva $Id: Node.h 33928 2010-06-15 16:19:31Z stelzer $
// Author: Andreas Hoecker, Joerg Stelzer, Helge Voss, Kai Voss // Author: Andreas Hoecker, Joerg Stelzer, Helge Voss, Kai Voss
/************************************************************************** ******** /************************************************************************** ********
* Project: TMVA - a Root-integrated toolkit for multivariate data analysis * * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
* Package: TMVA * * Package: TMVA *
* Classes: Node * * Classes: Node *
* Web : http://tmva.sourceforge.net * * Web : http://tmva.sourceforge.net *
* * * *
* Description: * * Description: *
* Node for the BinarySearch or Decision Trees * * Node for the BinarySearch or Decision Trees *
skipping to change at line 136 skipping to change at line 136
// Return the node position, i.e, the node is a left (l) or right (r) daugther // Return the node position, i.e, the node is a left (l) or right (r) daugther
char GetPos() const {return fPos;} char GetPos() const {return fPos;}
// Return the pointer to the Parent tree to which the Node belongs // Return the pointer to the Parent tree to which the Node belongs
TMVA::BinaryTree* GetParentTree() const {return fParentTree;} TMVA::BinaryTree* GetParentTree() const {return fParentTree;}
// set the pointer to the Parent Tree to which the Node belongs // set the pointer to the Parent Tree to which the Node belongs
void SetParentTree(TMVA::BinaryTree* t) {fParentTree = t;} void SetParentTree(TMVA::BinaryTree* t) {fParentTree = t;}
int GetCount(){return fgCount;} int GetCount();
virtual Bool_t ReadDataRecord( std::istream&, UInt_t tmva_Version_Cod e = TMVA_VERSION_CODE ) = 0; virtual Bool_t ReadDataRecord( std::istream&, UInt_t tmva_Version_Cod e = TMVA_VERSION_CODE ) = 0;
virtual void ReadAttributes(void* node, UInt_t tmva_Version_Code = TM VA_VERSION_CODE ) = 0; virtual void ReadAttributes(void* node, UInt_t tmva_Version_Code = TM VA_VERSION_CODE ) = 0;
virtual void ReadContent(std::stringstream& s) =0; virtual void ReadContent(std::stringstream& s) =0;
private: private:
Node* fParent; // the previous (parent) node Node* fParent; // the previous (parent) node
Node* fLeft; // pointers to the two "daughter" nodes Node* fLeft; // pointers to the two "daughter" nodes
Node* fRight; // pointers to the two "daughter" nodes Node* fRight; // pointers to the two "daughter" nodes
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 PDEFoamDistr.h   PDEFoamDistr.h 
skipping to change at line 77 skipping to change at line 77
private: private:
Int_t fDim; // number of dimensions Int_t fDim; // number of dimensions
Float_t *fXmin; //[fDim] minimal value of phase space in al l dimension Float_t *fXmin; //[fDim] minimal value of phase space in al l dimension
Float_t *fXmax; //[fDim] maximal value of phase space in al l dimension Float_t *fXmax; //[fDim] maximal value of phase space in al l dimension
Float_t fVolFrac; // volume fraction (with respect to total p hase space Float_t fVolFrac; // volume fraction (with respect to total p hase space
BinarySearchTree *fBst; // Binary tree to find events within a volu me BinarySearchTree *fBst; // Binary tree to find events within a volu me
TDensityCalc fDensityCalc;// method of density calculation TDensityCalc fDensityCalc;// method of density calculation
protected: protected:
Int_t fSignalClass; // TODO: intermediate solution to keep IsSig nal() of Event working. TODO: remove IsSignal() from Event UInt_t fSignalClass; // TODO: intermediate solution to keep IsSi gnal() of Event working. TODO: remove IsSignal() from Event
Int_t fBackgroundClass; // TODO: intermediate solution to keep IsSig nal() of Event working. TODO: remove IsSignal() from Event Int_t fBackgroundClass; // TODO: intermediate solution to keep IsSig nal() of Event working. TODO: remove IsSignal() from Event
mutable MsgLogger* fLogger; //! message logger mutable MsgLogger* fLogger; //! message logger
MsgLogger& Log() const { return *fLogger; } MsgLogger& Log() const { return *fLogger; }
public: public:
PDEFoamDistr(); PDEFoamDistr();
PDEFoamDistr(const PDEFoamDistr&); PDEFoamDistr(const PDEFoamDistr&);
virtual ~PDEFoamDistr(); virtual ~PDEFoamDistr();
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 PDEFoamVect.h   PDEFoamVect.h 
skipping to change at line 47 skipping to change at line 47
namespace TMVA { namespace TMVA {
class PDEFoamVect : public TObject { class PDEFoamVect : public TObject {
private: private:
Int_t fDim; // Dimension Int_t fDim; // Dimension
Double_t *fCoords; // [fDim] Coordinates Double_t *fCoords; // [fDim] Coordinates
protected: protected:
mutable MsgLogger* fLogger; //! message logger static MsgLogger* fgLogger; //! message logger, s
MsgLogger& Log() const { return *fLogger; } tatic because there is a huge number of vectors...
MsgLogger& Log() const { return *fgLogger; }
public: public:
// constructor // constructor
PDEFoamVect(); // Constructor PDEFoamVect(); // Constructor
PDEFoamVect(Int_t); // USER Constructor PDEFoamVect(Int_t); // USER Constructor
PDEFoamVect(const PDEFoamVect &); // Copy constructor PDEFoamVect(const PDEFoamVect &); // Copy constructor
virtual ~PDEFoamVect(); // Destructor virtual ~PDEFoamVect(); // Destructor
///////////////////////////////////////////////////////////////////// ///////// ///////////////////////////////////////////////////////////////////// /////////
// Overloading operators // // Overloading operators //
 End of changes. 1 change blocks. 
2 lines changed or deleted 3 lines changed or added


 PDF.h   PDF.h 
// @(#)root/tmva $Id: PDF.h 29195 2009-06-24 10:39:49Z brun $ // @(#)root/tmva $Id: PDF.h 33928 2010-06-15 16:19:31Z stelzer $
// Author: Asen Christov, Andreas Hoecker, Joerg Stelzer, Helge Voss, Kai V oss // Author: Asen Christov, Andreas Hoecker, Joerg Stelzer, Helge Voss, Kai V oss
/************************************************************************** ******** /************************************************************************** ********
* Project: TMVA - a Root-integrated toolkit for multivariate data analysis * * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
* Package: TMVA * * Package: TMVA *
* Class : PDF * * Class : PDF *
* Web : http://tmva.sourceforge.net * * Web : http://tmva.sourceforge.net *
* * * *
* Description: * * Description: *
* PDF wrapper for histograms; uses user-defined spline interpolation * * PDF wrapper for histograms; uses user-defined spline interpolation *
skipping to change at line 201 skipping to change at line 201
Bool_t fCheckHist; // check of source hi stogram Bool_t fCheckHist; // check of source hi stogram
Bool_t fNormalize; // normalize histogra m (false for cumulative distribution used in GaussTranform) Bool_t fNormalize; // normalize histogra m (false for cumulative distribution used in GaussTranform)
TString fSuffix; //! the suffix for op tions TString fSuffix; //! the suffix for op tions
mutable MsgLogger* fLogger; //! message logger mutable MsgLogger* fLogger; //! message logger
MsgLogger& Log() const { return *fLogger; } MsgLogger& Log() const { return *fLogger; }
// static pointer to this object // static pointer to this object
static PDF* fgThisPDF; // this PDF pointer static PDF* fgThisPDF; // this PDF pointer
static PDF* ThisPDF( void ) { return fgThisPDF; } static PDF* ThisPDF( void );
// external auxiliary functions // external auxiliary functions
static Double_t IGetVal( Double_t*, Double_t* ); static Double_t IGetVal( Double_t*, Double_t* );
ClassDef(PDF,1) // PDF wrapper for histograms ClassDef(PDF,1) // PDF wrapper for histograms
}; };
} // namespace TMVA } // namespace TMVA
#endif #endif
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 PdfFuncMathCore.h   PdfFuncMathCore.h 
// @(#)root/mathcore:$Id: PdfFuncMathCore.h 24832 2008-07-15 13:10:27Z mone ta $ // @(#)root/mathcore:$Id: PdfFuncMathCore.h 34095 2010-06-24 07:31:19Z mone ta $
// Authors: Andras Zsenei & Lorenzo Moneta 06/2005 // Authors: Andras Zsenei & Lorenzo Moneta 06/2005
/********************************************************************** /**********************************************************************
* * * *
* Copyright (c) 2005 , LCG ROOT MathLib Team * * Copyright (c) 2005 , LCG ROOT MathLib Team *
* * * *
* * * *
**********************************************************************/ **********************************************************************/
/** /**
skipping to change at line 213 skipping to change at line 213
call the same implementation. call the same implementation.
@ingroup PdfFunc @ingroup PdfFunc
*/ */
double gaussian_pdf(double x, double sigma = 1, double x0 = 0); double gaussian_pdf(double x, double sigma = 1, double x0 = 0);
/** /**
Probability density function of the Landau distribution. Probability density function of the Landau distribution:
\f[ p(x) = \frac{1}{\xi} \phi (\lambda) \f]
\f[ p(x) = \frac{1}{2 \pi i}\int_{c-i\infty}^{c+i\infty} e^{x s + s \lo with
g{s}} ds\f] \f[ \phi(\lambda) = \frac{1}{2 \pi i}\int_{c-i\infty}^{c+i\infty} e^{\l
ambda s + s \log{s}} ds\f]
Where s = (x-x0)/sigma. For detailed description see where \f$\lambda = (x-x_0)/\xi\f$. For a detailed description see
K.S. K&ouml;lbig and B. Schorr, A program package for the Landau distrib
ution,
<A HREF="http://dx.doi.org/10.1016/0010-4655(84)90085-7">Computer Phys.
Comm. 31 (1984) 97-111</A>
<A HREF="http://dx.doi.org/10.1016/j.cpc.2008.03.002">[Erratum-ibid. 178
(2008) 972]</A>.
The same algorithms as in
<A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/g110/top.htm l"> <A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/g110/top.htm l">
CERNLIB</A>. The same algorithms as in CERNLIB (DENLAN) is used CERNLIB</A> (DENLAN) is used
@param x The argument \f$x\f$
@param xi The width parameter \f$\xi\f$
@param x0 The location parameter \f$x_0\f$
@ingroup PdfFunc @ingroup PdfFunc
*/ */
double landau_pdf(double x, double s = 1, double x0 = 0.); double landau_pdf(double x, double xi = 1, double x0 = 0);
/** /**
Probability density function of the lognormal distribution. Probability density function of the lognormal distribution.
\f[ p(x) = {1 \over x \sqrt{2 \pi s^2} } e^{-(\ln{x} - m)^2/2 s^2} \f] \f[ p(x) = {1 \over x \sqrt{2 \pi s^2} } e^{-(\ln{x} - m)^2/2 s^2} \f]
for x>0. For detailed description see for x>0. For detailed description see
<A HREF="http://mathworld.wolfram.com/LogNormalDistribution.html"> <A HREF="http://mathworld.wolfram.com/LogNormalDistribution.html">
Mathworld</A>. Mathworld</A>.
 End of changes. 4 change blocks. 
9 lines changed or deleted 20 lines changed or added


 PdfProposal.h   PdfProposal.h 
// @(#)root/roostats:$Id: PdfProposal.h 31276 2009-11-18 15:06:42Z moneta $ // @(#)root/roostats:$Id: PdfProposal.h 34109 2010-06-24 15:00:16Z moneta $
// Authors: Kevin Belasco 17/06/2009 // Authors: Kevin Belasco 17/06/2009
// Authors: Kyle Cranmer 17/06/2009 // Authors: Kyle Cranmer 17/06/2009
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 84 skipping to change at line 84
// proposalParam is a parameter of the proposal function that must // proposalParam is a parameter of the proposal function that must
// be set to the value of update (from the current point) in order to // be set to the value of update (from the current point) in order to
// propose a new point. // propose a new point.
virtual void AddMapping(RooRealVar& proposalParam, RooAbsReal& update ); virtual void AddMapping(RooRealVar& proposalParam, RooAbsReal& update );
virtual void Reset() virtual void Reset()
{ {
delete fCache; delete fCache;
fCache = NULL; fCache = NULL;
fCachePosition = 0; fCachePosition = 0;
fLastX = RooArgSet(); fLastX.removeAll();
} }
virtual void printMappings() virtual void printMappings()
{ {
map<RooRealVar*, RooAbsReal*>::iterator it; map<RooRealVar*, RooAbsReal*>::iterator it;
for (it = fMap.begin(); it != fMap.end(); it++) for (it = fMap.begin(); it != fMap.end(); it++)
cout << it->first->GetName() << " => " << it->second->GetName() << endl; cout << it->first->GetName() << " => " << it->second->GetName() << endl;
} }
// Set how many points to generate each time we propose from a new po int // Set how many points to generate each time we propose from a new po int
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 ProbFuncMathCore.h   ProbFuncMathCore.h 
// @(#)root/mathcore:$Id: ProbFuncMathCore.h 21129 2007-11-30 14:41:10Z mon eta $ // @(#)root/mathcore:$Id: ProbFuncMathCore.h 34095 2010-06-24 07:31:19Z mon eta $
// Authors: L. Moneta, A. Zsenei 06/2005 // Authors: L. Moneta, A. Zsenei 06/2005
/********************************************************************** /**********************************************************************
* * * *
* Copyright (c) 2005 , LCG ROOT MathLib Team * * Copyright (c) 2005 , LCG ROOT MathLib Team *
* * * *
* * * *
**********************************************************************/ **********************************************************************/
#if defined(__CINT__) && !defined(__MAKECINT__) #if defined(__CINT__) && !defined(__MAKECINT__)
skipping to change at line 52 skipping to change at line 52
* *
* \f[ D(x) = \int_{x}^{+\infty} p(x') dx' \f] * \f[ D(x) = \int_{x}^{+\infty} p(x') dx' \f]
* *
* *
* <strong>NOTE:</strong> In the old releases (< 5.14) the <em>_cdf</em> functions were called * <strong>NOTE:</strong> In the old releases (< 5.14) the <em>_cdf</em> functions were called
* <em>_quant</em> and the <em>_cdf_c</em> functions were called * <em>_quant</em> and the <em>_cdf_c</em> functions were called
* <em>_prob</em>. * <em>_prob</em>.
* These names are currently kept for backward compatibility, but * These names are currently kept for backward compatibility, but
* their usage is deprecated. * their usage is deprecated.
* *
* These functions are defined in the header file <em>Math/ProbFunc.h<em
> or in the global one
* including all statistical dunctions <em>Math/DistFunc.h<em>
* *
*/ */
/** /**
Complement of the cumulative distribution function of the beta distribut ion. Complement of the cumulative distribution function of the beta distribut ion.
Upper tail of the integral of the #beta_pdf Upper tail of the integral of the #beta_pdf
@ingroup ProbFunc @ingroup ProbFunc
skipping to change at line 287 skipping to change at line 289
*/ */
double gamma_cdf(double x, double alpha, double theta, double x0 = 0); double gamma_cdf(double x, double alpha, double theta, double x0 = 0);
/** /**
Cumulative distribution function of the Landau Cumulative distribution function of the Landau
distribution (lower tail). distribution (lower tail).
\f[ D(x) = \int_{-\infty}^{x} p(x) dx \f] \f[ D(x) = \int_{-\infty}^{x} p(x) dx \f]
Where p(x) is the Landau probability density function :
\f[ p(x) = \frac{1}{2 \pi i}\int_{c-i\infty}^{c+i\infty} e^{x s + s \lo where \f$p(x)\f$ is the Landau probability density function :
g{s}} ds\f] \f[ p(x) = \frac{1}{\xi} \phi (\lambda) \f]
with
Where s = (x-x0)/sigma. For detailed description see \f[ \phi(\lambda) = \frac{1}{2 \pi i}\int_{c-i\infty}^{c+i\infty} e^{\l
ambda s + s \log{s}} ds\f]
with \f$\lambda = (x-x_0)/\xi\f$. For a detailed description see
K.S. K&ouml;lbig and B. Schorr, A program package for the Landau distrib
ution,
<A HREF="http://dx.doi.org/10.1016/0010-4655(84)90085-7">Computer Phys.
Comm. 31 (1984) 97-111</A>
<A HREF="http://dx.doi.org/10.1016/j.cpc.2008.03.002">[Erratum-ibid. 178
(2008) 972]</A>.
The same algorithms as in
<A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/g110/top.htm l"> <A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/g110/top.htm l">
CERNLIB</A>. The same algorithms as in CERNLIB (DISLAN) is used. CERNLIB</A> (DISLAN) is used.
@param x The argument \f$x\f$
@param xi The width parameter \f$\xi\f$
@param x0 The location parameter \f$x_0\f$
@ingroup ProbFunc @ingroup ProbFunc
*/ */
double landau_cdf(double x, double sigma = 1, double x0 = 0); double landau_cdf(double x, double xi = 1, double x0 = 0);
/** /**
Complement of the distribution function of the Landau Complement of the distribution function of the Landau
distribution (upper tail). distribution (upper tail).
\f[ D(x) = \int_{x}^{+\infty} p(x) dx \f] \f[ D(x) = \int_{x}^{+\infty} p(x) dx \f]
where p(x) is the Landau probability density function. where p(x) is the Landau probability density function.
It is implemented simply as 1. - #landau_cdf It is implemented simply as 1. - #landau_cdf
@param x The argument \f$x\f$
@param xi The width parameter \f$\xi\f$
@param x0 The location parameter \f$x_0\f$
@ingroup ProbFunc
*/ */
inline double landau_cdf_c(double x, double sigma = 1, double x0 = 0) { inline double landau_cdf_c(double x, double xi = 1, double x0 = 0) {
return 1. - landau_cdf(x,sigma,x0); return 1. - landau_cdf(x,xi,x0);
} }
/** /**
Complement of the cumulative distribution function of the lognormal dist ribution Complement of the cumulative distribution function of the lognormal dist ribution
(upper tail). (upper tail).
\f[ D(x) = \int_{x}^{+\infty} {1 \over x' \sqrt{2 \pi s^2} } e^{-(\ln{x' } - m)^2/2 s^2} dx' \f] \f[ D(x) = \int_{x}^{+\infty} {1 \over x' \sqrt{2 \pi s^2} } e^{-(\ln{x' } - m)^2/2 s^2} dx' \f]
For detailed description see For detailed description see
skipping to change at line 585 skipping to change at line 603
inline double tdistribution_prob(double x, double r, double x0 = 0) { inline double tdistribution_prob(double x, double r, double x0 = 0) {
return tdistribution_cdf_c (x, r, x0); return tdistribution_cdf_c (x, r, x0);
} }
inline double tdistribution_quant(double x, double r, double x0 = 0) { inline double tdistribution_quant(double x, double r, double x0 = 0) {
return tdistribution_cdf (x, r, x0); return tdistribution_cdf (x, r, x0);
} }
#endif #endif
/** @defgroup TruncFunc Statistical functions from truncated distributio
ns
@ingroup StatFunc
Statistical functions for the truncated distributions. Examples of such
functions are the
first or the second momentum of the truncated distribution.
In the case of the Landau, first and second momentum functions are provi
ded for the Landau
distribution truncated only on the right side.
These functions are defined in the header file <em>Math/ProbFunc.h<em> o
r in the global one
including all statistical dunctions <em>Math/StatFunc.h<em>
*/
/**
First moment (mean) of the truncated Landau distribution.
\f[ \frac{1}{D (x)} \int_{-\infty}^{x} t\, p(t) d t \f]
where \f$p(x)\f$ is the Landau distribution
and \f$D(x)\f$ its cumulative distribution function.
For detailed description see
K.S. K&ouml;lbig and B. Schorr, A program package for the Landau distrib
ution,
<A HREF="http://dx.doi.org/10.1016/0010-4655(84)90085-7">Computer Phys.
Comm. 31 (1984) 97-111</A>
<A HREF="http://dx.doi.org/10.1016/j.cpc.2008.03.002">[Erratum-ibid. 178
(2008) 972]</A>.
The same algorithms as in
<A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/g110/top.htm
l">
CERNLIB</A> (XM1LAN) is used
@param x The argument \f$x\f$
@param xi The width parameter \f$\xi\f$
@param x0 The location parameter \f$x_0\f$
@ingroup TruncFunc
*/
double landau_xm1(double x, double xi = 1, double x0 = 0);
/**
Second moment of the truncated Landau distribution.
\f[ \frac{1}{D (x)} \int_{-\infty}^{x} t^2\, p(t) d t \f]
where \f$p(x)\f$ is the Landau distribution
and \f$D(x)\f$ its cumulative distribution function.
For detailed description see
K.S. K&ouml;lbig and B. Schorr, A program package for the Landau distrib
ution,
<A HREF="http://dx.doi.org/10.1016/0010-4655(84)90085-7">Computer Phys.
Comm. 31 (1984) 97-111</A>
<A HREF="http://dx.doi.org/10.1016/j.cpc.2008.03.002">[Erratum-ibid. 178
(2008) 972]</A>.
The same algorithms as in
<A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/g110/top.htm
l">
CERNLIB</A> (XM1LAN) is used
@param x The argument \f$x\f$
@param xi The width parameter \f$\xi\f$
@param x0 The location parameter \f$x_0\f$
@ingroup TruncFunc
*/
double landau_xm2(double x, double xi = 1, double x0 = 0);
} // namespace Math } // namespace Math
} // namespace ROOT } // namespace ROOT
#endif // ROOT_Math_ProbFuncMathCore #endif // ROOT_Math_ProbFuncMathCore
#endif // if defined (__CINT__) && !defined(__MAKECINT__) #endif // if defined (__CINT__) && !defined(__MAKECINT__)
 End of changes. 9 change blocks. 
10 lines changed or deleted 107 lines changed or added


 ProfileLikelihoodCalculator.h   ProfileLikelihoodCalculator.h 
// @(#)root/roostats:$Id: ProfileLikelihoodCalculator.h 31276 2009-11-18 15 :06:42Z moneta $ // @(#)root/roostats:$Id: ProfileLikelihoodCalculator.h 34109 2010-06-24 15 :00:16Z moneta $
// Author: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke // Author: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
#ifndef ROOSTATS_ProfileLikelihoodCalculator #ifndef ROOSTATS_ProfileLikelihoodCalculator
skipping to change at line 24 skipping to change at line 24
#ifndef ROOSTATS_CombinedCalculator #ifndef ROOSTATS_CombinedCalculator
#include "RooStats/CombinedCalculator.h" #include "RooStats/CombinedCalculator.h"
#endif #endif
#include "RooStats/LikelihoodInterval.h" #include "RooStats/LikelihoodInterval.h"
namespace RooStats { namespace RooStats {
class LikelihoodInterval; class LikelihoodInterval;
class ProfileLikelihoodCalculator : public CombinedCalculator, public TN amed { class ProfileLikelihoodCalculator : public CombinedCalculator {
public: public:
// default constructor (needed for I/O) // default constructor (needed for I/O)
ProfileLikelihoodCalculator(); ProfileLikelihoodCalculator();
/// constructor from data, from a full model pdf describing both para meter of interest and nuisance parameters /// constructor from data, from a full model pdf describing both para meter of interest and nuisance parameters
/// and from the set specifying the parameter of interest (POI). /// and from the set specifying the parameter of interest (POI).
/// There is no need to specify the nuisance parameters since they ar e all other parameters of the model. /// There is no need to specify the nuisance parameters since they ar e all other parameters of the model.
/// When using the calculator for performing an hypothesis test one n eeds to provide also a snapshot (a copy) /// When using the calculator for performing an hypothesis test one n eeds to provide also a snapshot (a copy)
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 ProfileLikelihoodTestStat.h   ProfileLikelihoodTestStat.h 
// @(#)root/roostats:$Id: ProfileLikelihoodTestStat.h 31529 2009-12-03 14:5 7:25Z moneta $ // @(#)root/roostats:$Id: ProfileLikelihoodTestStat.h 34109 2010-06-24 15:0 0:16Z moneta $
// Author: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke // Author: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
#ifndef ROOSTATS_ProfileLikelihoodTestStat #ifndef ROOSTATS_ProfileLikelihoodTestStat
skipping to change at line 68 skipping to change at line 68
} }
virtual ~ProfileLikelihoodTestStat() { virtual ~ProfileLikelihoodTestStat() {
// delete fRand; // delete fRand;
// delete fTestStatistic; // delete fTestStatistic;
if(fProfile) delete fProfile; if(fProfile) delete fProfile;
if(fNll) delete fNll; if(fNll) delete fNll;
if(fCachedBestFitParams) delete fCachedBestFitParams; if(fCachedBestFitParams) delete fCachedBestFitParams;
} }
// Main interface to evaluate the test statistic on a dataset // Main interface to evaluate the test statistic on a dataset
virtual Double_t Evaluate(RooAbsData& data, RooArgSet& paramsOfInteres virtual Double_t Evaluate(RooAbsData& data, RooArgSet& paramsOfInteres
t) { t) {
if(!&data){ cout << "problem with data" << endl;} if (!&data) {
cout << "problem with data" << endl;
RooMsgService::instance().setGlobalKillBelow(RooFit::FATAL) ;
bool needToRebuild = true; // try to avoid rebuilding if possible
if(fLastData == &data) // simple pointer comparison for now (note NL
L makes COPY of data)
needToRebuild=false;
else
fLastData = &data; // keep a copy of pointer to original data
// pointer comparison causing problems. See multiple datasets with
same value of pointer
// but actually a new dataset
needToRebuild = true;
// check mem leak in NLL or Profile. Should remove.
// if(fProfile) needToRebuild = false;
if(needToRebuild){
if(fProfile) delete fProfile;
if (fNll) delete fNll;
/*
RooNLLVar* nll = new RooNLLVar("nll","",*fPdf,data, RooFit::Extende
d());
fNll = nll;
fProfile = new RooProfileLL("pll","",*nll, paramsOfInterest);
*/
RooArgSet* constrainedParams = fPdf->getParameters(data);
RemoveConstantParameters(constrainedParams);
RooNLLVar* nll = (RooNLLVar*) fPdf->createNLL(data, RooFit::CloneDa
ta(kFALSE),RooFit::Constrain(*constrainedParams));
fNll=nll;
fProfile = (RooProfileLL*) nll->createProfile(paramsOfInterest);
delete constrainedParams;
// paramsOfInterest.Print("v");
// set parameters to previous best fit params, to speed convergence
// and to avoid local minima
if(fCachedBestFitParams){
// store original values, since minimization will change them.
RooArgSet* origParamVals = (RooArgSet*) paramsOfInterest.snapshot
();
// these parameters are not guaranteed to be the best for this da
ta
SetParameters(fCachedBestFitParams, fProfile->getParameters(data)
);
// now evaluate to force this profile to evaluate and store
// best fit parameters for this data
fProfile->getVal();
// possibly store last MLE for reference
// Double mle = fNll->getVal();
// restore parameters
SetParameters(origParamVals, &paramsOfInterest );
// cleanup
delete origParamVals;
} else {
// store best fit parameters
// RooProfileLL::bestFitParams returns best fit of nuisance param
eters only
// fCachedBestFitParams = (RooArgSet*) (fProfile->bestFitPar
ams().clone("lastBestFit"));
// ProfileLL::getParameters returns current value of the paramete
rs
// fCachedBestFitParams = (RooArgSet*) (fProfile->getParamet
ers(data)->clone("lastBestFit"));
//cout << "making fCachedBestFitParams: " << fCachedBestFitParams
<< fCachedBestFitParams->getSize() << endl;
// store original values, since minimization will change them.
RooArgSet* origParamVals = (RooArgSet*) paramsOfInterest.snapshot
();
// find minimum - add these extra lines to avoid calling first SE
T WARN in RooMinuit constructor
Bool_t smode = RooMsgService::instance().silentMode() ;
RooMsgService::instance().setSilentMode(kTRUE) ;
RooMinuit minuit(*nll);
if (!smode) RooMsgService::instance().setSilentMode(kFALSE) ;
minuit.setPrintLevel(-999);
minuit.setNoWarn();
minuit.migrad();
// store the best fit values for future use
fCachedBestFitParams = (RooArgSet*) (nll->getParameters(data)->sn
apshot());
// restore parameters
SetParameters(origParamVals, &paramsOfInterest );
// evaluate to force this profile to evaluate and store
// best fit parameters for this data
fProfile->getVal();
// cleanup
delete origParamVals;
}
} }
// issue warning if problems
if(!fProfile){ cout << "problem making profile" << endl;}
// set parameters to point being requested
SetParameters(&paramsOfInterest, fProfile->getParameters(data) );
Double_t value = fProfile->getVal();
/* RooFit::MsgLevel msglevel = RooMsgService::instance().globalKillBelo
// for debugging caching w();
cout << "current value of input params: " << endl; RooMsgService::instance().setGlobalKillBelow(RooFit::FATAL);
paramsOfInterest.Print("verbose");
cout << "current value of params in profile: " << endl;
fProfile->getParameters(data)->Print("verbose");
cout << "cached last best fit: " << endl;
fCachedBestFitParams->Print("verbose");
*/
// catch false minimum
if(value<0){
// cout << "ProfileLikelihoodTestStat: problem that profileLL
= " << value
// << " < 0, indicates false min. Try again."<<endl;
delete fNll;
delete fProfile;
/*
RooNLLVar* nll = new RooNLLVar("nll","",*fPdf,data, RooFit::Extende
d());
fNll = nll;
fProfile = new RooProfileLL("pll","",*nll, paramsOfInterest);
*/
RooArgSet* constrainedParams = fPdf->getParameters(data);
RemoveConstantParameters(constrainedParams);
RooNLLVar* nll = (RooNLLVar*) fPdf->createNLL(data, RooFit::CloneDa
ta(kFALSE),RooFit::Constrain(*constrainedParams));
fNll=nll;
fProfile = (RooProfileLL*) nll->createProfile(paramsOfInterest);
delete constrainedParams;
// set parameters to point being requested // simple
SetParameters(&paramsOfInterest, fProfile->getParameters(data) ); RooAbsReal* nll = fPdf->createNLL(data, RooFit::CloneData(kFALSE));
RooAbsReal* profile = nll->createProfile(paramsOfInterest);
value = fProfile->getVal(); double ret = profile->getVal();
//cout << "now profileLL = " << value << endl; // paramsOfInterest.Print("v");
} delete nll;
// cout << "now profileLL = " << value << endl; nll = 0;
RooMsgService::instance().setGlobalKillBelow(RooFit::DEBUG) ; delete profile;
return value; RooMsgService::instance().setGlobalKillBelow(msglevel);
} // cout << "ret = " << ret << endl;
return ret;
// Get the TestStatistic
virtual const RooAbsArg* GetTestStatistic() const {return fProfile;} // OLD version with some handling for local minima
bool needToRebuild = true; // try to avoid rebuilding if possible
if (fLastData == &data) // simple pointer comparison for now (note
NLL makes COPY of data)
needToRebuild = false;
else fLastData = &data; // keep a copy of pointer to original data
// pointer comparison causing problems. See multiple datasets wit
h same value of pointer
// but actually a new dataset
needToRebuild = true;
// check mem leak in NLL or Profile. Should remove.
// if(fProfile) needToRebuild = false;
if (needToRebuild) {
if (fProfile) delete fProfile;
if (fNll) delete fNll;
/*
RooNLLVar* nll = new RooNLLVar("nll","",*fPdf,data, RooFit::Ex
tended());
fNll = nll;
fProfile = new RooProfileLL("pll","",*nll, paramsOfInterest);
*/
RooArgSet* constrainedParams = fPdf->getParameters(data);
RemoveConstantParameters(constrainedParams);
//cout << "cons: " << endl;
//constrainedParams->Print("v");
RooNLLVar * nll2 = (RooNLLVar*) fPdf->createNLL(
data, RooFit::CloneData(kFALSE), RooFit::Constrain(*constrai
nedParams)
);
fNll = nll2;
fProfile = (RooProfileLL*) nll2->createProfile(paramsOfInterest
);
delete constrainedParams;
// paramsOfInterest.Print("v");
// set parameters to previous best fit params, to speed converg
ence
// and to avoid local minima
if (fCachedBestFitParams) {
// store original values, since minimization will change the
m.
RooArgSet* origParamVals = (RooArgSet*) paramsOfInterest.sna
pshot();
// these parameters are not guaranteed to be the best for th
is data
SetParameters(fCachedBestFitParams, fProfile->getParameters(
data));
// now evaluate to force this profile to evaluate and store
// best fit parameters for this data
fProfile->getVal();
// possibly store last MLE for reference
// Double mle = fNll->getVal();
// restore parameters
SetParameters(origParamVals, &paramsOfInterest);
// cleanup
delete origParamVals;
} else {
// store best fit parameters
// RooProfileLL::bestFitParams returns best fit of nuisance
parameters only
// fCachedBestFitParams = (RooArgSet*) (fProfile->be
stFitParams().clone("lastBestFit"));
// ProfileLL::getParameters returns current value of the par
ameters
// fCachedBestFitParams = (RooArgSet*) (fProfile->ge
tParameters(data)->clone("lastBestFit"));
//cout << "making fCachedBestFitParams: " << fCachedBestFitP
arams << fCachedBestFitParams->getSize() << endl;
// store original values, since minimization will change the
m.
RooArgSet* origParamVals = (RooArgSet*) paramsOfInterest.sna
pshot();
// find minimum
RooMinuit minuit(*nll);
minuit.setPrintLevel(-999);
minuit.setNoWarn();
minuit.migrad();
// store the best fit values for future use
fCachedBestFitParams = (RooArgSet*) (nll->getParameters(data
)->snapshot());
// restore parameters
SetParameters(origParamVals, &paramsOfInterest);
// evaluate to force this profile to evaluate and store
// best fit parameters for this data
fProfile->getVal();
// cleanup
delete origParamVals;
}
}
// issue warning if problems
if (!fProfile) {
cout << "problem making profile" << endl;
}
// set parameters to point being requested
SetParameters(&paramsOfInterest, fProfile->getParameters(data));
Double_t value = fProfile->getVal();
/*
// for debugging caching
cout << "current value of input params: " << endl;
paramsOfInterest.Print("verbose");
cout << "current value of params in profile: " << endl;
fProfile->getParameters(data)->Print("verbose");
cout << "cached last best fit: " << endl;
fCachedBestFitParams->Print("verbose");
*/
// catch false minimum
if (value < 0) {
// cout << "ProfileLikelihoodTestStat: problem that profileLL
= " << value
// << " < 0, indicates false min. Try again."<<endl;
delete fNll;
delete fProfile;
/*
RooNLLVar* nll = new RooNLLVar("nll","",*fPdf,data, RooFit::Ex
tended());
fNll = nll;
fProfile = new RooProfileLL("pll","",*nll, paramsOfInterest);
*/
RooArgSet* constrainedParams = fPdf->getParameters(data);
RemoveConstantParameters(constrainedParams);
RooNLLVar * nll2 = (RooNLLVar*) fPdf->createNLL(data, RooFit::C
loneData(kFALSE), RooFit::Constrain(
*constrainedParams));
fNll = nll2;
fProfile = (RooProfileLL*) nll2->createProfile(paramsOfInterest
);
delete constrainedParams;
// set parameters to point being requested
SetParameters(&paramsOfInterest, fProfile->getParameters(data))
;
value = fProfile->getVal();
//cout << "now profileLL = " << value << endl;
}
// cout << "now profileLL = " << value << endl;
RooMsgService::instance().setGlobalKillBelow(RooFit::DEBUG);
return value;
}
virtual const TString GetVarName() const {return "Profile Likelihood Ratio";} virtual const TString GetVarName() const {return "Profile Likelihood Ratio";}
// const bool PValueIsRightTail(void) { return false; } // overw
rites default
private: private:
RooProfileLL* fProfile; RooProfileLL* fProfile;
RooAbsPdf* fPdf; RooAbsPdf* fPdf;
RooNLLVar* fNll; RooNLLVar* fNll;
const RooArgSet* fCachedBestFitParams; const RooArgSet* fCachedBestFitParams;
RooAbsData* fLastData; RooAbsData* fLastData;
// Double_t fLastMLE; // Double_t fLastMLE;
protected: protected:
ClassDef(ProfileLikelihoodTestStat,1) // implements the profile lik elihood ratio as a test statistic to be used with several tools ClassDef(ProfileLikelihoodTestStat,1) // implements the profile lik elihood ratio as a test statistic to be used with several tools
}; };
} }
#endif #endif
 End of changes. 7 change blocks. 
166 lines changed or deleted 192 lines changed or added


 ProposalFunction.h   ProposalFunction.h 
// @(#)root/roostats:$Id: ProposalFunction.h 31276 2009-11-18 15:06:42Z mon eta $ // @(#)root/roostats:$Id: ProposalFunction.h 34109 2010-06-24 15:00:16Z mon eta $
// Authors: Kevin Belasco 17/06/2009 // Authors: Kevin Belasco 17/06/2009
// Authors: Kyle Cranmer 17/06/2009 // Authors: Kyle Cranmer 17/06/2009
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 84 skipping to change at line 84
virtual bool CheckParameters(RooArgSet& params) virtual bool CheckParameters(RooArgSet& params)
{ {
TIterator* it = params.createIterator(); TIterator* it = params.createIterator();
TObject* obj; TObject* obj;
while ((obj = it->Next()) != NULL) { while ((obj = it->Next()) != NULL) {
if (!dynamic_cast<RooRealVar*>(obj)) { if (!dynamic_cast<RooRealVar*>(obj)) {
coutE(Eval) << "Error when checking parameters in" coutE(Eval) << "Error when checking parameters in"
<< "ProposalFunction: " << "ProposalFunction: "
<< "Object \"" << obj->GetName() << "\" not of t ype " << "Object \"" << obj->GetName() << "\" not of t ype "
<< "RooRealVar" << endl; << "RooRealVar" << endl;
delete it;
return false; return false;
} }
} }
delete it;
// Made it here, so all parameters are RooRealVars // Made it here, so all parameters are RooRealVars
return true; return true;
} }
protected: protected:
ClassDef(ProposalFunction,1) // Interface for the proposal function u sed with Markov Chain Monte Carlo ClassDef(ProposalFunction,1) // Interface for the proposal function u sed with Markov Chain Monte Carlo
}; };
} }
#endif #endif
 End of changes. 3 change blocks. 
1 lines changed or deleted 3 lines changed or added


 QuantFuncMathCore.h   QuantFuncMathCore.h 
// @(#)root/mathcore:$Id: QuantFuncMathCore.h 25195 2008-08-21 08:26:59Z mo neta $ // @(#)root/mathcore:$Id: QuantFuncMathCore.h 34095 2010-06-24 07:31:19Z mo neta $
// Authors: L. Moneta, A. Zsenei 08/2005 // Authors: L. Moneta, A. Zsenei 08/2005
// Authors: Andras Zsenei & Lorenzo Moneta 08/2005 // Authors: Andras Zsenei & Lorenzo Moneta 08/2005
/********************************************************************** /**********************************************************************
* * * *
* Copyright (c) 2005 , LCG ROOT MathLib Team * * Copyright (c) 2005 , LCG ROOT MathLib Team *
* * * *
* * * *
**********************************************************************/ **********************************************************************/
skipping to change at line 53 skipping to change at line 53
* \f$D^{-1}(z)\f$ where * \f$D^{-1}(z)\f$ where
* *
* \f[ D(x) = \int_{-\infty}^{x} p(x') dx' \f] * \f[ D(x) = \int_{-\infty}^{x} p(x') dx' \f]
* *
* while those with the <em>_quantile_c</em> extension calculate the * while those with the <em>_quantile_c</em> extension calculate the
* inverse of the <em>_cdf_c</em> functions, the upper tail integral of the probability * inverse of the <em>_cdf_c</em> functions, the upper tail integral of the probability
* density function \f$D^{-1}(z) \f$ where * density function \f$D^{-1}(z) \f$ where
* *
* \f[ D(x) = \int_{x}^{+\infty} p(x') dx' \f] * \f[ D(x) = \int_{x}^{+\infty} p(x') dx' \f]
* *
* The implementation used is that of * These functions are defined in the header file <em>Math/ProbFunc.h<em
* <A HREF="http://www.gnu.org/software/gsl/manual/html_node/Random-Numbe > or in the global one
r-Distributions.html">GSL</A>. * including all statistical dunctions <em>Math/DistFunc.h<em>
*
* *
* <strong>NOTE:</strong> In the old releases (< 5.14) the <em>_quantile< /em> functions were called * <strong>NOTE:</strong> In the old releases (< 5.14) the <em>_quantile< /em> functions were called
* <em>_quant_inv</em> and the <em>_quantile_c</em> functions were called * <em>_quant_inv</em> and the <em>_quantile_c</em> functions were called
* <em>_prob_inv</em>. * <em>_prob_inv</em>.
* These names are currently kept for backward compatibility, but * These names are currently kept for backward compatibility, but
* their usage is deprecated. * their usage is deprecated.
*
*/ */
/** @name Quantile Functions from MathCore /** @name Quantile Functions from MathCore
* The implementation used is that of * The implementation is provided in MathCore and for the majority of the
* <A HREF="http://www.gnu.org/software/gsl/manual/html_node/Random-Numbe function comes from
r-Distributions.html">GSL</A>. * <A HREF="http://www.netlib.org/cephes">Cephes</A>.
*/ */
//@{ //@{
/** /**
Inverse (\f$D^{-1}(z)\f$) of the cumulative distribution Inverse (\f$D^{-1}(z)\f$) of the cumulative distribution
function of the upper tail of the beta distribution function of the upper tail of the beta distribution
(#beta_cdf_c). (#beta_cdf_c).
It is implemented using the function incbi from <A HREF="http://www.ne tlib.org/cephes">Cephes</A>. It is implemented using the function incbi from <A HREF="http://www.ne tlib.org/cephes">Cephes</A>.
skipping to change at line 458 skipping to change at line 461
(#uniform_cdf). For detailed description see (#uniform_cdf). For detailed description see
<A HREF="http://mathworld.wolfram.com/UniformDistribution.html"> <A HREF="http://mathworld.wolfram.com/UniformDistribution.html">
Mathworld</A>. Mathworld</A>.
@ingroup QuantFunc @ingroup QuantFunc
*/ */
double uniform_quantile(double z, double a, double b); double uniform_quantile(double z, double a, double b);
/**
Inverse (\f$D^{-1}(z)\f$) of the cumulative distribution
function of the lower tail of the Landau distribution
(#landau_cdf).
For detailed description see
K.S. K&ouml;lbig and B. Schorr, A program package for the Landau distrib
ution,
<A HREF="http://dx.doi.org/10.1016/0010-4655(84)90085-7">Computer Phys.
Comm. 31 (1984) 97-111</A>
<A HREF="http://dx.doi.org/10.1016/j.cpc.2008.03.002">[Erratum-ibid. 178
(2008) 972]</A>.
The same algorithms as in
<A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/g110/top.htm
l">
CERNLIB</A> (RANLAN) is used.
@param z The argument \f$z\f$
@param xi The width parameter \f$\xi\f$
@ingroup QuantFunc
*/
double landau_quantile(double z, double xi = 1);
/**
Inverse (\f$D^{-1}(z)\f$) of the cumulative distribution
function of the upper tail of the landau distribution
(#landau_cdf_c).
Implemented using #landau_quantile
@param z The argument \f$z\f$
@param xi The width parameter \f$\xi\f$
@ingroup QuantFunc
*/
double landau_quantile_c(double z, double xi = 1);
#ifdef HAVE_OLD_STAT_FUNC #ifdef HAVE_OLD_STAT_FUNC
//@} //@}
/** @name Backward compatible functions */ /** @name Backward compatible functions */
inline double breitwigner_prob_inv(double x, double gamma) { inline double breitwigner_prob_inv(double x, double gamma) {
return breitwigner_quantile_c(x,gamma); return breitwigner_quantile_c(x,gamma);
} }
inline double breitwigner_quant_inv(double x, double gamma) { inline double breitwigner_quant_inv(double x, double gamma) {
return breitwigner_quantile(x,gamma); return breitwigner_quantile(x,gamma);
 End of changes. 5 change blocks. 
7 lines changed or deleted 53 lines changed or added


 RConfigOptions.h   RConfigOptions.h 
#ifndef ROOT_RConfigOptions #ifndef ROOT_RConfigOptions
#define ROOT_RConfigOptions #define ROOT_RConfigOptions
#define R__CONFIGUREOPTIONS "QTDIR=/afs/cern.ch/sw/lcg/external/qt/4.4.2/ #define R__CONFIGUREOPTIONS "QTDIR=/afs/cern.ch/sw/lcg/external/qt/4.4.2/
i686-slc5-gcc43-opt PYTHONDIR=/afs/cern.ch/sw/lcg/external/Python/2.5.4p2/i i686-slc5-gcc43-opt PYTHONDIR=/afs/cern.ch/sw/lcg/external/Python/2.5.4p2/i
686-slc5-gcc43-opt --fail-on-missing --enable-cintex --enable-explicitlink 686-slc5-gcc43-opt --fail-on-missing --enable-cintex --enable-explicitlink
--enable-gdml --enable-genvector --enable-krb5 --enable-mathmore --enable-m --enable-gdml --enable-genvector --enable-krb5 --enable-mathmore --enable-m
inuit2 --enable-mysql --enable-oracle --enable-python --enable-qt --enable- inuit2 --enable-mysql --enable-oracle --enable-python --enable-qt --enable-
qtgsi --enable-reflex --enable-roofit --enable-table --enable-unuran --with qtgsi --enable-reflex --enable-roofit --enable-table --enable-unuran --with
-castor-incdir=/afs/cern.ch/sw/lcg/external/castor/2.1.8-10/i686-slc5-gcc43 -castor-incdir=/afs/cern.ch/sw/lcg/external/castor/2.1.8-10/i686-slc5-gcc43
-opt/usr/include/shift --with-castor-libdir=/afs/cern.ch/sw/lcg/external/ca -opt/usr/include/shift --with-castor-libdir=/afs/cern.ch/sw/lcg/external/ca
stor/2.1.8-10/i686-slc5-gcc43-opt/usr/lib --with-cern-libdir=/afs/cern.ch/s stor/2.1.8-10/i686-slc5-gcc43-opt/usr/lib --with-cern-libdir=/afs/cern.ch/s
w/lcg/external/cernlib/2006a/i686-slc5-gcc43-opt/lib --with-dcap-libdir=/af w/lcg/external/cernlib/2006a/i686-slc5-gcc43-opt/lib --with-dcap-libdir=/af
s/cern.ch/sw/lcg/external/dcache_client/1.9.3p1/i686-slc5-gcc43-opt/dcap/li s/cern.ch/sw/lcg/external/dcache_client/1.9.3p1/i686-slc5-gcc43-opt/dcap/li
b --with-dcap-incdir=/afs/cern.ch/sw/lcg/external/dcache_client/1.9.3p1/i68 b --with-dcap-incdir=/afs/cern.ch/sw/lcg/external/dcache_client/1.9.3p1/i68
6-slc5-gcc43-opt/dcap/include --with-fftw3-incdir=/afs/cern.ch/sw/lcg/exter 6-slc5-gcc43-opt/dcap/include --with-fftw3-incdir=/afs/cern.ch/sw/lcg/exter
nal/fftw3/3.1.2/i686-slc5-gcc43-opt/include --with-fftw3-libdir=/afs/cern.c nal/fftw3/3.1.2/i686-slc5-gcc43-opt/include --with-fftw3-libdir=/afs/cern.c
h/sw/lcg/external/fftw3/3.1.2/i686-slc5-gcc43-opt/lib --with-gccxml=/afs/ce h/sw/lcg/external/fftw3/3.1.2/i686-slc5-gcc43-opt/lib --with-gccxml=/afs/ce
rn.ch/sw/lcg/external/gccxml/0.9.0_20100114/i686-slc5-gcc43-opt/bin --with- rn.ch/sw/lcg/external/gccxml/0.9.0_20100114/i686-slc5-gcc43-opt/bin --with-
gfal-libdir=/afs/cern.ch/sw/lcg/external/Grid/gfal/1.11.8-3/i686-slc5-gcc43 gfal-libdir=/afs/cern.ch/sw/lcg/external/Grid/gfal/1.11.7-1/i686-slc5-gcc43
-opt/lib --with-gfal-incdir=/afs/cern.ch/sw/lcg/external/Grid/gfal/1.11.8-3 -opt/lib --with-gfal-incdir=/afs/cern.ch/sw/lcg/external/Grid/gfal/1.11.7-1
/i686-slc5-gcc43-opt/include --with-globus-incdir=/afs/cern.ch/sw/lcg/exter /i686-slc5-gcc43-opt/include --with-gsl-incdir=/afs/cern.ch/sw/lcg/external
nal/Grid/globus/4.0.3-VDT-1.6.0/i686-slc5-gcc43-opt/globus/include --with-g /GSL/1.10/i686-slc5-gcc43-opt/include --with-gsl-libdir=/afs/cern.ch/sw/lcg
lobus-libdir=/afs/cern.ch/sw/lcg/external/Grid/globus/4.0.3-VDT-1.6.0/i686- /external/GSL/1.10/i686-slc5-gcc43-opt/lib --with-mysql-incdir=/afs/cern.ch
slc5-gcc43-opt/globus/lib --with-gsl-incdir=/afs/cern.ch/sw/lcg/external/GS /sw/lcg/external/mysql/5.0.18/i686-slc5-gcc43-opt/include --with-mysql-libd
L/1.10/i686-slc5-gcc43-opt/include --with-gsl-libdir=/afs/cern.ch/sw/lcg/ex ir=/afs/cern.ch/sw/lcg/external/mysql/5.0.18/i686-slc5-gcc43-opt/lib --with
ternal/GSL/1.10/i686-slc5-gcc43-opt/lib --with-mysql-incdir=/afs/cern.ch/sw -oracle-incdir=/afs/cern.ch/sw/lcg/external/oracle/11.2.0.1.0p1/i686-slc5-g
/lcg/external/mysql/5.0.18/i686-slc5-gcc43-opt/include --with-mysql-libdir= cc43-opt/include --with-oracle-libdir=/afs/cern.ch/sw/lcg/external/oracle/1
/afs/cern.ch/sw/lcg/external/mysql/5.0.18/i686-slc5-gcc43-opt/lib --with-or 1.2.0.1.0p1/i686-slc5-gcc43-opt/lib --with-shift-incdir=/afs/cern.ch/sw/lcg
acle-incdir=/afs/cern.ch/sw/lcg/external/oracle/11.2.0.1.0p1/i686-slc5-gcc4 /external/castor/2.1.8-10/i686-slc5-gcc43-opt/usr/include/shift --with-shif
3-opt/include --with-oracle-libdir=/afs/cern.ch/sw/lcg/external/oracle/11.2 t-libdir=/afs/cern.ch/sw/lcg/external/castor/2.1.8-10/i686-slc5-gcc43-opt/u
.0.1.0p1/i686-slc5-gcc43-opt/lib --with-shift-incdir=/afs/cern.ch/sw/lcg/ex sr/lib --with-pythia6-libdir=/afs/cern.ch/user/b/bellenot/scratch0/dist/pyt
ternal/castor/2.1.8-10/i686-slc5-gcc43-opt/usr/include/shift --with-shift-l hia6/i686-slc5-gcc43-opt --with-pythia8-incdir=/afs/cern.ch/user/b/bellenot
ibdir=/afs/cern.ch/sw/lcg/external/castor/2.1.8-10/i686-slc5-gcc43-opt/usr/ /scratch0/dist/pythia8/i686-slc5-gcc43-opt/include --with-pythia8-libdir=/a
lib --with-pythia6-libdir=/afs/cern.ch/user/b/bellenot/scratch0/dist/pythia fs/cern.ch/user/b/bellenot/scratch0/dist/pythia8/i686-slc5-gcc43-opt/lib --
6/i686-slc5-gcc43-opt --with-pythia8-incdir=/afs/cern.ch/user/b/bellenot/sc with-gviz-incdir=/build/bellenot/libraries/i686-slc5-gcc43-opt/graphviz-2.2
ratch0/dist/pythia8/i686-slc5-gcc43-opt/include --with-pythia8-libdir=/afs/ 4.0/include/graphviz --with-gviz-libdir=/build/bellenot/libraries/i686-slc5
cern.ch/user/b/bellenot/scratch0/dist/pythia8/i686-slc5-gcc43-opt/lib --wit -gcc43-opt/graphviz-2.24.0/lib"
h-gviz-incdir=/build/bellenot/libraries/i686-slc5-gcc43-opt/graphviz-2.24.0 #define R__CONFIGUREFEATURES "asimage astiff builtin_afterimage builtin_ft
/include/graphviz --with-gviz-libdir=/build/bellenot/libraries/i686-slc5-gc gl builtin_glew castor cintex editline dcache exceptions explicitlink fftw3
c43-opt/graphviz-2.24.0/lib" gviz gdml genvector gfal krb5 ldap mathmore memstat minuit2 mysql opengl o
#define R__CONFIGUREFEATURES "asimage astiff builtin_afterimage builtin_ft racle pythia6 pythia8 python qt qtgsi reflex roofit rfio shadowpw shared ss
gl builtin_freetype builtin_glew builtin_pcre builtin_zlib castor cintex ed l table tmva unuran xft xml xrootd thread"
itline dcache exceptions explicitlink fftw3 gviz gdml genvector gfal globus
krb5 ldap mathmore memstat minuit2 mysql opengl oracle pythia6 pythia8 pyt
hon qt qtgsi reflex roofit rfio shadowpw shared ssl table tmva unuran xft x
ml xrootd thread"
#endif #endif
 End of changes. 1 change blocks. 
44 lines changed or deleted 40 lines changed or added


 RVersion.h   RVersion.h 
skipping to change at line 17 skipping to change at line 17
* These macros can be used in the following way: * These macros can be used in the following way:
* *
* #if ROOT_VERSION_CODE >= ROOT_VERSION(2,23,4) * #if ROOT_VERSION_CODE >= ROOT_VERSION(2,23,4)
* #include <newheader.h> * #include <newheader.h>
* #else * #else
* #include <oldheader.h> * #include <oldheader.h>
* #endif * #endif
* *
*/ */
#define ROOT_RELEASE "5.27/02" #define ROOT_RELEASE "5.27/04"
#define ROOT_RELEASE_DATE "Apr 26 2010" #define ROOT_RELEASE_DATE "Jun 29 2010"
#define ROOT_RELEASE_TIME "20:00:41" #define ROOT_RELEASE_TIME "16:29:48"
#define ROOT_SVN_REVISION 33224 #define ROOT_SVN_REVISION 34188
#define ROOT_SVN_BRANCH "trunk" #define ROOT_SVN_BRANCH "trunk"
#define ROOT_VERSION_CODE 334594 #define ROOT_VERSION_CODE 334596
#define ROOT_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c)) #define ROOT_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
#endif #endif
 End of changes. 2 change blocks. 
5 lines changed or deleted 5 lines changed or added


 Reader.h   Reader.h 
// @(#)root/tmva $Id: Reader.h 31458 2009-11-30 13:58:20Z stelzer $ // @(#)root/tmva $Id: Reader.h 34022 2010-06-21 15:52:50Z stelzer $
// Author: Andreas Hoecker, Joerg Stelzer, Helge Voss, Kai Voss // Author: Andreas Hoecker, Peter Speckmayer, Joerg Stelzer, Helge Voss, Ka
i Voss
/************************************************************************** ******** /************************************************************************** ********
* Project: TMVA - a Root-integrated toolkit for multivariate data analysis * * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
* Package: TMVA * * Package: TMVA *
* Class : Reader * * Class : Reader *
* Web : http://tmva.sourceforge.net * * Web : http://tmva.sourceforge.net *
* * * *
* Description: * * Description: *
* Reader class to be used in the user application to interpret the tr ained * * Reader class to be used in the user application to interpret the tr ained *
* MVAs in an analysis context * * MVAs in an analysis context *
skipping to change at line 89 skipping to change at line 89
Reader( const std::string& varNames, const TString& theOption, Bool_t verbose = 0 ); // format: "var1:var2:..." Reader( const std::string& varNames, const TString& theOption, Bool_t verbose = 0 ); // format: "var1:var2:..."
// Root types // Root types
Reader( std::vector<TString>& varNames, const TString& theOption = "" , Bool_t verbose = 0 ); Reader( std::vector<TString>& varNames, const TString& theOption = "" , Bool_t verbose = 0 );
Reader( const TString& varNames, const TString& theOption, Bool_t ver bose = 0 ); // format: "var1:var2:..." Reader( const TString& varNames, const TString& theOption, Bool_t ver bose = 0 ); // format: "var1:var2:..."
virtual ~Reader( void ); virtual ~Reader( void );
// book MVA method via weight file // book MVA method via weight file
IMethod* BookMVA( const TString& methodTag, const TString& weightfile ); IMethod* BookMVA( const TString& methodTag, const TString& weightfile );
IMethod* BookMVA( TMVA::Types::EMVA methodType, const char* xmlstr );
IMethod* FindMVA( const TString& methodTag ); IMethod* FindMVA( const TString& methodTag );
// special function for Cuts to avoid dynamic_casts in ROOT macros, // special function for Cuts to avoid dynamic_casts in ROOT macros,
// which are not properly handled by CINT // which are not properly handled by CINT
MethodCuts* FindCutsMVA( const TString& methodTag ); MethodCuts* FindCutsMVA( const TString& methodTag );
// returns the MVA response for given event // returns the MVA response for given event
Double_t EvaluateMVA( const std::vector<Float_t> &, const TString& me thodTag, Double_t aux = 0 ); Double_t EvaluateMVA( const std::vector<Float_t> &, const TString& me thodTag, Double_t aux = 0 );
Double_t EvaluateMVA( const std::vector<Double_t>&, const TString& me thodTag, Double_t aux = 0 ); Double_t EvaluateMVA( const std::vector<Double_t>&, const TString& me thodTag, Double_t aux = 0 );
Double_t EvaluateMVA( MethodBase* method, Double_t aux = 0 ); Double_t EvaluateMVA( MethodBase* method, Double_t aux = 0 );
Double_t EvaluateMVA( const TString& methodTag, Double_t aux = 0 ); Double_t EvaluateMVA( const TString& methodTag, Double_t aux = 0 );
// returns error on MVA response for given event // returns error on MVA response for given event
// NOTE: must be called AFTER "EvaluateMVA(...)" call ! // NOTE: must be called AFTER "EvaluateMVA(...)" call !
Double_t GetMVAError() const { return fMvaEventError; } Double_t GetMVAError() const { return fMvaEventError; }
Double_t GetMVAError2() const { return fMvaEventError2; } //zj h
// regression response
const std::vector< Float_t >& EvaluateRegression( const TString& meth odTag, Double_t aux = 0 ); const std::vector< Float_t >& EvaluateRegression( const TString& meth odTag, Double_t aux = 0 );
const std::vector< Float_t >& EvaluateRegression( MethodBase* method, Double_t aux = 0 ); const std::vector< Float_t >& EvaluateRegression( MethodBase* method, Double_t aux = 0 );
Float_t EvaluateRegression( UInt_t tgtNumber, const TString& methodT ag, Double_t aux = 0 ); Float_t EvaluateRegression( UInt_t tgtNumber, const TString& methodT ag, Double_t aux = 0 );
// multiclass response
const std::vector< Float_t >& EvaluateMulticlass( const TString& meth
odTag, Double_t aux = 0 );
const std::vector< Float_t >& EvaluateMulticlass( MethodBase* method,
Double_t aux = 0 );
Float_t EvaluateMulticlass( UInt_t clsNumber, const TString& methodT
ag, Double_t aux = 0 );
// probability and rarity accessors (see Users Guide for definition o f Rarity) // probability and rarity accessors (see Users Guide for definition o f Rarity)
Double_t GetProba ( const TString& methodTag, Double_t ap_sig=0.5, Do uble_t mvaVal=-9999999 ); Double_t GetProba ( const TString& methodTag, Double_t ap_sig=0.5, Do uble_t mvaVal=-9999999 );
Double_t GetRarity( const TString& methodTag, Double_t mvaVal=-999999 9 ); Double_t GetRarity( const TString& methodTag, Double_t mvaVal=-999999 9 );
// accessors // accessors
virtual const char* GetName() const { return "Reader"; } virtual const char* GetName() const { return "Reader"; }
Bool_t Verbose( void ) const { return fVerbose; } Bool_t Verbose( void ) const { return fVerbose; }
void SetVerbose( Bool_t v ) { fVerbose = v; } void SetVerbose( Bool_t v ) { fVerbose = v; }
const DataSetInfo& DataInfo() const { return fDataSetInfo; } const DataSetInfo& DataInfo() const { return fDataSetInfo; }
DataSetInfo& DataInfo() { return fDataSetInfo; } DataSetInfo& DataInfo() { return fDataSetInfo; }
void AddVariable( const TString& expression, Float_t* ); void AddVariable( const TString& expression, Float_t* );
void AddVariable( const TString& expression, Int_t* ); void AddVariable( const TString& expression, Int_t* );
void AddSpectator( const TString& expression, Float_t* ); void AddSpectator( const TString& expression, Float_t* );
void AddSpectator( const TString& expression, Int_t* ); void AddSpectator( const TString& expression, Int_t* );
private: private:
DataSetManager* fDataSetManager; // DSMTEST
TString GetMethodTypeFromFile( const TString& filename ); TString GetMethodTypeFromFile( const TString& filename );
// this booking method is internal // this booking method is internal
IMethod* BookMVA( Types::EMVA method, const TString& weightfile ); IMethod* BookMVA( Types::EMVA method, const TString& weightfile );
DataSetInfo fDataSetInfo; // the data set DataSetInfo fDataSetInfo; // the data set
DataInputHandler fDataInputHandler; DataInputHandler fDataInputHandler;
// Init Reader class // Init Reader class
skipping to change at line 151 skipping to change at line 161
void DecodeVarNames( const std::string& varNames ); void DecodeVarNames( const std::string& varNames );
void DecodeVarNames( const TString& varNames ); void DecodeVarNames( const TString& varNames );
void DeclareOptions(); void DeclareOptions();
Bool_t fVerbose; // verbosity Bool_t fVerbose; // verbosity
Bool_t fSilent; // silent mode Bool_t fSilent; // silent mode
Bool_t fColor; // color mode Bool_t fColor; // color mode
Double_t fMvaEventError; // per-event error returned by MVA (unless: -1) Double_t fMvaEventError; // per-event error returned by MVA (unless: -1)
Double_t fMvaEventError2; // per-event error returned by MVA (unless : -1) //zjh
std::map<TString, IMethod*> fMethodMap; // map of methods std::map<TString, IMethod*> fMethodMap; // map of methods
std::vector<Float_t> fTmpEvalVec; // temporary evaluation vect
or (if user input is v<double>)
mutable MsgLogger* fLogger; // message logger mutable MsgLogger* fLogger; // message logger
MsgLogger& Log() const { return *fLogger; } MsgLogger& Log() const { return *fLogger; }
ClassDef(Reader,0) // Interpret the trained MVAs in an analysis conte xt ClassDef(Reader,0) // Interpret the trained MVAs in an analysis conte xt
}; };
} }
#endif #endif
 End of changes. 8 change blocks. 
2 lines changed or deleted 20 lines changed or added


 RooAbsArg.h   RooAbsArg.h 
skipping to change at line 288 skipping to change at line 288
Bool_t findConstantNodes(const RooArgSet& observables, RooArgSet& cacheLi st, RooLinkedList& processedNodes) ; Bool_t findConstantNodes(const RooArgSet& observables, RooArgSet& cacheLi st, RooLinkedList& processedNodes) ;
// constant term optimization // constant term optimization
virtual void constOptimizeTestStatistic(ConstOpCode opcode) ; virtual void constOptimizeTestStatistic(ConstOpCode opcode) ;
void graphVizTree(const char* fileName, const char* delimiter="\n", bool useTitle=false, bool useLatex=false) ; void graphVizTree(const char* fileName, const char* delimiter="\n", bool useTitle=false, bool useLatex=false) ;
void graphVizTree(ostream& os, const char* delimiter="\n", bool useTitle= false, bool useLatex=false) ; void graphVizTree(ostream& os, const char* delimiter="\n", bool useTitle= false, bool useLatex=false) ;
/* TGraphStruct* graph(Bool_t useFactoryTag=kFALSE, Double_t textSize=0.0 3) ; */ /* TGraphStruct* graph(Bool_t useFactoryTag=kFALSE, Double_t textSize=0.0 3) ; */
void printComponentTree(const char* indent="",const char* namePat=0) ; void printComponentTree(const char* indent="",const char* namePat=0, Int_ t nLevel=999) ;
void printCompactTree(const char* indent="",const char* fileName=0, const char* namePat=0, RooAbsArg* client=0) ; void printCompactTree(const char* indent="",const char* fileName=0, const char* namePat=0, RooAbsArg* client=0) ;
void printCompactTree(ostream& os, const char* indent="", const char* nam ePat=0, RooAbsArg* client=0) ; void printCompactTree(ostream& os, const char* indent="", const char* nam ePat=0, RooAbsArg* client=0) ;
virtual void printCompactTreeHook(ostream& os, const char *ind="") ; virtual void printCompactTreeHook(ostream& os, const char *ind="") ;
// Dirty state accessor // Dirty state accessor
inline Bool_t isShapeDirty() const { inline Bool_t isShapeDirty() const {
// Return true is shape has been invalidated by server value change // Return true is shape has been invalidated by server value change
return isDerived()?_shapeDirty:kFALSE ; return isDerived()?_shapeDirty:kFALSE ;
} }
inline Bool_t isValueDirty() const { inline Bool_t isValueDirty() const {
skipping to change at line 355 skipping to change at line 355
// Dirty state modifiers // Dirty state modifiers
public: public:
inline void setValueDirty() const { setValueDirty(0) ; } inline void setValueDirty() const { setValueDirty(0) ; }
inline void setShapeDirty() const { setShapeDirty(0) ; } inline void setShapeDirty() const { setShapeDirty(0) ; }
inline void clearValueDirty() const { inline void clearValueDirty() const {
_valueDirty=kFALSE ; _valueDirty=kFALSE ;
} }
inline void clearShapeDirty() const { inline void clearShapeDirty() const {
_shapeDirty=kFALSE ; _shapeDirty=kFALSE ;
} }
const char* aggregateCacheUniqueSuffix() const ;
virtual const char* cacheUniqueSuffix() const { return 0 ; }
protected: protected:
// Client-Server relatation and Proxy management // Client-Server relatation and Proxy management
friend class RooArgSet ; friend class RooArgSet ;
friend class RooAbsCollection ; friend class RooAbsCollection ;
friend class RooCustomizer ; friend class RooCustomizer ;
friend class RooWorkspace ; friend class RooWorkspace ;
RooRefCountList _serverList ; // list of server objects RooRefCountList _serverList ; // list of server objects
RooRefCountList _clientList ; // list of client objects RooRefCountList _clientList ; // list of client objects
RooRefCountList _clientListShape ; // subset of clients that requested s hape dirty flag propagation RooRefCountList _clientListShape ; // subset of clients that requested s hape dirty flag propagation
 End of changes. 2 change blocks. 
1 lines changed or deleted 5 lines changed or added


 RooAbsCachedPdf.h   RooAbsCachedPdf.h 
skipping to change at line 91 skipping to change at line 91
RooChangeTracker* _paramTracker ; RooChangeTracker* _paramTracker ;
RooDataHist* _hist ; RooDataHist* _hist ;
RooArgSet _nset ; RooArgSet _nset ;
RooAbsReal* _norm ; RooAbsReal* _norm ;
} ; } ;
PdfCacheElem* getCache(const RooArgSet* nset, Bool_t recalculate=kTRUE) c onst ; PdfCacheElem* getCache(const RooArgSet* nset, Bool_t recalculate=kTRUE) c onst ;
void clearCacheObject(PdfCacheElem& cache) const ; void clearCacheObject(PdfCacheElem& cache) const ;
virtual const char* payloadUniqueSuffix() const { return 0 ; }
friend class PdfCacheElem ; friend class PdfCacheElem ;
virtual const char* binningName() const { virtual const char* binningName() const {
// Return name of binning to be used for creation of cache histogram // Return name of binning to be used for creation of cache histogram
return "cache" ; return "cache" ;
} }
virtual PdfCacheElem* createCache(const RooArgSet* nset) const { virtual PdfCacheElem* createCache(const RooArgSet* nset) const {
// Create cache storage element // Create cache storage element
return new PdfCacheElem(*this,nset) ; return new PdfCacheElem(*this,nset) ;
} }
virtual const char* inputBaseName() const = 0 ; virtual const char* inputBaseName() const = 0 ;
 End of changes. 1 change blocks. 
0 lines changed or deleted 2 lines changed or added


 RooAbsCachedReal.h   RooAbsCachedReal.h 
skipping to change at line 77 skipping to change at line 77
private: private:
// Payload // Payload
RooHistFunc* _func ; RooHistFunc* _func ;
RooChangeTracker* _paramTracker ; RooChangeTracker* _paramTracker ;
RooDataHist* _hist ; RooDataHist* _hist ;
} ; } ;
FuncCacheElem* getCache(const RooArgSet* nset) const ; FuncCacheElem* getCache(const RooArgSet* nset) const ;
void clearCacheObject(FuncCacheElem& cache) const ; void clearCacheObject(FuncCacheElem& cache) const ;
virtual const char* payloadUniqueSuffix() const { return 0 ; }
friend class FuncCacheElem ; friend class FuncCacheElem ;
virtual const char* binningName() const { virtual const char* binningName() const {
// Returns name of binning to be used for cache histogram creation // Returns name of binning to be used for cache histogram creation
return "cache" ; return "cache" ;
} }
virtual FuncCacheElem* createCache(const RooArgSet* nset) const ; virtual FuncCacheElem* createCache(const RooArgSet* nset) const ;
virtual const char* inputBaseName() const = 0 ; virtual const char* inputBaseName() const = 0 ;
virtual RooArgSet* actualObservables(const RooArgSet& nset) const = 0 ; virtual RooArgSet* actualObservables(const RooArgSet& nset) const = 0 ;
virtual RooArgSet* actualParameters(const RooArgSet& nset) const = 0 ; virtual RooArgSet* actualParameters(const RooArgSet& nset) const = 0 ;
virtual void fillCacheObject(FuncCacheElem& cache) const = 0 ; virtual void fillCacheObject(FuncCacheElem& cache) const = 0 ;
 End of changes. 1 change blocks. 
0 lines changed or deleted 2 lines changed or added


 RooAbsGenContext.h   RooAbsGenContext.h 
skipping to change at line 88 skipping to change at line 88
const RooDataSet *_prototype; // Pointer to prototype dataset const RooDataSet *_prototype; // Pointer to prototype dataset
RooArgSet *_theEvent; // Pointer to observable event being genera ted RooArgSet *_theEvent; // Pointer to observable event being genera ted
Bool_t _isValid; // Is context in valid state? Bool_t _isValid; // Is context in valid state?
Bool_t _verbose; // Verbose messaging? Bool_t _verbose; // Verbose messaging?
UInt_t _expectedEvents; // Number of expected events from extended p.d.f UInt_t _expectedEvents; // Number of expected events from extended p.d.f
RooArgSet _protoVars; // Prototype observables RooArgSet _protoVars; // Prototype observables
Int_t _nextProtoIndex; // Next prototype event to load according t o LUT Int_t _nextProtoIndex; // Next prototype event to load according t o LUT
RooAbsPdf::ExtendMode _extendMode ; // Extended mode capabilities of p.d .f. RooAbsPdf::ExtendMode _extendMode ; // Extended mode capabilities of p.d .f.
Int_t* _protoOrder ; // LUT with traversal order of prototype da ta Int_t* _protoOrder ; // LUT with traversal order of prototype da ta
TString _normRange ; // Normalization range of pdf
RooDataSet* _genData ; //! Data being generated RooDataSet* _genData ; //! Data being generated
ClassDef(RooAbsGenContext,0) // Abstract context for generating a dataset from a PDF ClassDef(RooAbsGenContext,0) // Abstract context for generating a dataset from a PDF
}; };
#endif #endif
 End of changes. 1 change blocks. 
0 lines changed or deleted 1 lines changed or added


 RooAbsNumGenerator.h   RooAbsNumGenerator.h 
/************************************************************************** *** /************************************************************************** ***
* Project: RooFit * * Project: RooFit *
* Package: RooFitCore * * Package: RooFitCore *
* File: $Id: RooAbsNumGenerator.h 28259 2009-04-16 16:21:16Z wouter $ * File: $Id: RooAbsNumGenerator.h 34064 2010-06-22 15:05:19Z wouter $
* Authors: * * Authors: *
* WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu * * WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu *
* DK, David Kirkby, UC Irvine, dkirkby@uci.edu * * DK, David Kirkby, UC Irvine, dkirkby@uci.edu *
* * * *
* Copyright (c) 2000-2005, Regents of the University of California * * Copyright (c) 2000-2005, Regents of the University of California *
* and Stanford University. All rights reserved. * * and Stanford University. All rights reserved. *
* * * *
* Redistribution and use in source and binary forms, * * Redistribution and use in source and binary forms, *
* with or without modification, are permitted according to the terms * * with or without modification, are permitted according to the terms *
* listed in LICENSE (http://roofit.sourceforge.net/license.txt) * * listed in LICENSE (http://roofit.sourceforge.net/license.txt) *
skipping to change at line 32 skipping to change at line 32
#include "RooArgList.h" #include "RooArgList.h"
class RooAbsReal; class RooAbsReal;
class RooRealVar; class RooRealVar;
class RooDataSet; class RooDataSet;
class RooRealBinding; class RooRealBinding;
class RooNumGenConfig ; class RooNumGenConfig ;
class RooAbsNumGenerator : public TNamed, public RooPrintable { class RooAbsNumGenerator : public TNamed, public RooPrintable {
public: public:
RooAbsNumGenerator() {} ; RooAbsNumGenerator() : _cloneSet(0), _funcClone(0), _funcMaxVal(0), _func ValStore(0), _funcValPtr(0), _cache(0) {} ;
RooAbsNumGenerator(const RooAbsReal &func, const RooArgSet &genVars, Bool _t verbose=kFALSE, const RooAbsReal* maxFuncVal=0); RooAbsNumGenerator(const RooAbsReal &func, const RooArgSet &genVars, Bool _t verbose=kFALSE, const RooAbsReal* maxFuncVal=0);
virtual RooAbsNumGenerator* clone(const RooAbsReal&, const RooArgSet& gen Vars, const RooArgSet& condVars, virtual RooAbsNumGenerator* clone(const RooAbsReal&, const RooArgSet& gen Vars, const RooArgSet& condVars,
const RooNumGenConfig& config, Bool_t ve rbose=kFALSE, const RooAbsReal* maxFuncVal=0) const = 0 ; const RooNumGenConfig& config, Bool_t ve rbose=kFALSE, const RooAbsReal* maxFuncVal=0) const = 0 ;
Bool_t isValid() const { Bool_t isValid() const {
// If true, generator is in a valid state // If true, generator is in a valid state
return _isValid; return _isValid;
} }
virtual ~RooAbsNumGenerator(); virtual ~RooAbsNumGenerator();
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 RooAbsOptTestStatistic.h   RooAbsOptTestStatistic.h 
skipping to change at line 49 skipping to change at line 49
virtual Double_t combinedValue(RooAbsReal** gofArray, Int_t nVal) const ; virtual Double_t combinedValue(RooAbsReal** gofArray, Int_t nVal) const ;
RooAbsReal& function() { return *_funcClone ; } RooAbsReal& function() { return *_funcClone ; }
const RooAbsReal& function() const { return *_funcClone ; } const RooAbsReal& function() const { return *_funcClone ; }
RooAbsData& data() { return *_dataClone ; } RooAbsData& data() { return *_dataClone ; }
const RooAbsData& data() const { return *_dataClone ; } const RooAbsData& data() const { return *_dataClone ; }
Bool_t setData(RooAbsData& data, Bool_t cloneData=kTRUE) ; Bool_t setData(RooAbsData& data, Bool_t cloneData=kTRUE) ;
virtual const char* cacheUniqueSuffix() const { return Form("_%x",_dataCl
one) ; }
protected: protected:
friend class RooAbsReal ; friend class RooAbsReal ;
virtual Bool_t allowFunctionCache() { return kTRUE ; } virtual Bool_t allowFunctionCache() { return kTRUE ; }
void constOptimizeTestStatistic(ConstOpCode opcode) ; void constOptimizeTestStatistic(ConstOpCode opcode) ;
virtual Bool_t redirectServersHook(const RooAbsCollection& newServerList, Bool_t mustReplaceAll, Bool_t nameChange, Bool_t isRecursive) ; virtual Bool_t redirectServersHook(const RooAbsCollection& newServerList, Bool_t mustReplaceAll, Bool_t nameChange, Bool_t isRecursive) ;
virtual void printCompactTreeHook(ostream& os, const char* indent="") ; virtual void printCompactTreeHook(ostream& os, const char* indent="") ;
virtual RooArgSet requiredExtraObservables() const { return RooArgSet() ; } virtual RooArgSet requiredExtraObservables() const { return RooArgSet() ; }
 End of changes. 1 change blocks. 
0 lines changed or deleted 3 lines changed or added


 RooAbsPdf.h   RooAbsPdf.h 
skipping to change at line 231 skipping to change at line 231
virtual void printMultiline(ostream& os, Int_t contents, Bool_t verbose=k FALSE, TString indent="") const ; virtual void printMultiline(ostream& os, Int_t contents, Bool_t verbose=k FALSE, TString indent="") const ;
static void verboseEval(Int_t stat) ; static void verboseEval(Int_t stat) ;
static int verboseEval() ; static int verboseEval() ;
virtual Double_t extendedTerm(UInt_t observedEvents, const RooArgSet* nse t=0) const ; virtual Double_t extendedTerm(UInt_t observedEvents, const RooArgSet* nse t=0) const ;
static void clearEvalError() ; static void clearEvalError() ;
static Bool_t evalError() ; static Bool_t evalError() ;
void setNormRange(const char* rangeName) ;
const char* normRange() const {
return _normRange.Length()>0 ? _normRange.Data() : 0 ;
}
void setNormRangeOverride(const char* rangeName) ;
protected: protected:
public: public:
virtual const RooAbsReal* getNormObj(const RooArgSet* set, const RooArgSe t* iset, const TNamed* rangeName=0) const ; virtual const RooAbsReal* getNormObj(const RooArgSet* set, const RooArgSe t* iset, const TNamed* rangeName=0) const ;
protected: protected:
RooDataSet *generate(RooAbsGenContext& context, const RooArgSet& whatVars , const RooDataSet* prototype, RooDataSet *generate(RooAbsGenContext& context, const RooArgSet& whatVars , const RooDataSet* prototype,
Int_t nEvents, Bool_t verbose, Bool_t randProtoOrder, Bool_t resampleProto) const ; Int_t nEvents, Bool_t verbose, Bool_t randProtoOrder, Bool_t resampleProto) const ;
// Implementation version // Implementation version
skipping to change at line 313 skipping to change at line 319
mutable Int_t _negCount ; // Number of negative probablities rem aining to print mutable Int_t _negCount ; // Number of negative probablities rem aining to print
Bool_t _selectComp ; // Component selection flag for RooAbs Pdf::plotCompOn Bool_t _selectComp ; // Component selection flag for RooAbs Pdf::plotCompOn
static void raiseEvalError() ; static void raiseEvalError() ;
static Bool_t _evalError ; static Bool_t _evalError ;
RooNumGenConfig* _specGeneratorConfig ; //! MC generator configuration sp ecific for this object RooNumGenConfig* _specGeneratorConfig ; //! MC generator configuration sp ecific for this object
ClassDef(RooAbsPdf,2) // Abstract PDF with normalization support TString _normRange ; // Normalization range
static TString _normRangeOverride ;
ClassDef(RooAbsPdf,3) // Abstract PDF with normalization support
}; };
#endif #endif
 End of changes. 2 change blocks. 
1 lines changed or deleted 10 lines changed or added


 RooAbsReal.h   RooAbsReal.h 
skipping to change at line 242 skipping to change at line 242
// Evaluation error logging // Evaluation error logging
class EvalError { class EvalError {
public: public:
EvalError() { _msg[0] = 0 ; _srvval[0] = 0 ; } EvalError() { _msg[0] = 0 ; _srvval[0] = 0 ; }
EvalError(const EvalError& other) { strcpy(_msg,other._msg) ; strcpy(_s rvval,other._srvval) ; } ; EvalError(const EvalError& other) { strcpy(_msg,other._msg) ; strcpy(_s rvval,other._srvval) ; } ;
void setMessage(const char* tmp) ; void setMessage(const char* tmp) ;
void setServerValues(const char* tmp) ; void setServerValues(const char* tmp) ;
char _msg[1024] ; char _msg[1024] ;
char _srvval[1024] ; char _srvval[1024] ;
} ; } ;
static Bool_t evalErrorLoggingEnabled() { return _doLogEvalError ; }
static void enableEvalErrorLogging(Bool_t flag) { _doLogEvalError = flag enum ErrorLoggingMode { PrintErrors, CollectErrors, CountErrors } ;
; } static ErrorLoggingMode evalErrorLoggingMode() ;
static void setEvalErrorLoggingMode(ErrorLoggingMode m) ;
void logEvalError(const char* message, const char* serverValueString=0) c onst ; void logEvalError(const char* message, const char* serverValueString=0) c onst ;
static void logEvalError(const RooAbsReal* originator, const char* origNa me, const char* message, const char* serverValueString=0) ; static void logEvalError(const RooAbsReal* originator, const char* origNa me, const char* message, const char* serverValueString=0) ;
static void printEvalErrors(ostream&os=std::cout, Int_t maxPerNode=100000 00) ; static void printEvalErrors(ostream&os=std::cout, Int_t maxPerNode=100000 00) ;
static Int_t numEvalErrors() ; static Int_t numEvalErrors() ;
static Int_t numEvalErrorItems() { return _evalErrorList.size() ; } static Int_t numEvalErrorItems() { return _evalErrorList.size() ; }
typedef std::map<const RooAbsArg*,std::pair<std::string,std::list<EvalErr or> > >::const_iterator EvalErrorIter ; typedef std::map<const RooAbsArg*,std::pair<std::string,std::list<EvalErr or> > >::const_iterator EvalErrorIter ;
static EvalErrorIter evalErrorIter() { return _evalErrorList.begin() ; } static EvalErrorIter evalErrorIter() { return _evalErrorList.begin() ; }
static void clearEvalErrorLog() ; static void clearEvalErrorLog() ;
skipping to change at line 414 skipping to change at line 416
Bool_t doeeval ; Bool_t doeeval ;
Bool_t progress ; Bool_t progress ;
} ; } ;
// Plot implementation functions // Plot implementation functions
virtual RooPlot *plotOn(RooPlot* frame, PlotOpt o) const; virtual RooPlot *plotOn(RooPlot* frame, PlotOpt o) const;
virtual RooPlot *plotAsymOn(RooPlot *frame, const RooAbsCategoryLValue& a symCat, PlotOpt o) const; virtual RooPlot *plotAsymOn(RooPlot *frame, const RooAbsCategoryLValue& a symCat, PlotOpt o) const;
private: private:
static Bool_t _doLogEvalError ; static ErrorLoggingMode _evalErrorMode ;
static std::map<const RooAbsArg*,std::pair<std::string,std::list<EvalErro r> > > _evalErrorList ; static std::map<const RooAbsArg*,std::pair<std::string,std::list<EvalErro r> > > _evalErrorList ;
static Int_t _evalErrorCount ;
Bool_t matchArgsByName(const RooArgSet &allArgs, RooArgSet &matchedArgs, const TList &nameList) const; Bool_t matchArgsByName(const RooArgSet &allArgs, RooArgSet &matchedArgs, const TList &nameList) const;
protected: protected:
friend class RooRealSumPdf ; friend class RooRealSumPdf ;
friend class RooAddPdf ; friend class RooAddPdf ;
friend class RooAddModel ; friend class RooAddModel ;
void selectComp(Bool_t flag) { void selectComp(Bool_t flag) {
// If flag is true, only selected component will be included in evaluat es of RooAddPdf components // If flag is true, only selected component will be included in evaluat es of RooAddPdf components
 End of changes. 3 change blocks. 
4 lines changed or deleted 6 lines changed or added


 RooAcceptReject.h   RooAcceptReject.h 
skipping to change at line 31 skipping to change at line 31
#include "RooArgSet.h" #include "RooArgSet.h"
class RooAbsReal; class RooAbsReal;
class RooRealVar; class RooRealVar;
class RooDataSet; class RooDataSet;
class RooRealBinding; class RooRealBinding;
class RooNumGenFactory ; class RooNumGenFactory ;
class RooAcceptReject : public RooAbsNumGenerator { class RooAcceptReject : public RooAbsNumGenerator {
public: public:
RooAcceptReject() {} ; RooAcceptReject() : _nextCatVar(0), _nextRealVar(0) {} ;
RooAcceptReject(const RooAbsReal &func, const RooArgSet &genVars, const R ooNumGenConfig& config, Bool_t verbose=kFALSE, const RooAbsReal* maxFuncVal =0); RooAcceptReject(const RooAbsReal &func, const RooArgSet &genVars, const R ooNumGenConfig& config, Bool_t verbose=kFALSE, const RooAbsReal* maxFuncVal =0);
RooAbsNumGenerator* clone(const RooAbsReal& func, const RooArgSet& genVar s, const RooArgSet& /*condVars*/, RooAbsNumGenerator* clone(const RooAbsReal& func, const RooArgSet& genVar s, const RooArgSet& /*condVars*/,
const RooNumGenConfig& config, Bool_t verbose=kF ALSE, const RooAbsReal* maxFuncVal=0) const { const RooNumGenConfig& config, Bool_t verbose=kF ALSE, const RooAbsReal* maxFuncVal=0) const {
return new RooAcceptReject(func,genVars,config,verbose,maxFuncVal) ; return new RooAcceptReject(func,genVars,config,verbose,maxFuncVal) ;
} }
virtual ~RooAcceptReject(); virtual ~RooAcceptReject();
const RooArgSet *generateEvent(UInt_t remaining, Double_t& resampleRatio) ; const RooArgSet *generateEvent(UInt_t remaining, Double_t& resampleRatio) ;
Double_t getFuncMax() ; Double_t getFuncMax() ;
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 RooAdaptiveIntegratorND.h   RooAdaptiveIntegratorND.h 
/************************************************************************** *** /************************************************************************** ***
* Project: RooFit * * Project: RooFit *
* Package: RooFitCore * * Package: RooFitCore *
* File: $Id: RooAdaptiveIntegratorND.h 32337 2010-02-12 16:09:35Z pcana l $ * File: $Id: RooAdaptiveIntegratorND.h 34064 2010-06-22 15:05:19Z woute r $
* Authors: * * Authors: *
* WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu * * WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu *
* DK, David Kirkby, UC Irvine, dkirkby@uci.edu * * DK, David Kirkby, UC Irvine, dkirkby@uci.edu *
* * * *
* Copyright (c) 2000-2005, Regents of the University of California * * Copyright (c) 2000-2005, Regents of the University of California *
* and Stanford University. All rights reserved. * * and Stanford University. All rights reserved. *
* * * *
* Redistribution and use in source and binary forms, * * Redistribution and use in source and binary forms, *
* with or without modification, are permitted according to the terms * * with or without modification, are permitted according to the terms *
* listed in LICENSE (http://roofit.sourceforge.net/license.txt) * * listed in LICENSE (http://roofit.sourceforge.net/license.txt) *
************************************************************************** ***/ ************************************************************************** ***/
#ifndef ROO_ADAPTIVE_INTEGRATOR_ND #ifndef ROO_ADAPTIVE_INTEGRATOR_ND
#define ROO_ADAPTIVE_INTEGRATOR_ND #define ROO_ADAPTIVE_INTEGRATOR_ND
#include "RooAbsIntegrator.h" #include "RooAbsIntegrator.h"
#include "RooNumIntConfig.h" #include "RooNumIntConfig.h"
#include "TString.h" #include "TString.h"
namespace ROOT { namespace Math { class AdaptiveIntegratorMultiDim ; } } namespace ROOT { namespace Math { class AdaptiveIntegratorMultiDim ; } } ;
class RooMultiGenFunction ; class RooMultiGenFunction ;
class RooAdaptiveIntegratorND : public RooAbsIntegrator { class RooAdaptiveIntegratorND : public RooAbsIntegrator {
public: public:
// Constructors, assignment etc // Constructors, assignment etc
RooAdaptiveIntegratorND() ; RooAdaptiveIntegratorND() ;
RooAdaptiveIntegratorND(const RooAbsFunc& function, const RooNumIntConfig & config) ; RooAdaptiveIntegratorND(const RooAbsFunc& function, const RooNumIntConfig & config) ;
virtual RooAbsIntegrator* clone(const RooAbsFunc& function, const RooNumI ntConfig& config) const ; virtual RooAbsIntegrator* clone(const RooAbsFunc& function, const RooNumI ntConfig& config) const ;
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 RooAddPdf.h   RooAddPdf.h 
skipping to change at line 26 skipping to change at line 26
#ifndef ROO_ADD_PDF #ifndef ROO_ADD_PDF
#define ROO_ADD_PDF #define ROO_ADD_PDF
#include "RooAbsPdf.h" #include "RooAbsPdf.h"
#include "RooListProxy.h" #include "RooListProxy.h"
#include "RooAICRegistry.h" #include "RooAICRegistry.h"
#include "RooNormSetCache.h" #include "RooNormSetCache.h"
#include "RooNameSet.h" #include "RooNameSet.h"
#include "RooCacheManager.h" #include "RooCacheManager.h"
#include "RooObjCacheManager.h" #include "RooObjCacheManager.h"
#include "RooNameReg.h"
class RooAddPdf : public RooAbsPdf { class RooAddPdf : public RooAbsPdf {
public: public:
RooAddPdf() ; RooAddPdf() ;
RooAddPdf(const char *name, const char *title=0); RooAddPdf(const char *name, const char *title=0);
RooAddPdf(const char *name, const char *title, RooAddPdf(const char *name, const char *title,
RooAbsPdf& pdf1, RooAbsPdf& pdf2, RooAbsReal& coef1) ; RooAbsPdf& pdf1, RooAbsPdf& pdf2, RooAbsReal& coef1) ;
RooAddPdf(const char *name, const char *title, const RooArgList& pdfList) ; RooAddPdf(const char *name, const char *title, const RooArgList& pdfList) ;
RooAddPdf(const char *name, const char *title, const RooArgList& pdfList, const RooArgList& coefList, Bool_t recursiveFraction=kFALSE) ; RooAddPdf(const char *name, const char *title, const RooArgList& pdfList, const RooArgList& coefList, Bool_t recursiveFraction=kFALSE) ;
skipping to change at line 78 skipping to change at line 79
return _pdfList ; return _pdfList ;
} }
const RooArgList& coefList() const { const RooArgList& coefList() const {
// Return list of coefficients of component p.d.f.s // Return list of coefficients of component p.d.f.s
return _coefList ; return _coefList ;
} }
void fixCoefNormalization(const RooArgSet& refCoefNorm) ; void fixCoefNormalization(const RooArgSet& refCoefNorm) ;
void fixCoefRange(const char* rangeName) ; void fixCoefRange(const char* rangeName) ;
const RooArgSet& getCoefNormalization() const { return _refCoefNorm ; }
const char* getCoefRange() const { return _refCoefRangeName?RooNameReg::s
tr(_refCoefRangeName):"" ; }
virtual void resetErrorCounters(Int_t resetValue=10) ; virtual void resetErrorCounters(Int_t resetValue=10) ;
virtual std::list<Double_t>* plotSamplingHint(RooAbsRealLValue& obs, Doub le_t xlo, Double_t xhi) const ; virtual std::list<Double_t>* plotSamplingHint(RooAbsRealLValue& obs, Doub le_t xlo, Double_t xhi) const ;
void printMetaArgs(ostream& os) const ; void printMetaArgs(ostream& os) const ;
protected: protected:
virtual void selectNormalization(const RooArgSet* depSet=0, Bool_t force= kFALSE) ; virtual void selectNormalization(const RooArgSet* depSet=0, Bool_t force= kFALSE) ;
virtual void selectNormalizationRange(const char* rangeName=0, Bool_t for ce=kFALSE) ; virtual void selectNormalizationRange(const char* rangeName=0, Bool_t for ce=kFALSE) ;
 End of changes. 2 change blocks. 
0 lines changed or deleted 5 lines changed or added


 RooArgSet.h   RooArgSet.h 
skipping to change at line 127 skipping to change at line 127
const char* getCatLabel(const char* name, const char* defVal="", Bool_t v erbose=kFALSE) const ; const char* getCatLabel(const char* name, const char* defVal="", Bool_t v erbose=kFALSE) const ;
Int_t getCatIndex(const char* name, Int_t defVal=0, Bool_t verbose=kFALSE ) const ; Int_t getCatIndex(const char* name, Int_t defVal=0, Bool_t verbose=kFALSE ) const ;
const char* getStringValue(const char* name, const char* defVal="", Bool_ t verbose=kFALSE) const ; const char* getStringValue(const char* name, const char* defVal="", Bool_ t verbose=kFALSE) const ;
Bool_t setRealValue(const char* name, Double_t newVal=0, Bool_t verbose=k FALSE) ; Bool_t setRealValue(const char* name, Double_t newVal=0, Bool_t verbose=k FALSE) ;
Bool_t setCatLabel(const char* name, const char* newVal="", Bool_t verbos e=kFALSE) ; Bool_t setCatLabel(const char* name, const char* newVal="", Bool_t verbos e=kFALSE) ;
Bool_t setCatIndex(const char* name, Int_t newVal=0, Bool_t verbose=kFALS E) ; Bool_t setCatIndex(const char* name, Int_t newVal=0, Bool_t verbose=kFALS E) ;
Bool_t setStringValue(const char* name, const char* newVal="", Bool_t ver bose=kFALSE) ; Bool_t setStringValue(const char* name, const char* newVal="", Bool_t ver bose=kFALSE) ;
static void cleanup() ; static void cleanup() ;
Bool_t isInRange(const char* rangeSpec) ;
protected: protected:
Bool_t checkForDup(const RooAbsArg& arg, Bool_t silent) const ; Bool_t checkForDup(const RooAbsArg& arg, Bool_t silent) const ;
static char* _poolBegin ; //! Start of memory pool static char* _poolBegin ; //! Start of memory pool
static char* _poolCur ; //! Next free slot in memory pool static char* _poolCur ; //! Next free slot in memory pool
static char* _poolEnd ; //! End of memory pool static char* _poolEnd ; //! End of memory pool
ClassDef(RooArgSet,1) // Set of RooAbsArg objects ClassDef(RooArgSet,1) // Set of RooAbsArg objects
}; };
 End of changes. 1 change blocks. 
0 lines changed or deleted 2 lines changed or added


 RooCachedPdf.h   RooCachedPdf.h 
skipping to change at line 44 skipping to change at line 44
return pdf.arg().GetName() ; return pdf.arg().GetName() ;
} ; } ;
virtual RooArgSet* actualObservables(const RooArgSet& nset) const ; virtual RooArgSet* actualObservables(const RooArgSet& nset) const ;
virtual RooArgSet* actualParameters(const RooArgSet& nset) const ; virtual RooArgSet* actualParameters(const RooArgSet& nset) const ;
virtual void fillCacheObject(PdfCacheElem& cachePdf) const ; virtual void fillCacheObject(PdfCacheElem& cachePdf) const ;
virtual Double_t evaluate() const { virtual Double_t evaluate() const {
// Dummy evaluate, it is never called // Dummy evaluate, it is never called
return 0 ; return 0 ;
} }
virtual const char* payloadUniqueSuffix() const { return pdf.arg().aggreg
ateCacheUniqueSuffix() ; }
RooRealProxy pdf ; // Proxy to p.d.f being cached RooRealProxy pdf ; // Proxy to p.d.f being cached
RooSetProxy _cacheObs ; // Observable to be cached RooSetProxy _cacheObs ; // Observable to be cached
private: private:
ClassDef(RooCachedPdf,1) // P.d.f class that wraps another p.d.f and cach es its output ClassDef(RooCachedPdf,1) // P.d.f class that wraps another p.d.f and cach es its output
}; };
#endif #endif
 End of changes. 1 change blocks. 
0 lines changed or deleted 3 lines changed or added


 RooCachedReal.h   RooCachedReal.h 
skipping to change at line 54 skipping to change at line 54
return func.arg().GetName() ; return func.arg().GetName() ;
} ; } ;
virtual RooArgSet* actualObservables(const RooArgSet& nset) const ; virtual RooArgSet* actualObservables(const RooArgSet& nset) const ;
virtual RooArgSet* actualParameters(const RooArgSet& nset) const ; virtual RooArgSet* actualParameters(const RooArgSet& nset) const ;
virtual void fillCacheObject(FuncCacheElem& cacheFunc) const ; virtual void fillCacheObject(FuncCacheElem& cacheFunc) const ;
virtual Double_t evaluate() const { virtual Double_t evaluate() const {
// Dummy evaluate, it is never called // Dummy evaluate, it is never called
return 0 ; return 0 ;
} }
virtual const char* payloadUniqueSuffix() const { return func.arg().aggre
gateCacheUniqueSuffix() ; }
RooRealProxy func ; // Proxy to function being cached RooRealProxy func ; // Proxy to function being cached
RooSetProxy _cacheObs ; // Variables to be cached RooSetProxy _cacheObs ; // Variables to be cached
Bool_t _useCdfBoundaries ; // Are c.d.f boundary conditions used by th e RooHistFuncs? Bool_t _useCdfBoundaries ; // Are c.d.f boundary conditions used by th e RooHistFuncs?
private: private:
ClassDef(RooCachedReal,1) // P.d.f class that wraps another p.d.f and cac hes its output ClassDef(RooCachedReal,1) // P.d.f class that wraps another p.d.f and cac hes its output
}; };
 End of changes. 1 change blocks. 
0 lines changed or deleted 3 lines changed or added


 RooCintUtils.h   RooCintUtils.h 
/************************************************************************** *** /************************************************************************** ***
* Project: RooFit * * Project: RooFit *
* Package: RooFitCore * * Package: RooFitCore *
* File: $Id: RooCintUtils.h 32337 2010-02-12 16:09:35Z pcanal $ * File: $Id: RooCintUtils.h 34064 2010-06-22 15:05:19Z wouter $
* Authors: * * Authors: *
* WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu * * WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu *
* DK, David Kirkby, UC Irvine, dkirkby@uci.edu * * DK, David Kirkby, UC Irvine, dkirkby@uci.edu *
* * * *
* Copyright (c) 2000-2005, Regents of the University of California * * Copyright (c) 2000-2005, Regents of the University of California *
* and Stanford University. All rights reserved. * * and Stanford University. All rights reserved. *
* * * *
* Redistribution and use in source and binary forms, * * Redistribution and use in source and binary forms, *
* with or without modification, are permitted according to the terms * * with or without modification, are permitted according to the terms *
* listed in LICENSE (http://roofit.sourceforge.net/license.txt) * * listed in LICENSE (http://roofit.sourceforge.net/license.txt) *
skipping to change at line 32 skipping to change at line 32
namespace RooCintUtils { namespace RooCintUtils {
std::pair<std::list<std::string>,unsigned int> ctorArgs(const char* class name, UInt_t nMinArgs=0) ; std::pair<std::list<std::string>,unsigned int> ctorArgs(const char* class name, UInt_t nMinArgs=0) ;
Bool_t isEnum(const char* typeName) ; Bool_t isEnum(const char* typeName) ;
Bool_t isValidEnumValue(const char* typeName, const char* value) ; Bool_t isValidEnumValue(const char* typeName, const char* value) ;
const char* functionName(void* func) ; const char* functionName(void* func) ;
Bool_t matchFuncPtrArgs(void* func, const char* args) ; Bool_t matchFuncPtrArgs(void* func, const char* args) ;
Bool_t isTypeDef(const char* trueName, const char* aliasName) ; Bool_t isTypeDef(const char* trueName, const char* aliasName) ;
std::string trueName(const char* typeDefName) ; std::string trueName(const char* typeDefName) ;
} };
#endif #endif
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 RooDataHist.h   RooDataHist.h 
skipping to change at line 149 skipping to change at line 149
void initialize(const char* binningName=0,Bool_t fillTree=kTRUE) ; void initialize(const char* binningName=0,Bool_t fillTree=kTRUE) ;
RooDataHist(const char* name, const char* title, RooDataHist* h, const Ro oArgSet& varSubset, RooDataHist(const char* name, const char* title, RooDataHist* h, const Ro oArgSet& varSubset,
const RooFormulaVar* cutVar, const char* cutRange, Int_t nStar t, Int_t nStop, Bool_t copyCache) ; const RooFormulaVar* cutVar, const char* cutRange, Int_t nStar t, Int_t nStop, Bool_t copyCache) ;
RooAbsData* reduceEng(const RooArgSet& varSubset, const RooFormulaVar* cu tVar, const char* cutRange=0, RooAbsData* reduceEng(const RooArgSet& varSubset, const RooFormulaVar* cu tVar, const char* cutRange=0,
Int_t nStart=0, Int_t nStop=2000000000, Bool_t copyC ache=kTRUE) ; Int_t nStart=0, Int_t nStop=2000000000, Bool_t copyC ache=kTRUE) ;
Double_t interpolateDim(RooRealVar& dim, const RooAbsBinning* binning, Do uble_t xval, Int_t intOrder, Bool_t correctForBinSize, Bool_t cdfBoundaries ) ; Double_t interpolateDim(RooRealVar& dim, const RooAbsBinning* binning, Do uble_t xval, Int_t intOrder, Bool_t correctForBinSize, Bool_t cdfBoundaries ) ;
void calculatePartialBinVolume(const RooArgSet& dimSet) const ; void calculatePartialBinVolume(const RooArgSet& dimSet) const ;
void adjustBinning(const RooArgList& vars, TH1& href, Int_t* offset=0) ; void adjustBinning(const RooArgList& vars, TH1& href, Int_t* offset=0) ;
void importTH1(const RooArgList& vars, TH1& histo, Double_t initWgt) ; void importTH1(const RooArgList& vars, TH1& histo, Double_t initWgt, Bool
void importTH1Set(const RooArgList& vars, RooCategory& indexCat, std::map _t doDensityCorrection) ;
<std::string,TH1*> hmap, Double_t initWgt) ; void importTH1Set(const RooArgList& vars, RooCategory& indexCat, std::map
<std::string,TH1*> hmap, Double_t initWgt, Bool_t doDensityCorrection) ;
void importDHistSet(const RooArgList& vars, RooCategory& indexCat, std::m ap<std::string,RooDataHist*> dmap, Double_t initWgt) ; void importDHistSet(const RooArgList& vars, RooCategory& indexCat, std::m ap<std::string,RooDataHist*> dmap, Double_t initWgt) ;
virtual RooAbsData* cacheClone(const RooAbsArg* newCacheOwner, const RooA rgSet* newCacheVars, const char* newName=0) ; virtual RooAbsData* cacheClone(const RooAbsArg* newCacheOwner, const RooA rgSet* newCacheVars, const char* newName=0) ;
Int_t _arrSize ; // Size of the weight array Int_t _arrSize ; // Size of the weight array
std::vector<Int_t> _idxMult ; // Multiplier jump table for index calculat ion std::vector<Int_t> _idxMult ; // Multiplier jump table for index calculat ion
Double_t* _wgt ; //[_arrSize] Weight array Double_t* _wgt ; //[_arrSize] Weight array
Double_t* _errLo ; //[_arrSize] Low-side error on weight array Double_t* _errLo ; //[_arrSize] Low-side error on weight array
Double_t* _errHi ; //[_arrSize] High-side error on weight array Double_t* _errHi ; //[_arrSize] High-side error on weight array
 End of changes. 1 change blocks. 
3 lines changed or deleted 4 lines changed or added


 RooDataSet.h   RooDataSet.h 
skipping to change at line 75 skipping to change at line 75
const RooCmdArg& arg5=RooCmdArg::none(), const R ooCmdArg& arg6=RooCmdArg::none(), const RooCmdArg& arg5=RooCmdArg::none(), const R ooCmdArg& arg6=RooCmdArg::none(),
const RooCmdArg& arg7=RooCmdArg::none(), const R ooCmdArg& arg8=RooCmdArg::none()) const ; const RooCmdArg& arg7=RooCmdArg::none(), const R ooCmdArg& arg8=RooCmdArg::none()) const ;
// Read data from a text file and create a dataset from it. // Read data from a text file and create a dataset from it.
// The possible options are: (D)ebug, (Q)uiet. // The possible options are: (D)ebug, (Q)uiet.
static RooDataSet *read(const char *filename, const RooArgList &variables , static RooDataSet *read(const char *filename, const RooArgList &variables ,
const char *opts= "", const char* commonPath="", const char *opts= "", const char* commonPath="",
const char *indexCatName=0) ; const char *indexCatName=0) ;
Bool_t write(const char* filename) ; Bool_t write(const char* filename) ;
void setWeightVar(const char* name=0) ; /* void setWeightVar(const char* name=0) ; */
void setWeightVar(const RooAbsArg& arg) { /* void setWeightVar(const RooAbsArg& arg) { */
// Interpret given argument as event weight /* // Interpret given argument as event weight */
setWeightVar(arg.GetName()) ; /* setWeightVar(arg.GetName()) ; */
} /* } */
virtual Bool_t isWeighted() const ; virtual Bool_t isWeighted() const ;
virtual Bool_t isNonPoissonWeighted() const ; virtual Bool_t isNonPoissonWeighted() const ;
virtual Double_t weight() const ; virtual Double_t weight() const ;
virtual void weightError(Double_t& lo, Double_t& hi,ErrorType etype=SumW2 ) const ; virtual void weightError(Double_t& lo, Double_t& hi,ErrorType etype=SumW2 ) const ;
Double_t weightError(ErrorType etype=SumW2) const ; Double_t weightError(ErrorType etype=SumW2) const ;
virtual const RooArgSet* get(Int_t index) const; virtual const RooArgSet* get(Int_t index) const;
virtual const RooArgSet* get() const ; virtual const RooArgSet* get() const ;
 End of changes. 1 change blocks. 
6 lines changed or deleted 5 lines changed or added


 RooFactoryWSTool.h   RooFactoryWSTool.h 
/************************************************************************** *** /************************************************************************** ***
* Project: RooFit * * Project: RooFit *
* Package: RooFitCore * * Package: RooFitCore *
* File: $Id: RooFactoryWSTool.h 30333 2009-09-21 15:39:17Z wouter $ * File: $Id: RooFactoryWSTool.h 34064 2010-06-22 15:05:19Z wouter $
* Authors: * * Authors: *
* WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu * * WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu *
* DK, David Kirkby, UC Irvine, dkirkby@uci.edu * * DK, David Kirkby, UC Irvine, dkirkby@uci.edu *
* * * *
* Copyright (c) 2000-2005, Regents of the University of California * * Copyright (c) 2000-2005, Regents of the University of California *
* and Stanford University. All rights reserved. * * and Stanford University. All rights reserved. *
* * * *
* Redistribution and use in source and binary forms, * * Redistribution and use in source and binary forms, *
* with or without modification, are permitted according to the terms * * with or without modification, are permitted according to the terms *
* listed in LICENSE (http://roofit.sourceforge.net/license.txt) * * listed in LICENSE (http://roofit.sourceforge.net/license.txt) *
skipping to change at line 157 skipping to change at line 157
virtual ~SpecialsIFace() {} ; virtual ~SpecialsIFace() {} ;
std::string create(RooFactoryWSTool& ft, const char* typeName, const ch ar* instanceName, std::vector<std::string> args) ; std::string create(RooFactoryWSTool& ft, const char* typeName, const ch ar* instanceName, std::vector<std::string> args) ;
} ; } ;
static void registerSpecial(const char* typeName, RooFactoryWSTool::IFace * iface) ; static void registerSpecial(const char* typeName, RooFactoryWSTool::IFace * iface) ;
void logError() { _errorCount++ ; } void logError() { _errorCount++ ; }
protected: protected:
Bool_t checkSyntax(const char* arg) ;
std::string varTag(std::string& func, std::vector<std::string>& args) ; std::string varTag(std::string& func, std::vector<std::string>& args) ;
std::stack<std::string> _autoNamePrefix ; std::stack<std::string> _autoNamePrefix ;
std::map<std::string,std::string> _typeAliases ; std::map<std::string,std::string> _typeAliases ;
static void checkIndex(UInt_t index) ; static void checkIndex(UInt_t index) ;
std::string processCompositeExpression(const char* arg) ; std::string processCompositeExpression(const char* arg) ;
std::string processSingleExpression(const char* arg) ; std::string processSingleExpression(const char* arg) ;
std::string processListExpression(const char* arg) ; std::string processListExpression(const char* arg) ;
 End of changes. 2 change blocks. 
1 lines changed or deleted 3 lines changed or added


 RooFoamGenerator.h   RooFoamGenerator.h 
/************************************************************************** *** /************************************************************************** ***
* Project: RooFit * * Project: RooFit *
* Package: RooFitCore * * Package: RooFitCore *
* File: $Id: RooFoamGenerator.h 28259 2009-04-16 16:21:16Z wouter $ * File: $Id: RooFoamGenerator.h 34064 2010-06-22 15:05:19Z wouter $
* Authors: * * Authors: *
* WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu * * WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu *
* DK, David Kirkby, UC Irvine, dkirkby@uci.edu * * DK, David Kirkby, UC Irvine, dkirkby@uci.edu *
* * * *
* Copyright (c) 2000-2005, Regents of the University of California * * Copyright (c) 2000-2005, Regents of the University of California *
* and Stanford University. All rights reserved. * * and Stanford University. All rights reserved. *
* * * *
* Redistribution and use in source and binary forms, * * Redistribution and use in source and binary forms, *
* with or without modification, are permitted according to the terms * * with or without modification, are permitted according to the terms *
* listed in LICENSE (http://roofit.sourceforge.net/license.txt) * * listed in LICENSE (http://roofit.sourceforge.net/license.txt) *
skipping to change at line 33 skipping to change at line 33
class RooAbsReal; class RooAbsReal;
class RooRealVar; class RooRealVar;
class RooDataSet; class RooDataSet;
class TFoam ; class TFoam ;
class RooTFoamBinding ; class RooTFoamBinding ;
class RooNumGenFactory ; class RooNumGenFactory ;
class RooFoamGenerator : public RooAbsNumGenerator { class RooFoamGenerator : public RooAbsNumGenerator {
public: public:
RooFoamGenerator() {} ; RooFoamGenerator() : _binding(0), _tfoam(0), _xmin(0), _range(0), _vec(0) , _rvIter(0) {} ;
RooFoamGenerator(const RooAbsReal &func, const RooArgSet &genVars, const RooNumGenConfig& config, Bool_t verbose=kFALSE, const RooAbsReal* maxFuncVa l=0); RooFoamGenerator(const RooAbsReal &func, const RooArgSet &genVars, const RooNumGenConfig& config, Bool_t verbose=kFALSE, const RooAbsReal* maxFuncVa l=0);
RooAbsNumGenerator* clone(const RooAbsReal& func, const RooArgSet& genVar s, const RooArgSet& /*condVars*/, RooAbsNumGenerator* clone(const RooAbsReal& func, const RooArgSet& genVar s, const RooArgSet& /*condVars*/,
const RooNumGenConfig& config, Bool_t verbose=kF ALSE, const RooAbsReal* maxFuncVal=0) const { const RooNumGenConfig& config, Bool_t verbose=kF ALSE, const RooAbsReal* maxFuncVal=0) const {
return new RooFoamGenerator(func,genVars,config,verbose,maxFuncVal) ; return new RooFoamGenerator(func,genVars,config,verbose,maxFuncVal) ;
} }
virtual ~RooFoamGenerator(); virtual ~RooFoamGenerator();
const RooArgSet *generateEvent(UInt_t remaining, Double_t& resampleRatio) ; const RooArgSet *generateEvent(UInt_t remaining, Double_t& resampleRatio) ;
TFoam& engine() { return *_tfoam; } TFoam& engine() { return *_tfoam; }
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 RooGenProdProj.h   RooGenProdProj.h 
skipping to change at line 30 skipping to change at line 30
#include "RooSetProxy.h" #include "RooSetProxy.h"
#include "RooListProxy.h" #include "RooListProxy.h"
class RooRealVar; class RooRealVar;
class RooArgList ; class RooArgList ;
class RooGenProdProj : public RooAbsReal { class RooGenProdProj : public RooAbsReal {
public: public:
RooGenProdProj() ; RooGenProdProj() ;
RooGenProdProj(const char *name, const char *title, const RooArgSet& _pro RooGenProdProj(const char *name, const char *title, const RooArgSet& _pro
dSet, const RooArgSet& _intSet, const RooArgSet& _normSet, const char* iset dSet, const RooArgSet& _intSet,
RangeName) ; const RooArgSet& _normSet, const char* isetRangeName, const
char* normRangeName=0, Bool_t doFactorize=kTRUE) ;
RooGenProdProj(const RooGenProdProj& other, const char* name = 0); RooGenProdProj(const RooGenProdProj& other, const char* name = 0);
virtual TObject* clone(const char* newname) const { return new RooGenProd Proj(*this, newname); } virtual TObject* clone(const char* newname) const { return new RooGenProd Proj(*this, newname); }
virtual ~RooGenProdProj() ; virtual ~RooGenProdProj() ;
protected: protected:
RooAbsReal* makeIntegral(const char* name, const RooArgSet& compSet, cons RooAbsReal* makeIntegral(const char* name, const RooArgSet& compSet, cons
t RooArgSet& intSet, RooArgSet& saveSet, const char* isetRangeName) ; t RooArgSet& intSet,
RooArgSet& saveSet, const char* isetRangeName, Bo
ol_t doFactorize) ;
virtual void operModeHook() ; virtual void operModeHook() ;
Double_t evaluate() const; Double_t evaluate() const;
RooArgSet* _compSetOwnedN ; // Owner of numerator components RooArgSet* _compSetOwnedN ; // Owner of numerator components
RooArgSet* _compSetOwnedD ; // Owner of denominator components RooArgSet* _compSetOwnedD ; // Owner of denominator components
RooSetProxy _compSetN ; // Set proxy for numerator components RooSetProxy _compSetN ; // Set proxy for numerator components
RooSetProxy _compSetD ; // Set proxy for denominator components RooSetProxy _compSetD ; // Set proxy for denominator components
RooListProxy _intList ; // Master integrals representing numerator and de nominator RooListProxy _intList ; // Master integrals representing numerator and de nominator
Bool_t _haveD ; // Do we have a denominator term? Bool_t _haveD ; // Do we have a denominator term?
 End of changes. 2 change blocks. 
5 lines changed or deleted 8 lines changed or added


 RooGlobalFunc.h   RooGlobalFunc.h 
skipping to change at line 115 skipping to change at line 115
RooCmdArg XErrorSize(Double_t width) ; RooCmdArg XErrorSize(Double_t width) ;
RooCmdArg RefreshNorm() ; RooCmdArg RefreshNorm() ;
RooCmdArg Efficiency(const RooCategory& cat) ; RooCmdArg Efficiency(const RooCategory& cat) ;
RooCmdArg Rescale(Double_t factor) ; RooCmdArg Rescale(Double_t factor) ;
// RooDataHist::ctor arguments // RooDataHist::ctor arguments
RooCmdArg Weight(Double_t wgt) ; RooCmdArg Weight(Double_t wgt) ;
RooCmdArg Index(RooCategory& icat) ; RooCmdArg Index(RooCategory& icat) ;
RooCmdArg Import(const char* state, TH1& histo) ; RooCmdArg Import(const char* state, TH1& histo) ;
RooCmdArg Import(const char* state, RooDataHist& dhist) ; RooCmdArg Import(const char* state, RooDataHist& dhist) ;
RooCmdArg Import(TH1& histo) ; RooCmdArg Import(TH1& histo, Bool_t importDensity=kTRUE) ;
// RooDataSet::ctor arguments // RooDataSet::ctor arguments
RooCmdArg WeightVar(const char* name) ; RooCmdArg WeightVar(const char* name) ;
RooCmdArg WeightVar(const RooRealVar& arg) ; RooCmdArg WeightVar(const RooRealVar& arg) ;
RooCmdArg Import(const char* state, RooDataSet& data) ; RooCmdArg Import(const char* state, RooDataSet& data) ;
RooCmdArg Link(const char* state, RooAbsData& data) ; RooCmdArg Link(const char* state, RooAbsData& data) ;
RooCmdArg Import(RooDataSet& data) ; RooCmdArg Import(RooDataSet& data) ;
RooCmdArg Import(TTree& tree) ; RooCmdArg Import(TTree& tree) ;
RooCmdArg ImportFromFile(const char* fname, const char* tname) ; RooCmdArg ImportFromFile(const char* fname, const char* tname) ;
RooCmdArg StoreError(const RooArgSet& aset) ; RooCmdArg StoreError(const RooArgSet& aset) ;
skipping to change at line 311 skipping to change at line 311
const RooAbsArg& v6, const RooAbsArg& v7) ; const RooAbsArg& v6, const RooAbsArg& v7) ;
RooArgList L(const RooAbsArg& v1, const RooAbsArg& v2, const RooAbsArg& v3, const RooAbsArg& v4, const RooAbsArg& v5, RooArgList L(const RooAbsArg& v1, const RooAbsArg& v2, const RooAbsArg& v3, const RooAbsArg& v4, const RooAbsArg& v5,
const RooAbsArg& v6, const RooAbsArg& v7, const RooAbsArg& v8) ; const RooAbsArg& v6, const RooAbsArg& v7, const RooAbsArg& v8) ;
RooArgList L(const RooAbsArg& v1, const RooAbsArg& v2, const RooAbsArg& v3, const RooAbsArg& v4, const RooAbsArg& v5, RooArgList L(const RooAbsArg& v1, const RooAbsArg& v2, const RooAbsArg& v3, const RooAbsArg& v4, const RooAbsArg& v5,
const RooAbsArg& v6, const RooAbsArg& v7, const RooAbsArg& v8, const RooAbsArg& v9) ; const RooAbsArg& v6, const RooAbsArg& v7, const RooAbsArg& v8, const RooAbsArg& v9) ;
RooConstVar& C(Double_t value) ; RooConstVar& C(Double_t value) ;
} // End namespace ShortHand } // End namespace ShortHand
class RooGlobalFunc {};
#endif #endif
 End of changes. 2 change blocks. 
1 lines changed or deleted 3 lines changed or added


 RooMsgService.h   RooMsgService.h 
skipping to change at line 29 skipping to change at line 29
#include "Riosfwd.h" #include "Riosfwd.h"
#include <assert.h> #include <assert.h>
#include "TObject.h" #include "TObject.h"
#include <string> #include <string>
#include <vector> #include <vector>
#include <stack> #include <stack>
#include <map> #include <map>
#include "RooCmdArg.h" #include "RooCmdArg.h"
#include "RooGlobalFunc.h" #include "RooGlobalFunc.h"
class RooAbsArg ; class RooAbsArg ;
class RooWorkspace ;
// Shortcut definitions // Shortcut definitions
#define coutI(a) RooMsgService::instance().log(this,RooFit::INFO,RooFit::a) #define coutI(a) RooMsgService::instance().log(this,RooFit::INFO,RooFit::a)
#define coutP(a) RooMsgService::instance().log(this,RooFit::PROGRESS,RooFit ::a) #define coutP(a) RooMsgService::instance().log(this,RooFit::PROGRESS,RooFit ::a)
#define coutW(a) RooMsgService::instance().log(this,RooFit::WARNING,RooFit: :a) #define coutW(a) RooMsgService::instance().log(this,RooFit::WARNING,RooFit: :a)
#define coutE(a) RooMsgService::instance().log(this,RooFit::ERROR,RooFit::a ) #define coutE(a) RooMsgService::instance().log(this,RooFit::ERROR,RooFit::a )
#define coutF(a) RooMsgService::instance().log(this,RooFit::FATAL,RooFit::a ) #define coutF(a) RooMsgService::instance().log(this,RooFit::FATAL,RooFit::a )
#define ccoutD(a) RooMsgService::instance().log(this,RooFit::DEBUG,RooFit:: a,kTRUE) #define ccoutD(a) RooMsgService::instance().log(this,RooFit::DEBUG,RooFit:: a,kTRUE)
#define ccoutI(a) RooMsgService::instance().log(this,RooFit::INFO,RooFit::a ,kTRUE) #define ccoutI(a) RooMsgService::instance().log(this,RooFit::INFO,RooFit::a ,kTRUE)
skipping to change at line 185 skipping to change at line 186
// Print level support for RooFit-related messages that are not routed th rough RooMsgService (such as Minuit printouts) // Print level support for RooFit-related messages that are not routed th rough RooMsgService (such as Minuit printouts)
Bool_t silentMode() const { return _silentMode ; } Bool_t silentMode() const { return _silentMode ; }
void setSilentMode(Bool_t flag) { _silentMode = flag ; } void setSilentMode(Bool_t flag) { _silentMode = flag ; }
Int_t errorCount() const { return _errorCount ; } Int_t errorCount() const { return _errorCount ; }
void clearErrorCount() { _errorCount = 0 ; } void clearErrorCount() { _errorCount = 0 ; }
void saveState() ; void saveState() ;
void restoreState() ; void restoreState() ;
RooWorkspace* debugWorkspace() ;
Int_t& debugCode() { return _debugCode ; }
protected: protected:
Int_t activeStream(const RooAbsArg* self, RooFit::MsgTopic facility, RooF it::MsgLevel level) ; Int_t activeStream(const RooAbsArg* self, RooFit::MsgTopic facility, RooF it::MsgLevel level) ;
Int_t activeStream(const TObject* self, RooFit::MsgTopic facility, RooFit ::MsgLevel level) ; Int_t activeStream(const TObject* self, RooFit::MsgTopic facility, RooFit ::MsgLevel level) ;
std::vector<StreamConfig> _streams ; std::vector<StreamConfig> _streams ;
std::stack<std::vector<StreamConfig> > _streamsSaved ; std::stack<std::vector<StreamConfig> > _streamsSaved ;
std::ostream* _devnull ; std::ostream* _devnull ;
std::map<std::string,std::ostream*> _files ; std::map<std::string,std::ostream*> _files ;
skipping to change at line 209 skipping to change at line 214
Bool_t _showPid ; Bool_t _showPid ;
Int_t _errorCount ; Int_t _errorCount ;
// Private ctor -- singleton class // Private ctor -- singleton class
RooMsgService() ; RooMsgService() ;
RooMsgService(const RooMsgService&) ; RooMsgService(const RooMsgService&) ;
static RooMsgService* _instance ; static RooMsgService* _instance ;
RooWorkspace* _debugWorkspace ;
Int_t _debugCode ;
ClassDef(RooMsgService,0) // RooFit Message Service Singleton class ClassDef(RooMsgService,0) // RooFit Message Service Singleton class
}; };
#ifdef INST_MSG_SERVICE #ifdef INST_MSG_SERVICE
RooMsgService* gMsgService = 0 ; RooMsgService* gMsgService = 0 ;
#else #else
extern RooMsgService* gMsgService ; extern RooMsgService* gMsgService ;
#endif #endif
#endif #endif
 End of changes. 3 change blocks. 
0 lines changed or deleted 9 lines changed or added


 RooNLLVar.h   RooNLLVar.h 
skipping to change at line 47 skipping to change at line 47
RooNLLVar(const char *name, const char *title, RooAbsPdf& pdf, RooAbsData & data, RooNLLVar(const char *name, const char *title, RooAbsPdf& pdf, RooAbsData & data,
const RooArgSet& projDeps, Bool_t extended=kFALSE, const char* r angeName=0, const RooArgSet& projDeps, Bool_t extended=kFALSE, const char* r angeName=0,
const char* addCoefRangeName=0, Int_t nCPU=1, Bool_t interleave= kFALSE, Bool_t verbose=kTRUE, Bool_t splitRange=kFALSE, Bool_t cloneData=kT RUE) ; const char* addCoefRangeName=0, Int_t nCPU=1, Bool_t interleave= kFALSE, Bool_t verbose=kTRUE, Bool_t splitRange=kFALSE, Bool_t cloneData=kT RUE) ;
RooNLLVar(const RooNLLVar& other, const char* name=0); RooNLLVar(const RooNLLVar& other, const char* name=0);
virtual TObject* clone(const char* newname) const { return new RooNLLVar( *this,newname); } virtual TObject* clone(const char* newname) const { return new RooNLLVar( *this,newname); }
virtual RooAbsTestStatistic* create(const char *name, const char *title, RooAbsReal& pdf, RooAbsData& adata, virtual RooAbsTestStatistic* create(const char *name, const char *title, RooAbsReal& pdf, RooAbsData& adata,
const RooArgSet& projDeps, const char* rangeName, const char* addCoefRangeName=0, const RooArgSet& projDeps, const char* rangeName, const char* addCoefRangeName=0,
Int_t nCPU=1, Bool_t interleave=kFALSE , Bool_t verbose=kTRUE, Bool_t splitRange=kFALSE) { Int_t nCPU=1, Bool_t interleave=kFALSE , Bool_t verbose=kTRUE, Bool_t splitRange=kFALSE) {
return new RooNLLVar(name,title,(RooAbsPdf&)pdf,adata,projDeps,_extende d,rangeName, addCoefRangeName, nCPU, interleave,verbose,splitRange) ; return new RooNLLVar(name,title,(RooAbsPdf&)pdf,adata,projDeps,_extende d,rangeName, addCoefRangeName, nCPU, interleave,verbose,splitRange,kFALSE) ;
} }
virtual ~RooNLLVar(); virtual ~RooNLLVar();
void applyWeightSquared(Bool_t flag) { _weightSq = flag ; setValueDirty() ; } void applyWeightSquared(Bool_t flag) { _weightSq = flag ; setValueDirty() ; }
virtual Double_t defaultErrorLevel() const { return 0.5 ; } virtual Double_t defaultErrorLevel() const { return 0.5 ; }
protected: protected:
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 RooNumRunningInt.h   RooNumRunningInt.h 
skipping to change at line 53 skipping to change at line 53
friend class RICacheElem ; friend class RICacheElem ;
virtual const char* binningName() const { return _binningName.c_str() ; } virtual const char* binningName() const { return _binningName.c_str() ; }
virtual FuncCacheElem* createCache(const RooArgSet* nset) const ; virtual FuncCacheElem* createCache(const RooArgSet* nset) const ;
virtual const char* inputBaseName() const ; virtual const char* inputBaseName() const ;
virtual RooArgSet* actualObservables(const RooArgSet& nset) const ; virtual RooArgSet* actualObservables(const RooArgSet& nset) const ;
virtual RooArgSet* actualParameters(const RooArgSet& nset) const ; virtual RooArgSet* actualParameters(const RooArgSet& nset) const ;
virtual void fillCacheObject(FuncCacheElem& cacheFunc) const ; virtual void fillCacheObject(FuncCacheElem& cacheFunc) const ;
virtual Double_t evaluate() const ; virtual Double_t evaluate() const ;
virtual const char* payloadUniqueSuffix() const { return func.arg().aggre
gateCacheUniqueSuffix() ; }
RooRealProxy func ; // Proxy to functions whose running integral is calcu lated RooRealProxy func ; // Proxy to functions whose running integral is calcu lated
RooRealProxy x ; // Intergrated observable RooRealProxy x ; // Intergrated observable
std::string _binningName ; // Name of binning to be used for cache histog ram std::string _binningName ; // Name of binning to be used for cache histog ram
private: private:
ClassDef(RooNumRunningInt,1) // Numeric calculator for running integral o f a given function ClassDef(RooNumRunningInt,1) // Numeric calculator for running integral o f a given function
}; };
 End of changes. 1 change blocks. 
0 lines changed or deleted 3 lines changed or added


 RooProdPdf.h   RooProdPdf.h 
skipping to change at line 27 skipping to change at line 27
#define ROO_PROD_PDF #define ROO_PROD_PDF
#include "Riosfwd.h" #include "Riosfwd.h"
#include "RooAbsPdf.h" #include "RooAbsPdf.h"
#include "RooListProxy.h" #include "RooListProxy.h"
#include "RooLinkedList.h" #include "RooLinkedList.h"
#include "RooAICRegistry.h" #include "RooAICRegistry.h"
#include "RooCacheManager.h" #include "RooCacheManager.h"
#include "RooObjCacheManager.h" #include "RooObjCacheManager.h"
#include "RooCmdArg.h" #include "RooCmdArg.h"
#include <vector>
typedef RooArgList* pRooArgList ; typedef RooArgList* pRooArgList ;
typedef RooLinkedList* pRooLinkedList ; typedef RooLinkedList* pRooLinkedList ;
class RooProdPdf : public RooAbsPdf { class RooProdPdf : public RooAbsPdf {
public: public:
RooProdPdf() ; RooProdPdf() ;
RooProdPdf(const char *name, const char *title, Double_t cutOff=0); RooProdPdf(const char *name, const char *title, Double_t cutOff=0);
RooProdPdf(const char *name, const char *title, RooProdPdf(const char *name, const char *title,
RooAbsPdf& pdf1, RooAbsPdf& pdf2, Double_t cutOff=0) ; RooAbsPdf& pdf1, RooAbsPdf& pdf2, Double_t cutOff=0) ;
skipping to change at line 63 skipping to change at line 64
virtual TObject* clone(const char* newname) const { return new RooProdPdf (*this,newname) ; } virtual TObject* clone(const char* newname) const { return new RooProdPdf (*this,newname) ; }
virtual ~RooProdPdf() ; virtual ~RooProdPdf() ;
virtual Double_t getVal(const RooArgSet* set=0) const ; virtual Double_t getVal(const RooArgSet* set=0) const ;
Double_t evaluate() const ; Double_t evaluate() const ;
virtual Bool_t checkObservables(const RooArgSet* nset) const ; virtual Bool_t checkObservables(const RooArgSet* nset) const ;
virtual Bool_t forceAnalyticalInt(const RooAbsArg& dep) const ; virtual Bool_t forceAnalyticalInt(const RooAbsArg& dep) const ;
Int_t getAnalyticalIntegralWN(RooArgSet& allVars, RooArgSet& numVars, con st RooArgSet* normSet, const char* rangeName=0) const ; Int_t getAnalyticalIntegralWN(RooArgSet& allVars, RooArgSet& numVars, con st RooArgSet* normSet, const char* rangeName=0) const ;
Double_t analyticalIntegralWN(Int_t code, const RooArgSet* normSet, const char* rangeName=0) const ; Double_t analyticalIntegralWN(Int_t code, const RooArgSet* normSet, const char* rangeName=0) const ;
virtual Bool_t selfNormalized() const { return kTRUE ; } virtual Bool_t selfNormalized() const { return _selfNorm ; }
virtual ExtendMode extendMode() const ; virtual ExtendMode extendMode() const ;
virtual Double_t expectedEvents(const RooArgSet* nset) const ; virtual Double_t expectedEvents(const RooArgSet* nset) const ;
virtual Double_t expectedEvents(const RooArgSet& nset) const { return exp ectedEvents(&nset) ; } virtual Double_t expectedEvents(const RooArgSet& nset) const { return exp ectedEvents(&nset) ; }
const RooArgList& pdfList() const { return _pdfList ; } const RooArgList& pdfList() const { return _pdfList ; }
virtual Int_t getGenerator(const RooArgSet& directVars, RooArgSet &genera teVars, Bool_t staticInitOK=kTRUE) const; virtual Int_t getGenerator(const RooArgSet& directVars, RooArgSet &genera teVars, Bool_t staticInitOK=kTRUE) const;
virtual void initGenerator(Int_t code) ; virtual void initGenerator(Int_t code) ;
virtual void generateEvent(Int_t code); virtual void generateEvent(Int_t code);
virtual Bool_t isDirectGenSafe(const RooAbsArg& arg) const ; virtual Bool_t isDirectGenSafe(const RooAbsArg& arg) const ;
// Constraint management // Constraint management
virtual RooArgSet* getConstraints(const RooArgSet& observables, const Roo ArgSet& constrainedParams, Bool_t stripDisconnected) const ; virtual RooArgSet* getConstraints(const RooArgSet& observables, const Roo ArgSet& constrainedParams, Bool_t stripDisconnected) const ;
virtual std::list<Double_t>* plotSamplingHint(RooAbsRealLValue& obs, Doub le_t xlo, Double_t xhi) const ; virtual std::list<Double_t>* plotSamplingHint(RooAbsRealLValue& obs, Doub le_t xlo, Double_t xhi) const ;
void printMetaArgs(ostream& os) const ; void printMetaArgs(ostream& os) const ;
virtual void selectNormalizationRange(const char* rangeName=0, Bool_t for
ce=kFALSE) ;
void fixRefRange(const char* rangeName) ;
void setSelfNormalized(Bool_t flag) { _selfNorm = flag ; }
void setDefNormSet(const RooArgSet& nset) { _defNormSet.removeAll() ; _de
fNormSet.addClone(nset) ; }
protected: protected:
RooAbsReal* makeCondPdfRatioCorr(RooAbsReal& term, const RooArgSet& termN
set, const RooArgSet& termImpSet, const char* normRange, const char* refRan
ge) const ;
virtual void getParametersHook(const RooArgSet* /*nset*/, RooArgSet* /*li st*/, Bool_t stripDisconnected) const ; virtual void getParametersHook(const RooArgSet* /*nset*/, RooArgSet* /*li st*/, Bool_t stripDisconnected) const ;
void initializeFromCmdArgList(const RooArgSet& fullPdfSet, const RooLinke dList& l) ; void initializeFromCmdArgList(const RooArgSet& fullPdfSet, const RooLinke dList& l) ;
void factorizeProduct(const RooArgSet& normSet, const RooArgSet& intSet, void factorizeProduct(const RooArgSet& normSet, const RooArgSet& intSet,
RooLinkedList& termList, RooLinkedList& normList, RooLinkedList& termList, RooLinkedList& normList,
RooLinkedList& impDepList, RooLinkedList& crossDepL ist, RooLinkedList& impDepList, RooLinkedList& crossDepL ist,
RooLinkedList& intList) const; RooLinkedList& intList) const;
const char* makeRGPPName(const char* pfx, const RooArgSet& term, const Ro oArgSet& iset, const RooArgSet& nset, const char* isetRangeName) const ; const char* makeRGPPName(const char* pfx, const RooArgSet& term, const Ro oArgSet& iset, const RooArgSet& nset, const char* isetRangeName) const ;
void groupProductTerms(RooLinkedList& groupedTerms, RooArgSet& outerIntDe ps, void groupProductTerms(RooLinkedList& groupedTerms, RooArgSet& outerIntDe ps,
const RooLinkedList& terms, const RooLinkedList& n orms, const RooLinkedList& terms, const RooLinkedList& n orms,
const RooLinkedList& imps, const RooLinkedList& in ts, const RooLinkedList& cross) const ; const RooLinkedList& imps, const RooLinkedList& in ts, const RooLinkedList& cross) const ;
Double_t calculate(const RooArgList* partIntList, const RooLinkedList* no
rmSetList) const ;
void getPartIntList(const RooArgSet* nset, const RooArgSet* iset, pRooArg List& partList, pRooLinkedList& nsetList, void getPartIntList(const RooArgSet* nset, const RooArgSet* iset, pRooArg List& partList, pRooLinkedList& nsetList,
Int_t& code, const char* isetRangeName=0) const ; Int_t& code, const char* isetRangeName=0) const ;
RooAbsReal* processProductTerm(const RooArgSet* nset, const RooArgSet* is
et, const char* isetRangeName, std::vector<RooAbsReal*> processProductTerm(const RooArgSet* nset, const
const RooArgSet* term,const RooArgSet& ter RooArgSet* iset, const char* isetRangeName,
mNSet, const RooArgSet& termISet, const RooArgSet* term,const Ro
Bool_t& isOwned, Bool_t forceWrap=kFALSE) oArgSet& termNSet, const RooArgSet& termISet,
const ; Bool_t& isOwned, Bool_t forceW
rap=kFALSE) const ;
// The cache object // The cache object
class CacheElem : public RooAbsCacheElement { class CacheElem : public RooAbsCacheElement {
public: public:
CacheElem() : _isRearranged(kFALSE), _rearrangedNum(0), _rearrangedDen( 0) {}
virtual ~CacheElem() ; virtual ~CacheElem() ;
// Payload // Payload
RooArgList _partList ; RooArgList _partList ;
RooArgList _numList ;
RooArgList _denList ;
RooArgList _ownedList ; RooArgList _ownedList ;
RooLinkedList _normList ; RooLinkedList _normList ;
Bool_t _isRearranged ;
RooAbsReal* _rearrangedNum ;
RooAbsReal* _rearrangedDen ;
// Cache management functions // Cache management functions
virtual RooArgList containedArgs(Action) ; virtual RooArgList containedArgs(Action) ;
virtual void printCompactTreeHook(std::ostream&, const char *, Int_t, I nt_t) ; virtual void printCompactTreeHook(std::ostream&, const char *, Int_t, I nt_t) ;
private:
CacheElem(const CacheElem&) ;
} ; } ;
mutable RooObjCacheManager _cacheMgr ; // The cache manager mutable RooObjCacheManager _cacheMgr ; // The cache manager
void rearrangeProduct(CacheElem&) const;
RooAbsReal* specializeIntegral(RooAbsReal& orig, const char* targetRangeN
ame) const ;
RooAbsReal* specializeRatio(RooFormulaVar& input, const char* targetRange
Name) const ;
Double_t calculate(const RooProdPdf::CacheElem& cache, Bool_t verbose=kFA
LSE) const ;
Double_t calculate(const RooArgList* partIntList, const RooLinkedList* no
rmSetList) const ;
friend class RooProdGenContext ; friend class RooProdGenContext ;
virtual RooAbsGenContext* genContext(const RooArgSet &vars, const RooData Set *prototype=0, virtual RooAbsGenContext* genContext(const RooArgSet &vars, const RooData Set *prototype=0,
const RooArgSet *auxProto=0, Bool_t v erbose= kFALSE) const ; const RooArgSet *auxProto=0, Bool_t v erbose= kFALSE) const ;
RooArgSet* findPdfNSet(RooAbsPdf& pdf) const ; RooArgSet* findPdfNSet(RooAbsPdf& pdf) const ;
mutable RooAICRegistry _genCode ; //! Registry of composite direct genera tor codes mutable RooAICRegistry _genCode ; //! Registry of composite direct genera tor codes
mutable RooArgSet* _curNormSet ; //! mutable RooArgSet* _curNormSet ; //!
Double_t _cutOff ; // Cutoff parameter for running product Double_t _cutOff ; // Cutoff parameter for running product
RooListProxy _pdfList ; // List of PDF components RooListProxy _pdfList ; // List of PDF components
RooLinkedList _pdfNSetList ; // List of PDF component normalization sets RooLinkedList _pdfNSetList ; // List of PDF component normalization sets
TIterator* _pdfIter ; //! Iterator of PDF list TIterator* _pdfIter ; //! Iterator of PDF list
Int_t _extendedIndex ; // Index of extended PDF (if any) Int_t _extendedIndex ; // Index of extended PDF (if any)
void useDefaultGen(Bool_t flag=kTRUE) { _useDefaultGen = flag ; } void useDefaultGen(Bool_t flag=kTRUE) { _useDefaultGen = flag ; }
Bool_t _useDefaultGen ; // Use default or distributed event generator Bool_t _useDefaultGen ; // Use default or distributed event generator
mutable TNamed* _refRangeName ; // Reference range name for interpretatio
n of conditional products
Bool_t _selfNorm ; // Is self-normalized
RooArgSet _defNormSet ; // Default normalization set
private: private:
ClassDef(RooProdPdf,1) // PDF representing a product of PDFs ClassDef(RooProdPdf,4) // PDF representing a product of PDFs
}; };
#endif #endif
 End of changes. 13 change blocks. 
11 lines changed or deleted 46 lines changed or added


 RooProduct.h   RooProduct.h 
skipping to change at line 44 skipping to change at line 44
RooProduct(const char *name, const char *title, const RooArgSet& _prodSet ) ; RooProduct(const char *name, const char *title, const RooArgSet& _prodSet ) ;
RooProduct(const RooProduct& other, const char* name = 0); RooProduct(const RooProduct& other, const char* name = 0);
virtual TObject* clone(const char* newname) const { return new RooProduct (*this, newname); } virtual TObject* clone(const char* newname) const { return new RooProduct (*this, newname); }
virtual Bool_t forceAnalyticalInt(const RooAbsArg& dep) const ; virtual Bool_t forceAnalyticalInt(const RooAbsArg& dep) const ;
virtual Int_t getAnalyticalIntegralWN(RooArgSet& allVars, RooArgSet& anal Vars, virtual Int_t getAnalyticalIntegralWN(RooArgSet& allVars, RooArgSet& anal Vars,
const RooArgSet* normSet , const RooArgSet* normSet ,
const char* rangeName=0) const ; const char* rangeName=0) const ;
virtual Double_t analyticalIntegral(Int_t code, const char* rangeName=0) const; virtual Double_t analyticalIntegral(Int_t code, const char* rangeName=0) const;
RooArgSet components() { RooArgSet tmp(_compRSet) ; tmp.add(_compCSet) ;
return tmp ; }
virtual ~RooProduct() ; virtual ~RooProduct() ;
class ProdMap ; class ProdMap ;
void printMetaArgs(ostream& os) const ; void printMetaArgs(ostream& os) const ;
protected: protected:
RooSetProxy _compRSet ; RooSetProxy _compRSet ;
RooSetProxy _compCSet ; RooSetProxy _compCSet ;
 End of changes. 1 change blocks. 
0 lines changed or deleted 3 lines changed or added


 RooRealIntegral.h   RooRealIntegral.h 
skipping to change at line 53 skipping to change at line 53
Bool_t isValid() const { return _valid; } Bool_t isValid() const { return _valid; }
void printMultiline(ostream& os, Int_t contents, Bool_t verbose=kFALSE, T String indent="") const ; void printMultiline(ostream& os, Int_t contents, Bool_t verbose=kFALSE, T String indent="") const ;
void printMetaArgs(ostream& os) const ; void printMetaArgs(ostream& os) const ;
const RooArgSet& numIntCatVars() const { return _sumList ; } const RooArgSet& numIntCatVars() const { return _sumList ; }
const RooArgSet& numIntRealVars() const { return _intList ; } const RooArgSet& numIntRealVars() const { return _intList ; }
const RooArgSet& anaIntVars() const { return _anaList ; } const RooArgSet& anaIntVars() const { return _anaList ; }
RooArgSet intVars() const { RooArgSet tmp(_sumList) ; tmp.add(_intList) ;
tmp.add(_anaList) ; tmp.add(_facList) ; return tmp ; }
const char* intRange() { return _rangeName ? _rangeName->GetName() : 0 ;
}
const RooAbsReal& integrand() const { return _function.arg() ; }
void setCacheNumeric(Bool_t flag) { void setCacheNumeric(Bool_t flag) {
// If true, value of this interal is cached if it is (partially numeric ) // If true, value of this interal is cached if it is (partially numeric )
_cacheNum = flag ; _cacheNum = flag ;
} }
Bool_t getCacheNumeric() { Bool_t getCacheNumeric() {
// If true, value of this interal is cached if it is (partially numeric ) // If true, value of this interal is cached if it is (partially numeric )
return _cacheNum ; return _cacheNum ;
} }
 End of changes. 1 change blocks. 
0 lines changed or deleted 6 lines changed or added


 RooRealMPFE.h   RooRealMPFE.h 
skipping to change at line 67 skipping to change at line 67
RooRealProxy _arg ; // Function to calculate in parallel process RooRealProxy _arg ; // Function to calculate in parallel process
RooListProxy _vars ; // Variables RooListProxy _vars ; // Variables
RooArgList _saveVars ; // Copy of variables RooArgList _saveVars ; // Copy of variables
mutable Bool_t _calcInProgress ; mutable Bool_t _calcInProgress ;
Bool_t _verboseClient ; Bool_t _verboseClient ;
Bool_t _verboseServer ; Bool_t _verboseServer ;
Bool_t _inlineMode ; Bool_t _inlineMode ;
mutable Bool_t _forceCalc ; mutable Bool_t _forceCalc ;
mutable Bool_t _remoteEvalErrorLoggingState ; mutable RooAbsReal::ErrorLoggingMode _remoteEvalErrorLoggingState ;
Int_t _pid ; // PID of child process Int_t _pid ; // PID of child process
Int_t _pipeToClient[2] ; // Pipe to client process Int_t _pipeToClient[2] ; // Pipe to client process
Int_t _pipeToServer[2] ; // Pipe to server process Int_t _pipeToServer[2] ; // Pipe to server process
static RooMPSentinel _sentinel ; static RooMPSentinel _sentinel ;
ClassDef(RooRealMPFE,1) // Multi-process front-end for parallel calculati on of a real valued function ClassDef(RooRealMPFE,1) // Multi-process front-end for parallel calculati on of a real valued function
}; };
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 RooStatsUtils.h   RooStatsUtils.h 
// @(#)root/roostats:$Id: RooStatsUtils.h 30462 2009-09-25 16:05:55Z moneta $ // @(#)root/roostats:$Id: RooStatsUtils.h 34109 2010-06-24 15:00:16Z moneta $
// Author: Kyle Cranmer 28/07/2008 // Author: Kyle Cranmer 28/07/2008
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 35 skipping to change at line 35
#include "RooAbsCollection.h" #include "RooAbsCollection.h"
#include "TIterator.h" #include "TIterator.h"
#include <iostream> #include <iostream>
using namespace std ; using namespace std ;
namespace RooStats { namespace RooStats {
// returns one-sided significance corresponding to a p-value // returns one-sided significance corresponding to a p-value
inline Double_t PValueToSignificance(Double_t pvalue){ inline Double_t PValueToSignificance(Double_t pvalue){
// return sqrt(2.)*TMath::ErfInverse(1 - 2.*pvalue); return ::ROOT::Math::normal_quantile_c(pvalue,1);
return TMath::Abs(::ROOT::Math::normal_quantile(pvalue,1) );
} }
// returns p-value corresponding to a 1-sided significance // returns p-value corresponding to a 1-sided significance
inline Double_t SignificanceToPValue(Double_t Z){ inline Double_t SignificanceToPValue(Double_t Z){
// return .5*TMath::Erfc( Z /sqrt(2.));
return ::ROOT::Math::normal_cdf_c(Z); return ::ROOT::Math::normal_cdf_c(Z);
} }
inline void SetParameters(const RooArgSet* desiredVals, RooArgSet* params ToChange){ inline void SetParameters(const RooArgSet* desiredVals, RooArgSet* params ToChange){
*paramsToChange=*desiredVals ; *paramsToChange=*desiredVals ;
} }
inline void RemoveConstantParameters(RooArgSet* set){ inline void RemoveConstantParameters(RooArgSet* set){
RooArgSet constSet; RooArgSet constSet;
TIter it = set->createIterator(); TIter it = set->createIterator();
RooRealVar *myarg; RooRealVar *myarg;
while ((myarg = (RooRealVar *)it.Next())) { while ((myarg = (RooRealVar *)it.Next())) {
if(!myarg) continue; if(!myarg) continue;
if(myarg->isConstant()) constSet.add(*myarg); if(myarg->isConstant()) constSet.add(*myarg);
} }
set->remove(constSet); set->remove(constSet);
} }
// Assuming all values in set are RooRealVars, randomize their values. // assuming all values in set are RooRealVars, randomize their values
// Do not
inline void RandomizeCollection(RooAbsCollection& set, inline void RandomizeCollection(RooAbsCollection& set,
Bool_t randomizeConstants = kTRUE) Bool_t randomizeConstants = kTRUE)
{ {
TIterator* it = set.createIterator(); TIterator* it = set.createIterator();
RooRealVar* var; RooRealVar* var;
while ((var = (RooRealVar*)it->Next()) != NULL) while ((var = (RooRealVar*)it->Next()) != NULL)
if (!var->isConstant() || randomizeConstants) if (!var->isConstant() || randomizeConstants)
var->randomize(); var->randomize();
delete it;
} }
} }
#endif #endif
 End of changes. 5 change blocks. 
6 lines changed or deleted 5 lines changed or added


 RooTreeDataStore.h   RooTreeDataStore.h 
/************************************************************************** *** /************************************************************************** ***
* Project: RooFit * * Project: RooFit *
* Package: RooFitCore * * Package: RooFitCore *
* File: $Id: RooTreeDataStore.h 31258 2009-11-17 22:41:06Z wouter $ * File: $Id: RooTreeDataStore.h 34064 2010-06-22 15:05:19Z wouter $
* Authors: * * Authors: *
* WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu * * WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu *
* DK, David Kirkby, UC Irvine, dkirkby@uci.edu * * DK, David Kirkby, UC Irvine, dkirkby@uci.edu *
* * * *
* Copyright (c) 2000-2005, Regents of the University of California * * Copyright (c) 2000-2005, Regents of the University of California *
* and Stanford University. All rights reserved. * * and Stanford University. All rights reserved. *
* * * *
* Redistribution and use in source and binary forms, * * Redistribution and use in source and binary forms, *
* with or without modification, are permitted according to the terms * * with or without modification, are permitted according to the terms *
* listed in LICENSE (http://roofit.sourceforge.net/license.txt) * * listed in LICENSE (http://roofit.sourceforge.net/license.txt) *
skipping to change at line 114 skipping to change at line 114
virtual void checkInit() const; virtual void checkInit() const;
void setExternalWeightArray(Double_t* arrayWgt, Double_t* arrayWgtErrLo, Double_t* arrayWgtErrHi, Double_t* arraySumW2) { void setExternalWeightArray(Double_t* arrayWgt, Double_t* arrayWgtErrLo, Double_t* arrayWgtErrHi, Double_t* arraySumW2) {
_extWgtArray = arrayWgt ; _extWgtArray = arrayWgt ;
_extWgtErrLoArray = arrayWgtErrLo ; _extWgtErrLoArray = arrayWgtErrLo ;
_extWgtErrHiArray = arrayWgtErrHi ; _extWgtErrHiArray = arrayWgtErrHi ;
_extSumW2Array = arraySumW2 ; _extSumW2Array = arraySumW2 ;
} }
const RooArgSet& row() { return _varsww ; }
protected: protected:
RooArgSet varsNoWeight(const RooArgSet& allVars, const char* wgtName=0) ; RooArgSet varsNoWeight(const RooArgSet& allVars, const char* wgtName=0) ;
RooRealVar* weightVar(const RooArgSet& allVars, const char* wgtName=0) ; RooRealVar* weightVar(const RooArgSet& allVars, const char* wgtName=0) ;
void initialize(); void initialize();
void attachCache(const RooAbsArg* newOwner, const RooArgSet& cachedVars) ; void attachCache(const RooAbsArg* newOwner, const RooArgSet& cachedVars) ;
// TTree Branch buffer size control // TTree Branch buffer size control
void setBranchBufferSize(Int_t size) { _defTreeBufSize = size ; } void setBranchBufferSize(Int_t size) { _defTreeBufSize = size ; }
 End of changes. 2 change blocks. 
1 lines changed or deleted 3 lines changed or added


 RuleEnsemble.h   RuleEnsemble.h 
// @(#)root/tmva $Id: RuleEnsemble.h 31458 2009-11-30 13:58:20Z stelzer $ // @(#)root/tmva $Id: RuleEnsemble.h 33928 2010-06-15 16:19:31Z stelzer $
// Author: Andreas Hoecker, Joerg Stelzer, Fredrik Tegenfeldt, Helge Voss // Author: Andreas Hoecker, Joerg Stelzer, Fredrik Tegenfeldt, Helge Voss
/************************************************************************** ******** /************************************************************************** ********
* Project: TMVA - a Root-integrated toolkit for multivariate data analysis * * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
* Package: TMVA * * Package: TMVA *
* Class : RuleEnsemble * * Class : RuleEnsemble *
* Web : http://tmva.sourceforge.net * * Web : http://tmva.sourceforge.net *
* * * *
* Description: * * Description: *
* A class generating an ensemble of rules * * A class generating an ensemble of rules *
skipping to change at line 61 skipping to change at line 61
#ifndef ROOT_TMVA_Types #ifndef ROOT_TMVA_Types
#include "TMVA/Types.h" #include "TMVA/Types.h"
#endif #endif
class TH1F; class TH1F;
namespace TMVA { namespace TMVA {
class TBits; class TBits;
class MethodBase; class MethodBase;
class MethodRuleFit;
class RuleFit; class RuleFit;
class MethodRuleFit;
class RuleEnsemble; class RuleEnsemble;
class MsgLogger; class MsgLogger;
ostream& operator<<( ostream& os, const RuleEnsemble& event ); ostream& operator<<( ostream& os, const RuleEnsemble& event );
class RuleEnsemble { class RuleEnsemble {
// output operator for a RuleEnsemble // output operator for a RuleEnsemble
friend ostream& operator<< ( ostream& os, const RuleEnsemble& rules ) ; friend ostream& operator<< ( ostream& os, const RuleEnsemble& rules ) ;
 End of changes. 3 change blocks. 
2 lines changed or deleted 2 lines changed or added


 RuleFitParams.h   RuleFitParams.h 
// @(#)root/tmva $Id: RuleFitParams.h 29195 2009-06-24 10:39:49Z brun $ // @(#)root/tmva $Id: RuleFitParams.h 33928 2010-06-15 16:19:31Z stelzer $
// Author: Andreas Hoecker, Joerg Stelzer, Fredrik Tegenfeldt, Helge Voss // Author: Andreas Hoecker, Joerg Stelzer, Fredrik Tegenfeldt, Helge Voss
/************************************************************************** ******** /************************************************************************** ********
* Project: TMVA - a Root-integrated toolkit for multivariate data analysis * * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
* Package: TMVA * * Package: TMVA *
* Class : RuleFitParams * * Class : RuleFitParams *
* Web : http://tmva.sourceforge.net * * Web : http://tmva.sourceforge.net *
* * * *
* Description: * * Description: *
* A class doing the actual fitting of a linear model using rules as * * A class doing the actual fitting of a linear model using rules as *
skipping to change at line 55 skipping to change at line 55
#ifndef ROOT_TMVA_Event #ifndef ROOT_TMVA_Event
#include "TMVA/Event.h" #include "TMVA/Event.h"
#endif #endif
class TTree; class TTree;
namespace TMVA { namespace TMVA {
class RuleEnsemble; class RuleEnsemble;
class RuleFit;
class MsgLogger; class MsgLogger;
class RuleFit;
class RuleFitParams { class RuleFitParams {
public: public:
RuleFitParams(); RuleFitParams();
virtual ~RuleFitParams(); virtual ~RuleFitParams();
void Init(); void Init();
// set message type // set message type
skipping to change at line 97 skipping to change at line 96
// GD path: set number of steps in tau search range // GD path: set number of steps in tau search range
void SetGDTauScan( UInt_t n ) { fGDTauScan = n; } void SetGDTauScan( UInt_t n ) { fGDTauScan = n; }
// GD path: set tau // GD path: set tau
void SetGDTau( Double_t t ) { fGDTau = t; } void SetGDTau( Double_t t ) { fGDTau = t; }
void SetGDErrScale( Double_t s ) { fGDErrScale = s; } void SetGDErrScale( Double_t s ) { fGDErrScale = s; }
void SetGDTauPrec( Double_t p ) { fGDTauPrec=p; CalcGDNTau(); fGDTau Vec.resize(fGDNTau); } void SetGDTauPrec( Double_t p ) { fGDTauPrec=p; CalcGDNTau(); fGDTau Vec.resize(fGDNTau); }
// return type such that +1 = signal and -1 = background // return type such that +1 = signal and -1 = background
Int_t Type( const Event * e ) const { return (e->IsSignal() ? 1:-1); } Int_t Type( const Event * e ) const; // return (fRuleFit->GetMethodRu leFit()->DataInfo().IsSignal(e) ? 1:-1); }
// //
UInt_t GetPathIdx1() const { return fPathI dx1; } UInt_t GetPathIdx1() const { return fPathI dx1; }
UInt_t GetPathIdx2() const { return fPathI dx2; } UInt_t GetPathIdx2() const { return fPathI dx2; }
UInt_t GetPerfIdx1() const { return fPerfI dx1; } UInt_t GetPerfIdx1() const { return fPerfI dx1; }
UInt_t GetPerfIdx2() const { return fPerfI dx2; } UInt_t GetPerfIdx2() const { return fPerfI dx2; }
// Loss function; Huber loss eq 33 // Loss function; Huber loss eq 33
Double_t LossFunction( const Event& e ) const; Double_t LossFunction( const Event& e ) const;
// same but using evt idx (faster) // same but using evt idx (faster)
 End of changes. 4 change blocks. 
4 lines changed or deleted 3 lines changed or added


 SamplingDistPlot.h   SamplingDistPlot.h 
// @(#)root/roostats:$Id: SamplingDistPlot.h 31276 2009-11-18 15:06:42Z mon // @(#)root/roostats:$Id: SamplingDistPlot.h 34109 2010-06-24 15:00:16Z mon
eta $ eta $
// Authors: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke
/************************************************************************* /*************************************************************************
* Project: RooStats *
* Package: RooFit/RooStats *
* Authors: *
* Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke *
*************************************************************************
* Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
#ifndef ROOSTATS_SamplingDistPlot #ifndef ROOSTATS_SamplingDistPlot
#define ROOSTATS_SamplingDistPlot #define ROOSTATS_SamplingDistPlot
#include "RooList.h" #include "RooList.h"
#include "RooPrintable.h" #include "RooPrintable.h"
#include "TNamed.h" #include "TNamed.h"
#include "TIterator.h" #include "TIterator.h"
#include "TH1F.h" #include "TH1F.h"
#include "TLegend.h"
#ifndef ROOSTATS_SamplingDistribution
#include "RooStats/SamplingDistribution.h" #include "RooStats/SamplingDistribution.h"
#endif
#ifndef ROO_PLOT
#include "RooPlot.h"
#endif
namespace RooStats { namespace RooStats {
class SamplingDistPlot : public TNamed, public RooPrintable { class SamplingDistPlot : public TNamed, public RooPrintable {
public: public:
SamplingDistPlot();
// Constructors for SamplingDistribution // Constructors for SamplingDistribution
SamplingDistPlot(const Int_t nbins); SamplingDistPlot(const Int_t nbins = 100);
SamplingDistPlot(const char* name, const char* title, Int_t nbins, Doub le_t xmin, Double_t xmax); SamplingDistPlot(const char* name, const char* title, Int_t nbins, Doub le_t xmin, Double_t xmax);
// Destructor of SamplingDistribution // Destructor of SamplingDistribution
virtual ~SamplingDistPlot(); virtual ~SamplingDistPlot();
void AddSamplingDistribution(const SamplingDistribution *samplingDist, // adds the sampling distribution and returns the scale factor
Option_t *drawOptions=0); Double_t AddSamplingDistribution(const SamplingDistribution *samplingDi
st, Option_t *drawOptions=0);
// Like AddSamplingDistribution, but also sets a shaded area in the
// minShaded and maxShaded boundaries.
Double_t AddSamplingDistributionShaded(const SamplingDistribution *samp
lingDist, Double_t minShaded, Double_t maxShaded, Option_t *drawOptions);
// add a line
void AddLine(Double_t x1, Double_t y1, Double_t x2, Double_t y2, const
char* title = NULL);
void Draw(const Option_t *options=0); void Draw(const Option_t *options=0);
// Applies a predefined style if fApplyStyle is kTRUE (default).
void ApplyDefaultStyle(void);
void SetLineColor(const Color_t color, const SamplingDistribution *samp lDist = 0); void SetLineColor(const Color_t color, const SamplingDistribution *samp lDist = 0);
void SetLineWidth(const Width_t lwidth, const SamplingDistribution *sam plDist = 0); void SetLineWidth(const Width_t lwidth, const SamplingDistribution *sam plDist = 0);
void SetLineStyle(const Style_t style, const SamplingDistribution *samp lDist = 0); void SetLineStyle(const Style_t style, const SamplingDistribution *samp lDist = 0);
void SetMarkerColor(const Color_t color, const SamplingDistribution *sa mplDist = 0); void SetMarkerColor(const Color_t color, const SamplingDistribution *sa mplDist = 0);
void SetMarkerStyle(const Style_t style, const SamplingDistribution *sa mplDist = 0); void SetMarkerStyle(const Style_t style, const SamplingDistribution *sa mplDist = 0);
void SetMarkerSize(const Size_t size, const SamplingDistribution *sampl Dist = 0); void SetMarkerSize(const Size_t size, const SamplingDistribution *sampl Dist = 0);
void RebinDistribution(const Int_t rebinFactor, const SamplingDistribut ion *samplDist = 0); void RebinDistribution(const Int_t rebinFactor, const SamplingDistribut ion *samplDist = 0);
void SetAxisTitle(char *varName) {fVarName = TString(varName);} void SetAxisTitle(char *varName) { fVarName = TString(varName); }
private: // If you do not want SamplingDistPlot to interfere with your style set
tings, call this
// function with "false" before Draw().
void SetApplyStyle(const Bool_t s) { fApplyStyle = s; }
// Returns the TH1F associated with the give SamplingDistribution.
// Intended use: Access to member functions of TH1F like GetMean(),
// GetRMS() etc.
TH1F* GetTH1F(const SamplingDistribution *samplDist);
// changes plot to log scale on x axis
void SetLogXaxis(const Bool_t lx) { fLogXaxis = lx; }
// changes plot to log scale on y axis
void SetLogYaxis(const Bool_t ly) { fLogYaxis = ly; }
// write to Root file
void DumpToFile(const char* RootFileName, Option_t *option="", const ch
ar *ftitle="", Int_t compress=1);
private:
std::vector<Double_t> fSamplingDistr; std::vector<Double_t> fSamplingDistr;
std::vector<Double_t> fSampleWeights; std::vector<Double_t> fSampleWeights;
Bool_t fIsWeighted; Bool_t fIsWeighted;
Int_t fbins; Int_t fBins;
Int_t fMarkerType; Int_t fMarkerType;
Int_t fColor; Int_t fColor;
TString fVarName; TString fVarName;
protected: protected:
TH1F* fhist; TH1F* fHist;
TLegend *fLegend;
RooList fItems; // holds TH1Fs only
RooList fOtherItems; // other objects to be drawn like TLine etc.
TIterator* fIterator; // TODO remove class variable and instantiate loc
ally as necessary
RooPlot* fRooPlot;
Bool_t fLogXaxis;
Bool_t fLogYaxis;
RooList fItems; Bool_t fApplyStyle;
TIterator* fIterator; Style_t fFillStyle;
void SetSampleWeights(const SamplingDistribution *samplingDist); void SetSampleWeights(const SamplingDistribution *samplingDist);
void addObject(TObject *obj, Option_t *drawOptions=0); void addObject(TObject *obj, Option_t *drawOptions=0); // for TH1Fs onl
y
void addOtherObject(TObject *obj, Option_t *drawOptions=0);
void GetAbsoluteInterval(Float_t &theMin, Float_t &theMax, Float_t &the YMax) const; void GetAbsoluteInterval(Float_t &theMin, Float_t &theMax, Float_t &the YMax) const;
ClassDef(SamplingDistPlot,1) // Class containing the results of the Hy bridCalculator ClassDef(SamplingDistPlot,1) // Class containing the results of the Hy bridCalculator
}; };
} }
#endif #endif
 End of changes. 16 change blocks. 
20 lines changed or deleted 61 lines changed or added


 SamplingDistribution.h   SamplingDistribution.h 
// @(#)root/roostats:$Id: SamplingDistribution.h 31276 2009-11-18 15:06:42Z moneta $ // @(#)root/roostats:$Id: SamplingDistribution.h 34109 2010-06-24 15:00:16Z moneta $
/************************************************************************* /*************************************************************************
* Project: RooStats * * Project: RooStats *
* Package: RooFit/RooStats * * Package: RooFit/RooStats *
* Authors: * * Authors: *
* Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke * * Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke *
************************************************************************* *************************************************************************
* Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
skipping to change at line 57 skipping to change at line 57
Double_t InverseCDF(Double_t pvalue); Double_t InverseCDF(Double_t pvalue);
// get the inverse of the Cumulative distribution function // get the inverse of the Cumulative distribution function
Double_t InverseCDFInterpolate(Double_t pvalue); Double_t InverseCDFInterpolate(Double_t pvalue);
// get the inverse of the Cumulative distribution function // get the inverse of the Cumulative distribution function
// together with the inverse based on sampling variation // together with the inverse based on sampling variation
Double_t InverseCDF(Double_t pvalue, Double_t sigmaVariaton, Double_t& inverseVariation); Double_t InverseCDF(Double_t pvalue, Double_t sigmaVariaton, Double_t& inverseVariation);
// merge two sampling distributions // merge two sampling distributions
void Add(SamplingDistribution* other); void Add(const SamplingDistribution* other);
// size of samples // size of samples
Int_t GetSize() const{return fSamplingDist.size();} Int_t GetSize() const{return fSamplingDist.size();}
// Get test statistics values // Get test statistics values
std::vector<Double_t> GetSamplingDistribution() const {return fSampling Dist;} std::vector<Double_t> GetSamplingDistribution() const {return fSampling Dist;}
// Get the sampling weights // Get the sampling weights
std::vector<Double_t> GetSampleWeights() const {return fSampleWeights;} std::vector<Double_t> GetSampleWeights() const {return fSampleWeights;}
const TString GetVarName() const {return fVarName;} const TString GetVarName() const {return fVarName;}
// numerical integral in these limits
Double_t Integral(Double_t low, Double_t high, Bool_t normalize = kTRUE
) const;
private: private:
std::vector<Double_t> fSamplingDist; // vector of points for the sampli ng distribution std::vector<Double_t> fSamplingDist; // vector of points for the sampli ng distribution
std::vector<Double_t> fSampleWeights; // vector of weights for the samp les std::vector<Double_t> fSampleWeights; // vector of weights for the samp les
// store a RooRealVar that this distribution corresponds to? // store a RooRealVar that this distribution corresponds to?
TString fVarName; TString fVarName;
protected: protected:
ClassDef(SamplingDistribution,1) // Class containing the results of th e HybridCalculator ClassDef(SamplingDistribution,1) // Class containing the results of th e HybridCalculator
 End of changes. 3 change blocks. 
2 lines changed or deleted 6 lines changed or added


 SpecFuncMathCore.h   SpecFuncMathCore.h 
// @(#)root/mathcore:$Id: SpecFuncMathCore.h 21129 2007-11-30 14:41:10Z mon eta $ // @(#)root/mathcore:$Id: SpecFuncMathCore.h 33348 2010-05-03 15:20:49Z mon eta $
// Authors: Andras Zsenei & Lorenzo Moneta 06/2005 // Authors: Andras Zsenei & Lorenzo Moneta 06/2005
/********************************************************************** /**********************************************************************
* * * *
* Copyright (c) 2005 , LCG ROOT MathLib Team * * Copyright (c) 2005 , LCG ROOT MathLib Team *
* * * *
* * * *
**********************************************************************/ **********************************************************************/
/** /**
skipping to change at line 173 skipping to change at line 173
<A HREF="http://mathworld.wolfram.com/RegularizedBetaFunction.html"> <A HREF="http://mathworld.wolfram.com/RegularizedBetaFunction.html">
Mathworld</A>. Mathworld</A>.
The implementation used is that of <A HREF="http://www.netlib.org/cephe s">Cephes</A> from S. Moshier. The implementation used is that of <A HREF="http://www.netlib.org/cephe s">Cephes</A> from S. Moshier.
@ingroup SpecFunc @ingroup SpecFunc
*/ */
double inc_beta( double x, double a, double b); double inc_beta( double x, double a, double b);
/**
Calculates the sine integral.
\f[ Si(x) = - \int_{0}^{x} \frac{\sin t}{t} dt \f]
For detailed description see
<A HREF="http://mathworld.wolfram.com/SineIntegral.html">
Mathworld</A>. The implementation used is that of
<A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/c336/top.html
">
CERNLIB</A>,
based on Y.L. Luke, The special functions and their approximations, v.II,
(Academic Press, New York l969) 325-326.
@ingroup SpecFunc
*/
double sinint(double x);
/**
Calculates the real part of the cosine integral \Re(Ci).
For x<0, the imaginary part is \pi i and has to be added by the user,
for x>0 the imaginary part of Ci(x) is 0.
\f[ Ci(x) = - \int_{x}^{\infty} \frac{\cos t}{t} dt = \gamma + \ln x + \i
nt_{0}^{x} \frac{\cos t - 1}{t} dt\f]
For detailed description see
<A HREF="http://mathworld.wolfram.com/CosineIntegral.html">
Mathworld</A>. The implementation used is that of
<A HREF="http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/c336/top.html
">
CERNLIB</A>,
based on Y.L. Luke, The special functions and their approximations, v.II,
(Academic Press, New York l969) 325-326.
@ingroup SpecFunc
*/
double cosint(double x);
} // namespace Math } // namespace Math
} // namespace ROOT } // namespace ROOT
#endif // ROOT_Math_SpecFuncMathCore #endif // ROOT_Math_SpecFuncMathCore
#endif // if defined (__CINT__) && !defined(__MAKECINT__) #endif // if defined (__CINT__) && !defined(__MAKECINT__)
 End of changes. 2 change blocks. 
1 lines changed or deleted 47 lines changed or added


 SpecFuncMathMore.h   SpecFuncMathMore.h 
// @(#)root/mathmore:$Id: SpecFuncMathMore.h 21129 2007-11-30 14:41:10Z mon eta $ // @(#)root/mathmore:$Id: SpecFuncMathMore.h 34054 2010-06-22 12:27:30Z mon eta $
// Authors: L. Moneta, A. Zsenei 08/2005 // Authors: L. Moneta, A. Zsenei 08/2005
// Authors: Andras Zsenei & Lorenzo Moneta 06/2005 // Authors: Andras Zsenei & Lorenzo Moneta 06/2005
/********************************************************************** /**********************************************************************
* * * *
* Copyright (c) 2004 ROOT Foundation, CERN/PH-SFT * * Copyright (c) 2004 ROOT Foundation, CERN/PH-SFT *
* * * *
* This library is free software; you can redistribute it and/or * * This library is free software; you can redistribute it and/or *
* modify it under the terms of the GNU General Public License * * modify it under the terms of the GNU General Public License *
skipping to change at line 539 skipping to change at line 539
Mathworld</A>. The implementation used is that of Mathworld</A>. The implementation used is that of
<A HREF="http://www.gnu.org/software/gsl/manual/gsl-ref_7.html#SEC74">GSL </A>. <A HREF="http://www.gnu.org/software/gsl/manual/gsl-ref_7.html#SEC74">GSL </A>.
@ingroup SpecFunc @ingroup SpecFunc
*/ */
// [5.2.1.23] spherical Neumann functions // [5.2.1.23] spherical Neumann functions
double sph_neumann(unsigned n, double x); double sph_neumann(unsigned n, double x);
/**
Calculates the Airy function Ai
\f[ Ai(x) = \frac{1}{\pi} \int\limits_{0}^{\infty} \cos(xt + t^3/3) dt \f
]
For detailed description see
<A HREF="http://mathworld.wolfram.com/AiryFunctions.html">
Mathworld</A>
and <A HREF="http://www.nrbook.com/abramowitz_and_stegun/page_446.htm">Ab
ramowitz&Stegun, Sect. 10.4</A>.
The implementation used is that of
<A HREF="http://www.gnu.org/software/gsl/manual/html_node/Airy-Functions.
html">GSL</A>.
@ingroup SpecFunc
*/
// Airy function Ai
double airy_Ai(double x);
/**
Calculates the Airy function Bi
\f[ Bi(x) = \frac{1}{\pi} \int\limits_{0}^{\infty} [\exp(xt-t^3/3) + \cos
(xt + t^3/3)] dt \f]
For detailed description see
<A HREF="http://mathworld.wolfram.com/AiryFunctions.html">
Mathworld</A>
and <A HREF="http://www.nrbook.com/abramowitz_and_stegun/page_446.htm">Ab
ramowitz&Stegun, Sect. 10.4</A>.
The implementation used is that of
<A HREF="http://www.gnu.org/software/gsl/manual/html_node/Airy-Functions.
html">GSL</A>.
@ingroup SpecFunc
*/
// Airy function Bi
double airy_Bi(double x);
/**
Calculates the derivative of the Airy function Ai
\f[ Ai(x) = \frac{1}{\pi} \int\limits_{0}^{\infty} \cos(xt + t^3/3) dt \f
]
For detailed description see
<A HREF="http://mathworld.wolfram.com/AiryFunctions.html">
Mathworld</A>
and <A HREF="http://www.nrbook.com/abramowitz_and_stegun/page_446.htm">Ab
ramowitz&Stegun, Sect. 10.4</A>.
The implementation used is that of
<A HREF="http://www.gnu.org/software/gsl/manual/html_node/Derivatives-of-
Airy-Functions.html">GSL</A>.
@ingroup SpecFunc
*/
// Derivative of the Airy function Ai
double airy_Ai_deriv(double x);
/**
Calculates the derivative of the Airy function Bi
\f[ Bi(x) = \frac{1}{\pi} \int\limits_{0}^{\infty} [\exp(xt-t^3/3) + \cos
(xt + t^3/3)] dt \f]
For detailed description see
<A HREF="http://mathworld.wolfram.com/AiryFunctions.html">
Mathworld</A>
and <A HREF="http://www.nrbook.com/abramowitz_and_stegun/page_446.htm">Ab
ramowitz&Stegun, Sect. 10.4</A>.
The implementation used is that of
<A HREF="http://www.gnu.org/software/gsl/manual/html_node/Derivatives-of-
Airy-Functions.html">GSL</A>.
@ingroup SpecFunc
*/
// Derivative of the Airy function Bi
double airy_Bi_deriv(double x);
/**
Calculates the zeroes of the Airy function Ai
\f[ Ai(x) = \frac{1}{\pi} \int\limits_{0}^{\infty} \cos(xt + t^3/3) dt \f
]
For detailed description see
<A HREF="http://mathworld.wolfram.com/AiryFunctionZeros.html">
Mathworld</A>
and <A HREF="http://www.nrbook.com/abramowitz_and_stegun/page_446.htm">Ab
ramowitz&Stegun, Sect. 10.4</A>.
The implementation used is that of
<A HREF="http://www.gnu.org/software/gsl/manual/html_node/Zeros-of-Airy-F
unctions.html">GSL</A>.
@ingroup SpecFunc
*/
// s-th zero of the Airy function Ai
double airy_zero_Ai(unsigned int s);
/**
Calculates the zeroes of the Airy function Bi
\f[ Bi(x) = \frac{1}{\pi} \int\limits_{0}^{\infty} [\exp(xt-t^3/3) + \cos
(xt + t^3/3)] dt \f]
For detailed description see
<A HREF="http://mathworld.wolfram.com/AiryFunctionZeros.html">
Mathworld</A>
and <A HREF="http://www.nrbook.com/abramowitz_and_stegun/page_446.htm">Ab
ramowitz&Stegun, Sect. 10.4</A>.
The implementation used is that of
<A HREF="http://www.gnu.org/software/gsl/manual/html_node/Zeros-of-Airy-F
unctions.html">GSL</A>.
@ingroup SpecFunc
*/
// s-th zero of the Airy function Bi
double airy_zero_Bi(unsigned int s);
/**
Calculates the zeroes of the derivative of the Airy function Ai
\f[ Ai(x) = \frac{1}{\pi} \int\limits_{0}^{\infty} \cos(xt + t^3/3) dt \f
]
For detailed description see
<A HREF="http://mathworld.wolfram.com/AiryFunctionZeros.html">
Mathworld</A>
and <A HREF="http://www.nrbook.com/abramowitz_and_stegun/page_446.htm">Ab
ramowitz&Stegun, Sect. 10.4</A>.
The implementation used is that of
<A HREF="http://www.gnu.org/software/gsl/manual/html_node/Zeros-of-Deriva
tives-of-Airy-Functions.html">GSL</A>.
@ingroup SpecFunc
*/
// s-th zero of the derivative of the Airy function Ai
double airy_zero_Ai_deriv(unsigned int s);
/**
Calculates the zeroes of the derivative of the Airy function Bi
\f[ Bi(x) = \frac{1}{\pi} \int\limits_{0}^{\infty} [\exp(xt-t^3/3) + \cos
(xt + t^3/3)] dt \f]
For detailed description see
<A HREF="http://mathworld.wolfram.com/AiryFunctionZeros.html">
Mathworld</A>
and <A HREF="http://www.nrbook.com/abramowitz_and_stegun/page_446.htm">Ab
ramowitz&Stegun, Sect. 10.4</A>.
The implementation used is that of
<A HREF="http://www.gnu.org/software/gsl/manual/html_node/Zeros-of-Deriva
tives-of-Airy-Functions.html">GSL</A>.
@ingroup SpecFunc
*/
// s-th zero of the derivative of the Airy function Bi
double airy_zero_Bi_deriv(unsigned int s);
} // namespace Math } // namespace Math
} // namespace ROOT } // namespace ROOT
#endif //ROOT_Math_SpecFuncMathMore #endif //ROOT_Math_SpecFuncMathMore
#endif // if defined (__CINT__) && !defined(__MAKECINT__) #endif // if defined (__CINT__) && !defined(__MAKECINT__)
 End of changes. 2 change blocks. 
1 lines changed or deleted 185 lines changed or added


 TChain.h   TChain.h 
// @(#)root/tree:$Id: TChain.h 30121 2009-09-11 16:43:51Z pcanal $ // @(#)root/tree:$Id: TChain.h 33354 2010-05-03 19:46:03Z pcanal $
// Author: Rene Brun 03/02/97 // Author: Rene Brun 03/02/97
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 127 skipping to change at line 127
virtual void Loop(Option_t *option="", Long64_t nentries=kBigNumber , Long64_t firstentry=0); // *MENU* virtual void Loop(Option_t *option="", Long64_t nentries=kBigNumber , Long64_t firstentry=0); // *MENU*
virtual void ls(Option_t *option="") const; virtual void ls(Option_t *option="") const;
virtual Long64_t Merge(const char *name, Option_t *option = ""); virtual Long64_t Merge(const char *name, Option_t *option = "");
virtual Long64_t Merge(TCollection *list, Option_t *option = ""); virtual Long64_t Merge(TCollection *list, Option_t *option = "");
virtual Long64_t Merge(TFile *file, Int_t basketsize, Option_t *option= ""); virtual Long64_t Merge(TFile *file, Int_t basketsize, Option_t *option= "");
virtual void Print(Option_t *option="") const; virtual void Print(Option_t *option="") const;
virtual Long64_t Process(const char *filename, Option_t *option="", Lon g64_t nentries=kBigNumber, Long64_t firstentry=0); // *MENU* virtual Long64_t Process(const char *filename, Option_t *option="", Lon g64_t nentries=kBigNumber, Long64_t firstentry=0); // *MENU*
#ifndef __CINT__ #ifndef __CINT__
virtual Long64_t Process(TSelector *selector, Option_t *option="", Lon g64_t nentries=kBigNumber, Long64_t firstentry=0); virtual Long64_t Process(TSelector *selector, Option_t *option="", Lon g64_t nentries=kBigNumber, Long64_t firstentry=0);
#endif #endif
virtual void RecursiveRemove(TObject *obj);
virtual void Reset(Option_t *option=""); virtual void Reset(Option_t *option="");
virtual void ResetBranchAddress(TBranch *); virtual void ResetBranchAddress(TBranch *);
virtual void ResetBranchAddresses(); virtual void ResetBranchAddresses();
virtual Long64_t Scan(const char *varexp="", const char *selection="", Option_t *option="", Long64_t nentries=1000000000, Long64_t firstentry=0); // *MENU* virtual Long64_t Scan(const char *varexp="", const char *selection="", Option_t *option="", Long64_t nentries=1000000000, Long64_t firstentry=0); // *MENU*
virtual void SetAutoDelete(Bool_t autodel=kTRUE); virtual void SetAutoDelete(Bool_t autodel=kTRUE);
virtual Int_t SetBranchAddress(const char *bname,void *add, TBranch **ptr = 0); virtual Int_t SetBranchAddress(const char *bname,void *add, TBranch **ptr = 0);
virtual Int_t SetBranchAddress(const char *bname,void *add, TBranch **ptr, TClass *realClass, EDataType datatype, Bool_t isptr); virtual Int_t SetBranchAddress(const char *bname,void *add, TBranch **ptr, TClass *realClass, EDataType datatype, Bool_t isptr);
virtual Int_t SetBranchAddress(const char *bname,void *add, TClass * realClass, EDataType datatype, Bool_t isptr); virtual Int_t SetBranchAddress(const char *bname,void *add, TClass * realClass, EDataType datatype, Bool_t isptr);
virtual void SetBranchStatus(const char *bname, Bool_t status=1, UI nt_t *found=0); virtual void SetBranchStatus(const char *bname, Bool_t status=1, UI nt_t *found=0);
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


 TCint.h   TCint.h 
// @(#)root/meta:$Id: TCint.h 32842 2010-03-30 21:49:27Z pcanal $ // @(#)root/meta:$Id: TCint.h 33300 2010-04-29 14:57:48Z rdm $
// Author: Fons Rademakers 01/03/96 // Author: Fons Rademakers 01/03/96
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 67 skipping to change at line 67
TString fSharedLibs; //list of shared libraries loaded by G __loadfile TString fSharedLibs; //list of shared libraries loaded by G __loadfile
Int_t fSharedLibsSerial;//Indicator of the last time we set fS haredLibs Int_t fSharedLibsSerial;//Indicator of the last time we set fS haredLibs
TString fIncludePath; //list of CINT include paths TString fIncludePath; //list of CINT include paths
TString fRootmapLoadPath; //dynamic load path used for loading r ootmap files TString fRootmapLoadPath; //dynamic load path used for loading r ootmap files
TEnv *fMapfile; //map of classes and libraries TEnv *fMapfile; //map of classes and libraries
TObjArray *fRootmapFiles; //list of non-default rootmap files lo aded TObjArray *fRootmapFiles; //list of non-default rootmap files lo aded
Bool_t fLockProcessLine; //true if ProcessLine should lock gCIN TMutex Bool_t fLockProcessLine; //true if ProcessLine should lock gCIN TMutex
static void *fgSetOfSpecials; //set of TObject*s used in CINT variab les static void *fgSetOfSpecials; //set of TObject*s used in CINT variab les
TCint() : fMore(-1), fExitCode(0), fDictPos(), fDictPosGlobals(), TCint() : fMore(-1), fExitCode(0), fDictPos(), fDictPosGlobals(),
fSharedLibs(), fIncludePath(), fRootmapLoadPath(), fMapfile(0), fSharedLibs(), fSharedLibsSerial(0), fIncludePath(), fRootmapLoadPath( ), fMapfile(0),
fRootmapFiles(0), fLockProcessLine(kFALSE) { } //for Dictionary() onl y fRootmapFiles(0), fLockProcessLine(kFALSE) { } //for Dictionary() onl y
TCint(const TCint&); // not implemented TCint(const TCint&); // not implemented
TCint &operator=(const TCint&); // not implemented TCint &operator=(const TCint&); // not implemented
void Execute(TMethod *, TObjArray *, int * /*error*/ = 0) { } void Execute(TMethod *, TObjArray *, int * /*error*/ = 0) { }
protected: protected:
public: public:
TCint(const char *name, const char *title); TCint(const char *name, const char *title);
virtual ~TCint(); virtual ~TCint();
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 TClassEdit.h   TClassEdit.h 
// @(#)root/base:$Id: TClassEdit.h 33114 2010-04-20 19:03:33Z pcanal $ // @(#)root/base:$Id: TClassEdit.h 33299 2010-04-29 14:43:56Z rdm $
// Author: Victor Perev 10/04/2003 // Author: Victor Perev 10/04/2003
// Philippe Canal 05/2004 // Philippe Canal 05/2004
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2003, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2003, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 73 skipping to change at line 73
std::vector<std::string> fElements; std::vector<std::string> fElements;
int fNestedLocation; // Stores the location of the tail (nested names ) in nestedLoc (0 indicates no tail). int fNestedLocation; // Stores the location of the tail (nested names ) in nestedLoc (0 indicates no tail).
TSplitType(const char *type2split, EModType mode = TClassEdit::kNone) ; TSplitType(const char *type2split, EModType mode = TClassEdit::kNone) ;
int IsSTLCont(int testAlloc=0) const; int IsSTLCont(int testAlloc=0) const;
void ShortType(std::string &answer, int mode); void ShortType(std::string &answer, int mode);
private: private:
TSplitType(const TSplitType&); // intentionally not implemented TSplitType(const TSplitType&); // intentionally not implemented
TSplitType &operator=(const TSplitType &); // intentionally not imple mented
}; };
std::string CleanType (const char *typeDesc,int mode = 0,const char **ta il=0); std::string CleanType (const char *typeDesc,int mode = 0,const char **ta il=0);
bool IsDefAlloc(const char *alloc, const char *classname); bool IsDefAlloc(const char *alloc, const char *classname);
bool IsDefAlloc(const char *alloc, const char *keyclassname, cons t char *valueclassname); bool IsDefAlloc(const char *alloc, const char *keyclassname, cons t char *valueclassname);
bool IsDefComp (const char *comp , const char *classname); bool IsDefComp (const char *comp , const char *classname);
bool IsSTLBitset(const char *type); bool IsSTLBitset(const char *type);
int IsSTLCont (const char *type,int testAlloc=0); int IsSTLCont (const char *type,int testAlloc=0);
bool IsStdClass(const char *type); bool IsStdClass(const char *type);
bool IsVectorBool(const char *name); bool IsVectorBool(const char *name);
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


 TClassTable.h   TClassTable.h 
// @(#)root/cont:$Id: TClassTable.h 20882 2007-11-19 11:31:26Z rdm $ // @(#)root/cont:$Id: TClassTable.h 33854 2010-06-12 14:09:50Z pcanal $
// Author: Fons Rademakers 11/08/95 // Author: Fons Rademakers 11/08/95
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 62 skipping to change at line 62
static TClassRec **fgTable; static TClassRec **fgTable;
static TClassRec **fgSortedTable; static TClassRec **fgSortedTable;
static IdMap_t *fgIdMap; static IdMap_t *fgIdMap;
static int fgSize; static int fgSize;
static int fgTally; static int fgTally;
static Bool_t fgSorted; static Bool_t fgSorted;
static int fgCursor; static int fgCursor;
TClassTable(); TClassTable();
static TClassRec *FindElementImpl(const char *cname, Bool_t insert);
static TClassRec *FindElement(const char *cname, Bool_t insert=kFALSE) ; static TClassRec *FindElement(const char *cname, Bool_t insert=kFALSE) ;
static void SortTable(); static void SortTable();
public: public:
// bits that can be set in pragmabits // bits that can be set in pragmabits
enum { kNoStreamer = 0x01, kNoInputOperator = 0x02, kAutoStreamer = 0x04 }; enum { kNoStreamer = 0x01, kNoInputOperator = 0x02, kAutoStreamer = 0x04 };
~TClassTable(); ~TClassTable();
static void Add(const char *cname, Version_t id, static void Add(const char *cname, Version_t id,
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


 TClonesArray.h   TClonesArray.h 
// @(#)root/cont:$Id: TClonesArray.h 30124 2009-09-13 16:07:19Z brun $ // @(#)root/cont:$Id: TClonesArray.h 33807 2010-06-10 07:23:32Z brun $
// Author: Rene Brun 11/02/96 // Author: Rene Brun 11/02/96
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 70 skipping to change at line 70
void AddAt(TObject *, Int_t) { MayNotUse("AddAt"); } void AddAt(TObject *, Int_t) { MayNotUse("AddAt"); }
void AddAtAndExpand(TObject *, Int_t) { MayNotUse("AddAtAndE xpand"); } void AddAtAndExpand(TObject *, Int_t) { MayNotUse("AddAtAndE xpand"); }
Int_t AddAtFree(TObject *) { MayNotUse("AddAtFree"); return 0 ; } Int_t AddAtFree(TObject *) { MayNotUse("AddAtFree"); return 0 ; }
void AddAfter(const TObject *, TObject *) { MayNotUse("AddAf ter"); } void AddAfter(const TObject *, TObject *) { MayNotUse("AddAf ter"); }
void AddBefore(const TObject *, TObject *) { MayNotUse("AddB efore"); } void AddBefore(const TObject *, TObject *) { MayNotUse("AddB efore"); }
void BypassStreamer(Bool_t bypass=kTRUE); void BypassStreamer(Bool_t bypass=kTRUE);
Bool_t CanBypassStreamer() const { return TestBit(kBypassStrea mer); } Bool_t CanBypassStreamer() const { return TestBit(kBypassStrea mer); }
void SetClass(const char *classname,Int_t size=1000); void SetClass(const char *classname,Int_t size=1000);
void SetClass(const TClass *cl,Int_t size=1000); void SetClass(const TClass *cl,Int_t size=1000);
void AbsorbObjects(TClonesArray* tc);
void MultiSort(Int_t nTCs, TClonesArray** tcs, Int_t upto =
kMaxInt);
virtual TObject *RemoveAt(Int_t idx); virtual TObject *RemoveAt(Int_t idx);
virtual TObject *Remove(TObject *obj); virtual TObject *Remove(TObject *obj);
virtual void RemoveRange(Int_t idx1, Int_t idx2); virtual void RemoveRange(Int_t idx1, Int_t idx2);
virtual void Sort(Int_t upto = kMaxInt); virtual void Sort(Int_t upto = kMaxInt);
TObject *New(Int_t idx); TObject *New(Int_t idx);
TObject *AddrAt(Int_t idx); TObject *AddrAt(Int_t idx);
TObject *&operator[](Int_t idx); TObject *&operator[](Int_t idx);
TObject *operator[](Int_t idx) const; TObject *operator[](Int_t idx) const;
 End of changes. 2 change blocks. 
1 lines changed or deleted 4 lines changed or added


 TDataSetManager.h   TDataSetManager.h 
// @(#)root/proof:$Id: TDataSetManager.h 33209 2010-04-26 10:27:40Z ganis $ // @(#)root/proof:$Id: TDataSetManager.h 33447 2010-05-10 13:26:51Z ganis $
// Author: Jan Fiete Grosse-Oetringhaus, 08.08.07 // Author: Jan Fiete Grosse-Oetringhaus, 08.08.07
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 101 skipping to change at line 101
kCheckQuota = BIT(15), // quota checking enabled kCheckQuota = BIT(15), // quota checking enabled
kAllowRegister = BIT(16), // allow registration of a new dataset kAllowRegister = BIT(16), // allow registration of a new dataset
kAllowVerify = BIT(17), // allow verification of a dataset (requi res registration permit) kAllowVerify = BIT(17), // allow verification of a dataset (requi res registration permit)
kTrustInfo = BIT(18), // during registration, trust the availab le information provided by the user kTrustInfo = BIT(18), // during registration, trust the availab le information provided by the user
kIsSandbox = BIT(19), // dataset dir is in the user sandbox (si mplified naming) kIsSandbox = BIT(19), // dataset dir is in the user sandbox (si mplified naming)
kUseCache = BIT(20), // force the usage of cache kUseCache = BIT(20), // force the usage of cache
kDoNotUseCache = BIT(21) // disable the cache kDoNotUseCache = BIT(21) // disable the cache
}; };
enum EDataSetWorkOpts { // General (bits 1-8) enum EDataSetWorkOpts { // General (bits 1-8)
kDebug = 1, kShowDefault = 2, kPrint = 4, kExpor kDebug = 0x1, kShowDefault = 0x2, kPrint = 0x4,
t = 8, kExport = 0x8,
kQuotaUpdate = 16, kSetDefaultTree = 32, kForceS kQuotaUpdate = 0x10, kSetDefaultTree = 0x20, kFo
can = 64, rceScan = 0x40,
kNoHeaderPrint = 128, kNoHeaderPrint = 0x80,
// File-based specific (bits 9-16) // File-based specific (bits 9-16)
kReopen = 256, kTouch = 512, kMaxFiles = 1024, k kReopen = 0x100, kTouch = 0x200, kMaxFiles = 0x4
ReadShort = 2048, 00, kReadShort = 0x800,
kFileMustExist = 4096, kFileMustExist = 0x1000,
kNoAction = 0x2000, kLocateOnly = 0x4000, kStage
Only = 0x8000,
// Auxilliary bits (bits 17-) // Auxilliary bits (bits 17-)
kNoCacheUpdate = 65536, kRefreshLs = 131072, kLi kNoCacheUpdate = 0x10000, kRefreshLs = 0x20000,
st = 262144 kList = 0x40000,
kAllFiles = 0x80000, kStagedFiles = 0x100000, kN
oStagedCheck = 0x200000
}; };
TDataSetManager(const char *group = 0, const char *user = 0, const char *options = 0); TDataSetManager(const char *group = 0, const char *user = 0, const char *options = 0);
virtual ~TDataSetManager(); virtual ~TDataSetManager();
virtual Int_t ClearCache(const char *uri); virtual Int_t ClearCache(const char *uri);
virtual Long64_t GetAvgFileSize() const { return fAvgFileSize; } virtual Long64_t GetAvgFileSize() const { return fAvgFileSize; }
virtual TFileCollection *GetDataSet(const char *uri, const char *server = 0); virtual TFileCollection *GetDataSet(const char *uri, const char *server = 0);
virtual TMap *GetDataSets(const char *uri, UInt_t /*option*/ = TDataSetManager::kExport); virtual TMap *GetDataSets(const char *uri, UInt_t /*option*/ = TDataSetManager::kExport);
virtual TMap *GetSubDataSets(const char *uri, const char *exc ludeservers); virtual TMap *GetSubDataSets(const char *uri, const char *exc ludeservers);
skipping to change at line 133 skipping to change at line 135
virtual Bool_t ExistsDataSet(const char *uri); virtual Bool_t ExistsDataSet(const char *uri);
virtual void MonitorUsedSpace(TVirtualMonitoringWriter *moni toring); virtual void MonitorUsedSpace(TVirtualMonitoringWriter *moni toring);
virtual Int_t NotifyUpdate(const char *group = 0, const char *user = 0, virtual Int_t NotifyUpdate(const char *group = 0, const char *user = 0,
const char *dspath = 0, Long_t mti me = 0, const char *checksum = 0); const char *dspath = 0, Long_t mti me = 0, const char *checksum = 0);
Bool_t ParseUri(const char *uri, TString *dsGroup = 0, TString *dsUser = 0, Bool_t ParseUri(const char *uri, TString *dsGroup = 0, TString *dsUser = 0,
TString *dsName = 0, TString *dsTree = 0, TString *dsName = 0, TString *dsTree = 0,
Bool_t onlyCurrent = kFALSE, Bool_t wi ldcards = kFALSE); Bool_t onlyCurrent = kFALSE, Bool_t wi ldcards = kFALSE);
virtual void ParseInitOpts(const char *opts); virtual void ParseInitOpts(const char *opts);
virtual Bool_t RemoveDataSet(const char *uri); virtual Bool_t RemoveDataSet(const char *uri);
virtual Int_t RegisterDataSet(const char *uri, TFileCollectio n *dataSet, const char *opt); virtual Int_t RegisterDataSet(const char *uri, TFileCollectio n *dataSet, const char *opt);
virtual Int_t ScanDataSet(const char *uri, UInt_t option = 0) Int_t ScanDataSet(const char *uri, const char *opt);
; virtual Int_t ScanDataSet(const char *uri, UInt_t option = kR
eopen | kDebug);
void SetScanCounters(Int_t t = -1, Int_t o = -1, Int _t d = -1); void SetScanCounters(Int_t t = -1, Int_t o = -1, Int _t d = -1);
virtual Int_t ShowCache(const char *uri); virtual Int_t ShowCache(const char *uri);
virtual void ShowQuota(const char *opt); virtual void ShowQuota(const char *opt);
virtual void ShowDataSets(const char *uri = "*", const char *opt = ""); virtual void ShowDataSets(const char *uri = "*", const char *opt = "");
static TString CreateUri(const char *dsGroup = 0, const char * dsUser = 0, static TString CreateUri(const char *dsGroup = 0, const char * dsUser = 0,
const char *dsName = 0, const char *d sTree = 0); const char *dsName = 0, const char *d sTree = 0);
static Bool_t CheckDataSetSrvMaps(TUrl *furl, TString &fn, TL ist *srvmaplist = 0); static Bool_t CheckDataSetSrvMaps(TUrl *furl, TString &fn, TL ist *srvmaplist = 0);
static TList *GetDataSetSrvMaps(); static TList *GetDataSetSrvMaps();
static TList *ParseDataSetSrvMaps(const TString &srvmaps); static TList *ParseDataSetSrvMaps(const TString &srvmaps);
static Int_t ScanDataSet(TFileCollection *dataset, Int_t fop static Int_t ScanDataSet(TFileCollection *dataset, Int_t fop
enopt, Bool_t notify = kFALSE, t, Int_t sopt = 0, Int_t ropt = 0,
Int_t scanfopt = 0, TList *flist = Bool_t dbg = kFALSE,
0, Long64_t avgsize = -1, Int_t *touched = 0, Int_t *opened =
const char *mssurl = 0, Int_t files 0, Int_t *disappeared = 0,
max = -1, TList *flist = 0, Long64_t avgsz =
Int_t *touched = 0, Int_t *opened = -1, const char *mss = 0,
0, Int_t *disappeared = 0); Int_t maxfiles = -1, const char *st
ageopts = 0);
static Int_t ScanFile(TFileInfo *fileinfo, Bool_t notify); static Int_t ScanFile(TFileInfo *fileinfo, Bool_t notify);
static Int_t FillMetaData(TFileInfo *fi, TDirectory *d, cons t char *rdir = "/");
ClassDef(TDataSetManager, 0) // Abstract data set manager class ClassDef(TDataSetManager, 0) // Abstract data set manager class
}; };
#endif #endif
 End of changes. 7 change blocks. 
21 lines changed or deleted 28 lines changed or added


 TDataSetManagerFile.h   TDataSetManagerFile.h 
// @(#)root/proof:$Id: TDataSetManagerFile.h 33156 2010-04-23 12:46:14Z gan is $ // @(#)root/proof:$Id: TDataSetManagerFile.h 33357 2010-05-04 06:56:18Z gan is $
// Author: Jan Fiete Grosse-Oetringhaus, 08.08.07 // Author: Jan Fiete Grosse-Oetringhaus, 08.08.07
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 37 skipping to change at line 37
const char* const kDataSet_LocalCache = "dataset.cache"; // default cache subdirectory const char* const kDataSet_LocalCache = "dataset.cache"; // default cache subdirectory
const char* const kDataSet_DataSetList = "dataset.list"; // file with inf o about all datasets const char* const kDataSet_DataSetList = "dataset.list"; // file with inf o about all datasets
const char* const kDataSet_LockLocation = "lock.location"; // location of t he lock file const char* const kDataSet_LockLocation = "lock.location"; // location of t he lock file
class TDataSetManagerFile : public TDataSetManager { class TDataSetManagerFile : public TDataSetManager {
private: private:
TString fDataSetDir; // Location of datasets TString fDataSetDir; // Location of datasets
TString fMSSUrl; // URL for the Mass Storage System TString fMSSUrl; // URL for the Mass Storage System
TString fStageOpts; // Option string to be used in issuing stagi ng requests
TString fDataSetLockFile; // Dataset lock file TString fDataSetLockFile; // Dataset lock file
Int_t fLockFileTimeLimit; // Limit in seconds after a lock automatical ly expires Int_t fLockFileTimeLimit; // Limit in seconds after a lock automatical ly expires
TString fListFile; // File to check repository updates TString fListFile; // File to check repository updates
Bool_t fIsRemote; // True if the repository is remote Bool_t fIsRemote; // True if the repository is remote
Bool_t fUseCache; // True if the cache is used for browsing re mote repositories Bool_t fUseCache; // True if the cache is used for browsing re mote repositories
TString fLocalCacheDir; // Local cache when the repository is remote TString fLocalCacheDir; // Local cache when the repository is remote
Int_t fCacheUpdatePeriod; // Period for checking for new updated infor mation Int_t fCacheUpdatePeriod; // Period for checking for new updated infor mation
// Local cache handling // Local cache handling
void InitLocalCache(); void InitLocalCache();
skipping to change at line 60 skipping to change at line 61
const char *GetDataSetPath(const char *group, const char *user, const ch ar *dsName); const char *GetDataSetPath(const char *group, const char *user, const ch ar *dsName);
const char *GetDataSetPath(const char *group, const char *user, const ch ar *dsName, const char *GetDataSetPath(const char *group, const char *user, const ch ar *dsName,
TString &md5path, Bool_t local = kFALSE); TString &md5path, Bool_t local = kFALSE);
void Init(); void Init();
Bool_t BrowseDataSets(const char *group, const char *user, const char *d sName, Bool_t BrowseDataSets(const char *group, const char *user, const char *d sName,
UInt_t option, TObject *target); UInt_t option, TObject *target);
Bool_t RemoveDataSet(const char *group, const char *user, const char *ds Name); Bool_t RemoveDataSet(const char *group, const char *user, const char *ds Name);
Bool_t ExistsDataSet(const char *group, const char *user, const char *ds Name); Bool_t ExistsDataSet(const char *group, const char *user, const char *ds Name);
Int_t ScanDataSet(const char *group, const char *user, const char *dsNa me, UInt_t option); Int_t ScanDataSet(const char *group, const char *user, const char *dsNa me, UInt_t option = kReopen | kDebug);
Int_t ChecksumDataSet(const char *path, const char *md5path, TString &c hecksum); Int_t ChecksumDataSet(const char *path, const char *md5path, TString &c hecksum);
Int_t CreateLsFile(const char *group, const char *user, Long_t &mtime, TString &checksum); Int_t CreateLsFile(const char *group, const char *user, Long_t &mtime, TString &checksum);
Int_t FillLsDataSet(const char *group, const char *user, const char *ds Name, TList *out, UInt_t option); Int_t FillLsDataSet(const char *group, const char *user, const char *ds Name, TList *out, UInt_t option);
void UpdateUsedSpace(); void UpdateUsedSpace();
public: public:
TDataSetManagerFile() : TDataSetManager(0, 0, 0) { } TDataSetManagerFile() : TDataSetManager(0, 0, 0) { }
TDataSetManagerFile(const char *group, const char *user, const char *ins ); TDataSetManagerFile(const char *group, const char *user, const char *ins );
TDataSetManagerFile(const char *ins); TDataSetManagerFile(const char *ins);
virtual ~TDataSetManagerFile() { } virtual ~TDataSetManagerFile() { }
void ParseInitOpts(const char *opts); void ParseInitOpts(const char *opts);
Int_t ClearCache(const char *uri = 0); Int_t ClearCache(const char *uri = 0);
TFileCollection *GetDataSet(const char *uri, const char *srv = 0); TFileCollection *GetDataSet(const char *uri, const char *srv = 0);
TMap *GetDataSets(const char *uri, UInt_t option = TDataSetMa nager::kExport); TMap *GetDataSets(const char *uri, UInt_t option = TDataSetMa nager::kExport);
Bool_t ExistsDataSet(const char *uri); Bool_t ExistsDataSet(const char *uri);
Bool_t RemoveDataSet(const char *uri); Bool_t RemoveDataSet(const char *uri);
Int_t RegisterDataSet(const char *uri, TFileCollection *dataS et, const char *opt); Int_t RegisterDataSet(const char *uri, TFileCollection *dataS et, const char *opt);
Int_t ScanDataSet(const char *uri, UInt_t option = 0); Int_t ScanDataSet(const char *uri, UInt_t option = kReopen |
Int_t NotifyUpdate(const char *group, const char *user, kDebug);
const char *dspath, Long_t mtime, const char *checks Int_t NotifyUpdate(const char *group, const char *user,
um = 0); const char *dspath, Long_t mtime, const ch
Int_t ShowCache(const char *uri = 0); ar *checksum = 0);
Int_t ShowCache(const char *uri = 0);
// These should / could be private but they are used directly by the ext ernal daemon // These should / could be private but they are used directly by the ext ernal daemon
TFileCollection *GetDataSet(const char *group, const char *user, const c har *dsName, TFileCollection *GetDataSet(const char *group, const char *user, const c har *dsName,
UInt_t option = 0, TMD5 **checksum = 0); UInt_t option = 0, TMD5 **checksum = 0);
TMap *GetDataSets(const char *group, const char *user, const char *dsName = 0, TMap *GetDataSets(const char *group, const char *user, const char *dsName = 0,
UInt_t option = 0); UInt_t option = 0);
const char *GetMSSUrl() const { return fMSSUrl; } const char *GetMSSUrl() const { return fMSSUrl; }
const char *GetStageOpts() const { return fStageOpts; }
Int_t WriteDataSet(const char *group, const char *user, const char *dsName, Int_t WriteDataSet(const char *group, const char *user, const char *dsName,
TFileCollection *dataset, UInt_t option = 0, TMD5 *checksum = 0); TFileCollection *dataset, UInt_t option = 0, TMD5 *checksum = 0);
ClassDef(TDataSetManagerFile, 0) // DataSet manager for files ClassDef(TDataSetManagerFile, 0) // DataSet manager for files
}; };
#endif #endif
 End of changes. 7 change blocks. 
9 lines changed or deleted 12 lines changed or added


 TError.h   TError.h 
// @(#)root/base:$Id: TError.h 20877 2007-11-19 11:17:07Z rdm $ // @(#)root/base:$Id: TError.h 34159 2010-06-28 10:15:36Z rdm $
// Author: Fons Rademakers 29/07/95 // Author: Fons Rademakers 29/07/95
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 TEveArrow.h   TEveArrow.h 
// @(#)root/eve:$Id: TEveArrow.h 31517 2009-12-03 11:56:23Z matevz $ // @(#)root/eve:$Id: TEveArrow.h 33864 2010-06-14 09:47:19Z matevz $
// Author: Matevz Tadel 2007 // Author: Matevz Tadel 2007
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 67 skipping to change at line 67
TEveVector GetVector() { return fVector; } TEveVector GetVector() { return fVector; }
TEveVector GetOrigin() { return fOrigin; } TEveVector GetOrigin() { return fOrigin; }
Int_t GetDrawQuality() const { return fDrawQuality; } Int_t GetDrawQuality() const { return fDrawQuality; }
void SetDrawQuality(Int_t q) { fDrawQuality = q; } void SetDrawQuality(Int_t q) { fDrawQuality = q; }
virtual void ComputeBBox(); virtual void ComputeBBox();
virtual void Paint(Option_t* option=""); virtual void Paint(Option_t* option="");
virtual Bool_t CanEditMainColor() const { return kTRUE; }
ClassDef(TEveArrow, 0); // Class for gl visualisation of arrow. ClassDef(TEveArrow, 0); // Class for gl visualisation of arrow.
}; };
#endif #endif
 End of changes. 2 change blocks. 
3 lines changed or deleted 1 lines changed or added


 TEveCalo.h   TEveCalo.h 
// @(#)root/eve:$Id: TEveCalo.h 33198 2010-04-26 08:40:04Z matevz $ // @(#)root/eve:$Id: TEveCalo.h 34066 2010-06-22 17:48:40Z matevz $
// Author: Matevz Tadel 2007 // Author: Matevz Tadel 2007
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 82 skipping to change at line 82
virtual TEveElement* ForwardSelection(); virtual TEveElement* ForwardSelection();
virtual TEveElement* ForwardEdit(); virtual TEveElement* ForwardEdit();
virtual void Paint(Option_t* option=""); virtual void Paint(Option_t* option="");
virtual TClass* ProjectedClass(const TEveProjection* p) const; virtual TClass* ProjectedClass(const TEveProjection* p) const;
virtual Float_t GetValToHeight() const; virtual Float_t GetValToHeight() const;
virtual void CellSelectionChanged() {} virtual void CellSelectionChanged() {}
virtual void SetScaleAbs(Bool_t x) { fScaleAbs = x; }
TEveCaloData* GetData() const { return fData; } TEveCaloData* GetData() const { return fData; }
void SetData(TEveCaloData* d); void SetData(TEveCaloData* d);
void DataChanged(); void DataChanged();
Float_t GetMaxVal() const; Float_t GetMaxVal() const;
Bool_t AssertCellIdCache() const; Bool_t AssertCellIdCache() const;
void InvalidateCellIdCache() { fCellIdCacheOK=kFALSE; ResetBBox(); }; void InvalidateCellIdCache() { fCellIdCacheOK=kFALSE; ResetBBox(); };
Float_t GetDataSliceThreshold(Int_t slice) const; Float_t GetDataSliceThreshold(Int_t slice) const;
void SetDataSliceThreshold(Int_t slice, Float_t val); void SetDataSliceThreshold(Int_t slice, Float_t val);
skipping to change at line 105 skipping to change at line 107
Float_t GetBarrelRadius() const { return fBarrelRadius; } Float_t GetBarrelRadius() const { return fBarrelRadius; }
void SetBarrelRadius(Float_t r) { fBarrelRadius = r; ResetBBox(); } void SetBarrelRadius(Float_t r) { fBarrelRadius = r; ResetBBox(); }
Float_t GetEndCapPos () const { return fEndCapPos; } Float_t GetEndCapPos () const { return fEndCapPos; }
void SetEndCapPos (Float_t z) { fEndCapPos = z; ResetBBox(); } void SetEndCapPos (Float_t z) { fEndCapPos = z; ResetBBox(); }
Bool_t GetPlotEt() const { return fPlotEt; } Bool_t GetPlotEt() const { return fPlotEt; }
void SetPlotEt(Bool_t x); void SetPlotEt(Bool_t x);
void SetMaxTowerH(Float_t x) { fMaxTowerH = x; } void SetMaxTowerH(Float_t x) { fMaxTowerH = x; }
Float_t GetMaxTowerH() const { return fMaxTowerH; } Float_t GetMaxTowerH() const { return fMaxTowerH; }
void SetScaleAbs(Bool_t x) { fScaleAbs = x; }
Bool_t GetScaleAbs() const { return fScaleAbs; } Bool_t GetScaleAbs() const { return fScaleAbs; }
void SetMaxValAbs(Float_t x) { fMaxValAbs = x; } void SetMaxValAbs(Float_t x) { fMaxValAbs = x; }
Float_t GetMaxValAbs() const { return fMaxValAbs; } Float_t GetMaxValAbs() const { return fMaxValAbs; }
Float_t GetTransitionEta() const; Float_t GetTransitionEta() const;
Float_t GetTransitionTheta() const; Float_t GetTransitionTheta() const;
TEveRGBAPalette* GetPalette() const { return fPalette; } TEveRGBAPalette* GetPalette() const { return fPalette; }
void SetPalette(TEveRGBAPalette* p); void SetPalette(TEveRGBAPalette* p);
skipping to change at line 159 skipping to change at line 160
TEveCalo3D(const TEveCalo3D&); // Not implemented TEveCalo3D(const TEveCalo3D&); // Not implemented
TEveCalo3D& operator=(const TEveCalo3D&); // Not implemented TEveCalo3D& operator=(const TEveCalo3D&); // Not implemented
protected: protected:
TEveCaloData::vCellId_t fCellList; TEveCaloData::vCellId_t fCellList;
Bool_t fRnrEndCapFrame; Bool_t fRnrEndCapFrame;
Bool_t fRnrBarrelFrame; Bool_t fRnrBarrelFrame;
Color_t fFrameColor; Color_t fFrameColor;
UChar_t fFrameTransparency; Char_t fFrameTransparency;
virtual void BuildCellIdCache(); virtual void BuildCellIdCache();
public: public:
TEveCalo3D(TEveCaloData* d=0, const char* n="TEveCalo3D", const char* t= "xx"); TEveCalo3D(TEveCaloData* d=0, const char* n="TEveCalo3D", const char* t= "xx");
virtual ~TEveCalo3D() {} virtual ~TEveCalo3D() {}
virtual void ComputeBBox(); virtual void ComputeBBox();
virtual Bool_t CanEditMainColor() const { return kTRUE; }
virtual Bool_t CanEditMainTransparency() const { return kTRUE; }
void SetRnrFrame(Bool_t e, Bool_t b) { fRnrEndCapFrame = e; fRnr BarrelFrame = b; } void SetRnrFrame(Bool_t e, Bool_t b) { fRnrEndCapFrame = e; fRnr BarrelFrame = b; }
void GetRnrFrame(Bool_t &e, Bool_t &b) const { e = fRnrEndCapFrame; b = fRnrBarrelFrame; } void GetRnrFrame(Bool_t &e, Bool_t &b) const { e = fRnrEndCapFrame; b = fRnrBarrelFrame; }
void SetFrameTransparency(UChar_t x) { fFrameTransparency = x; } void SetFrameTransparency(Char_t x) { fFrameTransparency = x; }
UChar_t GetFrameTransparency() const { return fFrameTransparency; } Char_t GetFrameTransparency() const { return fFrameTransparency; }
ClassDef(TEveCalo3D, 0); // Class for 3D visualization of calorimeter ev ent data. ClassDef(TEveCalo3D, 0); // Class for 3D visualization of calorimeter ev ent data.
}; };
/************************************************************************** / /************************************************************************** /
/************************************************************************** / /************************************************************************** /
class TEveCalo2D : public TEveCaloViz, class TEveCalo2D : public TEveCaloViz,
public TEveProjected public TEveProjected
{ {
skipping to change at line 221 skipping to change at line 219
public: public:
TEveCalo2D(const char* n="TEveCalo2D", const char* t=""); TEveCalo2D(const char* n="TEveCalo2D", const char* t="");
virtual ~TEveCalo2D(); virtual ~TEveCalo2D();
virtual void SetProjection(TEveProjectionManager* proj, TEveProjectable* model); virtual void SetProjection(TEveProjectionManager* proj, TEveProjectable* model);
virtual void UpdateProjection(); virtual void UpdateProjection();
virtual void ComputeBBox(); virtual void ComputeBBox();
virtual void CellSelectionChanged(); virtual void CellSelectionChanged();
virtual void SetScaleAbs(Bool_t);
virtual Float_t GetValToHeight() const; virtual Float_t GetValToHeight() const;
ClassDef(TEveCalo2D, 0); // Class for visualization of projected calorim eter event data. ClassDef(TEveCalo2D, 0); // Class for visualization of projected calorim eter event data.
}; };
/************************************************************************** / /************************************************************************** /
/************************************************************************** / /************************************************************************** /
class TEveCaloLego : public TEveCaloViz class TEveCaloLego : public TEveCaloViz
{ {
friend class TEveCaloLegoGL; friend class TEveCaloLegoGL;
skipping to change at line 248 skipping to change at line 248
private: private:
TEveCaloLego(const TEveCaloLego&); // Not implemented TEveCaloLego(const TEveCaloLego&); // Not implemented
TEveCaloLego& operator=(const TEveCaloLego&); // Not implemented TEveCaloLego& operator=(const TEveCaloLego&); // Not implemented
protected: protected:
TEveCaloData::vCellId_t fCellList; TEveCaloData::vCellId_t fCellList;
Color_t fFontColor; Color_t fFontColor;
Color_t fGridColor; Color_t fGridColor;
Color_t fPlaneColor; Color_t fPlaneColor;
UChar_t fPlaneTransparency; Char_t fPlaneTransparency;
Int_t fNZSteps; // Z axis label step in GeV Int_t fNZSteps; // Z axis label step in GeV
Float_t fZAxisStep; Float_t fZAxisStep;
Bool_t fAutoRebin; Bool_t fAutoRebin;
Int_t fPixelsPerBin; Int_t fPixelsPerBin;
Bool_t fNormalizeRebin; Bool_t fNormalizeRebin;
EProjection_e fProjection; EProjection_e fProjection;
E2DMode_e f2DMode; E2DMode_e f2DMode;
EBoxMode_e fBoxMode; // additional scale info EBoxMode_e fBoxMode; // additional scale info
Bool_t fDrawHPlane; Bool_t fDrawHPlane;
Float_t fHPlaneVal; Float_t fHPlaneVal;
Bool_t fHasFixedHeightIn2DMode;
Float_t fFixedHeightValIn2DMode; // 1% of whole height
Int_t fDrawNumberCellPixels; Int_t fDrawNumberCellPixels;
Int_t fCellPixelFontSize; Int_t fCellPixelFontSize;
virtual void BuildCellIdCache(); virtual void BuildCellIdCache();
public: public:
TEveCaloLego(TEveCaloData* data=0, const char* n="TEveCaloLego", const c har* t=""); TEveCaloLego(TEveCaloData* data=0, const char* n="TEveCaloLego", const c har* t="");
virtual ~TEveCaloLego(){} virtual ~TEveCaloLego(){}
virtual void ComputeBBox(); virtual void ComputeBBox();
skipping to change at line 285 skipping to change at line 288
Color_t GetFontColor() const { return fFontColor; } Color_t GetFontColor() const { return fFontColor; }
void SetFontColor(Color_t ci) { fFontColor=ci; } void SetFontColor(Color_t ci) { fFontColor=ci; }
Color_t GetGridColor() const { return fGridColor; } Color_t GetGridColor() const { return fGridColor; }
void SetGridColor(Color_t ci) { fGridColor=ci; } void SetGridColor(Color_t ci) { fGridColor=ci; }
Color_t GetPlaneColor() const { return fPlaneColor; } Color_t GetPlaneColor() const { return fPlaneColor; }
void SetPlaneColor(Color_t ci) { fPlaneColor=ci; } void SetPlaneColor(Color_t ci) { fPlaneColor=ci; }
UChar_t GetPlaneTransparency() const { return fPlaneTransparency; } Char_t GetPlaneTransparency() const { return fPlaneTransparency; }
void SetPlaneTransparency(UChar_t t) { fPlaneTransparency=t; } void SetPlaneTransparency(Char_t t) { fPlaneTransparency=t; }
Int_t GetNZSteps() const { return fNZSteps; } Int_t GetNZSteps() const { return fNZSteps; }
void SetNZSteps(Int_t s) { fNZSteps = s;} void SetNZSteps(Int_t s) { fNZSteps = s;}
Int_t GetPixelsPerBin() const { return fPixelsPerBin; } Int_t GetPixelsPerBin() const { return fPixelsPerBin; }
void SetPixelsPerBin(Int_t bw) { fPixelsPerBin = bw; } void SetPixelsPerBin(Int_t bw) { fPixelsPerBin = bw; }
Bool_t GetAutoRebin() const { return fAutoRebin; } Bool_t GetAutoRebin() const { return fAutoRebin; }
void SetAutoRebin(Bool_t s) { fAutoRebin = s;} void SetAutoRebin(Bool_t s) { fAutoRebin = s;}
Bool_t GetNormalizeRebin() const { return fNormalizeRebin; } Bool_t GetNormalizeRebin() const { return fNormalizeRebin; }
void SetNormalizeRebin(Bool_t s) { fNormalizeRebin = s; fCellIdCache OK=kFALSE;} void SetNormalizeRebin(Bool_t s) { fNormalizeRebin = s; fCellIdCache OK=kFALSE;}
EProjection_e GetProjection() const { return fProjection; }
void SetProjection(EProjection_e p) { fProjection = p; } void SetProjection(EProjection_e p) { fProjection = p; }
EProjection_e GetProjection() { return fProjection; }
void Set2DMode(E2DMode_e p) { f2DMode = p; } void Set2DMode(E2DMode_e p) { f2DMode = p; }
E2DMode_e Get2DMode() { return f2DMode; } E2DMode_e Get2DMode() { return f2DMode; }
bool GetHasFixedHeightIn2DMode() const { return fHasFixedHeightIn2
DMode; }
void SetHasFixedHeightIn2DMode(bool x) { fHasFixedHeightIn2DMode =
x; }
float GetFixedHeightValIn2DMode() const { return fFixedHeightValIn
2DMode; }
void SetFixedHeightValIn2DMode(float x) { fFixedHeightValIn2DMode
= x; }
void SetBoxMode(EBoxMode_e p) { fBoxMode = p; } void SetBoxMode(EBoxMode_e p) { fBoxMode = p; }
EBoxMode_e GetBoxMode() { return fBoxMode; } EBoxMode_e GetBoxMode() { return fBoxMode; }
Bool_t GetDrawHPlane() const { return fDrawHPlane; } Bool_t GetDrawHPlane() const { return fDrawHPlane; }
void SetDrawHPlane(Bool_t s) { fDrawHPlane = s;} void SetDrawHPlane(Bool_t s) { fDrawHPlane = s;}
Float_t GetHPlaneVal() const { return fHPlaneVal; } Float_t GetHPlaneVal() const { return fHPlaneVal; }
void SetHPlaneVal(Float_t s) { fHPlaneVal = s;} void SetHPlaneVal(Float_t s) { fHPlaneVal = s;}
Int_t GetDrawNumberCellPixels() { return fDrawNumberCellPixels; } Int_t GetDrawNumberCellPixels() { return fDrawNumberCellPixels; }
 End of changes. 13 change blocks. 
12 lines changed or deleted 25 lines changed or added


 TEveCaloData.h   TEveCaloData.h 
// @(#)root/eve:$Id: TEveCaloData.h 33198 2010-04-26 08:40:04Z matevz $ // @(#)root/eve:$Id: TEveCaloData.h 33955 2010-06-17 11:33:13Z matevz $
// Author: Matevz Tadel 2007 // Author: Matevz Tadel 2007
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
#ifndef ROOT_TEveCaloData #ifndef ROOT_TEveCaloData
#define ROOT_TEveCaloData #define ROOT_TEveCaloData
#include <vector> #include <vector>
#include "TEveElement.h" #include "TEveElement.h"
class TGLSelectRecord;
class TH2F; class TH2F;
class TAxis; class TAxis;
class THStack; class THStack;
class TEveCaloData: public TEveElement, class TEveCaloData: public TEveElement,
public TNamed public TNamed
{ {
public: public:
struct SliceInfo_t struct SliceInfo_t
{ {
TString fName; // Name of the slice, eg. ECAL, HCAL. TString fName; // Name of the slice, eg. ECAL, HCAL.
Float_t fThreshold; // Only display towers with higher energy. Float_t fThreshold; // Only display towers with higher energy.
Color_t fColor; // Color used to draw this longitudinal slice. Color_t fColor; // Color used to draw this longitudinal slice.
Color_t fTransparency; // Transparency used to draw this longitudina l slice.
SliceInfo_t(): fName(""), fThreshold(0), fColor(kRed) {} SliceInfo_t(): fName(""), fThreshold(0), fColor(kRed), fTransparency( 0) {}
virtual ~SliceInfo_t() {} virtual ~SliceInfo_t() {}
void Setup(const char* name, Float_t threshold, Color_t col) void Setup(const char* name, Float_t threshold, Color_t col, Char_t t ransp = 101)
{ {
fName = name; fName = name;
fThreshold = threshold; fThreshold = threshold;
fColor = col; fColor = col;
if (transp <= 100) fTransparency = transp;
}; };
ClassDef(SliceInfo_t, 0); // Slice info for histogram stack. ClassDef(SliceInfo_t, 0); // Slice info for histogram stack.
}; };
typedef std::vector<SliceInfo_t> vSliceInfo_t; typedef std::vector<SliceInfo_t> vSliceInfo_t;
typedef std::vector<SliceInfo_t>::iterator vSliceInfo_i; typedef std::vector<SliceInfo_t>::iterator vSliceInfo_i;
/*********************************************************************** ***/ /*********************************************************************** ***/
struct CellId_t struct CellId_t
{ {
// Cell ID inner structure. // Cell ID inner structure.
Int_t fTower; Int_t fTower;
Int_t fSlice; Int_t fSlice;
Float_t fFraction; Float_t fFraction;
CellId_t(Int_t t, Int_t s, Float_t fr=1.f):fTower(t), fSlice(s), fFra CellId_t(Int_t t, Int_t s, Float_t f=1.0f) : fTower(t), fSlice(s), fF
ction(fr){} raction(f) {}
bool operator<(const CellId_t& o) const
{ return (fTower == o.fTower) ? fSlice < o.fSlice : fTower < o.fTower
; }
}; };
struct CellGeom_t struct CellGeom_t
{ {
// Cell geometry inner structure. // Cell geometry inner structure.
Float_t fPhiMin; Float_t fPhiMin;
Float_t fPhiMax; Float_t fPhiMax;
Float_t fEtaMin; Float_t fEtaMin;
Float_t fEtaMax; Float_t fEtaMax;
skipping to change at line 175 skipping to change at line 182
virtual void FillImpliedSelectedSet(Set_t& impSelSet); virtual void FillImpliedSelectedSet(Set_t& impSelSet);
virtual void GetCellList(Float_t etaMin, Float_t etaMax, virtual void GetCellList(Float_t etaMin, Float_t etaMax,
Float_t phi, Float_t phiRng, Float_t phi, Float_t phiRng,
vCellId_t &out) const = 0; vCellId_t &out) const = 0;
vCellId_t& GetCellsSelected() { return fCellsSelected; } vCellId_t& GetCellsSelected() { return fCellsSelected; }
vCellId_t& GetCellsHighlighted() { return fCellsHighlighted; } vCellId_t& GetCellsHighlighted() { return fCellsHighlighted; }
void PrintCellsSelected(); void PrintCellsSelected();
void ProcessSelection(vCellId_t& sel_cells, TGLSelectRecord& rec);
virtual void Rebin(TAxis *ax, TAxis *ay, vCellId_t &in, Bool_t et, Re binData_t &out) const = 0; virtual void Rebin(TAxis *ax, TAxis *ay, vCellId_t &in, Bool_t et, Re binData_t &out) const = 0;
virtual void GetCellData(const CellId_t &id, CellData_t& data) const = 0; virtual void GetCellData(const CellId_t &id, CellData_t& data) const = 0;
virtual void InvalidateUsersCellIdCache(); virtual void InvalidateUsersCellIdCache();
virtual void DataChanged(); virtual void DataChanged();
virtual void CellSelectionChanged(); virtual void CellSelectionChanged();
Int_t GetNSlices() const { return fSliceInfos.size(); } Int_t GetNSlices() const { return fSliceInfos.size(); }
SliceInfo_t& RefSliceInfo(Int_t s) { return fSliceInfos[s]; } SliceInfo_t& RefSliceInfo(Int_t s) { return fSliceInfos[s]; }
void SetSliceThreshold(Int_t slice, Float_t threshold); void SetSliceThreshold(Int_t slice, Float_t threshold);
Float_t GetSliceThreshold(Int_t slice) const; Float_t GetSliceThreshold(Int_t slice) const;
void SetSliceColor(Int_t slice, Color_t col); void SetSliceColor(Int_t slice, Color_t col);
Color_t GetSliceColor(Int_t slice) const; Color_t GetSliceColor(Int_t slice) const;
void SetSliceTransparency(Int_t slice, Char_t t);
Char_t GetSliceTransparency(Int_t slice) const;
virtual void GetEtaLimits(Double_t &min, Double_t &max) const = 0; virtual void GetEtaLimits(Double_t &min, Double_t &max) const = 0;
virtual void GetPhiLimits(Double_t &min, Double_t &max) const = 0; virtual void GetPhiLimits(Double_t &min, Double_t &max) const = 0;
virtual Float_t GetMaxVal(Bool_t et) const { return et ? fMaxValEt : fMa xValE; } virtual Float_t GetMaxVal(Bool_t et) const { return et ? fMaxValEt : fMa xValE; }
Bool_t Empty() const { return fMaxValEt < 1e-5; } Bool_t Empty() const { return fMaxValEt < 1e-5; }
virtual TAxis* GetEtaBins() const { return fEtaAxis; } virtual TAxis* GetEtaBins() const { return fEtaAxis; }
virtual void SetEtaBins(TAxis* ax) { fEtaAxis=ax; } virtual void SetEtaBins(TAxis* ax) { fEtaAxis=ax; }
skipping to change at line 233 skipping to change at line 243
TEveCaloDataVec& operator=(const TEveCaloDataVec&); // Not implemented TEveCaloDataVec& operator=(const TEveCaloDataVec&); // Not implemented
protected: protected:
typedef std::vector<Float_t> vFloat_t; typedef std::vector<Float_t> vFloat_t;
typedef std::vector<Float_t>::iterator vFloat_i; typedef std::vector<Float_t>::iterator vFloat_i;
typedef std::vector<vFloat_t> vvFloat_t; typedef std::vector<vFloat_t> vvFloat_t;
typedef std::vector<vFloat_t>::iterator vvFloat_i; typedef std::vector<vFloat_t>::iterator vvFloat_i;
vvFloat_t fSliceVec; vvFloat_t fSliceVec;
vFloat_t fValVec;
vCellGeom_t fGeomVec; vCellGeom_t fGeomVec;
Int_t fTower; // current tower Int_t fTower; // current tower
Float_t fEtaMin; Float_t fEtaMin;
Float_t fEtaMax; Float_t fEtaMax;
Float_t fPhiMin; Float_t fPhiMin;
Float_t fPhiMax; Float_t fPhiMax;
public: public:
TEveCaloDataVec(Int_t nslices); TEveCaloDataVec(Int_t nslices);
virtual ~TEveCaloDataVec(); virtual ~TEveCaloDataVec();
Int_t AddSlice();
Int_t AddTower(Float_t etaMin, Float_t etaMax, Float_t phiMin, Float_t p hiMax); Int_t AddTower(Float_t etaMin, Float_t etaMax, Float_t phiMin, Float_t p hiMax);
void FillSlice(Int_t slice, Float_t value); void FillSlice(Int_t slice, Float_t value);
void FillSlice(Int_t slice, Int_t tower, Float_t value); void FillSlice(Int_t slice, Int_t tower, Float_t value);
Int_t GetNCells() { return fGeomVec.size(); } Int_t GetNCells() { return fGeomVec.size(); }
std::vector<Float_t>& GetSliceVals(Int_t slice) { return fSliceVec[slic
e]; }
std::vector<TEveCaloData::CellGeom_t>& GetCellGeom() { return fGeomVec;
}
virtual void GetCellList(Float_t etaMin, Float_t etaMax, virtual void GetCellList(Float_t etaMin, Float_t etaMax,
Float_t phi, Float_t phiRng, Float_t phi, Float_t phiRng,
vCellId_t &out) const; vCellId_t &out) const;
virtual void Rebin(TAxis *ax, TAxis *ay, vCellId_t &in, Bool_t et, Rebin Data_t &out) const; virtual void Rebin(TAxis *ax, TAxis *ay, vCellId_t &in, Bool_t et, Rebin Data_t &out) const;
virtual void GetCellData(const TEveCaloData::CellId_t &id, TEveCaloData: :CellData_t& data) const; virtual void GetCellData(const TEveCaloData::CellId_t &id, TEveCaloData: :CellData_t& data) const;
virtual void GetEtaLimits(Double_t &min, Double_t &max) const { min=fEta Min, max=fEtaMax;} virtual void GetEtaLimits(Double_t &min, Double_t &max) const { min=fEta Min, max=fEtaMax;}
virtual void GetPhiLimits(Double_t &min, Double_t &max) const { min=fPhi Min; max=fPhiMax;} virtual void GetPhiLimits(Double_t &min, Double_t &max) const { min=fPhi Min; max=fPhiMax;}
 End of changes. 12 change blocks. 
6 lines changed or deleted 21 lines changed or added


 TEveCaloLegoOverlay.h   TEveCaloLegoOverlay.h 
// @(#)root/eve:$Id: TEveCaloLegoOverlay.h 31081 2009-11-11 10:51:54Z matev z $ // @(#)root/eve:$Id: TEveCaloLegoOverlay.h 33864 2010-06-14 09:47:19Z matev z $
// Author: Alja Mrak-Tadel 2007 // Author: Alja Mrak-Tadel 2007
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 39 skipping to change at line 39
void RenderLogaritmicScales(TGLRnrCtx& rnrCtx); void RenderLogaritmicScales(TGLRnrCtx& rnrCtx);
void RenderPaletteScales(TGLRnrCtx& rnrCtx); void RenderPaletteScales(TGLRnrCtx& rnrCtx);
void RenderPlaneInterface(TGLRnrCtx& rnrCtx); void RenderPlaneInterface(TGLRnrCtx& rnrCtx);
void RenderHeader(TGLRnrCtx& rnrCtx); void RenderHeader(TGLRnrCtx& rnrCtx);
TEveCaloLego* fCalo; // model TEveCaloLego* fCalo; // model
// 2D scales // 2D scales
Bool_t fShowScales; Bool_t fShowScales;
Color_t fScaleColor; Color_t fScaleColor;
UChar_t fScaleTransparency; //transaprency in % Char_t fScaleTransparency; //transaprency in %
Double_t fScaleCoordX; Double_t fScaleCoordX;
Double_t fScaleCoordY; Double_t fScaleCoordY;
Double_t fScaleW; Double_t fScaleW;
Double_t fScaleH; Double_t fScaleH;
Double_t fCellX; Double_t fCellX;
Double_t fCellY; Double_t fCellY;
Color_t fFrameColor; Color_t fFrameColor;
UChar_t fFrameLineTransp; Char_t fFrameLineTransp;
UChar_t fFrameBgTransp; Char_t fFrameBgTransp;
// move of scales // move of scales
Int_t fMouseX, fMouseY; //! last mouse position Int_t fMouseX, fMouseY; //! last mouse position
Bool_t fInDrag; Bool_t fInDrag;
// text top right corner // text top right corner
TString fHeaderTxt; TString fHeaderTxt;
Bool_t fHeaderSelected; Bool_t fHeaderSelected;
// plane ojects // plane ojects
skipping to change at line 96 skipping to change at line 96
TEveCaloLego* GetCaloLego() {return fCalo;} TEveCaloLego* GetCaloLego() {return fCalo;}
void SetCaloLego(TEveCaloLego* c) {fCalo = c;} void SetCaloLego(TEveCaloLego* c) {fCalo = c;}
void SetShowPlane (Bool_t x) { fShowPlane = x; } void SetShowPlane (Bool_t x) { fShowPlane = x; }
Bool_t GetShowPlane() const { return fShowPlane; } Bool_t GetShowPlane() const { return fShowPlane; }
void SetHeaderTxt(const char *txt) {fHeaderTxt = txt; } void SetHeaderTxt(const char *txt) {fHeaderTxt = txt; }
const char* GetHeaderTxt() const { return fHeaderTxt; } const char* GetHeaderTxt() const { return fHeaderTxt; }
void SetShowScales(Bool_t x) { fShowScales = x;} void SetShowScales(Bool_t x) { fShowScales = x;}
void SetScaleColorTransparency(Color_t colIdx, UChar_t transp); void SetScaleColorTransparency(Color_t colIdx, Char_t transp);
void SetScalePosition(Double_t x, Double_t y); void SetScalePosition(Double_t x, Double_t y);
void SetFrameAttribs(Color_t frameCol, UChar_t lineTransp, UCha r_t bgTransp); void SetFrameAttribs(Color_t frameCol, Char_t lineTransp, Char_ t bgTransp);
ClassDef(TEveCaloLegoOverlay, 0); // GL-overaly control GUI for TEveCalo Lego. ClassDef(TEveCaloLegoOverlay, 0); // GL-overaly control GUI for TEveCalo Lego.
}; };
#endif #endif
 End of changes. 5 change blocks. 
6 lines changed or deleted 6 lines changed or added


 TEveCaloVizEditor.h   TEveCaloVizEditor.h 
// @(#)root/eve:$Id: TEveCaloVizEditor.h 27669 2009-03-02 20:13:53Z matevz $ // @(#)root/eve:$Id: TEveCaloVizEditor.h 33955 2010-06-17 11:33:13Z matevz $
// Author: Matevz Tadel 2007 // Author: Matevz Tadel 2007
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 72 skipping to change at line 72
void DoScaleAbs(); void DoScaleAbs();
void DoMaxValAbs(); void DoMaxValAbs();
void DoPlot(); void DoPlot();
void DoEtaRange(); void DoEtaRange();
void DoPhi(); void DoPhi();
void DoSliceThreshold(); void DoSliceThreshold();
void DoSliceColor(Pixel_t color); void DoSliceColor(Pixel_t color);
void DoSliceTransparency(Long_t transp);
ClassDef(TEveCaloVizEditor, 0); // GUI editor for TEveCaloVizEditor. ClassDef(TEveCaloVizEditor, 0); // GUI editor for TEveCaloVizEditor.
}; };
/************************************************************************** / /************************************************************************** /
class TEveCalo3DEditor : public TGedFrame class TEveCalo3DEditor : public TGedFrame
{ {
private: private:
TEveCalo3DEditor(const TEveCalo3DEditor&); // Not implemented TEveCalo3DEditor(const TEveCalo3DEditor&); // Not implemented
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


 TEveChunkManager.h   TEveChunkManager.h 
// @(#)root/eve:$Id: TEveChunkManager.h 33124 2010-04-21 20:04:42Z matevz $ // @(#)root/eve:$Id: TEveChunkManager.h 33591 2010-05-20 11:00:08Z matevz $
// Authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007 // Authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 81 skipping to change at line 81
Char_t *fCurrent; Char_t *fCurrent;
Int_t fAtomIndex; Int_t fAtomIndex;
Int_t fNextChunk; Int_t fNextChunk;
Int_t fAtomsToGo; Int_t fAtomsToGo;
const std::set<Int_t> *fSelection; const std::set<Int_t> *fSelection;
std::set<Int_t>::const_iterator fSelectionIterator; std::set<Int_t>::const_iterator fSelectionIterator;
iterator(TEveChunkManager* p) : iterator(TEveChunkManager* p) :
fPlex(p), fCurrent(0), fAtomIndex(-1), fPlex(p), fCurrent(0), fAtomIndex(-1),
fNextChunk(0), fAtomsToGo(0), fSelection(0) {} fNextChunk(0), fAtomsToGo(0), fSelection(0), fSelectionIterator() {}
iterator(TEveChunkManager& p) : iterator(TEveChunkManager& p) :
fPlex(&p), fCurrent(0), fAtomIndex(-1), fPlex(&p), fCurrent(0), fAtomIndex(-1),
fNextChunk(0), fAtomsToGo(0), fSelection(0) {} fNextChunk(0), fAtomsToGo(0), fSelection(0), fSelectionIterator() {}
iterator(const iterator& i) : iterator(const iterator& i) :
fPlex(i.fPlex), fCurrent(i.fCurrent), fAtomIndex(i.fAtomIndex), fPlex(i.fPlex), fCurrent(i.fCurrent), fAtomIndex(i.fAtomIndex),
fNextChunk(i.fNextChunk), fAtomsToGo(i.fAtomsToGo), fNextChunk(i.fNextChunk), fAtomsToGo(i.fAtomsToGo),
fSelection(i.fSelection), fSelectionIterator(i.fSelectionIterator) {} fSelection(i.fSelection), fSelectionIterator(i.fSelectionIterator) {}
iterator& operator=(const iterator& i) { iterator& operator=(const iterator& i) {
fPlex = i.fPlex; fCurrent = i.fCurrent; fAtomIndex = i.fAtomIndex; fPlex = i.fPlex; fCurrent = i.fCurrent; fAtomIndex = i.fAtomIndex;
fNextChunk = i.fNextChunk; fAtomsToGo = i.fAtomsToGo; fNextChunk = i.fNextChunk; fAtomsToGo = i.fAtomsToGo;
fSelection = i.fSelection; fSelectionIterator = i.fSelectionIterat or; fSelection = i.fSelection; fSelectionIterator = i.fSelectionIterat or;
return *this; return *this;
 End of changes. 3 change blocks. 
3 lines changed or deleted 3 lines changed or added


 TEveCompound.h   TEveCompound.h 
// @(#)root/eve:$Id: TEveCompound.h 33071 2010-04-16 16:34:39Z matevz $ // @(#)root/eve:$Id: TEveCompound.h 33864 2010-06-14 09:47:19Z matevz $
// Author: Matevz Tadel 2007 // Author: Matevz Tadel 2007
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 33 skipping to change at line 33
{ {
private: private:
TEveCompound(const TEveCompound&); // Not implemented TEveCompound(const TEveCompound&); // Not implemented
TEveCompound& operator=(const TEveCompound&); // Not implemented TEveCompound& operator=(const TEveCompound&); // Not implemented
protected: protected:
Short_t fCompoundOpen; // If more than zero, tag new children as compou nd members. Short_t fCompoundOpen; // If more than zero, tag new children as compou nd members.
public: public:
TEveCompound(const char* n="TEveCompound", const char* t="", TEveCompound(const char* n="TEveCompound", const char* t="",
Bool_t doColor=kTRUE); Bool_t doColor=kTRUE, Bool_t doTransparency=kFALSE);
virtual ~TEveCompound() {} virtual ~TEveCompound() {}
void OpenCompound() { ++fCompoundOpen; } void OpenCompound() { ++fCompoundOpen; }
void CloseCompound() { --fCompoundOpen; } void CloseCompound() { --fCompoundOpen; }
Bool_t IsCompoundOpen() const { return fCompoundOpen > 0; } Bool_t IsCompoundOpen() const { return fCompoundOpen > 0; }
virtual void SetMainColor(Color_t color); virtual void SetMainColor(Color_t color);
virtual void SetMainTransparency(Char_t t);
virtual void AddElement(TEveElement* el); virtual void AddElement(TEveElement* el);
virtual void RemoveElementLocal(TEveElement* el); virtual void RemoveElementLocal(TEveElement* el);
virtual void RemoveElementsLocal(); virtual void RemoveElementsLocal();
virtual void FillImpliedSelectedSet(Set_t& impSelSet); virtual void FillImpliedSelectedSet(Set_t& impSelSet);
virtual TClass* ProjectedClass(const TEveProjection* p) const; virtual TClass* ProjectedClass(const TEveProjection* p) const;
ClassDef(TEveCompound, 0); // Container for managing compounds of TEveEl ements. ClassDef(TEveCompound, 0); // Container for managing compounds of TEveEl ements.
 End of changes. 3 change blocks. 
2 lines changed or deleted 3 lines changed or added


 TEveDigitSet.h   TEveDigitSet.h 
// @(#)root/eve:$Id: TEveDigitSet.h 33124 2010-04-21 20:04:42Z matevz $ // @(#)root/eve:$Id: TEveDigitSet.h 33864 2010-06-14 09:47:19Z matevz $
// Authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007 // Authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 63 skipping to change at line 63
void *fUserData; // user-data for given digit void *fUserData; // user-data for given digit
DigitBase_t(Int_t v=0) : fValue(v), fUserData(0) {} DigitBase_t(Int_t v=0) : fValue(v), fUserData(0) {}
}; };
TRefArray *fDigitIds; // Array holding references to exter nal objects. TRefArray *fDigitIds; // Array holding references to exter nal objects.
Int_t fDefaultValue; // Default signal value. Int_t fDefaultValue; // Default signal value.
Bool_t fValueIsColor; // Interpret signal value as RGBA co lor. Bool_t fValueIsColor; // Interpret signal value as RGBA co lor.
Bool_t fSingleColor; // Use the same color for all digits . Bool_t fSingleColor; // Use the same color for all digits .
Bool_t fAntiFlick; // Make extra render pass to avoid fl ickering when quads are too small.
Bool_t fOwnIds; // Flag specifying if id-objects are owned by the TEveDigitSet. Bool_t fOwnIds; // Flag specifying if id-objects are owned by the TEveDigitSet.
TEveChunkManager fPlex; // Container of digit data. TEveChunkManager fPlex; // Container of digit data.
DigitBase_t* fLastDigit; //! The last / current digit added to collection. DigitBase_t* fLastDigit; //! The last / current digit added to collection.
Int_t fLastIdx; //! The last / current idx added to c ollection. Int_t fLastIdx; //! The last / current idx added to c ollection.
Color_t fColor; // Color used for frame (or all digi s with single-color). Color_t fColor; // Color used for frame (or all digi s with single-color).
TEveFrameBox* fFrame; // Pointer to frame structure. TEveFrameBox* fFrame; // Pointer to frame structure.
TEveRGBAPalette* fPalette; // Pointer to signal-color palette. TEveRGBAPalette* fPalette; // Pointer to signal-color palette.
ERenderMode_e fRenderMode; // Render mode: as-is / line / fille d. ERenderMode_e fRenderMode; // Render mode: as-is / line / fille d.
Bool_t fDisableLigting; // Disable lighting for rendering. Bool_t fDisableLigting; // Disable lighting for rendering.
skipping to change at line 86 skipping to change at line 87
Callback_foo fCallbackFoo; //! Additional function to call on se condary-select. Callback_foo fCallbackFoo; //! Additional function to call on se condary-select.
TooltipCB_foo fTooltipCBFoo; //! Function providing highlight tool tips when always-sec-select is active. TooltipCB_foo fTooltipCBFoo; //! Function providing highlight tool tips when always-sec-select is active.
DigitBase_t* NewDigit(); DigitBase_t* NewDigit();
void ReleaseIds(); void ReleaseIds();
public: public:
TEveDigitSet(const char* n="TEveDigitSet", const char* t=""); TEveDigitSet(const char* n="TEveDigitSet", const char* t="");
virtual ~TEveDigitSet(); virtual ~TEveDigitSet();
void UseSingleColor(); void UseSingleColor();
virtual Bool_t CanEditMainColor() const { return kTRUE; } Bool_t GetAntiFlick() const { return fAntiFlick; }
virtual void SetMainColor(Color_t color); void SetAntiFlick(Bool_t f) { fAntiFlick = f; }
virtual Bool_t CanEditMainTransparency() const { return kTRUE; } virtual void SetMainColor(Color_t color);
virtual void UnSelected(); virtual void UnSelected();
virtual void UnHighlighted(); virtual void UnHighlighted();
virtual TString GetHighlightTooltip(); virtual TString GetHighlightTooltip();
// Implemented in sub-classes: // Implemented in sub-classes:
// virtual void Reset(EQuadType_e quadType, Bool_t valIsCol, Int_t chunk Size); // virtual void Reset(EQuadType_e quadType, Bool_t valIsCol, Int_t chunk Size);
void RefitPlex(); void RefitPlex();
void ScanMinMaxValues(Int_t& min, Int_t& max); void ScanMinMaxValues(Int_t& min, Int_t& max);
// -------------------------------- // --------------------------------
void SetCurrentDigit(Int_t idx); void SetCurrentDigit(Int_t idx);
void DigitValue(Int_t value); void DigitValue(Int_t value);
void DigitColor(Color_t ci); void DigitColor(Color_t ci);
void DigitColor(Color_t ci, UChar_t transparency); void DigitColor(Color_t ci, Char_t transparency);
void DigitColor(UChar_t r, UChar_t g, UChar_t b, UChar_t a=255); void DigitColor(UChar_t r, UChar_t g, UChar_t b, UChar_t a=255);
void DigitColor(UChar_t* rgba); void DigitColor(UChar_t* rgba);
Bool_t GetOwnIds() const { return fOwnIds; } Bool_t GetOwnIds() const { return fOwnIds; }
void SetOwnIds(Bool_t o) { fOwnIds = o; } void SetOwnIds(Bool_t o) { fOwnIds = o; }
void DigitId(TObject* id); void DigitId(TObject* id);
void DigitUserData(void* ud); void DigitUserData(void* ud);
void DigitId(Int_t n, TObject* id); void DigitId(Int_t n, TObject* id);
 End of changes. 6 change blocks. 
6 lines changed or deleted 7 lines changed or added


 TEveElement.h   TEveElement.h 
// @(#)root/eve:$Id: TEveElement.h 33135 2010-04-22 10:36:40Z matevz $ // @(#)root/eve:$Id: TEveElement.h 33864 2010-06-14 09:47:19Z matevz $
// Authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007 // Authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 89 skipping to change at line 89
List_t fChildren; // List of children. List_t fChildren; // List of children.
TEveCompound *fCompound; // Compound this object belongs to. TEveCompound *fCompound; // Compound this object belongs to.
TEveElement *fVizModel; //! Element used as model from V izDB. TEveElement *fVizModel; //! Element used as model from V izDB.
TString fVizTag; // Tag used to query VizDB for model element. TString fVizTag; // Tag used to query VizDB for model element.
Int_t fParentIgnoreCnt; //! Counter for parents that are ignored in ref-counting. Int_t fParentIgnoreCnt; //! Counter for parents that are ignored in ref-counting.
Int_t fTopItemCnt; //! Counter for top-level list-t ree items that prevent automatic destruction. Int_t fTopItemCnt; //! Counter for top-level list-t ree items that prevent automatic destruction.
Int_t fDenyDestroy; //! Deny-destroy count. Int_t fDenyDestroy; //! Deny-destroy count.
Bool_t fDestroyOnZeroRefCnt; // Auto-destruct when ref-count reaches zero. Bool_t fDestroyOnZeroRefCnt; // Auto-destruct when ref-count reaches zero.
Bool_t fRnrSelf; // Render this element. Bool_t fRnrSelf; // Render this element.
Bool_t fRnrChildren; // Render children of this elem Bool_t fRnrChildren; // Render children of this e
ent. lement.
Bool_t fCanEditMainTrans; // Allow editing of main transf Bool_t fCanEditMainColor; // Allow editing of main col
ormation. or.
Bool_t fCanEditMainTransparency; // Allow editing of main tra
nsparency.
Bool_t fCanEditMainTrans; // Allow editing of main tra
nsformation.
UChar_t fMainTransparency; // Main-transparency variable. Char_t fMainTransparency; // Main-transparency variable.
Color_t *fMainColorPtr; // Pointer to main-color variab le. Color_t *fMainColorPtr; // Pointer to main-color variab le.
TEveTrans *fMainTrans; // Pointer to main transformati on matrix. TEveTrans *fMainTrans; // Pointer to main transformati on matrix.
sLTI_t fItems; //! Set of list-tree-items. sLTI_t fItems; //! Set of list-tree-items.
TRef fSource; // External object that is repr esented by this element. TRef fSource; // External object that is repr esented by this element.
void *fUserData; //! Externally assigned and cont rolled user data. void *fUserData; //! Externally assigned and cont rolled user data.
virtual void PreDeleteElement(); virtual void PreDeleteElement();
virtual void RemoveElementsInternal(); virtual void RemoveElementsInternal();
skipping to change at line 256 skipping to change at line 258
virtual Bool_t GetRnrSelf() const { return fRnrSelf; } virtual Bool_t GetRnrSelf() const { return fRnrSelf; }
virtual Bool_t GetRnrChildren() const { return fRnrChildren; } virtual Bool_t GetRnrChildren() const { return fRnrChildren; }
virtual Bool_t GetRnrState() const { return fRnrSelf && fRnrChildren; } virtual Bool_t GetRnrState() const { return fRnrSelf && fRnrChildren; }
virtual Bool_t GetRnrAnything() const { return fRnrSelf || (fRnrChildren && HasChildren()); } virtual Bool_t GetRnrAnything() const { return fRnrSelf || (fRnrChildren && HasChildren()); }
virtual Bool_t SetRnrSelf(Bool_t rnr); virtual Bool_t SetRnrSelf(Bool_t rnr);
virtual Bool_t SetRnrChildren(Bool_t rnr); virtual Bool_t SetRnrChildren(Bool_t rnr);
virtual Bool_t SetRnrSelfChildren(Bool_t rnr_self, Bool_t rnr_children); virtual Bool_t SetRnrSelfChildren(Bool_t rnr_self, Bool_t rnr_children);
virtual Bool_t SetRnrState(Bool_t rnr); virtual Bool_t SetRnrState(Bool_t rnr);
virtual void PropagateRnrStateToProjecteds(); virtual void PropagateRnrStateToProjecteds();
virtual Bool_t CanEditMainColor() const { return kFALSE; } virtual Bool_t CanEditMainColor() const { return fCanEditMainColor; }
Color_t* GetMainColorPtr() const { return fMainColorPtr; } void SetEditMainColor(Bool_t x) { fCanEditMainColor = x; }
void SetMainColorPtr(Color_t* color) { fMainColorPtr = color; } Color_t* GetMainColorPtr() const { return fMainColorPtr; }
void SetMainColorPtr(Color_t* color) { fMainColorPtr = color; }
virtual Bool_t HasMainColor() const { return fMainColorPtr != 0; } virtual Bool_t HasMainColor() const { return fMainColorPtr != 0; }
virtual Color_t GetMainColor() const { return fMainColorPtr ? *fMainColo rPtr : 0; } virtual Color_t GetMainColor() const { return fMainColorPtr ? *fMainColo rPtr : 0; }
virtual void SetMainColor(Color_t color); virtual void SetMainColor(Color_t color);
void SetMainColorPixel(Pixel_t pixel); void SetMainColorPixel(Pixel_t pixel);
void SetMainColorRGB(UChar_t r, UChar_t g, UChar_t b); void SetMainColorRGB(UChar_t r, UChar_t g, UChar_t b);
void SetMainColorRGB(Float_t r, Float_t g, Float_t b); void SetMainColorRGB(Float_t r, Float_t g, Float_t b);
virtual void PropagateMainColorToProjecteds(Color_t color, Color_t ol d_color); virtual void PropagateMainColorToProjecteds(Color_t color, Color_t ol d_color);
virtual Bool_t CanEditMainTransparency() const { return kFALSE; } virtual Bool_t CanEditMainTransparency() const { return fCanEditMainT
virtual UChar_t GetMainTransparency() const { return fMainTransparen ransparency; }
cy; } void SetEditMainTransparency(Bool_t x) { fCanEditMainTranspar
virtual void SetMainTransparency(UChar_t t); ency = x; }
virtual Char_t GetMainTransparency() const { return fMainTransparen
cy; }
virtual void SetMainTransparency(Char_t t);
void SetMainAlpha(Float_t alpha); void SetMainAlpha(Float_t alpha);
virtual void PropagateMainTransparencyToProjecteds(Char_t t, Char_t o ld_t);
virtual Bool_t CanEditMainTrans() const { return fCanEditMainTrans; } virtual Bool_t CanEditMainTrans() const { return fCanEditMainTrans; }
virtual Bool_t HasMainTrans() const { return fMainTrans != 0; } virtual Bool_t HasMainTrans() const { return fMainTrans != 0; }
virtual TEveTrans* PtrMainTrans(Bool_t create=kTRUE); virtual TEveTrans* PtrMainTrans(Bool_t create=kTRUE);
virtual TEveTrans& RefMainTrans(); virtual TEveTrans& RefMainTrans();
virtual void InitMainTrans(Bool_t can_edit=kTRUE); virtual void InitMainTrans(Bool_t can_edit=kTRUE);
virtual void DestroyMainTrans(); virtual void DestroyMainTrans();
virtual void SetTransMatrix(Double_t* carr); virtual void SetTransMatrix(Double_t* carr);
virtual void SetTransMatrix(const TGeoMatrix& mat); virtual void SetTransMatrix(const TGeoMatrix& mat);
skipping to change at line 309 skipping to change at line 314
Bool_t fSelected; //! Bool_t fSelected; //!
Bool_t fHighlighted; //! Bool_t fHighlighted; //!
Short_t fImpliedSelected; //! Short_t fImpliedSelected; //!
Short_t fImpliedHighlighted; //! Short_t fImpliedHighlighted; //!
enum ECompoundSelectionColorBits enum ECompoundSelectionColorBits
{ {
kCSCBImplySelectAllChildren = BIT(0), // compound will sele ct all children kCSCBImplySelectAllChildren = BIT(0), // compound will sele ct all children
kCSCBTakeAnyParentAsMaster = BIT(1), // element will take any compound parent as master kCSCBTakeAnyParentAsMaster = BIT(1), // element will take any compound parent as master
kCSCBApplyMainColorToAllChildren = BIT(2), // compound will appl y color change to all children kCSCBApplyMainColorToAllChildren = BIT(2), // compound will appl y color change to all children
kCSCBApplyMainColorToMatchingChildren = BIT(3) // compound will appl kCSCBApplyMainColorToMatchingChildren = BIT(3), // compound will appl
y color change to all children with matching color y color change to all children with matching color
kCSCBApplyMainTransparencyToAllChildren = BIT(4), // compound wi
ll apply transparency change to all children
kCSCBApplyMainTransparencyToMatchingChildren = BIT(5) // compound wi
ll apply transparency change to all children with matching color
}; };
UChar_t fCSCBits; UChar_t fCSCBits;
public: public:
typedef void (TEveElement::* Select_foo) (Bool_t); typedef void (TEveElement::* Select_foo) (Bool_t);
typedef void (TEveElement::* ImplySelect_foo) (); typedef void (TEveElement::* ImplySelect_foo) ();
Bool_t IsPickable() const { return fPickable; } Bool_t IsPickable() const { return fPickable; }
void SetPickable(Bool_t p) { fPickable = p; } void SetPickable(Bool_t p) { fPickable = p; }
skipping to change at line 338 skipping to change at line 345
virtual void HighlightElement(Bool_t state); virtual void HighlightElement(Bool_t state);
virtual void IncImpliedHighlighted(); virtual void IncImpliedHighlighted();
virtual void DecImpliedHighlighted(); virtual void DecImpliedHighlighted();
virtual void UnHighlighted(); virtual void UnHighlighted();
virtual void FillImpliedSelectedSet(Set_t& impSelSet); virtual void FillImpliedSelectedSet(Set_t& impSelSet);
virtual UChar_t GetSelectedLevel() const; virtual UChar_t GetSelectedLevel() const;
void RecheckImpliedSelections(); void RecheckImpliedSelections();
void SetCSCBits(UChar_t f) { fCSCBits |= f; } void SetCSCBits(UChar_t f) { fCSCBits |= f; }
void ResetCSCBits(UChar_t f) { fCSCBits &= ~f; } void ResetCSCBits(UChar_t f) { fCSCBits &= ~f; }
Bool_t TestCSCBits(UChar_t f) const { return (fCSCBits & f) != 0; } Bool_t TestCSCBits(UChar_t f) const { return (fCSCBits & f) != 0; }
void ResetAllCSCBits() { fCSCBits = 0; } void ResetAllCSCBits() { fCSCBits = 0; }
void CSCImplySelectAllChildren() { fCSCBits |= kCSCBImplySel ectAllChildren; } void CSCImplySelectAllChildren() { fCSCBits |= kCSCBImplySel ectAllChildren; }
void CSCTakeAnyParentAsMaster() { fCSCBits |= kCSCBTakeAnyP arentAsMaster; } void CSCTakeAnyParentAsMaster() { fCSCBits |= kCSCBTakeAnyP arentAsMaster; }
void CSCApplyMainColorToAllChildren() { fCSCBits |= kCSCBApplyMai nColorToAllChildren; } void CSCApplyMainColorToAllChildren() { fCSCBits |= kCSCBApplyMai nColorToAllChildren; }
void CSCApplyMainColorToMatchingChildren() { fCSCBits |= kCSCBApplyMai nColorToMatchingChildren; } void CSCApplyMainColorToMatchingChildren() { fCSCBits |= kCSCBApplyMai nColorToMatchingChildren; }
void CSCApplyMainTransparencyToAllChildren() { fCSCBits |= kCSCBA
pplyMainTransparencyToAllChildren; }
void CSCApplyMainTransparencyToMatchingChildren() { fCSCBits |= kCSCBA
pplyMainTransparencyToMatchingChildren; }
// Change-stamping and change bits // Change-stamping and change bits
//--------------------------------- //---------------------------------
enum EChangeBits enum EChangeBits
{ {
kCBColorSelection = BIT(0), // Main color or select/hilite state cha nged. kCBColorSelection = BIT(0), // Main color or select/hilite state cha nged.
kCBTransBBox = BIT(1), // Transformation matrix or bounding-box changed. kCBTransBBox = BIT(1), // Transformation matrix or bounding-box changed.
kCBObjProps = BIT(2), // Object changed, requires dropping its display-lists. kCBObjProps = BIT(2), // Object changed, requires dropping its display-lists.
kCBVisibility = BIT(3) // Rendering of self/children changed. kCBVisibility = BIT(3) // Rendering of self/children changed.
skipping to change at line 439 skipping to change at line 448
/************************************************************************** ****/ /************************************************************************** ****/
class TEveElementList : public TEveElement, class TEveElementList : public TEveElement,
public TNamed, public TNamed,
public TEveProjectable public TEveProjectable
{ {
private: private:
TEveElementList& operator=(const TEveElementList&); // Not implemented TEveElementList& operator=(const TEveElementList&); // Not implemented
protected: protected:
Color_t fColor; // Color of the object. Color_t fColor; // Color of the object.
Bool_t fDoColor; // Should serve fColor as the main color of the TClass *fChildClass; // Class of acceptable children, others are r
object. ejected.
TClass *fChildClass; // Class of acceptable children, others are reje
cted.
public: public:
TEveElementList(const char* n="TEveElementList", const char* t="", TEveElementList(const char* n="TEveElementList", const char* t="",
Bool_t doColor=kFALSE); Bool_t doColor=kFALSE, Bool_t doTransparency=kFALSE);
TEveElementList(const TEveElementList& e); TEveElementList(const TEveElementList& e);
virtual ~TEveElementList() {} virtual ~TEveElementList() {}
virtual TEveElementList* CloneElement() const; virtual TEveElementList* CloneElement() const;
virtual const char* GetElementName() const { return GetName(); } virtual const char* GetElementName() const { return GetName(); }
virtual const char* GetElementTitle() const { return GetTitle(); } virtual const char* GetElementTitle() const { return GetTitle(); }
virtual void SetElementName (const char* name) virtual void SetElementName (const char* name)
{ TNamed::SetName(name); NameTitleChanged(); } { TNamed::SetName(name); NameTitleChanged(); }
virtual void SetElementTitle(const char* title) virtual void SetElementTitle(const char* title)
{ TNamed::SetTitle(title); NameTitleChanged(); } { TNamed::SetTitle(title); NameTitleChanged(); }
virtual void SetElementNameTitle(const char* name, const char* title) virtual void SetElementNameTitle(const char* name, const char* title)
{ TNamed::SetNameTitle(name, title); NameTitleChanged(); } { TNamed::SetNameTitle(name, title); NameTitleChanged(); }
virtual Bool_t CanEditMainColor() const { return fDoColor; }
TClass* GetChildClass() const { return fChildClass; } TClass* GetChildClass() const { return fChildClass; }
void SetChildClass(TClass* c) { fChildClass = c; } void SetChildClass(TClass* c) { fChildClass = c; }
virtual Bool_t AcceptElement(TEveElement* el); virtual Bool_t AcceptElement(TEveElement* el);
virtual TClass* ProjectedClass(const TEveProjection* p) const; virtual TClass* ProjectedClass(const TEveProjection* p) const;
ClassDef(TEveElementList, 0); // List of TEveElement objects with a poss ibility to limit the class of accepted elements. ClassDef(TEveElementList, 0); // List of TEveElement objects with a poss ibility to limit the class of accepted elements.
}; };
 End of changes. 12 change blocks. 
25 lines changed or deleted 38 lines changed or added


 TEveGeoNode.h   TEveGeoNode.h 
// @(#)root/eve:$Id: TEveGeoNode.h 29908 2009-08-25 18:09:53Z matevz $ // @(#)root/eve:$Id: TEveGeoNode.h 33864 2010-06-14 09:47:19Z matevz $
// Authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007 // Authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 69 skipping to change at line 69
virtual void ExpandIntoListTreesRecursively(); virtual void ExpandIntoListTreesRecursively();
virtual Bool_t CanEditElement() const { return kFALSE; } virtual Bool_t CanEditElement() const { return kFALSE; }
virtual void AddStamp(UChar_t bits); virtual void AddStamp(UChar_t bits);
virtual Bool_t CanEditMainColor() const; virtual Bool_t CanEditMainColor() const;
virtual void SetMainColor(Color_t color); virtual void SetMainColor(Color_t color);
virtual Bool_t CanEditMainTransparency() const; virtual Bool_t CanEditMainTransparency() const;
virtual UChar_t GetMainTransparency() const; virtual Char_t GetMainTransparency() const;
virtual void SetMainTransparency(UChar_t t); virtual void SetMainTransparency(Char_t t);
void UpdateNode(TGeoNode* node); void UpdateNode(TGeoNode* node);
void UpdateVolume(TGeoVolume* volume); void UpdateVolume(TGeoVolume* volume);
void Save(const char* file, const char* name="Extract", Bool_t leafs_onl y=kFALSE); void Save(const char* file, const char* name="Extract", Bool_t leafs_onl y=kFALSE);
void SaveExtract(const char* file, const char* name, Bool_t leafs_only); void SaveExtract(const char* file, const char* name, Bool_t leafs_only);
void WriteExtract(const char* name, Bool_t leafs_only); void WriteExtract(const char* name, Bool_t leafs_only);
virtual void Draw(Option_t* option=""); virtual void Draw(Option_t* option="");
 End of changes. 2 change blocks. 
3 lines changed or deleted 3 lines changed or added


 TEveGeoShape.h   TEveGeoShape.h 
// @(#)root/eve:$Id: TEveGeoShape.h 32528 2010-03-10 17:02:54Z matevz $ // @(#)root/eve:$Id: TEveGeoShape.h 33864 2010-06-14 09:47:19Z matevz $
// Author: Matevz Tadel 2007 // Author: Matevz Tadel 2007
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 45 skipping to change at line 45
static TGeoManager* fgGeoMangeur; static TGeoManager* fgGeoMangeur;
static TEveGeoShape* SubImportShapeExtract(TEveGeoShapeExtract* gse, TEv eElement* parent); static TEveGeoShape* SubImportShapeExtract(TEveGeoShapeExtract* gse, TEv eElement* parent);
TEveGeoShapeExtract* DumpShapeTree(TEveGeoShape* geon, TEveGeoShapeExtra ct* parent=0); TEveGeoShapeExtract* DumpShapeTree(TEveGeoShape* geon, TEveGeoShapeExtra ct* parent=0);
public: public:
TEveGeoShape(const char* name="TEveGeoShape", const char* title=0); TEveGeoShape(const char* name="TEveGeoShape", const char* title=0);
virtual ~TEveGeoShape(); virtual ~TEveGeoShape();
virtual Bool_t CanEditMainColor() const { return kTRUE; }
virtual Bool_t CanEditMainTransparency() const { return kTRUE; }
Color_t GetColor() const { return fColor; } Color_t GetColor() const { return fColor; }
Int_t GetNSegments() const { return fNSegments; } Int_t GetNSegments() const { return fNSegments; }
void SetNSegments(Int_t s) { fNSegments = s; } void SetNSegments(Int_t s) { fNSegments = s; }
TGeoShape* GetShape() { return fShape; } TGeoShape* GetShape() { return fShape; }
void SetShape(TGeoShape* s); void SetShape(TGeoShape* s);
virtual void Paint(Option_t* option=""); virtual void Paint(Option_t* option="");
void Save(const char* file, const char* name="Extract"); void Save(const char* file, const char* name="Extract");
void SaveExtract(const char* file, const char* name); void SaveExtract(const char* file, const char* name);
 End of changes. 2 change blocks. 
4 lines changed or deleted 1 lines changed or added


 TEvePointSet.h   TEvePointSet.h 
// @(#)root/eve:$Id: TEvePointSet.h 31517 2009-12-03 11:56:23Z matevz $ // @(#)root/eve:$Id: TEvePointSet.h 33864 2010-06-14 09:47:19Z matevz $
// Authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007 // Authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 59 skipping to change at line 59
public: public:
TEvePointSet(Int_t n_points=0, ETreeVarType_e tv_type=kTVT_XYZ); TEvePointSet(Int_t n_points=0, ETreeVarType_e tv_type=kTVT_XYZ);
TEvePointSet(const char* name, Int_t n_points=0, ETreeVarType_e tv_type= kTVT_XYZ); TEvePointSet(const char* name, Int_t n_points=0, ETreeVarType_e tv_type= kTVT_XYZ);
TEvePointSet(const TEvePointSet& e); TEvePointSet(const TEvePointSet& e);
virtual ~TEvePointSet(); virtual ~TEvePointSet();
virtual TEvePointSet* CloneElement() const { return new TEvePointSet(*th is); } virtual TEvePointSet* CloneElement() const { return new TEvePointSet(*th is); }
virtual void ClonePoints(const TEvePointSet& e); virtual void ClonePoints(const TEvePointSet& e);
virtual void ComputeBBox();
void Reset(Int_t n_points=0, Int_t n_int_ids=0); void Reset(Int_t n_points=0, Int_t n_int_ids=0);
Int_t GrowFor(Int_t n_points); Int_t GrowFor(Int_t n_points);
virtual const char* GetTitle() const { return fTitle; } virtual const char* GetTitle() const { return fTitle; }
virtual const char* GetElementName() const { return TPointSet3D::GetNa me(); } virtual const char* GetElementName() const { return TPointSet3D::GetNa me(); }
virtual const char* GetElementTitle() const { return fTitle; } virtual const char* GetElementTitle() const { return fTitle; }
virtual void SetElementName (const char* n) { fName = n; NameTitleChan ged(); } virtual void SetElementName (const char* n) { fName = n; NameTitleChan ged(); }
virtual void SetTitle(const char* t) { fTitle = t; NameTitleChan ged(); } virtual void SetTitle(const char* t) { fTitle = t; NameTitleChan ged(); }
virtual void SetElementTitle(const char* t) { fTitle = t; NameTitleChan ged(); } virtual void SetElementTitle(const char* t) { fTitle = t; NameTitleChan ged(); }
virtual void SetElementNameTitle(const char* n, const char* t) virtual void SetElementNameTitle(const char* n, const char* t)
 End of changes. 2 change blocks. 
3 lines changed or deleted 1 lines changed or added


 TEveProjectionBases.h   TEveProjectionBases.h 
// @(#)root/eve:$Id: TEveProjectionBases.h 33071 2010-04-16 16:34:39Z matev z $ // @(#)root/eve:$Id: TEveProjectionBases.h 33864 2010-06-14 09:47:19Z matev z $
// Authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007 // Authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 66 skipping to change at line 66
ProjList_i EndProjecteds() { return fProjectedList.end(); } ProjList_i EndProjecteds() { return fProjectedList.end(); }
virtual void AddProjected(TEveProjected* p) { fProjectedList.push_bac k(p); } virtual void AddProjected(TEveProjected* p) { fProjectedList.push_bac k(p); }
virtual void RemoveProjected(TEveProjected* p) { fProjectedList.remove(p ); } virtual void RemoveProjected(TEveProjected* p) { fProjectedList.remove(p ); }
virtual void AddProjectedsToSet(std::set<TEveElement*>& set); virtual void AddProjectedsToSet(std::set<TEveElement*>& set);
virtual void PropagateVizParams(TEveElement* el=0); virtual void PropagateVizParams(TEveElement* el=0);
virtual void PropagateRenderState(Bool_t rnr_self, Bool_t rnr_children); virtual void PropagateRenderState(Bool_t rnr_self, Bool_t rnr_children);
virtual void PropagateMainColor(Color_t color, Color_t old_color); virtual void PropagateMainColor(Color_t color, Color_t old_color);
virtual void PropagateMainTransparency(Char_t t, Char_t old_t);
ClassDef(TEveProjectable, 0); // Abstract base class for classes that ca n be transformed with non-linear projections. ClassDef(TEveProjectable, 0); // Abstract base class for classes that ca n be transformed with non-linear projections.
}; };
//////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////
// // // //
// TEveProjected // // TEveProjected //
// // // //
// Abstract base class for non-linear projected objects. // // Abstract base class for non-linear projected objects. //
// // // //
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


 TEveProjections.h   TEveProjections.h 
// @(#)root/eve:$Id: TEveProjections.h 32528 2010-03-10 17:02:54Z matevz $ // @(#)root/eve:$Id: TEveProjections.h 33864 2010-06-14 09:47:19Z matevz $
// Authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007 // Authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 132 skipping to change at line 132
Float_t GetFixZ() const { return fFixZ; } Float_t GetFixZ() const { return fFixZ; }
void SetFixR(Float_t x); void SetFixR(Float_t x);
void SetFixZ(Float_t x); void SetFixZ(Float_t x);
Float_t GetPastFixRFac() const { return fPastFixRFac; } Float_t GetPastFixRFac() const { return fPastFixRFac; }
Float_t GetPastFixZFac() const { return fPastFixZFac; } Float_t GetPastFixZFac() const { return fPastFixZFac; }
void SetPastFixRFac(Float_t x); void SetPastFixRFac(Float_t x);
void SetPastFixZFac(Float_t x); void SetPastFixZFac(Float_t x);
Float_t GetMaxTrackStep() const { return fMaxTrackStep; } Float_t GetMaxTrackStep() const { return fMaxTrackStep; }
void SetMaxTrackStep(Float_t x) { fMaxTrackStep = TMath::Max(x, 1.0f ); } void SetMaxTrackStep(Float_t x) { fMaxTrackStep = TMath::Max(x, 1.0f ); }
virtual Bool_t AcceptSegment(TEveVector&, TEveVector&, Float_t /*to virtual Bool_t HasSeveralSubSpaces() const { return kFALSE; }
lerance*/) const { return kTRUE; } virtual Bool_t AcceptSegment(TEveVector&, TEveVector&, Float_t /*to
virtual Int_t SubSpaceId(const TEveVector&) const { return 0; } lerance*/) const { return kTRUE; }
virtual void SetDirectionalVector(Int_t screenAxis, TEveVector& v virtual Int_t SubSpaceId(const TEveVector&) const { return 0; }
ec); virtual void BisectBreakPoint(TEveVector& vL, TEveVector& vR, Flo
at_t eps_sqr=1e-10f);
virtual void SetDirectionalVector(Int_t screenAxis, TEveVector& v
ec);
// utils to draw axis // utils to draw axis
virtual Float_t GetValForScreenPos(Int_t ax, Float_t value); virtual Float_t GetValForScreenPos(Int_t ax, Float_t value);
virtual Float_t GetScreenVal(Int_t ax, Float_t value); virtual Float_t GetScreenVal(Int_t ax, Float_t value);
Float_t GetLimit(Int_t i, Bool_t pos) { return pos ? fUpLimi t[i] : fLowLimit[i]; } Float_t GetLimit(Int_t i, Bool_t pos) { return pos ? fUpLimi t[i] : fLowLimit[i]; }
static Float_t fgEps; // resolution of projected points static Float_t fgEps; // resolution of projected points
static Float_t fgEpsSqr; // square of resolution of projected point s static Float_t fgEpsSqr; // square of resolution of projected point s
ClassDef(TEveProjection, 0); // Base for specific classes that implement non-linear projections. ClassDef(TEveProjection, 0); // Base for specific classes that implement non-linear projections.
skipping to change at line 168 skipping to change at line 170
virtual ~TEveRhoZProjection() {} virtual ~TEveRhoZProjection() {}
virtual Bool_t Is2D() const { return kTRUE; } virtual Bool_t Is2D() const { return kTRUE; }
virtual Bool_t Is3D() const { return kFALSE; } virtual Bool_t Is3D() const { return kFALSE; }
virtual void ProjectPoint(Float_t& x, Float_t& y, Float_t& z, Flo at_t d, EPProc_e proc = kPP_Full); virtual void ProjectPoint(Float_t& x, Float_t& y, Float_t& z, Flo at_t d, EPProc_e proc = kPP_Full);
virtual void SetCenter(TEveVector& center); virtual void SetCenter(TEveVector& center);
virtual Float_t* GetProjectedCenter() { return fProjectedCenter.Arr() ; } virtual Float_t* GetProjectedCenter() { return fProjectedCenter.Arr() ; }
virtual void UpdateLimit(); virtual void UpdateLimit();
virtual Bool_t AcceptSegment(TEveVector& v1, TEveVector& v2, Float_ virtual Bool_t HasSeveralSubSpaces() const { return kTRUE; }
t tolerance) const; virtual Bool_t AcceptSegment(TEveVector& v1, TEveVector& v2, Float_
virtual Int_t SubSpaceId(const TEveVector& v) const; t tolerance) const;
virtual void SetDirectionalVector(Int_t screenAxis, TEveVector& v virtual Int_t SubSpaceId(const TEveVector& v) const;
ec); virtual void SetDirectionalVector(Int_t screenAxis, TEveVector& v
ec);
ClassDef(TEveRhoZProjection, 0); // Rho/Z non-linear projection. ClassDef(TEveRhoZProjection, 0); // Rho/Z non-linear projection.
}; };
//========================================================================= ===== //========================================================================= =====
// TEveRPhiProjection // TEveRPhiProjection
//========================================================================= ===== //========================================================================= =====
class TEveRPhiProjection : public TEveProjection class TEveRPhiProjection : public TEveProjection
{ {
 End of changes. 4 change blocks. 
12 lines changed or deleted 16 lines changed or added


 TEveQuadSet.h   TEveQuadSet.h 
// @(#)root/eve:$Id: TEveQuadSet.h 32935 2010-04-09 20:10:18Z matevz $ // @(#)root/eve:$Id: TEveQuadSet.h 33864 2010-06-14 09:47:19Z matevz $
// Authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007 // Authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 81 skipping to change at line 81
struct QHex_t : public QOrigin_t { Float_t fC, fR; }; struct QHex_t : public QOrigin_t { Float_t fC, fR; };
protected: protected:
EQuadType_e fQuadType; EQuadType_e fQuadType;
Float_t fDefWidth; // Breadth assigned to first coordinate (A) Float_t fDefWidth; // Breadth assigned to first coordinate (A)
Float_t fDefHeight; // Breadth assigned to second coordinat e (B) Float_t fDefHeight; // Breadth assigned to second coordinat e (B)
Float_t fDefCoord; // Default value for third coordinate (C) Float_t fDefCoord; // Default value for third coordinate (C)
Bool_t fAntiFlick; // Make extra render pass to avoid flic
kering when quads are too small.
static Int_t SizeofAtom(EQuadType_e qt); static Int_t SizeofAtom(EQuadType_e qt);
public: public:
TEveQuadSet(const char* n="TEveQuadSet", const char* t=""); TEveQuadSet(const char* n="TEveQuadSet", const char* t="");
TEveQuadSet(EQuadType_e quadType, Bool_t valIsCol, Int_t chunkSize, TEveQuadSet(EQuadType_e quadType, Bool_t valIsCol, Int_t chunkSize,
const char* n="TEveQuadSet", const char* t=""); const char* n="TEveQuadSet", const char* t="");
virtual ~TEveQuadSet() {} virtual ~TEveQuadSet() {}
void Reset(EQuadType_e quadType, Bool_t valIsCol, Int_t chunkSize); void Reset(EQuadType_e quadType, Bool_t valIsCol, Int_t chunkSize);
Float_t GetDefWidth() const { return fDefWidth; } Float_t GetDefWidth() const { return fDefWidth; }
Float_t GetDefHeight() const { return fDefHeight; } Float_t GetDefHeight() const { return fDefHeight; }
Float_t GetDefCoord() const { return fDefCoord; } Float_t GetDefCoord() const { return fDefCoord; }
Bool_t GetAntiFlick() const { return fAntiFlick; }
void SetDefWidth(Float_t v) { fDefWidth = v; } void SetDefWidth(Float_t v) { fDefWidth = v; }
void SetDefHeight(Float_t v) { fDefHeight = v; } void SetDefHeight(Float_t v) { fDefHeight = v; }
void SetDefCoord(Float_t v) { fDefCoord = v; } void SetDefCoord(Float_t v) { fDefCoord = v; }
void SetAntiFlick(Bool_t f) { fAntiFlick = f; }
// -------------------------------- // --------------------------------
void AddQuad(Float_t* verts); void AddQuad(Float_t* verts);
void AddQuad(Float_t a, Float_t b); void AddQuad(Float_t a, Float_t b);
void AddQuad(Float_t a, Float_t b, Float_t c); void AddQuad(Float_t a, Float_t b, Float_t c);
void AddQuad(Float_t a, Float_t b, Float_t w, Float_t h); void AddQuad(Float_t a, Float_t b, Float_t w, Float_t h);
void AddQuad(Float_t a, Float_t b, Float_t c, Float_t w, Float_t h); void AddQuad(Float_t a, Float_t b, Float_t c, Float_t w, Float_t h);
 End of changes. 4 change blocks. 
6 lines changed or deleted 1 lines changed or added


 TEveShape.h   TEveShape.h 
// @(#)root/eve:$Id: TEveShape.h 32933 2010-04-09 17:28:46Z matevz $ // @(#)root/eve:$Id: TEveShape.h 33864 2010-06-14 09:47:19Z matevz $
// Author: Matevz Tadel, 2010 // Author: Matevz Tadel, 2010
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 49 skipping to change at line 49
Float_t fLineWidth; // outline width of polygons Float_t fLineWidth; // outline width of polygons
Bool_t fDrawFrame; // draw frame Bool_t fDrawFrame; // draw frame
Bool_t fHighlightFrame; // highlight frame / all shape Bool_t fHighlightFrame; // highlight frame / all shape
public: public:
TEveShape(const char* n="TEveShape", const char* t=""); TEveShape(const char* n="TEveShape", const char* t="");
virtual ~TEveShape(); virtual ~TEveShape();
// Rendering parameters. // Rendering parameters.
virtual Bool_t CanEditMainColor() const { return kTRUE; }
virtual void SetMainColor(Color_t color); virtual void SetMainColor(Color_t color);
virtual Bool_t CanEditMainTransparency() const { return kTRUE; }
virtual Color_t GetFillColor() const { return fFillColor; } virtual Color_t GetFillColor() const { return fFillColor; }
virtual Color_t GetLineColor() const { return fLineColor; } virtual Color_t GetLineColor() const { return fLineColor; }
virtual Float_t GetLineWidth() const { return fLineWidth;} virtual Float_t GetLineWidth() const { return fLineWidth;}
virtual Bool_t GetDrawFrame() const { return fDrawFrame; } virtual Bool_t GetDrawFrame() const { return fDrawFrame; }
virtual Bool_t GetHighlightFrame() const { return fHighlightFrame; } virtual Bool_t GetHighlightFrame() const { return fHighlightFrame; }
virtual void SetFillColor(Color_t c) { fFillColor = c; } virtual void SetFillColor(Color_t c) { fFillColor = c; }
virtual void SetLineColor(Color_t c) { fLineColor = c; } virtual void SetLineColor(Color_t c) { fLineColor = c; }
virtual void SetLineWidth(Float_t lw) { fLineWidth = lw;} virtual void SetLineWidth(Float_t lw) { fLineWidth = lw;}
virtual void SetDrawFrame(Bool_t f) { fDrawFrame = f; } virtual void SetDrawFrame(Bool_t f) { fDrawFrame = f; }
 End of changes. 3 change blocks. 
4 lines changed or deleted 1 lines changed or added


 TEveStraightLineSet.h   TEveStraightLineSet.h 
// @(#)root/eve:$Id: TEveStraightLineSet.h 30840 2009-10-23 09:03:14Z matev z $ // @(#)root/eve:$Id: TEveStraightLineSet.h 33864 2010-06-14 09:47:19Z matev z $
// Authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007 // Authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 49 skipping to change at line 49
public TAttMarker, public TAttMarker,
public TAttBBox public TAttBBox
{ {
private: private:
TEveStraightLineSet(const TEveStraightLineSet&); // Not imple mented TEveStraightLineSet(const TEveStraightLineSet&); // Not imple mented
TEveStraightLineSet& operator=(const TEveStraightLineSet&); // Not imple mented TEveStraightLineSet& operator=(const TEveStraightLineSet&); // Not imple mented
public: public:
struct Line_t struct Line_t
{ {
Int_t fId;
Float_t fV1[3]; Float_t fV1[3];
Float_t fV2[3]; Float_t fV2[3];
TRef fRef; TRef fRef;
Line_t(Float_t x1, Float_t y1, Float_t z1, Line_t(Float_t x1, Float_t y1, Float_t z1,
Float_t x2, Float_t y2, Float_t z2) Float_t x2, Float_t y2, Float_t z2) : fId(-1), fRef()
{ {
fV1[0] = x1, fV1[1] = y1, fV1[2] = z1; fV1[0] = x1, fV1[1] = y1, fV1[2] = z1;
fV2[0] = x2, fV2[1] = y2, fV2[2] = z2; fV2[0] = x2, fV2[1] = y2, fV2[2] = z2;
} }
}; };
struct Marker_t struct Marker_t
{ {
Int_t fLineID; Float_t fV[3];
Float_t fPos; Int_t fLineId;
TRef fRef; TRef fRef;
Marker_t(Int_t lineID, Float_t pos) : fLineID(lineID), fPos(pos) {}; Marker_t(Float_t x, Float_t y, Float_t z, Int_t line_id) : fLineId(li
ne_id), fRef()
{
fV[0] = x, fV[1] = y, fV[2] = z;
}
}; };
protected: protected:
TEveChunkManager fLinePlex; TEveChunkManager fLinePlex;
TEveChunkManager fMarkerPlex; TEveChunkManager fMarkerPlex;
Bool_t fOwnLinesIds; // Flag specifying if id-objects are Bool_t fOwnLinesIds; // Flag specifying if id-objects are
owned by the TEveQuadSet owned by the line-set
Bool_t fOwnMarkersIds; // Flag specifying if id-objects are Bool_t fOwnMarkersIds; // Flag specifying if id-objects are
owned by the TEveQuadSet owned by the line-set
Bool_t fRnrMarkers; Bool_t fRnrMarkers;
Bool_t fRnrLines; Bool_t fRnrLines;
Bool_t fDepthTest; Bool_t fDepthTest;
Line_t* fLastLine; //! Line_t* fLastLine; //!
public: public:
TEveStraightLineSet(const char* n="StraightLineSet", const char* t=""); TEveStraightLineSet(const char* n="StraightLineSet", const char* t="");
virtual ~TEveStraightLineSet() {} virtual ~TEveStraightLineSet() {}
virtual void SetLineColor(Color_t col) { SetMainColor(col); } virtual void SetLineColor(Color_t col) { SetMainColor(col); }
void AddLine(Float_t x1, Float_t y1, Float_t z1, Float_t x2, Float_t y2, Line_t* AddLine(Float_t x1, Float_t y1, Float_t z1, Float_t x2, Float_
Float_t z2); t y2, Float_t z2);
void AddMarker(Int_t lineID, Float_t pos); Line_t* AddLine(const TEveVector& p1, const TEveVector& p2);
Marker_t* AddMarker(Float_t x, Float_t y, Float_t z, Int_t line_id=-1);
Marker_t* AddMarker(const TEveVector& p, Int_t line_id=-1);
Marker_t* AddMarker(Int_t line_id, Float_t pos);
TEveChunkManager& GetLinePlex() { return fLinePlex; } TEveChunkManager& GetLinePlex() { return fLinePlex; }
TEveChunkManager& GetMarkerPlex() { return fMarkerPlex; } TEveChunkManager& GetMarkerPlex() { return fMarkerPlex; }
virtual Bool_t GetRnrMarkers() { return fRnrMarkers; } virtual Bool_t GetRnrMarkers() { return fRnrMarkers; }
virtual Bool_t GetRnrLines() { return fRnrLines; } virtual Bool_t GetRnrLines() { return fRnrLines; }
virtual Bool_t GetDepthTest() { return fDepthTest; } virtual Bool_t GetDepthTest() { return fDepthTest; }
virtual void SetRnrMarkers(Bool_t x) { fRnrMarkers = x; } virtual void SetRnrMarkers(Bool_t x) { fRnrMarkers = x; }
virtual void SetRnrLines(Bool_t x) { fRnrLines = x; } virtual void SetRnrLines(Bool_t x) { fRnrLines = x; }
 End of changes. 7 change blocks. 
12 lines changed or deleted 20 lines changed or added


 TEveText.h   TEveText.h 
// @(#)root/eve:$Id: TEveText.h 30702 2009-10-13 13:55:31Z matevz $ // @(#)root/eve:$Id: TEveText.h 33864 2010-06-14 09:47:19Z matevz $
// Authors: Alja & Matevz Tadel 2008 // Authors: Alja & Matevz Tadel 2008
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 72 skipping to change at line 72
Bool_t GetAutoLighting() const { return fAutoLighting; } Bool_t GetAutoLighting() const { return fAutoLighting; }
void SetAutoLighting(Bool_t isOn) { fAutoLighting = isOn; } void SetAutoLighting(Bool_t isOn) { fAutoLighting = isOn; }
Float_t GetExtrude() const { return fExtrude; } Float_t GetExtrude() const { return fExtrude; }
void SetExtrude(Float_t x) { fExtrude = x; } void SetExtrude(Float_t x) { fExtrude = x; }
Float_t GetPolygonOffset(Int_t i) const { return fPolygonOffset[i]; } Float_t GetPolygonOffset(Int_t i) const { return fPolygonOffset[i]; }
void SetPolygonOffset(Float_t factor, Float_t units); void SetPolygonOffset(Float_t factor, Float_t units);
virtual Bool_t CanEditMainColor() const { return kTRUE; }
virtual void Paint(Option_t* option=""); virtual void Paint(Option_t* option="");
virtual void ComputeBBox(); virtual void ComputeBBox();
virtual const TGPicture* GetListTreeIcon(Bool_t open=kFALSE); virtual const TGPicture* GetListTreeIcon(Bool_t open=kFALSE);
ClassDef(TEveText, 0); // Class for visualisation of text with FTGL font . ClassDef(TEveText, 0); // Class for visualisation of text with FTGL font .
}; };
#endif #endif
 End of changes. 2 change blocks. 
2 lines changed or deleted 1 lines changed or added


 TEveTrack.h   TEveTrack.h 
// @(#)root/eve:$Id: TEveTrack.h 32933 2010-04-09 17:28:46Z matevz $ // @(#)root/eve:$Id: TEveTrack.h 33864 2010-06-14 09:47:19Z matevz $
// Authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007 // Authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 46 skipping to change at line 46
friend class TEveTrackGL; friend class TEveTrackGL;
private: private:
TEveTrack& operator=(const TEveTrack&); // Not implemented TEveTrack& operator=(const TEveTrack&); // Not implemented
public: public:
typedef std::vector<TEvePathMark> vPathMark_t; typedef std::vector<TEvePathMark> vPathMark_t;
typedef vPathMark_t::iterator vPathMark_i; typedef vPathMark_t::iterator vPathMark_i;
typedef vPathMark_t::const_iterator vPathMark_ci; typedef vPathMark_t::const_iterator vPathMark_ci;
// Deprecated -- to be removed.
enum EBreakProjectedTracks_e { kBPTDefault, kBPTAlways, kBPTNever }; enum EBreakProjectedTracks_e { kBPTDefault, kBPTAlways, kBPTNever };
protected: protected:
TEveVector fV; // Starting vertex TEveVector fV; // Starting vertex
TEveVector fP; // Starting momentum TEveVector fP; // Starting momentum
TEveVector fPEnd; // Momentum at the last point of extrapo lation TEveVector fPEnd; // Momentum at the last point of extrapo lation
Double_t fBeta; // Relativistic beta factor Double_t fBeta; // Relativistic beta factor
Int_t fPdg; // PDG code Int_t fPdg; // PDG code
Int_t fCharge; // Charge in units of e0 Int_t fCharge; // Charge in units of e0
Int_t fLabel; // Simulation label Int_t fLabel; // Simulation label
Int_t fIndex; // Reconstruction index Int_t fIndex; // Reconstruction index
Int_t fStatus; // Status-word, user-defined. Int_t fStatus; // Status-word, user-defined.
Bool_t fLockPoints; // Lock points that are currently in - d o nothing in MakeTrack(). Bool_t fLockPoints; // Lock points that are currently in - d o nothing in MakeTrack().
vPathMark_t fPathMarks; // TEveVector of known points along the track vPathMark_t fPathMarks; // TEveVector of known points along the track
Int_t fLastPMIdx; //!Last path-mark index tried in track-p ropagation. Int_t fLastPMIdx; //!Last path-mark index tried in track-p ropagation.
TEveTrackPropagator *fPropagator; // Pointer to shared render-style TEveTrackPropagator *fPropagator; // Pointer to shared render-style
UChar_t fBreakProjectedTracks; // How to handle breaks durin
g projection - track specific settings.
static Bool_t fgDefaultBreakProjectedTracks; // How to handle break
s during projection - global setting.
public: public:
TEveTrack(); TEveTrack();
TEveTrack(TParticle* t, Int_t label, TEveTrackPropagator* prop=0); TEveTrack(TParticle* t, Int_t label, TEveTrackPropagator* prop=0);
TEveTrack(TEveMCTrack* t, TEveTrackPropagator* prop=0); TEveTrack(TEveMCTrack* t, TEveTrackPropagator* prop=0);
TEveTrack(TEveRecTrack* t, TEveTrackPropagator* prop=0); TEveTrack(TEveRecTrack* t, TEveTrackPropagator* prop=0);
TEveTrack(const TEveTrack& t); TEveTrack(const TEveTrack& t);
virtual ~TEveTrack(); virtual ~TEveTrack();
virtual void ComputeBBox();
virtual void SetStdTitle(); virtual void SetStdTitle();
virtual void SetTrackParams(const TEveTrack& t); virtual void SetTrackParams(const TEveTrack& t);
virtual void SetPathMarks (const TEveTrack& t); virtual void SetPathMarks (const TEveTrack& t);
virtual void MakeTrack(Bool_t recurse=kTRUE); virtual void MakeTrack(Bool_t recurse=kTRUE);
TEveTrackPropagator* GetPropagator() const { return fPropagator; } TEveTrackPropagator* GetPropagator() const { return fPropagator; }
Int_t GetLastPMIdx() const { return fLastPMIdx; } Int_t GetLastPMIdx() const { return fLastPMIdx; }
void SetPropagator(TEveTrackPropagator* prop); void SetPropagator(TEveTrackPropagator* prop);
skipping to change at line 124 skipping to change at line 123
virtual void SecSelected(TEveTrack*); // *SIGNAL* virtual void SecSelected(TEveTrack*); // *SIGNAL*
virtual const TGPicture* GetListTreeIcon(Bool_t open=kFALSE); virtual const TGPicture* GetListTreeIcon(Bool_t open=kFALSE);
virtual void CopyVizParams(const TEveElement* el); virtual void CopyVizParams(const TEveElement* el);
virtual void WriteVizParams(ostream& out, const TString& var); virtual void WriteVizParams(ostream& out, const TString& var);
virtual TClass* ProjectedClass(const TEveProjection* p) const; virtual TClass* ProjectedClass(const TEveProjection* p) const;
Bool_t ShouldBreakTrack() const; // These functions are deprecated -- use TEveTrackPropagator functions.
// Will be removed after 5.28.
UChar_t GetBreakProjectedTracks() const { return fBreakProjectedTrac Bool_t ShouldBreakTrack() const;
ks; } UChar_t GetBreakProjectedTracks() const;
void SetBreakProjectedTracks(UChar_t bt) { fBreakProjectedTracks = bt void SetBreakProjectedTracks(UChar_t bt);
; }
static Bool_t GetDefaultBreakProjectedTracks(); static Bool_t GetDefaultBreakProjectedTracks();
static void SetDefaultBreakProjectedTracks(Bool_t bt); static void SetDefaultBreakProjectedTracks(Bool_t bt);
ClassDef(TEveTrack, 1); // Track with given vertex, momentum and optiona l referece-points (path-marks) along its path. ClassDef(TEveTrack, 1); // Track with given vertex, momentum and optiona l referece-points (path-marks) along its path.
}; };
/************************************************************************** ****/ /************************************************************************** ****/
// TEveTrackList // TEveTrackList
/************************************************************************** ****/ /************************************************************************** ****/
 End of changes. 5 change blocks. 
14 lines changed or deleted 9 lines changed or added


 TEveTrackPropagator.h   TEveTrackPropagator.h 
// @(#)root/eve:$Id: TEveTrackPropagator.h 32933 2010-04-09 17:28:46Z matev z $ // @(#)root/eve:$Id: TEveTrackPropagator.h 33627 2010-05-27 19:19:58Z matev z $
// Authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007 // Authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 156 skipping to change at line 156
void UpdateHelix(const TEveVector & p, const TEveVector& b, Bool_t fu ll_update, Bool_t enforce_max_step); void UpdateHelix(const TEveVector & p, const TEveVector& b, Bool_t fu ll_update, Bool_t enforce_max_step);
void UpdateRK (const TEveVector & p, const TEveVector& b); void UpdateRK (const TEveVector & p, const TEveVector& b);
void Step(const TEveVector4& v, const TEveVector& p, TEveVector4& vOu t, TEveVector& pOut); void Step(const TEveVector4& v, const TEveVector& p, TEveVector4& vOu t, TEveVector& pOut);
Float_t GetStep() { return fLStep * TMath::Sqrt(1 + fLam*fLam); } Float_t GetStep() { return fLStep * TMath::Sqrt(1 + fLam*fLam); }
Float_t GetStep2() { return fLStep * fLStep * (1 + fLam*fLam); } Float_t GetStep2() { return fLStep * fLStep * (1 + fLam*fLam); }
}; };
enum EStepper_e { kHelix, kRungeKutta }; enum EStepper_e { kHelix, kRungeKutta };
enum EProjTrackBreaking_e { kPTB_Break, kPTB_UseFirstPointPos, kPTB_UseL
astPointPos };
private: private:
TEveTrackPropagator(const TEveTrackPropagator&); // Not imple mented TEveTrackPropagator(const TEveTrackPropagator&); // Not imple mented
TEveTrackPropagator& operator=(const TEveTrackPropagator&); // Not imple mented TEveTrackPropagator& operator=(const TEveTrackPropagator&); // Not imple mented
protected: protected:
EStepper_e fStepper; EStepper_e fStepper;
TEveMagField* fMagFieldObj; TEveMagField* fMagFieldObj;
Bool_t fOwnMagFiledObj;
// Track extrapolation limits // Track extrapolation limits
Float_t fMaxR; // Max radius for track extrapo lation Float_t fMaxR; // Max radius for track extrapo lation
Float_t fMaxZ; // Max z-coordinate for track e xtrapolation. Float_t fMaxZ; // Max z-coordinate for track e xtrapolation.
Int_t fNMax; // Max steps Int_t fNMax; // Max steps
// Helix limits // Helix limits
Float_t fMaxOrbs; // Maximal angular path of trac ks' orbits (1 ~ 2Pi). Float_t fMaxOrbs; // Maximal angular path of trac ks' orbits (1 ~ 2Pi).
// Path-mark / first-vertex control // Path-mark / first-vertex control
Bool_t fEditPathMarks; // Show widgets for path-mark c ontrol in GUI editor. Bool_t fEditPathMarks; // Show widgets for path-mark c ontrol in GUI editor.
skipping to change at line 186 skipping to change at line 190
Bool_t fFitDecay; // Pass through decay point whe n extrapolating a track. Bool_t fFitDecay; // Pass through decay point whe n extrapolating a track.
Bool_t fFitCluster2Ds; // Pass through 2D-clusters whe n extrapolating a track. Bool_t fFitCluster2Ds; // Pass through 2D-clusters whe n extrapolating a track.
Bool_t fRnrDaughters; // Render daughter path-marks. Bool_t fRnrDaughters; // Render daughter path-marks.
Bool_t fRnrReferences; // Render track-reference path- marks. Bool_t fRnrReferences; // Render track-reference path- marks.
Bool_t fRnrDecay; // Render decay path-marks. Bool_t fRnrDecay; // Render decay path-marks.
Bool_t fRnrCluster2Ds; // Render 2D-clusters. Bool_t fRnrCluster2Ds; // Render 2D-clusters.
Bool_t fRnrFV; // Render first vertex. Bool_t fRnrFV; // Render first vertex.
TMarker fPMAtt; // Marker attributes for render ing of path-marks. TMarker fPMAtt; // Marker attributes for render ing of path-marks.
TMarker fFVAtt; // Marker attributes for fits v ertex. TMarker fFVAtt; // Marker attributes for fits v ertex.
// Handling of discontinuities in projections
UChar_t fProjTrackBreaking; // Handling of projected-tr
ack breaking.
Bool_t fRnrPTBMarkers; // Render break-points on t
racks.
TMarker fPTBAtt; // Marker attributes for tr
ack break-points.
// ---------------------------------------------------------------- // ----------------------------------------------------------------
// Propagation, state of current track // Propagation, state of current track
std::vector<TEveVector4> fPoints; // Calculated point. std::vector<TEveVector4> fPoints; // Calculated point.
TEveVector fV; // Start vertex. TEveVector fV; // Start vertex.
Helix_t fH; // Helix. Helix_t fH; // Helix.
void RebuildTracks(); void RebuildTracks();
void Update(const TEveVector4& v, const TEveVector& p, Bool_t full_up date=kFALSE, Bool_t enforce_max_step=kFALSE); void Update(const TEveVector4& v, const TEveVector& p, Bool_t full_up date=kFALSE, Bool_t enforce_max_step=kFALSE);
void Step(const TEveVector4 &v, const TEveVector &p, TEveVector4 &vOu t, TEveVector &pOut); void Step(const TEveVector4 &v, const TEveVector &p, TEveVector4 &vOu t, TEveVector &pOut);
skipping to change at line 214 skipping to change at line 223
Bool_t HelixIntersectPlane(const TEveVector& p, const TEveVector& point , const TEveVector& normal, Bool_t HelixIntersectPlane(const TEveVector& p, const TEveVector& point , const TEveVector& normal,
TEveVector& itsect); TEveVector& itsect);
Bool_t LineIntersectPlane(const TEveVector& p, const TEveVector& point, const TEveVector& normal, Bool_t LineIntersectPlane(const TEveVector& p, const TEveVector& point, const TEveVector& normal,
TEveVector& itsect); TEveVector& itsect);
Bool_t PointOverVertex(const TEveVector4& v0, const TEveVector4& v, Floa t_t* p=0); Bool_t PointOverVertex(const TEveVector4& v0, const TEveVector4& v, Floa t_t* p=0);
public: public:
TEveTrackPropagator(const char* n="TEveTrackPropagator", const char* t=" ", TEveTrackPropagator(const char* n="TEveTrackPropagator", const char* t=" ",
TEveMagField* field=0); TEveMagField* field=0, Bool_t own_field=kTRUE);
virtual ~TEveTrackPropagator(); virtual ~TEveTrackPropagator();
virtual void OnZeroRefCount(); virtual void OnZeroRefCount();
virtual void CheckReferenceCount(const TEveException& eh="TEveElement::C heckReferenceCount "); virtual void CheckReferenceCount(const TEveException& eh="TEveElement::C heckReferenceCount ");
virtual void ElementChanged(Bool_t update_scenes=kTRUE, Bool_t redraw=kF ALSE); virtual void ElementChanged(Bool_t update_scenes=kTRUE, Bool_t redraw=kF ALSE);
// propagation // propagation
void InitTrack(TEveVector& v, Int_t charge); void InitTrack(TEveVector& v, Int_t charge);
skipping to change at line 238 skipping to change at line 247
Bool_t IntersectPlane(const TEveVector& p, const TEveVector& point, cons t TEveVector& normal, Bool_t IntersectPlane(const TEveVector& p, const TEveVector& point, cons t TEveVector& normal,
TEveVector& itsect); TEveVector& itsect);
void FillPointSet(TEvePointSet* ps) const; void FillPointSet(TEvePointSet* ps) const;
void SetStepper(EStepper_e s) { fStepper = s; } void SetStepper(EStepper_e s) { fStepper = s; }
void SetMagField(Float_t bX, Float_t bY, Float_t bZ); void SetMagField(Float_t bX, Float_t bY, Float_t bZ);
void SetMagField(Float_t b) { SetMagField(0.f, 0.f, b); } void SetMagField(Float_t b) { SetMagField(0.f, 0.f, b); }
void SetMagFieldObj(TEveMagField * x); void SetMagFieldObj(TEveMagField* field, Bool_t own_field=kTRUE);
void SetMaxR(Float_t x); void SetMaxR(Float_t x);
void SetMaxZ(Float_t x); void SetMaxZ(Float_t x);
void SetMaxOrbs(Float_t x); void SetMaxOrbs(Float_t x);
void SetMinAng(Float_t x); void SetMinAng(Float_t x);
void SetMaxAng(Float_t x); void SetMaxAng(Float_t x);
void SetMaxStep(Float_t x); void SetMaxStep(Float_t x);
void SetDelta(Float_t x); void SetDelta(Float_t x);
void SetEditPathMarks(Bool_t x) { fEditPathMarks = x; } void SetEditPathMarks(Bool_t x) { fEditPathMarks = x; }
void SetRnrDaughters(Bool_t x); void SetRnrDaughters(Bool_t x);
void SetRnrReferences(Bool_t x); void SetRnrReferences(Bool_t x);
void SetRnrDecay(Bool_t x); void SetRnrDecay(Bool_t x);
void SetRnrCluster2Ds(Bool_t x); void SetRnrCluster2Ds(Bool_t x);
void SetFitDaughters(Bool_t x); void SetFitDaughters(Bool_t x);
void SetFitReferences(Bool_t x); void SetFitReferences(Bool_t x);
void SetFitDecay(Bool_t x); void SetFitDecay(Bool_t x);
void SetFitCluster2Ds(Bool_t x); void SetFitCluster2Ds(Bool_t x);
void SetRnrFV(Bool_t x) { fRnrFV = x; } void SetRnrFV(Bool_t x);
void SetProjTrackBreaking(UChar_t x);
void SetRnrPTBMarkers(Bool_t x);
TEveVector GetMagField(Float_t x, Float_t y, Float_t z) { return fMagFie ldObj->GetField(x, y, z); } TEveVector GetMagField(Float_t x, Float_t y, Float_t z) { return fMagFie ldObj->GetField(x, y, z); }
void PrintMagField(Float_t x, Float_t y, Float_t z) const; void PrintMagField(Float_t x, Float_t y, Float_t z) const;
EStepper_e GetStepper() const { return fStepper;} EStepper_e GetStepper() const { return fStepper;}
Float_t GetMaxR() const { return fMaxR; } Float_t GetMaxR() const { return fMaxR; }
Float_t GetMaxZ() const { return fMaxZ; } Float_t GetMaxZ() const { return fMaxZ; }
Float_t GetMaxOrbs() const { return fMaxOrbs; } Float_t GetMaxOrbs() const { return fMaxOrbs; }
Float_t GetMinAng() const; Float_t GetMinAng() const;
skipping to change at line 282 skipping to change at line 293
Bool_t GetEditPathMarks() const { return fEditPathMarks; } Bool_t GetEditPathMarks() const { return fEditPathMarks; }
Bool_t GetRnrDaughters() const { return fRnrDaughters; } Bool_t GetRnrDaughters() const { return fRnrDaughters; }
Bool_t GetRnrReferences() const { return fRnrReferences; } Bool_t GetRnrReferences() const { return fRnrReferences; }
Bool_t GetRnrDecay() const { return fRnrDecay; } Bool_t GetRnrDecay() const { return fRnrDecay; }
Bool_t GetRnrCluster2Ds() const { return fRnrCluster2Ds; } Bool_t GetRnrCluster2Ds() const { return fRnrCluster2Ds; }
Bool_t GetFitDaughters() const { return fFitDaughters; } Bool_t GetFitDaughters() const { return fFitDaughters; }
Bool_t GetFitReferences() const { return fFitReferences; } Bool_t GetFitReferences() const { return fFitReferences; }
Bool_t GetFitDecay() const { return fFitDecay; } Bool_t GetFitDecay() const { return fFitDecay; }
Bool_t GetFitCluster2Ds() const { return fFitCluster2Ds; } Bool_t GetFitCluster2Ds() const { return fFitCluster2Ds; }
Bool_t GetRnrFV() const { return fRnrFV; } Bool_t GetRnrFV() const { return fRnrFV; }
UChar_t GetProjTrackBreaking() const { return fProjTrackBreaking; }
Bool_t GetRnrPTBMarkers() const { return fRnrPTBMarkers; }
TMarker& RefPMAtt() { return fPMAtt; } TMarker& RefPMAtt() { return fPMAtt; }
TMarker& RefFVAtt() { return fFVAtt; } TMarker& RefFVAtt() { return fFVAtt; }
TMarker& RefPTBAtt() { return fPTBAtt; }
static Bool_t IsOutsideBounds(const TEveVector& point, Float_t maxRsqr, Float_t maxZ); static Bool_t IsOutsideBounds(const TEveVector& point, Float_t maxRsqr, Float_t maxZ);
static Float_t fgDefMagField; // Default value for constant solenoid magnetic field. static Float_t fgDefMagField; // Default value for constant solenoid magnetic field.
static const Float_t fgkB2C; // Constant for conversion of momentum to curvature. static const Float_t fgkB2C; // Constant for conversion of momentum to curvature.
static TEveTrackPropagator fgDefault; // Default track propagator. static TEveTrackPropagator fgDefault; // Default track propagator.
static Float_t fgEditorMaxR; // Max R that can be set in GU I editor. static Float_t fgEditorMaxR; // Max R that can be set in GU I editor.
static Float_t fgEditorMaxZ; // Max Z that can be set in GU I editor. static Float_t fgEditorMaxZ; // Max Z that can be set in GU I editor.
 End of changes. 9 change blocks. 
6 lines changed or deleted 24 lines changed or added


 TEveTrackPropagatorEditor.h   TEveTrackPropagatorEditor.h 
// @(#)root/eve:$Id: TEveTrackPropagatorEditor.h 32543 2010-03-10 22:12:00Z matevz $ // @(#)root/eve:$Id: TEveTrackPropagatorEditor.h 33627 2010-05-27 19:19:58Z matevz $
// Authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007 // Authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 51 skipping to change at line 51
protected: protected:
TEveTrackPropagator *fM; TEveTrackPropagator *fM;
TEveGValuator *fMaxR; TEveGValuator *fMaxR;
TEveGValuator *fMaxZ; TEveGValuator *fMaxZ;
TEveGValuator *fMaxOrbits; TEveGValuator *fMaxOrbits;
TEveGValuator *fMaxAng; TEveGValuator *fMaxAng;
TEveGValuator *fDelta; TEveGValuator *fDelta;
TGCheckButton *fRnrFV; TGCompositeFrame *fRefsCont;
TGCompositeFrame *fPMFrame; TGCompositeFrame *fPMFrame;
TGButton *fFitDaughters; TGButton *fFitDaughters;
TGButton *fFitReferences; TGButton *fFitReferences;
TGButton *fFitDecay; TGButton *fFitDecay;
TGButton *fFitCluster2Ds; TGButton *fFitCluster2Ds;
TGButton *fRnrDaughters; TGButton *fRnrDaughters;
TGButton *fRnrReferences; TGButton *fRnrReferences;
TGButton *fRnrDecay; TGButton *fRnrDecay;
TGButton *fRnrCluster2Ds; TGButton *fRnrCluster2Ds;
TGButton *fRnrFV;
TGCompositeFrame *fRefsCont;
TAttMarkerEditor *fPMAtt; TAttMarkerEditor *fPMAtt;
TAttMarkerEditor *fFVAtt; TAttMarkerEditor *fFVAtt;
TGComboBox *fProjTrackBreaking;
TGButton *fRnrPTBMarkers;
TAttMarkerEditor *fPTBAtt;
public: public:
TEveTrackPropagatorSubEditor(const TGWindow* p); TEveTrackPropagatorSubEditor(const TGWindow* p);
virtual ~TEveTrackPropagatorSubEditor() {} virtual ~TEveTrackPropagatorSubEditor() {}
void SetModel(TEveTrackPropagator* m); void SetModel(TEveTrackPropagator* m);
void Changed(); //*SIGNAL* void Changed(); //*SIGNAL*
void DoMaxR(); void DoMaxR();
void DoMaxZ(); void DoMaxZ();
void DoMaxOrbits(); void DoMaxOrbits();
void DoMaxAng(); void DoMaxAng();
void DoDelta(); void DoDelta();
void DoFitPM(); void DoFitPM();
void DoRnrPM(); void DoRnrPM();
void DoRnrFV(); void DoRnrFV();
void DoModePTB(UChar_t mode);
void DoRnrPTB();
void CreateRefsContainer(TGVerticalFrame* p); void CreateRefsContainer(TGVerticalFrame* p);
ClassDef(TEveTrackPropagatorSubEditor, 0); // Sub-editor for TEveTrackPr opagator class. ClassDef(TEveTrackPropagatorSubEditor, 0); // Sub-editor for TEveTrackPr opagator class.
}; };
/************************************************************************** ****/ /************************************************************************** ****/
// TEveTrackPropagatorEditor // TEveTrackPropagatorEditor
/************************************************************************** ****/ /************************************************************************** ****/
class TEveTrackPropagatorEditor : public TGedFrame class TEveTrackPropagatorEditor : public TGedFrame
 End of changes. 6 change blocks. 
5 lines changed or deleted 11 lines changed or added


 TEveTriangleSet.h   TEveTriangleSet.h 
// @(#)root/eve:$Id: TEveTriangleSet.h 32478 2010-03-05 14:20:48Z matevz $ // @(#)root/eve:$Id: TEveTriangleSet.h 33864 2010-06-14 09:47:19Z matevz $
// Authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007 // Authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 74 skipping to change at line 74
{ UChar_t* c = TriangleColor(i); c[0] = r; c[1] = g; c[2] = b; c[3] = a; } { UChar_t* c = TriangleColor(i); c[0] = r; c[1] = g; c[2] = b; c[3] = a; }
void GenerateTriangleNormals(); void GenerateTriangleNormals();
void GenerateRandomColors(); void GenerateRandomColors();
void GenerateZNormalColors(Float_t fac=20, Int_t min=-20, Int_t max=20, void GenerateZNormalColors(Float_t fac=20, Int_t min=-20, Int_t max=20,
Bool_t interp=kFALSE, Bool_t wrap=kFALSE); Bool_t interp=kFALSE, Bool_t wrap=kFALSE);
virtual void ComputeBBox(); virtual void ComputeBBox();
virtual void Paint(Option_t* option=""); virtual void Paint(Option_t* option="");
void SetTransparency(UChar_t tr) { SetMainTransparency(tr); } // *MENU* void SetTransparency(Char_t tr) { SetMainTransparency(tr); } // *MENU*
static TEveTriangleSet* ReadTrivialFile(const char* file); static TEveTriangleSet* ReadTrivialFile(const char* file);
ClassDef(TEveTriangleSet, 0); // Generic mesh or soup of triangles with per-triangle normals and colors. ClassDef(TEveTriangleSet, 0); // Generic mesh or soup of triangles with per-triangle normals and colors.
}; };
#endif #endif
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 TEveUtil.h   TEveUtil.h 
// @(#)root/eve:$Id: TEveUtil.h 27157 2009-01-15 14:05:12Z brun $ // @(#)root/eve:$Id: TEveUtil.h 33864 2010-06-14 09:47:19Z matevz $
// Authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007 // Authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 55 skipping to change at line 55
static void SetupGUI(); static void SetupGUI();
static Bool_t CheckMacro(const char* mac); static Bool_t CheckMacro(const char* mac);
static void AssertMacro(const char* mac); static void AssertMacro(const char* mac);
static void Macro(const char* mac); static void Macro(const char* mac);
static void LoadMacro(const char* mac); static void LoadMacro(const char* mac);
// Color management // Color management
static void ColorFromIdx(Color_t ci, UChar_t col[4], Bool_t alpha=kT RUE); static void ColorFromIdx(Color_t ci, UChar_t col[4], Bool_t alpha=kT RUE);
static void ColorFromIdx(Color_t ci, UChar_t col[4], UChar_t transpa rency); static void ColorFromIdx(Color_t ci, UChar_t col[4], Char_t transpar ency);
static void ColorFromIdx(Float_t f1, Color_t c1, Float_t f2, Color_t c2, static void ColorFromIdx(Float_t f1, Color_t c1, Float_t f2, Color_t c2,
UChar_t col[4], Bool_t alpha=kTRUE); UChar_t col[4], Bool_t alpha=kTRUE);
static Color_t* FindColorVar(TObject* obj, const char* varname); static Color_t* FindColorVar(TObject* obj, const char* varname);
static void SetColorBrightness(Float_t value, Bool_t full_redraw=kFA LSE); static void SetColorBrightness(Float_t value, Bool_t full_redraw=kFA LSE);
// Math utilities // Math utilities
static Bool_t IsU1IntervalContainedByMinMax (Float_t minM, Float_t maxM , static Bool_t IsU1IntervalContainedByMinMax (Float_t minM, Float_t maxM ,
Float_t minQ, Float_t maxQ ); Float_t minQ, Float_t maxQ );
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 TEveViewer.h   TEveViewer.h 
// @(#)root/eve:$Id: TEveViewer.h 33124 2010-04-21 20:04:42Z matevz $ // @(#)root/eve:$Id: TEveViewer.h 33463 2010-05-11 09:38:29Z matevz $
// Authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007 // Authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 94 skipping to change at line 94
protected: protected:
Bool_t fShowTooltip; Bool_t fShowTooltip;
Float_t fBrightness; Float_t fBrightness;
Bool_t fUseLightColorSet; Bool_t fUseLightColorSet;
void HandleTooltip(); void HandleTooltip();
public: public:
TEveViewerList(const char* n="TEveViewerList", const char* t=""); TEveViewerList(const char* n="TEveViewerList", const char* t="");
virtual ~TEveViewerList() {} virtual ~TEveViewerList();
virtual void AddElement(TEveElement* el); virtual void AddElement(TEveElement* el);
virtual void RemoveElementLocal(TEveElement* el); virtual void RemoveElementLocal(TEveElement* el);
virtual void RemoveElementsLocal(); virtual void RemoveElementsLocal();
// -------------------------------- // --------------------------------
virtual void Connect(); virtual void Connect();
virtual void Disconnect();
void RepaintChangedViewers(Bool_t resetCameras, Bool_t dropLogicals); void RepaintChangedViewers(Bool_t resetCameras, Bool_t dropLogicals);
void RepaintAllViewers(Bool_t resetCameras, Bool_t dropLogicals); void RepaintAllViewers(Bool_t resetCameras, Bool_t dropLogicals);
void DeleteAnnotations(); void DeleteAnnotations();
void SceneDestructing(TEveScene* scene); void SceneDestructing(TEveScene* scene);
// -------------------------------- // --------------------------------
void OnMouseOver(TObject* obj, UInt_t state); void OnMouseOver(TObject* obj, UInt_t state);
 End of changes. 3 change blocks. 
2 lines changed or deleted 3 lines changed or added


 TFileInfo.h   TFileInfo.h 
// @(#)root/base:$Id: TFileInfo.h 28573 2009-05-12 14:29:22Z rdm $ // @(#)root/base:$Id: TFileInfo.h 33389 2010-05-05 14:18:07Z rdm $
// Author: Andreas-Joachim Peters 20/9/2005 // Author: Andreas-Joachim Peters 20/9/2005
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2005, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2005, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 60 skipping to change at line 60
private: private:
TUrl *fCurrentUrl; //! current URL to access the file, po ints to URL TUrl *fCurrentUrl; //! current URL to access the file, po ints to URL
// in the fUrlList or 0, if the list end is reached // in the fUrlList or 0, if the list end is reached
TList *fUrlList; // list of file URLs TList *fUrlList; // list of file URLs
Long64_t fSize; // file size Long64_t fSize; // file size
TUUID *fUUID; //-> uuid of the referenced file TUUID *fUUID; //-> uuid of the referenced file
TMD5 *fMD5; //-> md5 digest of the file TMD5 *fMD5; //-> md5 digest of the file
TList *fMetaDataList; // generic list of file meta data obje ct(s) TList *fMetaDataList; // generic list of file meta data obje ct(s)
void ParseInput(const char *in);
TFileInfo& operator=(const TFileInfo&); // not implemented TFileInfo& operator=(const TFileInfo&); // not implemented
public: public:
enum EStatusBits { enum EStatusBits {
kStaged = BIT(15), kStaged = BIT(15),
kCorrupted = BIT(16) kCorrupted = BIT(16)
}; };
TFileInfo(const char *url = 0, Long64_t size = -1, const char *uuid = 0, TFileInfo(const char *url = 0, Long64_t size = -1, const char *uuid = 0,
const char *md5 = 0, TObject *meta = 0); const char *md5 = 0, TObject *meta = 0);
 End of changes. 2 change blocks. 
1 lines changed or deleted 3 lines changed or added


 TGFSContainer.h   TGFSContainer.h 
// @(#)root/gui:$Id: TGFSContainer.h 27658 2009-02-28 05:34:57Z pcanal $ // @(#)root/gui:$Id: TGFSContainer.h 34072 2010-06-23 07:51:58Z bellenot $
// Author: Fons Rademakers 19/01/98 // Author: Fons Rademakers 19/01/98
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 143 skipping to change at line 143
class TGFileContainer : public TGLVContainer { class TGFileContainer : public TGLVContainer {
friend class TGFSFrameElement; friend class TGFSFrameElement;
protected: protected:
EFSSortMode fSortType; // sorting mode of contents EFSSortMode fSortType; // sorting mode of contents
TRegexp *fFilter; // file filter TRegexp *fFilter; // file filter
TViewUpdateTimer *fRefresh; // refresh timer TViewUpdateTimer *fRefresh; // refresh timer
ULong_t fMtime; // directory modification time ULong_t fMtime; // directory modification time
TString fDirectory; // current directory TString fDirectory; // current directory
TList *fCleanups; // list of pictures to cleanup
const TGPicture *fFolder_t; // small folder icon const TGPicture *fFolder_t; // small folder icon
const TGPicture *fFolder_s; // big folder icon const TGPicture *fFolder_s; // big folder icon
const TGPicture *fApp_t; // small application icon const TGPicture *fApp_t; // small application icon
const TGPicture *fApp_s; // big application icon const TGPicture *fApp_s; // big application icon
const TGPicture *fDoc_t; // small document icon const TGPicture *fDoc_t; // small document icon
const TGPicture *fDoc_s; // big document icon const TGPicture *fDoc_s; // big document icon
const TGPicture *fSlink_t; // small symbolic link icon const TGPicture *fSlink_t; // small symbolic link icon
const TGPicture *fSlink_s; // big symbolic link icon const TGPicture *fSlink_s; // big symbolic link icon
Bool_t fCachePictures; // kTRUE use caching Bool_t fCachePictures; // kTRUE use caching
Bool_t fDisplayStat; // kFALSE to interrupt display direct ory Bool_t fDisplayStat; // kFALSE to interrupt display direct ory
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


 TGFileBrowser.h   TGFileBrowser.h 
// @(#)root/gui:$Id: TGFileBrowser.h 29885 2009-08-24 14:19:56Z bellenot $ // @(#)root/gui:$Id: TGFileBrowser.h 33618 2010-05-27 06:51:26Z bellenot $
// Author: Bertrand Bellenot 26/09/2007 // Author: Bertrand Bellenot 26/09/2007
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 23 skipping to change at line 23
#define ROOT_TGFileBrowser #define ROOT_TGFileBrowser
#ifndef ROOT_TGFrame #ifndef ROOT_TGFrame
#include "TGFrame.h" #include "TGFrame.h"
#endif #endif
#ifndef ROOT_TBrowserImp #ifndef ROOT_TBrowserImp
#include "TBrowserImp.h" #include "TBrowserImp.h"
#endif #endif
#include <list>
class TGCanvas; class TGCanvas;
class TGListTree; class TGListTree;
class TGListTreeItem; class TGListTreeItem;
class TGPicture; class TGPicture;
class TGComboBox; class TGComboBox;
class TContextMenu; class TContextMenu;
class TRegexp; class TRegexp;
class TString; class TString;
class TRootBrowser; class TRootBrowser;
class TSystemDirectory; class TSystemDirectory;
class TSystemFile; class TSystemFile;
class TGFileBrowser : public TGMainFrame, public TBrowserImp { class TGFileBrowser : public TGMainFrame, public TBrowserImp {
public:
typedef std::list<TGListTreeItem*> sLTI_t;
typedef sLTI_t::iterator sLTI_i;
typedef sLTI_t::reverse_iterator sLTI_ri;
protected: protected:
TRootBrowser *fNewBrowser; // Pointer back to the Browser TRootBrowser *fNewBrowser; // Pointer back to the Browser
TGHorizontalFrame *fTopFrame; // Top horizontal frame TGHorizontalFrame *fTopFrame; // Top horizontal frame
TGHorizontalFrame *fBotFrame; // Bottom horizontal frame TGHorizontalFrame *fBotFrame; // Bottom horizontal frame
TGCanvas *fCanvas; // Canvas for the list tree TGCanvas *fCanvas; // Canvas for the list tree
TGListTree *fListTree; // Main list tree TGListTree *fListTree; // Main list tree
TGListTreeItem *fListLevel; // Current list tree level TGListTreeItem *fListLevel; // Current list tree level
TGListTreeItem *fCurrentDir; // Current (list tree) directory TGListTreeItem *fCurrentDir; // Current (list tree) directory
TGListTreeItem *fRootDir; // Root (list tree) directory TGListTreeItem *fRootDir; // Root (list tree) directory
TGComboBox *fDrawOption; // Draw options combobox TGComboBox *fDrawOption; // Draw options combobox
TGComboBox *fFileType; // File type combobox TGComboBox *fFileType; // File type combobox
TContextMenu *fContextMenu; // pointer to context menu TContextMenu *fContextMenu; // pointer to context menu
TGPictureButton *fSortButton; // "Sort" button
TGPictureButton *fRefreshButton; // "Refresh" button
const TGPicture *fRootIcon; // Root files icon const TGPicture *fRootIcon; // Root files icon
const TGPicture *fFileIcon; // System files icon const TGPicture *fFileIcon; // System files icon
const TGPicture *fCachedPic; // Cached picture const TGPicture *fCachedPic; // Cached picture
TString fCachedPicName; // Cached picture name TString fCachedPicName; // Cached picture name
TRegexp *fFilter; // Regular expression used to fil ter files TRegexp *fFilter; // Regular expression used to fil ter files
TSystemDirectory *fDir; // Actual (selected) system direc tory TSystemDirectory *fDir; // Actual (selected) system direc tory
TSystemFile *fFile; // Actual (selected) system file TSystemFile *fFile; // Actual (selected) system file
Int_t fGroupSize; // total number of items when ico n box switched to "global view" mode Int_t fGroupSize; // total number of items when ico n box switched to "global view" mode
Long_t fNKeys, fCnt; // Counters for keys inside a Roo t file Long_t fNKeys, fCnt; // Counters for keys inside a Roo t file
Bool_t fGrouped; // kTRUE if Root file content (ke ys) is grouped Bool_t fGrouped; // kTRUE if Root file content (ke ys) is grouped
Bool_t fShowHidden; // kTRUE to display hidden files Bool_t fShowHidden; // kTRUE to display hidden files
Bool_t fDblClick; // kTRUE if user double-clicked o n a list tree item Bool_t fDblClick; // kTRUE if user double-clicked o n a list tree item
sLTI_t fSortedItems; // List of sorted list-tree items
.
void CreateBrowser(); void CreateBrowser();
public: public:
TGFileBrowser(const TGWindow *p, TBrowser* b=0, UInt_t w=200, UInt_t h=4 00); TGFileBrowser(const TGWindow *p, TBrowser* b=0, UInt_t w=200, UInt_t h=4 00);
virtual ~TGFileBrowser(); virtual ~TGFileBrowser();
virtual void Add(TObject *obj, const char *name = 0, Int_t check = -1); virtual void Add(TObject *obj, const char *name = 0, Int_t check = -1);
virtual void BrowseObj(TObject *obj); virtual void BrowseObj(TObject *obj);
virtual void RecursiveRemove(TObject *obj); virtual void RecursiveRemove(TObject *obj);
virtual void Refresh(Bool_t force = kFALSE); virtual void Refresh(Bool_t force = kFALSE);
skipping to change at line 85 skipping to change at line 96
TRootBrowser *GetNewBrowser() const { return fNewBrowser; } TRootBrowser *GetNewBrowser() const { return fNewBrowser; }
void SetNewBrowser(TRootBrowser* b) { fNewBrowser = b; } void SetNewBrowser(TRootBrowser* b) { fNewBrowser = b; }
void AddFSDirectory(const char* entry, const char* path=0, Option _t *opt=""); void AddFSDirectory(const char* entry, const char* path=0, Option _t *opt="");
void AddKey(TGListTreeItem *itm, TObject *obj, const char *name = 0); void AddKey(TGListTreeItem *itm, TObject *obj, const char *name = 0);
void AddRemoteFile(TObject *obj); void AddRemoteFile(TObject *obj);
void ApplyFilter(Int_t id); void ApplyFilter(Int_t id);
void Chdir(TGListTreeItem *item); void Chdir(TGListTreeItem *item);
void Checked(TObject *obj, Bool_t check); void Checked(TObject *obj, Bool_t check);
void CheckRemote(TGListTreeItem *item); void CheckRemote(TGListTreeItem *item);
Bool_t CheckSorted(TGListTreeItem *item, Bool_t but = kFALSE);
void Clicked(TGListTreeItem *item, Int_t btn, Int_t x, Int_t y); void Clicked(TGListTreeItem *item, Int_t btn, Int_t x, Int_t y);
TString DirName(TGListTreeItem* item); TString DirName(TGListTreeItem* item);
TString FullPathName(TGListTreeItem* item); TString FullPathName(TGListTreeItem* item);
void DoubleClicked(TGListTreeItem *item, Int_t btn); void DoubleClicked(TGListTreeItem *item, Int_t btn);
Long_t XXExecuteDefaultAction(TObject *obj); Long_t XXExecuteDefaultAction(TObject *obj);
char *FormatFileInfo(const char *fname, Long64_t size, Long_t modt ime); char *FormatFileInfo(const char *fname, Long64_t size, Long_t modt ime);
void GetFilePictures(const TGPicture **pic, Int_t file_type, Bool _t is_link, const char *name); void GetFilePictures(const TGPicture **pic, Int_t file_type, Bool _t is_link, const char *name);
void GetObjPicture(const TGPicture **pic, TObject *obj); void GetObjPicture(const TGPicture **pic, TObject *obj);
void GotoDir(const char *path); void GotoDir(const char *path);
void PadModified(); void PadModified();
void Selected(char *); void Selected(char *);
void ToggleSort();
void Update(); void Update();
ClassDef(TGFileBrowser, 0) // File browser. ClassDef(TGFileBrowser, 0) // File browser.
}; };
#endif #endif
 End of changes. 7 change blocks. 
1 lines changed or deleted 15 lines changed or added


 TGL5DPainter.h   TGL5DPainter.h 
// @(#)root/gl:$Id: TGL5DPainter.h 33600 2010-05-21 09:24:32Z rdm $
// Author: Timur Pocheptsov 28/07/2009
/*************************************************************************
* Copyright (C) 1995-2009, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
#ifndef ROOT_TGL5DPainter #ifndef ROOT_TGL5DPainter
#define ROOT_TGL5DPainter #define ROOT_TGL5DPainter
#include <vector> #include <vector>
#include <list> #include <list>
#ifndef ROOT_TGLMarchingCubes #ifndef ROOT_TGLMarchingCubes
#include "TGLMarchingCubes.h" #include "TGLMarchingCubes.h"
#endif #endif
#ifndef ROOT_TGLPlotPainter #ifndef ROOT_TGLPlotPainter
 End of changes. 1 change blocks. 
0 lines changed or deleted 11 lines changed or added


 TGLAxisPainter.h   TGLAxisPainter.h 
// @(#)root/eve:$Id: TGLAxisPainter.h 32807 2010-03-29 11:40:58Z matevz $ // @(#)root/gl:$Id: TGLAxisPainter.h 33579 2010-05-19 12:43:08Z rdm $
// Author: Alja Mrak-Tadel 2009 // Author: Alja Mrak-Tadel 2009
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 TGLBoxPainter.h   TGLBoxPainter.h 
// @(#)root/gl:$Id$
// Author: Timur Pocheptsov 31/08/2006
/*************************************************************************
* Copyright (C) 1995-2006, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
#ifndef ROOT_TGLBoxPainter #ifndef ROOT_TGLBoxPainter
#define ROOT_TGLBoxPainter #define ROOT_TGLBoxPainter
#ifndef ROOT_TGLPlotPainter #ifndef ROOT_TGLPlotPainter
#include "TGLPlotPainter.h" #include "TGLPlotPainter.h"
#endif #endif
#ifndef ROOT_TGLQuadric #ifndef ROOT_TGLQuadric
#include "TGLQuadric.h" #include "TGLQuadric.h"
#endif #endif
#ifndef ROOT_TString #ifndef ROOT_TString
 End of changes. 1 change blocks. 
0 lines changed or deleted 11 lines changed or added


 TGLCamera.h   TGLCamera.h 
// @(#)root/gl:$Id: TGLCamera.h 30366 2009-09-23 09:23:32Z matevz $ // @(#)root/gl:$Id: TGLCamera.h 34006 2010-06-21 10:36:05Z matevz $
// Author: Richard Maunder 25/05/2005 // Author: Richard Maunder 25/05/2005
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 78 skipping to change at line 78
// Non-copyable class // Non-copyable class
TGLCamera(const TGLCamera &); TGLCamera(const TGLCamera &);
TGLCamera & operator=(const TGLCamera &); TGLCamera & operator=(const TGLCamera &);
protected: protected:
// Fields // Fields
TGLMatrix fCamBase; //! tranformation to center and rotation f rom up to x vector TGLMatrix fCamBase; //! tranformation to center and rotation f rom up to x vector
TGLMatrix fCamTrans; //! transformation relative to fCamTrans TGLMatrix fCamTrans; //! transformation relative to fCamTrans
Bool_t fExternalCenter; //! use external center insead of scene ce nter Bool_t fExternalCenter; //! use external center insead of scene ce nter
Bool_t fFixDefCenter; //! use fixed default center
TGLVector3 fExtCenter; //! external camera center TGLVector3 fExtCenter; //! external camera center
TGLVector3 fDefCenter; //! deafult camera center TGLVector3 fDefCenter; //! deafult camera center
TGLVector3 fFDCenter; //! fixed deafult camera center
TGLVector3 *fCenter; //! current camera center TGLVector3 *fCenter; //! current camera center
mutable Double_t fNearClip; //! last applied near-clip mutable Double_t fNearClip; //! last applied near-clip
mutable Double_t fFarClip; //! last applied far-clip mutable Double_t fFarClip; //! last applied far-clip
// Set in Setup() // Set in Setup()
Double_t fDollyDefault; //! default distnce from viewing centre Double_t fDollyDefault; //! default distnce from viewing centre
Double_t fDollyDistance; //! unit distance for camera movement in f wd/bck direction Double_t fDollyDistance; //! unit distance for camera movement in f wd/bck direction
Float_t fVAxisMinAngle; //! minimal allowed angle between up and fC amTrans Z vector Float_t fVAxisMinAngle; //! minimal allowed angle between up and fC amTrans Z vector
skipping to change at line 123 skipping to change at line 125
virtual Bool_t IsOrthographic() const { return kFALSE; } virtual Bool_t IsOrthographic() const { return kFALSE; }
virtual Bool_t IsPerspective() const { return kFALSE; } virtual Bool_t IsPerspective() const { return kFALSE; }
const TGLMatrix& RefModelViewMatrix() const { return fModVM; } const TGLMatrix& RefModelViewMatrix() const { return fModVM; }
Bool_t IsCacheDirty() const { return fCacheDirty; } Bool_t IsCacheDirty() const { return fCacheDirty; }
void IncTimeStamp() { fCacheDirty = kTRUE; ++fTimeStamp; } void IncTimeStamp() { fCacheDirty = kTRUE; ++fTimeStamp; }
UInt_t TimeStamp() const { return fTimeStamp; } UInt_t TimeStamp() const { return fTimeStamp; }
void SetViewport(const TGLRect & viewport); void SetViewport(const TGLRect & viewport);
TGLRect& RefViewport() { return fViewport; } TGLRect& RefViewport() { return fViewport; }
const TGLRect& RefViewport() const { return fViewport; }
// Camera manipulation interface (GL coord - origin bottom left) // Camera manipulation interface (GL coord - origin bottom left)
virtual void Setup(const TGLBoundingBox & box, Bool_t reset=kTRUE) = 0 ; virtual void Setup(const TGLBoundingBox & box, Bool_t reset=kTRUE) = 0 ;
virtual void Reset() = 0; virtual void Reset() = 0;
virtual Bool_t Dolly(Int_t delta, Bool_t mod1, Bool_t mod2); virtual Bool_t Dolly(Int_t delta, Bool_t mod1, Bool_t mod2);
virtual Bool_t Zoom (Int_t delta, Bool_t mod1, Bool_t mod2) = 0; virtual Bool_t Zoom (Int_t delta, Bool_t mod1, Bool_t mod2) = 0;
virtual Bool_t Truck(Double_t xDelta, Double_t yDelta); virtual Bool_t Truck(Double_t xDelta, Double_t yDelta);
virtual Bool_t Truck(Int_t xDelta, Int_t yDelta, Bool_t mod1, Bool_t mod 2) = 0; virtual Bool_t Truck(Int_t xDelta, Int_t yDelta, Bool_t mod1, Bool_t mod 2) = 0;
virtual Bool_t Rotate(Int_t xDelta, Int_t yDelta, Bool_t mod1, Bool_t mo d2); virtual Bool_t Rotate(Int_t xDelta, Int_t yDelta, Bool_t mod1, Bool_t mo d2);
skipping to change at line 152 skipping to change at line 155
Double_t AdjustDelta(Double_t screenShift, Double_t deltaFactor, Double_t AdjustDelta(Double_t screenShift, Double_t deltaFactor,
Bool_t mod1, Bool_t mod2) const; Bool_t mod1, Bool_t mod2) const;
void SetExternalCenter(Bool_t x); void SetExternalCenter(Bool_t x);
Bool_t GetExternalCenter(){ return fExternalCenter; } Bool_t GetExternalCenter(){ return fExternalCenter; }
void SetCenterVec(Double_t x, Double_t y, Double_t z); void SetCenterVec(Double_t x, Double_t y, Double_t z);
void SetCenterVecWarp(Double_t x, Double_t y, Double_t z); void SetCenterVecWarp(Double_t x, Double_t y, Double_t z);
Double_t* GetCenterVec() { return fCenter->Arr(); } Double_t* GetCenterVec() { return fCenter->Arr(); }
void SetFixDefCenter(Bool_t x) { fFixDefCenter = x; }
void SetFixDefCenterVec(Double_t x, Double_t y, Double_t z) { fFDCent
er.Set(x, y, z); }
Double_t* GetFixDefCenterVec() { return fFDCenter.Arr(); }
Double_t GetNearClip() const { return fNearClip; } Double_t GetNearClip() const { return fNearClip; }
Double_t GetFarClip() const { return fFarClip; } Double_t GetFarClip() const { return fFarClip; }
const TGLMatrix& GetCamBase() const { return fCamBase; } const TGLMatrix& GetCamBase() const { return fCamBase; }
const TGLMatrix& GetCamTrans() const { return fCamTrans; } const TGLMatrix& GetCamTrans() const { return fCamTrans; }
// If you manipulate camera ... also call IncTimeStamp() before redraw. // If you manipulate camera ... also call IncTimeStamp() before redraw.
TGLMatrix& RefCamBase() { return fCamBase; } TGLMatrix& RefCamBase() { return fCamBase; }
TGLMatrix& RefCamTrans() { return fCamTrans; } TGLMatrix& RefCamTrans() { return fCamTrans; }
Double_t GetTheta() const; Double_t GetTheta() const;
skipping to change at line 192 skipping to change at line 199
TGLVector3 ViewportDeltaToWorld(const TGLVertex3 & worldRef, Double_t vi ewportXDelta, Double_t viewportYDelta, TGLMatrix* modviewMat=0) const; TGLVector3 ViewportDeltaToWorld(const TGLVertex3 & worldRef, Double_t vi ewportXDelta, Double_t viewportYDelta, TGLMatrix* modviewMat=0) const;
std::pair<Bool_t, TGLVertex3> ViewportPlaneIntersection(Double_t viewpor tX, Double_t viewportY, const TGLPlane & worldPlane) const; std::pair<Bool_t, TGLVertex3> ViewportPlaneIntersection(Double_t viewpor tX, Double_t viewportY, const TGLPlane & worldPlane) const;
std::pair<Bool_t, TGLVertex3> ViewportPlaneIntersection(const TPoint & v iewport, const TGLPlane & worldPlane) const; std::pair<Bool_t, TGLVertex3> ViewportPlaneIntersection(const TPoint & v iewport, const TGLPlane & worldPlane) const;
// Window to GL viewport conversion - invert Y // Window to GL viewport conversion - invert Y
void WindowToViewport(Int_t & /* x */, Int_t & y) const { y = fViewport. Height() - y; } void WindowToViewport(Int_t & /* x */, Int_t & y) const { y = fViewport. Height() - y; }
void WindowToViewport(TPoint & point) const { point.SetY(fVi ewport.Height() - point.GetY()); } void WindowToViewport(TPoint & point) const { point.SetY(fVi ewport.Height() - point.GetY()); }
void WindowToViewport(TGLRect & rect) const { rect.Y() = fVi ewport.Height() - rect.Y(); } void WindowToViewport(TGLRect & rect) const { rect.Y() = fVi ewport.Height() - rect.Y(); }
void WindowToViewport(TGLVertex3 & vertex) const { vertex.Y() = f Viewport.Height() - vertex.Y(); } void WindowToViewport(TGLVertex3 & vertex) const { vertex.Y() = f Viewport.Height() - vertex.Y(); }
const TGLRect& RefViewport() const { return fViewport; }
Float_t GetVAxisMinAngle(){return fVAxisMinAngle;} Float_t GetVAxisMinAngle(){return fVAxisMinAngle;}
void SetVAxisMinAngle(Float_t x){fVAxisMinAngle = x;} void SetVAxisMinAngle(Float_t x){fVAxisMinAngle = x;}
virtual void Configure(Double_t zoom, Double_t dolly, Double_t center[3] , virtual void Configure(Double_t zoom, Double_t dolly, Double_t center[3] ,
Double_t hRotate, Double_t vRotate) = 0; Double_t hRotate, Double_t vRotate) = 0;
// Cameras expanded-frustum interest box // Cameras expanded-frustum interest box
Bool_t OfInterest(const TGLBoundingBox & box, Bool_t ignoreSize) const; Bool_t OfInterest(const TGLBoundingBox & box, Bool_t ignoreSize) const;
Bool_t UpdateInterest(Bool_t force); Bool_t UpdateInterest(Bool_t force);
void ResetInterest(); void ResetInterest();
 End of changes. 6 change blocks. 
5 lines changed or deleted 11 lines changed or added


 TGLCameraOverlay.h   TGLCameraOverlay.h 
// @(#)root/eve:$Id: TGLCameraOverlay.h 32811 2010-03-29 13:14:49Z matevz $ // @(#)root/gl:$Id: TGLCameraOverlay.h 33579 2010-05-19 12:43:08Z rdm $
// Author: Alja Mrak-Tadel 2007 // Author: Alja Mrak-Tadel 2007
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 TGLEventHandler.h   TGLEventHandler.h 
// @(#)root/gl:$Id: TGLEventHandler.h 33147 2010-04-22 16:47:08Z matevz $ // @(#)root/gl:$Id: TGLEventHandler.h 34006 2010-06-21 10:36:05Z matevz $
// Author: Bertrand Bellenot 29/01/2008 // Author: Bertrand Bellenot 29/01/2008
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 53 skipping to change at line 53
TPoint fLastGlobalPos; TPoint fLastGlobalPos;
TPoint fTooltipPos; TPoint fTooltipPos;
UInt_t fActiveButtonID; UInt_t fActiveButtonID;
UInt_t fLastEventState; UInt_t fLastEventState;
Bool_t fIgnoreButtonUp; Bool_t fIgnoreButtonUp;
Bool_t fInPointerGrab; Bool_t fInPointerGrab;
Bool_t fMouseTimerRunning; Bool_t fMouseTimerRunning;
Bool_t fTooltipShown; Bool_t fTooltipShown;
Int_t fTooltipPixelTolerance; Int_t fTooltipPixelTolerance;
Int_t fSecSelType; // secondary selection type Int_t fSecSelType; // secondary selection type
Bool_t fDoInternalSelection;
Bool_t fViewerCentricControls;
Float_t fArrowKeyFactor;
Float_t fMouseDragFactor;
Float_t fMouseWheelFactor;
virtual Bool_t Rotate(Int_t xDelta, Int_t yDelta, Bool_t mod1, Bool_t mo d2); virtual Bool_t Rotate(Int_t xDelta, Int_t yDelta, Bool_t mod1, Bool_t mo d2);
virtual void GrabMouse(); virtual void GrabMouse();
virtual void UnGrabMouse(); virtual void UnGrabMouse();
virtual void SelectForClicked(Event_t *event); virtual void SelectForClicked(Event_t *event);
virtual void SelectForMouseOver(); virtual void SelectForMouseOver();
Int_t ControlValue(Int_t v) { return fViewerCentricControls ? -v : v; }
public: public:
TGLEventHandler(TGWindow *w, TObject *obj); TGLEventHandler(TGWindow *w, TObject *obj);
virtual ~TGLEventHandler(); virtual ~TGLEventHandler();
virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py); virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py);
virtual Bool_t HandleEvent(Event_t *event); virtual Bool_t HandleEvent(Event_t *event);
virtual Bool_t HandleExpose(Event_t * event); virtual Bool_t HandleExpose(Event_t * event);
virtual Bool_t HandleFocusChange(Event_t *event); virtual Bool_t HandleFocusChange(Event_t *event);
virtual Bool_t HandleCrossing(Event_t *event); virtual Bool_t HandleCrossing(Event_t *event);
virtual Bool_t HandleButton(Event_t * event); virtual Bool_t HandleButton(Event_t * event);
skipping to change at line 96 skipping to change at line 103
void SetMouseOverSelectDelay(Int_t ms); void SetMouseOverSelectDelay(Int_t ms);
void SetMouseOverTooltipDelay(Int_t ms); void SetMouseOverTooltipDelay(Int_t ms);
Int_t GetTooltipPixelTolerance() const { return fTooltipPixelTolerance; } Int_t GetTooltipPixelTolerance() const { return fTooltipPixelTolerance; }
void SetTooltipPixelTolerance(Int_t t) { fTooltipPixelTolerance = t; } void SetTooltipPixelTolerance(Int_t t) { fTooltipPixelTolerance = t; }
Int_t GetSecSelType() const { return fSecSelType; } Int_t GetSecSelType() const { return fSecSelType; }
void SetSecSelType(Int_t t) { fSecSelType = t; } void SetSecSelType(Int_t t) { fSecSelType = t; }
Bool_t GetDoInternalSelection() const { return fDoInternalSelection; }
void SetDoInternalSelection(Bool_t x) { fDoInternalSelection = x; }
ClassDef(TGLEventHandler, 0); // Base-class and default implementation o f event-handler for TGLViewer. ClassDef(TGLEventHandler, 0); // Base-class and default implementation o f event-handler for TGLViewer.
}; };
#endif #endif
 End of changes. 4 change blocks. 
1 lines changed or deleted 11 lines changed or added


 TGLFBO.h   TGLFBO.h 
// @(#)root/eve:$Id: TGLFBO.h 29724 2009-08-07 16:10:57Z matevz $ // @(#)root/gl:$Id: TGLFBO.h 33579 2010-05-19 12:43:08Z rdm $
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
#ifndef ROOT_TGLFBO #ifndef ROOT_TGLFBO
#define ROOT_TGLFBO #define ROOT_TGLFBO
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 TGLHistPainter.h   TGLHistPainter.h 
// @(#)root/gl:$Id$
// Author: Timur Pocheptsov 17/11/2005
/*************************************************************************
* Copyright (C) 1995-2005, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
#ifndef ROOT_TGLHistPainter #ifndef ROOT_TGLHistPainter
#define ROOT_TGLHistPainter #define ROOT_TGLHistPainter
#include <memory> #include <memory>
#ifndef ROOT_TVirtualHistPainter #ifndef ROOT_TVirtualHistPainter
#include "TVirtualHistPainter.h" #include "TVirtualHistPainter.h"
#endif #endif
#ifndef ROOT_TGLPlotPainter #ifndef ROOT_TGLPlotPainter
#include "TGLPlotPainter.h" #include "TGLPlotPainter.h"
 End of changes. 1 change blocks. 
0 lines changed or deleted 11 lines changed or added


 TGLIsoMesh.h   TGLIsoMesh.h 
// @(#)root/gl:$Id: TGLIsoMesh.h 33600 2010-05-21 09:24:32Z rdm $
// Author: Timur Pocheptsov 06/01/2009
/*************************************************************************
* Copyright (C) 1995-2009, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
#ifndef ROOT_TGLIsoMesh #ifndef ROOT_TGLIsoMesh
#define ROOT_TGLIsoMesh #define ROOT_TGLIsoMesh
#include <vector> #include <vector>
#ifndef ROOT_Rtypes #ifndef ROOT_Rtypes
#include "Rtypes.h" #include "Rtypes.h"
#endif #endif
#ifndef ROOT_TAxis #ifndef ROOT_TAxis
#include "TAxis.h" #include "TAxis.h"
 End of changes. 1 change blocks. 
0 lines changed or deleted 11 lines changed or added


 TGLManip.h   TGLManip.h 
// @(#)root/gl:$Id: TGLManip.h 30815 2009-10-20 13:49:22Z rdm $ // @(#)root/gl:$Id: TGLManip.h 34006 2010-06-21 10:36:05Z matevz $
// Author: Richard Maunder 16/09/2005 // Author: Richard Maunder 16/09/2005
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2005, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2005, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 46 skipping to change at line 46
{ {
protected: protected:
TGLPhysicalShape *fShape; //! manipulated shape TGLPhysicalShape *fShape; //! manipulated shape
UInt_t fSelectedWidget; //! active width (axis) component UInt_t fSelectedWidget; //! active width (axis) component
Bool_t fActive; //! manipulator is active? Bool_t fActive; //! manipulator is active?
// Mouse tracking - in WINDOW coords // Mouse tracking - in WINDOW coords
TPoint fFirstMouse; //! first (start) mouse position (in WINDOW coords) TPoint fFirstMouse; //! first (start) mouse position (in WINDOW coords)
TPoint fLastMouse; //! last (latest) mouse position (in WINDOW coords) TPoint fLastMouse; //! last (latest) mouse position (in WINDOW coords)
static Float_t fgRed[4];
static Float_t fgGreen[4];
static Float_t fgBlue[4];
static Float_t fgYellow[4];
static Float_t fgWhite[4];
static Float_t fgGrey[4];
TGLManip(const TGLManip&); TGLManip(const TGLManip&);
TGLManip& operator=(const TGLManip&); TGLManip& operator=(const TGLManip&);
void CalcDrawScale(const TGLBoundingBox& box, const TGLCamera& camera, void CalcDrawScale(const TGLBoundingBox& box, const TGLCamera& camera,
Double_t& base, TGLVector3 axis[3]) const; Double_t& base, TGLVector3 axis[3]) const;
const UChar_t* ColorFor(UInt_t widget) const;
public: public:
TGLManip(); TGLManip();
TGLManip(TGLPhysicalShape* shape); TGLManip(TGLPhysicalShape* shape);
virtual ~TGLManip(); virtual ~TGLManip();
UInt_t GetSelectedWidget() const { return fSelectedWidget; } UInt_t GetSelectedWidget() const { return fSelectedWidget; }
void SetSelectedWidget(UInt_t s) { fSelectedWidget = s; } void SetSelectedWidget(UInt_t s) { fSelectedWidget = s; }
Bool_t GetActive() const { return fActive; } Bool_t GetActive() const { return fActive; }
void SetActive(Bool_t a) { fActive = a; } void SetActive(Bool_t a) { fActive = a; }
 End of changes. 3 change blocks. 
8 lines changed or deleted 3 lines changed or added


 TGLMarchingCubes.h   TGLMarchingCubes.h 
// @(#)root/gl:$Id: TGLMarchingCubes.h 33600 2010-05-21 09:24:32Z rdm $
// Author: Timur Pocheptsov 06/01/2009
/*************************************************************************
* Copyright (C) 1995-2009, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
#ifndef ROOT_TGLMarchingCubes #ifndef ROOT_TGLMarchingCubes
#define ROOT_TGLMarchingCubes #define ROOT_TGLMarchingCubes
#include <vector> #include <vector>
#ifndef ROOT_TH3 #ifndef ROOT_TH3
#include "TH3.h" #include "TH3.h"
#endif #endif
#ifndef ROOT_TGLIsoMesh #ifndef ROOT_TGLIsoMesh
skipping to change at line 310 skipping to change at line 321
typedef Fgt::TKDEAdapter Type_t; typedef Fgt::TKDEAdapter Type_t;
}; };
/* /*
Edge splitter is the second base class for TMeshBuilder. Edge splitter is the second base class for TMeshBuilder.
Its task is to split cell's edge by adding new vertex Its task is to split cell's edge by adding new vertex
into mesh. into mesh.
Default splitter is used by TH3 and KDE. Default splitter is used by TH3 and KDE.
*/ */
template<class E, class V>
V GetOffset(E val1, E val2, V iso)
{
const V delta = val2 - val1;
if (!delta)
return 0.5f;
return (iso - val1) / delta;
}
template<class H, class E, class V> template<class H, class E, class V>
class TDefaultSplitter : protected virtual TGridGeometry<V> { class TDefaultSplitter : protected virtual TGridGeometry<V> {
protected: protected:
void SetNormalEvaluator(const H * /*source*/) void SetNormalEvaluator(const H * /*source*/)
{ {
} }
void SplitEdge(TCell<E> & cell, TIsoMesh<V> * mesh, UInt_t i, void SplitEdge(TCell<E> & cell, TIsoMesh<V> * mesh, UInt_t i,
V x, V y, V z, V iso)const V x, V y, V z, V iso)const
{ {
V v[3]; V v[3];
 End of changes. 2 change blocks. 
0 lines changed or deleted 20 lines changed or added


 TGLOverlay.h   TGLOverlay.h 
// @(#)root/gl:$Id: TGLOverlay.h 28885 2009-06-10 15:51:12Z matevz $ // @(#)root/gl:$Id: TGLOverlay.h 34006 2010-06-21 10:36:05Z matevz $
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
#ifndef ROOT_TGLOverlay_H #ifndef ROOT_TGLOverlay_H
#define ROOT_TGLOverlay_H #define ROOT_TGLOverlay_H
skipping to change at line 23 skipping to change at line 23
#include <GuiTypes.h> #include <GuiTypes.h>
class TGLRnrCtx; class TGLRnrCtx;
class TGLOvlSelectRecord; class TGLOvlSelectRecord;
#include <list> #include <list>
class TGLOverlayElement class TGLOverlayElement
{ {
public: public:
enum ERole { kUser, kViewer, kAnnotation, kAll }; enum ERole { kUser, kViewer, kAnnotation, kAll };
enum EState { kInvisible = 1, kDisabled = 2, kActive = 4,
kAllVisible = kDisabled | kActive };
private: private:
TGLOverlayElement(const TGLOverlayElement&); // Not implement ed TGLOverlayElement(const TGLOverlayElement&); // Not implement ed
TGLOverlayElement& operator=(const TGLOverlayElement&); // Not implement ed TGLOverlayElement& operator=(const TGLOverlayElement&); // Not implement ed
protected: protected:
ERole fRole; ERole fRole;
EState fState;
void ProjectionMatrixPushIdentity();
public: public:
TGLOverlayElement(ERole r = kUser):fRole(r) {} TGLOverlayElement(ERole r=kUser, EState s=kActive) :
fRole(r), fState(s) {}
virtual ~TGLOverlayElement() {} virtual ~TGLOverlayElement() {}
virtual Bool_t MouseEnter(TGLOvlSelectRecord& selRec); virtual Bool_t MouseEnter(TGLOvlSelectRecord& selRec);
virtual Bool_t MouseStillInside(TGLOvlSelectRecord& selRec); virtual Bool_t MouseStillInside(TGLOvlSelectRecord& selRec);
virtual Bool_t Handle(TGLRnrCtx& rnrCtx, TGLOvlSelectRecord& selRec, virtual Bool_t Handle(TGLRnrCtx& rnrCtx, TGLOvlSelectRecord& selRec,
Event_t* event); Event_t* event);
virtual void MouseLeave(); virtual void MouseLeave();
virtual void Render(TGLRnrCtx& rnrCtx) = 0; virtual void Render(TGLRnrCtx& rnrCtx) = 0;
ERole GetRole() const { return fRole; } ERole GetRole() const { return fRole; }
void SetRole(ERole r) { fRole = r; } void SetRole(ERole r) { fRole = r; }
EState GetState() const { return fState; }
void SetState(EState s) { fState = s; }
void SetBinaryState(Bool_t s) { SetState(s ? kActive : kInvisible); }
ClassDef(TGLOverlayElement, 0) // Base class for GL overlay elements. ClassDef(TGLOverlayElement, 0) // Base class for GL overlay elements.
}; };
class TGLOverlayList class TGLOverlayList
{ {
private: private:
TGLOverlayList(const TGLOverlayList&); // Not implemented TGLOverlayList(const TGLOverlayList&); // Not implemented
TGLOverlayList& operator=(const TGLOverlayList&); // Not implemented TGLOverlayList& operator=(const TGLOverlayList&); // Not implemented
protected: protected:
 End of changes. 6 change blocks. 
4 lines changed or deleted 16 lines changed or added


 TGLPadPainter.h   TGLPadPainter.h 
// @(#)root/gl:$Id: TGLPadPainter.h 33600 2010-05-21 09:24:32Z rdm $
// Author: Timur Pocheptsov 06/05/2009
/*************************************************************************
* Copyright (C) 1995-2009, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
#ifndef ROOT_TGLPadPainter #ifndef ROOT_TGLPadPainter
#define ROOT_TGLPadPainter #define ROOT_TGLPadPainter
#include <deque> #include <deque>
#ifndef ROOT_TVirtualPadPainter #ifndef ROOT_TVirtualPadPainter
#include "TVirtualPadPainter.h" #include "TVirtualPadPainter.h"
#endif #endif
#ifndef ROOT_TGLFontmanager #ifndef ROOT_TGLFontmanager
#include "TGLFontManager.h" #include "TGLFontManager.h"
 End of changes. 1 change blocks. 
0 lines changed or deleted 11 lines changed or added


 TGLPadUtils.h   TGLPadUtils.h 
// @(#)root/gl:$Id: TGLPadUtils.h 33600 2010-05-21 09:24:32Z rdm $
// Author: Timur Pocheptsov 06/05/2009
/*************************************************************************
* Copyright (C) 1995-2009, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
#ifndef ROOT_TGLPadUtils #ifndef ROOT_TGLPadUtils
#define ROOT_TGLPadUtils #define ROOT_TGLPadUtils
#include <vector> #include <vector>
#ifndef ROOT_RStipples #ifndef ROOT_RStipples
#include "RStipples.h" #include "RStipples.h"
#endif #endif
#ifndef ROOT_TPoint #ifndef ROOT_TPoint
#include "TPoint.h" #include "TPoint.h"
 End of changes. 1 change blocks. 
0 lines changed or deleted 11 lines changed or added


 TGLPlot3D.h   TGLPlot3D.h 
// @(#)root/eve:$Id: TGLPlot3D.h 29526 2009-07-20 17:41:53Z matevz $ // @(#)root/gl:$Id: TGLPlot3D.h 33579 2010-05-19 12:43:08Z rdm $
// Author: Matevz Tadel 2007 // Author: Matevz Tadel 2007
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 TGLPlotBox.h   TGLPlotBox.h 
// @(#)root/gl:$Id$
// Author: Timur Pocheptsov 31/08/2006
/*************************************************************************
* Copyright (C) 1995-2006, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
#ifndef ROOT_TGLPlotFrame #ifndef ROOT_TGLPlotFrame
#define ROOT_TGLPlotFrame #define ROOT_TGLPlotFrame
#include <vector> #include <vector>
#ifndef ROOT_Rtypes #ifndef ROOT_Rtypes
#include "Rtypes.h" #include "Rtypes.h"
#endif #endif
#ifndef ROOT_TGLUtil #ifndef ROOT_TGLUtil
#include "TGLUtil.h" #include "TGLUtil.h"
 End of changes. 1 change blocks. 
0 lines changed or deleted 11 lines changed or added


 TGLPlotCamera.h   TGLPlotCamera.h 
// @(#)root/eve:$Id: TGLPlotCamera.h 28464 2009-05-06 12:37:21Z brun $ // @(#)root/gl:$Id: TGLPlotCamera.h 33579 2010-05-19 12:43:08Z rdm $
// Author: Timur Pocheptsov // Author: Timur Pocheptsov
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 TGLRnrCtx.h   TGLRnrCtx.h 
// @(#)root/gl:$Id: TGLRnrCtx.h 32782 2010-03-26 14:39:42Z matevz $ // @(#)root/gl:$Id: TGLRnrCtx.h 34006 2010-06-21 10:36:05Z matevz $
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
#ifndef ROOT_TGLRnrCtx #ifndef ROOT_TGLRnrCtx
#define ROOT_TGLRnrCtx #define ROOT_TGLRnrCtx
skipping to change at line 265 skipping to change at line 265
GLUquadric* GetGluQuadric() { return fQuadric; } GLUquadric* GetGluQuadric() { return fQuadric; }
// Picture grabbing // Picture grabbing
void SetGrabImage(Bool_t gi, Int_t buf=-1) { fGrabImage = gi; fGrabB uffer = buf; } void SetGrabImage(Bool_t gi, Int_t buf=-1) { fGrabImage = gi; fGrabB uffer = buf; }
Bool_t GetGrabImage() const { return fGrabImage; } Bool_t GetGrabImage() const { return fGrabImage; }
Int_t GetGrabBuffer() const { return fGrabBuffer; } Int_t GetGrabBuffer() const { return fGrabBuffer; }
UChar_t* GetGrabbedImage() const { return fGrabbedImage; } UChar_t* GetGrabbedImage() const { return fGrabbedImage; }
void SetGrabbedImage(UChar_t* img) { fGrabbedImage = img; } void SetGrabbedImage(UChar_t* img) { fGrabbedImage = img; }
// Matrix manipulation helpers
void ProjectionMatrixPushIdentity();
void ProjectionMatrixPop();
ClassDef(TGLRnrCtx, 0); // Collection of objects and data passes along a ll rendering calls. ClassDef(TGLRnrCtx, 0); // Collection of objects and data passes along a ll rendering calls.
}; };
#endif #endif
 End of changes. 2 change blocks. 
1 lines changed or deleted 5 lines changed or added


 TGLSurfacePainter.h   TGLSurfacePainter.h 
// @(#)root/gl:$Id$
// Author: Timur Pocheptsov 31/08/2006
/*************************************************************************
* Copyright (C) 1995-2006, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
#ifndef ROOT_TGLSurfacePainter #ifndef ROOT_TGLSurfacePainter
#define ROOT_TGLSurfacePainter #define ROOT_TGLSurfacePainter
#include <vector> #include <vector>
#include <list> #include <list>
#ifndef ROOT_TGLPlotPainter #ifndef ROOT_TGLPlotPainter
#include "TGLPlotPainter.h" #include "TGLPlotPainter.h"
#endif #endif
#ifndef ROOT_TString #ifndef ROOT_TString
 End of changes. 1 change blocks. 
0 lines changed or deleted 11 lines changed or added


 TGLTF3Painter.h   TGLTF3Painter.h 
// @(#)root/gl:$Id$
// Author: Timur Pocheptsov 31/08/2006
/*************************************************************************
* Copyright (C) 1995-2006, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
#ifndef ROOT_TGLTF3Painter #ifndef ROOT_TGLTF3Painter
#define ROOT_TGLTF3Painter #define ROOT_TGLTF3Painter
#include <vector> #include <vector>
#include <list> #include <list>
#ifndef ROOT_TGLPlotPainter #ifndef ROOT_TGLPlotPainter
#include "TGLPlotPainter.h" #include "TGLPlotPainter.h"
#endif #endif
#ifndef ROOT_TGLIsoMesh #ifndef ROOT_TGLIsoMesh
 End of changes. 1 change blocks. 
0 lines changed or deleted 11 lines changed or added


 TGLUtil.h   TGLUtil.h 
// @(#)root/gl:$Id: TGLUtil.h 32785 2010-03-26 15:42:03Z matevz $ // @(#)root/gl:$Id: TGLUtil.h 34006 2010-06-21 10:36:05Z matevz $
// Author: Richard Maunder 25/05/2005 // Author: Richard Maunder 25/05/2005
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 970 skipping to change at line 970
static void SetDrawQuality(UInt_t dq); static void SetDrawQuality(UInt_t dq);
static void ResetDrawQuality(); static void ResetDrawQuality();
static UInt_t GetDefaultDrawQuality(); static UInt_t GetDefaultDrawQuality();
static void SetDefaultDrawQuality(UInt_t dq); static void SetDefaultDrawQuality(UInt_t dq);
static UInt_t LockColor(); static UInt_t LockColor();
static UInt_t UnlockColor(); static UInt_t UnlockColor();
static Bool_t IsColorLocked(); static Bool_t IsColorLocked();
static void Color(const TGLColor& color); static void Color(const TGLColor& color);
static void Color(const TGLColor& color, UChar_t alpha); static void ColorAlpha(const TGLColor& color, UChar_t alpha);
static void Color(const TGLColor& color, Float_t alpha); static void ColorAlpha(const TGLColor& color, Float_t alpha);
static void Color(Color_t color_index, Float_t alpha=1); static void ColorAlpha(Color_t color_index, Float_t alpha=1);
static void ColorTransparency(Color_t color_index, Char_t transparency=0 ); static void ColorTransparency(Color_t color_index, Char_t transparency=0 );
static void Color3ub(UChar_t r, UChar_t g, UChar_t b); static void Color3ub(UChar_t r, UChar_t g, UChar_t b);
static void Color4ub(UChar_t r, UChar_t g, UChar_t b, UChar_t a); static void Color4ub(UChar_t r, UChar_t g, UChar_t b, UChar_t a);
static void Color3ubv(const UChar_t* rgb); static void Color3ubv(const UChar_t* rgb);
static void Color4ubv(const UChar_t* rgba); static void Color4ubv(const UChar_t* rgba);
static void Color3f(Float_t r, Float_t g, Float_t b); static void Color3f(Float_t r, Float_t g, Float_t b);
static void Color4f(Float_t r, Float_t g, Float_t b, Float_t a); static void Color4f(Float_t r, Float_t g, Float_t b, Float_t a);
static void Color3fv(const Float_t* rgb); static void Color3fv(const Float_t* rgb);
static void Color4fv(const Float_t* rgba); static void Color4fv(const Float_t* rgba);
skipping to change at line 997 skipping to change at line 997
static void PointSize(Float_t point_size); static void PointSize(Float_t point_size);
static void LineWidth(Float_t line_width); static void LineWidth(Float_t line_width);
static Float_t PointSize(); static Float_t PointSize();
static Float_t LineWidth(); static Float_t LineWidth();
static void BeginExtendPickRegion(Float_t scale); static void BeginExtendPickRegion(Float_t scale);
static void EndExtendPickRegion(); static void EndExtendPickRegion();
static void RenderPolyMarkers(const TAttMarker& marker, Float_t* p, Int_ static void RenderPolyMarkers(const TAttMarker& marker, Char_t transp,
t n, Float_t* p, Int_t n,
Int_t pick_radius=0, Bool_t selection=kFAL SE, Int_t pick_radius=0, Bool_t selection=kFAL SE,
Bool_t sec_selection=kFALSE); Bool_t sec_selection=kFALSE);
static void RenderPoints(const TAttMarker& marker, Float_t* p, Int_t n,
static void RenderPoints(const TAttMarker& marker,
Float_t* p, Int_t n,
Int_t pick_radius=0, Bool_t selection=kFALSE, Int_t pick_radius=0, Bool_t selection=kFALSE,
Bool_t sec_selection=kFALSE); Bool_t sec_selection=kFALSE);
static void RenderCrosses(const TAttMarker& marker, Float_t* p, Int_t n,
static void RenderCrosses(const TAttMarker& marker,
Float_t* p, Int_t n,
Bool_t sec_selection=kFALSE); Bool_t sec_selection=kFALSE);
static void RenderPolyLine(const TAttLine& aline, Float_t* p, Int_t n,
static void RenderPolyLine(const TAttLine& aline, Char_t transp,
Float_t* p, Int_t n,
Int_t pick_radius=0, Bool_t selection=kFALSE) ; Int_t pick_radius=0, Bool_t selection=kFALSE) ;
static void BeginAttLine(const TAttLine& aline, Int_t pick_radius=0, Boo static void BeginAttLine(const TAttLine& aline, Char_t transp,
l_t selection=kFALSE); Int_t pick_radius=0, Bool_t selection=kFALSE);
static void EndAttLine(Int_t pick_radius=0, Bool_t selection=kFALSE); static void EndAttLine(Int_t pick_radius=0, Bool_t selection=kFALSE);
// TODO: These draw routines should take LOD hints // TODO: These draw routines should take LOD hints
static void SetDrawColors(const Float_t rgba[4]); static void SetDrawColors(const UChar_t rgba[4]);
static void DrawSphere(const TGLVertex3 & position, Double_t radius, con static void DrawSphere(const TGLVertex3 & position, Double_t radius, con
st Float_t rgba[4]); st UChar_t rgba[4]);
static void DrawLine(const TGLLine3 & line, ELineHeadShape head, Double_ static void DrawLine(const TGLLine3 & line, ELineHeadShape head, Double_
t size, const Float_t rgba[4]); t size, const UChar_t rgba[4]);
static void DrawLine(const TGLVertex3 & start, const TGLVector3 & vector , ELineHeadShape head, static void DrawLine(const TGLVertex3 & start, const TGLVector3 & vector , ELineHeadShape head,
Double_t size, const Float_t rgba[4]); Double_t size, const UChar_t rgba[4]);
static void DrawRing(const TGLVertex3 & center, const TGLVector3 & norma l, static void DrawRing(const TGLVertex3 & center, const TGLVector3 & norma l,
Double_t radius, const Float_t* rgba); Double_t radius, const UChar_t* rgba);
static void DrawReferenceMarker(const TGLCamera & camera, static void DrawReferenceMarker(const TGLCamera & camera,
const TGLVertex3 & pos, const TGLVertex3 & pos,
Float_t radius = 3, Float_t radius = 3,
const Float_t * rgba = 0); const UChar_t * rgba = 0);
static void DrawSimpleAxes(const TGLCamera & camera, static void DrawSimpleAxes(const TGLCamera & camera,
const TGLBoundingBox & bbox, const TGLBoundingBox & bbox,
Int_t axesType); Int_t axesType);
static void DrawNumber(const TString & num, static void DrawNumber(const TString & num,
const TGLVertex3 & pos, const TGLVertex3 & pos,
Bool_t center = kFALSE); Bool_t center = kFALSE);
// Frequently used colors.
static const UChar_t fgRed[4];
static const UChar_t fgGreen[4];
static const UChar_t fgBlue[4];
static const UChar_t fgYellow[4];
static const UChar_t fgWhite[4];
static const UChar_t fgGrey[4];
ClassDef(TGLUtil,0); // Wrapper class for misc GL pieces ClassDef(TGLUtil,0); // Wrapper class for misc GL pieces
}; };
/************************************************************************** / /************************************************************************** /
class TGLCapabilitySwitch class TGLCapabilitySwitch
{ {
private: private:
TGLCapabilitySwitch(const TGLCapabilitySwitch &); TGLCapabilitySwitch(const TGLCapabilitySwitch &);
TGLCapabilitySwitch &operator = (const TGLCapabilitySwitch &); TGLCapabilitySwitch &operator = (const TGLCapabilitySwitch &);
skipping to change at line 1053 skipping to change at line 1069
Bool_t fState; Bool_t fState;
Bool_t fFlip; Bool_t fFlip;
void SetState(Bool_t s); void SetState(Bool_t s);
public: public:
TGLCapabilitySwitch(Int_t what, Bool_t state); TGLCapabilitySwitch(Int_t what, Bool_t state);
~TGLCapabilitySwitch(); ~TGLCapabilitySwitch();
}; };
class TGLCapabilityEnabler
{
private:
TGLCapabilityEnabler(const TGLCapabilityEnabler &);
TGLCapabilityEnabler &operator = (const TGLCapabilityEnabler &);
Int_t fWhat;
Bool_t fFlip;
public:
TGLCapabilityEnabler(Int_t what, Bool_t state);
~TGLCapabilityEnabler();
};
class TGLFloatHolder class TGLFloatHolder
{ {
TGLFloatHolder(const TGLFloatHolder&); // Not implemented TGLFloatHolder(const TGLFloatHolder&); // Not implemented
TGLFloatHolder& operator=(const TGLFloatHolder&); // Not implemented TGLFloatHolder& operator=(const TGLFloatHolder&); // Not implemented
Int_t fWhat; Int_t fWhat;
Float_t fState; Float_t fState;
Bool_t fFlip; Bool_t fFlip;
void (*fFoo)(Float_t); void (*fFoo)(Float_t);
 End of changes. 13 change blocks. 
19 lines changed or deleted 47 lines changed or added


 TGLViewer.h   TGLViewer.h 
// @(#)root/gl:$Id: TGLViewer.h 33124 2010-04-21 20:04:42Z matevz $ // @(#)root/gl:$Id: TGLViewer.h 33864 2010-06-14 09:47:19Z matevz $
// Author: Richard Maunder 25/05/2005 // Author: Richard Maunder 25/05/2005
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 341 skipping to change at line 341
Bool_t SavePictureHeight(const TString &fileName, Int_t height, Bool_t p ixel_object_scale=kTRUE); Bool_t SavePictureHeight(const TString &fileName, Int_t height, Bool_t p ixel_object_scale=kTRUE);
Bool_t SavePictureScale (const TString &fileName, Float_t scale, Bool_t pixel_object_scale=kTRUE); Bool_t SavePictureScale (const TString &fileName, Float_t scale, Bool_t pixel_object_scale=kTRUE);
const char* GetPictureFileName() const { return fPictureFileName.Data() ; } const char* GetPictureFileName() const { return fPictureFileName.Data() ; }
void SetPictureFileName(const TString& f) { fPictureFileName = f ; } void SetPictureFileName(const TString& f) { fPictureFileName = f ; }
Float_t GetFader() const { return fFader; } Float_t GetFader() const { return fFader; }
void SetFader(Float_t x) { fFader = x; } void SetFader(Float_t x) { fFader = x; }
void AutoFade(Float_t fade, Float_t time=1, Int_t steps=10); void AutoFade(Float_t fade, Float_t time=1, Int_t steps=10);
// Update/camera-reset // Update/camera-reset
void UpdateScene(); void UpdateScene(Bool_t redraw=kTRUE);
Bool_t GetIgnoreSizesOnUpdate() const { return fIgnoreSizesOnUpda te; } Bool_t GetIgnoreSizesOnUpdate() const { return fIgnoreSizesOnUpda te; }
void SetIgnoreSizesOnUpdate(Bool_t v) { fIgnoreSizesOnUpdate = v; } void SetIgnoreSizesOnUpdate(Bool_t v) { fIgnoreSizesOnUpdate = v; }
void ResetCurrentCamera(); void ResetCurrentCamera();
Bool_t GetResetCamerasOnUpdate() const { return fResetCamerasOnUpd ate; } Bool_t GetResetCamerasOnUpdate() const { return fResetCamerasOnUpd ate; }
void SetResetCamerasOnUpdate(Bool_t v) { fResetCamerasOnUpdate = v ; } void SetResetCamerasOnUpdate(Bool_t v) { fResetCamerasOnUpdate = v ; }
virtual void PostSceneBuildSetup(Bool_t resetCameras); virtual void PostSceneBuildSetup(Bool_t resetCameras);
virtual void Activated() { Emit("Activated()"); } // *SIGNAL* virtual void Activated() { Emit("Activated()"); } // *SIGNAL*
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 TGLViewerBase.h   TGLViewerBase.h 
// @(#)root/gl:$Id: TGLViewerBase.h 32867 2010-04-01 17:07:30Z matevz $ // @(#)root/gl:$Id: TGLViewerBase.h 34006 2010-06-21 10:36:05Z matevz $
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
#ifndef ROOT_TGLViewerBase #ifndef ROOT_TGLViewerBase
#define ROOT_TGLViewerBase #define ROOT_TGLViewerBase
skipping to change at line 131 skipping to change at line 131
virtual void MergeSceneBBoxes(TGLBoundingBox& bbox); virtual void MergeSceneBBoxes(TGLBoundingBox& bbox);
// ================================================================ // ================================================================
// Low-level methods // Low-level methods
virtual void PreRender(); virtual void PreRender();
virtual void Render(); virtual void Render();
virtual void RenderNonSelected(); virtual void RenderNonSelected();
virtual void RenderSelected(); virtual void RenderSelected();
virtual void RenderOverlay(); virtual void RenderOverlay(Int_t state, Bool_t selection);
virtual void PostRender(); virtual void PostRender();
virtual void PreRenderOverlaySelection(); virtual void PreRenderOverlaySelection();
virtual void PostRenderOverlaySelection(); virtual void PostRenderOverlaySelection();
// High-level methods // High-level methods
// virtual void Draw(); // virtual void Draw();
// virtual void Select(); // virtual void Select();
// virtual void SelectOverlay(); // virtual void SelectOverlay();
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 TGLViewerEditor.h   TGLViewerEditor.h 
// @(#)root/gl:$Id$
// Author: Alja Mrak-Tadel, Matevz Tadel, Timur Pocheptsov 08/03/2006
/*************************************************************************
* Copyright (C) 1995-2006, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
#ifndef ROOT_TGLViewerEditor #ifndef ROOT_TGLViewerEditor
#define ROOT_TGLViewerEditor #define ROOT_TGLViewerEditor
#include <memory> #include <memory>
#ifndef ROOT_TGedFrame #ifndef ROOT_TGedFrame
#include "TGedFrame.h" #include "TGedFrame.h"
#endif #endif
#ifndef ROOT_TGLUtil #ifndef ROOT_TGLUtil
 End of changes. 1 change blocks. 
0 lines changed or deleted 11 lines changed or added


 TGListBox.h   TGListBox.h 
// @(#)root/gui:$Id: TGListBox.h 23115 2008-04-10 13:35:37Z rdm $ // @(#)root/gui:$Id: TGListBox.h 33569 2010-05-18 17:56:20Z bellenot $
// Author: Fons Rademakers 12/01/98 // Author: Fons Rademakers 12/01/98
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 258 skipping to change at line 258
Pixel_t back = GetDefaultFrameBackground()); Pixel_t back = GetDefaultFrameBackground());
virtual ~TGLBContainer(); virtual ~TGLBContainer();
virtual void AddEntry(TGLBEntry *lbe, TGLayoutHints *lhints); virtual void AddEntry(TGLBEntry *lbe, TGLayoutHints *lhints);
virtual void AddEntrySort(TGLBEntry *lbe, TGLayoutHints *lhints); virtual void AddEntrySort(TGLBEntry *lbe, TGLayoutHints *lhints);
virtual void InsertEntry(TGLBEntry *lbe, TGLayoutHints *lhints, Int_t af terID); virtual void InsertEntry(TGLBEntry *lbe, TGLayoutHints *lhints, Int_t af terID);
virtual void RemoveEntry(Int_t id); virtual void RemoveEntry(Int_t id);
virtual void RemoveEntries(Int_t from_ID, Int_t to_ID); virtual void RemoveEntries(Int_t from_ID, Int_t to_ID);
virtual void RemoveAll(); virtual void RemoveAll();
virtual void ActivateItem(TGFrameElement *el);
virtual void Associate(const TGWindow *w) { fMsgWindow = w; } virtual void Associate(const TGWindow *w) { fMsgWindow = w; }
virtual void SetListBox(TGListBox *lb) { fListBox = lb; } virtual void SetListBox(TGListBox *lb) { fListBox = lb; }
TGListBox *GetListBox() const { return fListBox; } TGListBox *GetListBox() const { return fListBox; }
virtual Bool_t HandleButton(Event_t *event); virtual Bool_t HandleButton(Event_t *event);
virtual Bool_t HandleMotion(Event_t *event); virtual Bool_t HandleMotion(Event_t *event);
virtual Int_t GetSelected() const; virtual Int_t GetSelected() const;
virtual Bool_t GetSelection(Int_t id); virtual Bool_t GetSelection(Int_t id);
virtual Int_t GetPos(Int_t id); virtual Int_t GetPos(Int_t id);
TGLBEntry *GetSelectedEntry() const { return fLastActive; } TGLBEntry *GetSelectedEntry() const { return fLastActive; }
virtual void GetSelectedEntries(TList *selected); virtual void GetSelectedEntries(TList *selected);
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


 TGSlider.h   TGSlider.h 
// @(#)root/gui:$Id: TGSlider.h 27642 2009-02-27 16:11:02Z bellenot $ // @(#)root/gui:$Id: TGSlider.h 33776 2010-06-08 12:16:54Z bellenot $
// Author: Fons Rademakers 14/01/98 // Author: Fons Rademakers 14/01/98
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 77 skipping to change at line 77
protected: protected:
Int_t fPos; // logical position between fVmin and f Vmax Int_t fPos; // logical position between fVmin and f Vmax
Int_t fRelPos; // slider position in pixel coordinates Int_t fRelPos; // slider position in pixel coordinates
Int_t fVmin; // logical lower limit of slider Int_t fVmin; // logical lower limit of slider
Int_t fVmax; // logical upper limit of slider Int_t fVmax; // logical upper limit of slider
Int_t fType; // slider type bits Int_t fType; // slider type bits
Int_t fScale; // tick mark scale Int_t fScale; // tick mark scale
Bool_t fDragging; // true if in dragging mode Bool_t fDragging; // true if in dragging mode
const TGPicture *fSliderPic; // picture to draw slider const TGPicture *fSliderPic; // picture to draw slider
const TGPicture *fDisabledPic; // picture to draw disabled slider
TString GetTypeString() const; // used in SavePrimitive TString GetTypeString() const; // used in SavePrimitive
virtual void CreateDisabledPicture();
private: private:
TGSlider(const TGSlider&); // not implemented TGSlider(const TGSlider&); // not implemented
TGSlider& operator=(const TGSlider&); // not implemented TGSlider& operator=(const TGSlider&); // not implemented
public: public:
TGSlider(const TGWindow *p = 0, UInt_t w = 1, UInt_t h = 1, TGSlider(const TGWindow *p = 0, UInt_t w = 1, UInt_t h = 1,
UInt_t type = kSlider1 | kScaleBoth, Int_t id = -1, UInt_t type = kSlider1 | kScaleBoth, Int_t id = -1,
UInt_t options = kChildFrame, UInt_t options = kChildFrame,
Pixel_t back = GetDefaultFrameBackground()); Pixel_t back = GetDefaultFrameBackground());
virtual ~TGSlider() { } virtual ~TGSlider() { }
virtual Bool_t HandleButton(Event_t *event) = 0; virtual Bool_t HandleButton(Event_t *event) = 0;
virtual Bool_t HandleConfigureNotify(Event_t* event) = 0; virtual Bool_t HandleConfigureNotify(Event_t* event) = 0;
virtual Bool_t HandleMotion(Event_t *event) = 0; virtual Bool_t HandleMotion(Event_t *event) = 0;
virtual void SetEnabled(Bool_t flag = kTRUE) { SetState( flag ); }
//*TOGGLE* *GETTER=IsEnabled
virtual void SetState(Bool_t state);
virtual void SetScale(Int_t scale) { fScale = scale; } //*MENU* virtual void SetScale(Int_t scale) { fScale = scale; } //*MENU*
virtual void SetRange(Int_t min, Int_t max) { fVmin = min; fVmax = max; } //*MENU* virtual void SetRange(Int_t min, Int_t max) { fVmin = min; fVmax = max; } //*MENU*
virtual void SetPosition(Int_t pos) { fPos = pos; fClient->NeedRedraw(t his); } //*MENU* virtual void SetPosition(Int_t pos) { fPos = pos; fClient->NeedRedraw(t his); } //*MENU*
virtual Int_t GetPosition() const { return fPos; } virtual Int_t GetPosition() const { return fPos; }
virtual Int_t GetMinPosition() const { return fVmin; } virtual Int_t GetMinPosition() const { return fVmin; }
virtual Int_t GetMaxPosition() const { return fVmax; } virtual Int_t GetMaxPosition() const { return fVmax; }
virtual Int_t GetScale() const { return fScale; } virtual Int_t GetScale() const { return fScale; }
virtual void MapSubwindows() { TGWindow::MapSubwindows(); } virtual void MapSubwindows() { TGWindow::MapSubwindows(); }
virtual void ChangeSliderPic(const char *name) { virtual void ChangeSliderPic(const char *name) {
if (fSliderPic) fClient->FreePicture(fSliderPic); if (fSliderPic) fClient->FreePicture(fSliderPic);
 End of changes. 4 change blocks. 
1 lines changed or deleted 6 lines changed or added


 TGTable.h   TGTable.h 
skipping to change at line 84 skipping to change at line 84
// Labels and textentries for range information and input // Labels and textentries for range information and input
TGLabel *fFirstCellLabel; // Label for the range frame TGLabel *fFirstCellLabel; // Label for the range frame
TGLabel *fRangeLabel; // Label for the range frame TGLabel *fRangeLabel; // Label for the range frame
TGTextEntry *fFirstCellEntry; // TextEntry for the range frame TGTextEntry *fFirstCellEntry; // TextEntry for the range frame
TGTextEntry *fRangeEntry; // TextEntry for the range frame TGTextEntry *fRangeEntry; // TextEntry for the range frame
Pixel_t fOddRowBackground; // Background color for odd numbered rows Pixel_t fOddRowBackground; // Background color for odd numbered rows
Pixel_t fEvenRowBackground; // Background color for even numbered row s Pixel_t fEvenRowBackground; // Background color for even numbered row s
Pixel_t fHeaderBackground; // Background color for headers Pixel_t fHeaderBackground; // Background color for headers
static const TGGC *fgDefaultSelectGC; // Default select GC // Those are neither used nor even initialized:
static const TGGC *fgDefaultBckgndGC; // Default cell background GC // static const TGGC *fgDefaultSelectGC; // Default select GC
static const Int_t fgDefaultTMode; // Default text justify mode // static const TGGC *fgDefaultBckgndGC; // Default cell background GC
// static const Int_t fgDefaultTMode; // Default text justify mode
// Data members to keep track of LayoutHints that can't be // Data members to keep track of LayoutHints that can't be
// automatically cleaned // automatically cleaned
TList *fCellHintsList; TList *fCellHintsList;
TList *fRHdrHintsList; TList *fRHdrHintsList;
TList *fCHdrHintsList; TList *fCHdrHintsList;
TList *fMainHintsList; // List for all hints used in the main table fr ame TList *fMainHintsList; // List for all hints used in the main table fr ame
// Add rows and/or colums to the edge of the table. // Add rows and/or colums to the edge of the table.
 End of changes. 1 change blocks. 
3 lines changed or deleted 4 lines changed or added


 TGedFrame.h   TGedFrame.h 
// @(#)root/ged:$Id: TGedFrame.h 27157 2009-01-15 14:05:12Z brun $ // @(#)root/ged:$Id: TGedFrame.h 33457 2010-05-11 07:11:07Z bellenot $
// Author: Ilka Antcheva 10/05/04 // Author: Ilka Antcheva 10/05/04
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2002, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2002, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 58 skipping to change at line 58
}; };
private: private:
TGedFrame(const TGedFrame&); // Not implemented TGedFrame(const TGedFrame&); // Not implemented
TGedFrame& operator=(const TGedFrame&); // Not implemented TGedFrame& operator=(const TGedFrame&); // Not implemented
protected: protected:
Bool_t fInit; // init flag for setting signals/slots Bool_t fInit; // init flag for setting signals/slots
TGedEditor *fGedEditor; // manager of this frame TGedEditor *fGedEditor; // manager of this frame
TClass *fModelClass; // class corresponding to instantiated Ged Frame TClass *fModelClass; // class corresponding to instantiated Ged Frame
TGLayoutHints *fLayoutHints; // defines how this frame is added to fGed Editor
Bool_t fAvoidSignal; // flag for executing slots Bool_t fAvoidSignal; // flag for executing slots
TList *fExtraTabs; // addtional tabs in ged editor TList *fExtraTabs; // addtional tabs in ged editor
Int_t fPriority; // location in GedEditor Int_t fPriority; // location in GedEditor
virtual void MakeTitle(const char *title); virtual void MakeTitle(const char *title);
public: public:
TGedFrame(const TGWindow *p = 0, TGedFrame(const TGWindow *p = 0,
Int_t width = 140, Int_t height = 30, Int_t width = 140, Int_t height = 30,
UInt_t options = kChildFrame, UInt_t options = kChildFrame,
Pixel_t back = GetDefaultFrameBackground()); Pixel_t back = GetDefaultFrameBackground());
virtual ~TGedFrame(); virtual ~TGedFrame();
virtual void Update(); virtual void Update();
virtual Option_t *GetDrawOption() const; virtual Option_t *GetDrawOption() const;
virtual TGLayoutHints* GetLayoutHints();
TClass* GetModelClass() { return fModelClass; } TClass* GetModelClass() { return fModelClass; }
Int_t GetPriority() { return fPriority; } Int_t GetPriority() { return fPriority; }
TList* GetExtraTabs() { return fExtraTabs; } TList* GetExtraTabs() { return fExtraTabs; }
TGedEditor* GetGedEditor() { return fGedEditor; } TGedEditor* GetGedEditor() { return fGedEditor; }
virtual void AddExtraTab(TGedSubFrame* sf); virtual void AddExtraTab(TGedSubFrame* sf);
virtual TGVerticalFrame* CreateEditorTabSubFrame(const char* name); virtual TGVerticalFrame* CreateEditorTabSubFrame(const char* name);
virtual void Refresh(TObject *model); virtual void Refresh(TObject *model);
virtual void SetDrawOption(Option_t *option=""); virtual void SetDrawOption(Option_t *option="");
virtual Bool_t AcceptModel(TObject*) { return kTRUE; } virtual Bool_t AcceptModel(TObject*) { return kTRUE; }
 End of changes. 3 change blocks. 
4 lines changed or deleted 1 lines changed or added


 TGeoArb8.h   TGeoArb8.h 
// @(#)root/geom:$Id: TGeoArb8.h 27731 2009-03-09 17:40:56Z brun $ // @(#)root/geom:$Id: TGeoArb8.h 34058 2010-06-22 12:59:51Z agheata $
// Author: Andrei Gheata 24/10/01 // Author: Andrei Gheata 24/10/01
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 83 skipping to change at line 83
Double_t DistToPlane(Double_t *point, Double_t *dir, Int_t ipl, Bool_t in) const; Double_t DistToPlane(Double_t *point, Double_t *dir, Int_t ipl, Bool_t in) const;
virtual Double_t DistFromInside(Double_t *point, Double_t *dir, Int _t iact=1, virtual Double_t DistFromInside(Double_t *point, Double_t *dir, Int _t iact=1,
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; Double_t step=TGeoShape::Big(), Double_t *safe=0) const;
virtual Double_t DistFromOutside(Double_t *point, Double_t *dir, In t_t iact=1, virtual Double_t DistFromOutside(Double_t *point, Double_t *dir, In t_t iact=1,
Double_t step=TGeoShape::Big(), Double_t *safe=0) const; Double_t step=TGeoShape::Big(), Double_t *safe=0) const;
virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv, virtual TGeoVolume *Divide(TGeoVolume *voldiv, const char *divname, In t_t iaxis, Int_t ndiv,
Double_t start, Double_t step); Double_t start, Double_t step);
virtual Double_t GetAxisRange(Int_t iaxis, Double_t &xlo, Double_t &xhi) const; virtual Double_t GetAxisRange(Int_t iaxis, Double_t &xlo, Double_t &xhi) const;
virtual void GetBoundingCylinder(Double_t *param) const; virtual void GetBoundingCylinder(Double_t *param) const;
virtual Int_t GetByteCount() const {return 100;} virtual Int_t GetByteCount() const {return 100;}
Double_t GetClosestEdge(Double_t *point, Double_t *vert, In t_t &isegment) const;
virtual Bool_t GetPointsOnFacet(Int_t /*index*/, Int_t /*npoints* /, Double_t * /*array*/) const; virtual Bool_t GetPointsOnFacet(Int_t /*index*/, Int_t /*npoints* /, Double_t * /*array*/) const;
Double_t GetDz() const {return fDz;} Double_t GetDz() const {return fDz;}
virtual Int_t GetFittingBox(const TGeoBBox *parambox, TGeoMatrix *mat, Double_t &dx, Double_t &dy, Double_t &dz) const; virtual Int_t GetFittingBox(const TGeoBBox *parambox, TGeoMatrix *mat, Double_t &dx, Double_t &dy, Double_t &dz) const;
virtual TGeoShape *GetMakeRuntimeShape(TGeoShape * /*mother*/, TGeoMa trix * /*mat*/) const {return 0;} virtual TGeoShape *GetMakeRuntimeShape(TGeoShape * /*mother*/, TGeoMa trix * /*mat*/) const {return 0;}
static void GetPlaneNormal(Double_t *p1, Double_t *p2, Double_ t *p3, Double_t *norm); static void GetPlaneNormal(Double_t *p1, Double_t *p2, Double_ t *p3, Double_t *norm);
Double_t *GetVertices() {return &fXY[0][0];} Double_t *GetVertices() {return &fXY[0][0];}
Double_t GetTwist(Int_t iseg) const; Double_t GetTwist(Int_t iseg) const;
virtual Bool_t IsCylType() const {return kFALSE;} virtual Bool_t IsCylType() const {return kFALSE;}
static Bool_t IsSamePoint(Double_t *p1, Double_t *p2) {return (T Math::Abs(p1[0]-p2[0])<1.E-16 && TMath::Abs(p1[1]-p2[1])<1.E-16)?kTRUE:kFAL SE;} static Bool_t IsSamePoint(Double_t *p1, Double_t *p2) {return (T Math::Abs(p1[0]-p2[0])<1.E-16 && TMath::Abs(p1[1]-p2[1])<1.E-16)?kTRUE:kFAL SE;}
static Bool_t InsidePolygon(Double_t x, Double_t y, Double_t *pt s); static Bool_t InsidePolygon(Double_t x, Double_t y, Double_t *pt s);
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


 TGeoElement.h   TGeoElement.h 
// @(#)root/geom:$Id: TGeoElement.h 32677 2010-03-18 15:27:12Z brun $ // @(#)root/geom:$Id: TGeoElement.h 33465 2010-05-11 09:58:19Z agheata $
// Author: Andrei Gheata 17/06/04 // Author: Andrei Gheata 17/06/04
// Added support for radionuclides: Mihaela Gheata 24/08/2006 // Added support for radionuclides: Mihaela Gheata 24/08/2006
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 78 skipping to change at line 78
TGeoElement(); TGeoElement();
TGeoElement(const char *name, const char *title, Int_t z, Double_t a); TGeoElement(const char *name, const char *title, Int_t z, Double_t a);
TGeoElement(const char *name, const char *title, Int_t nisotopes); TGeoElement(const char *name, const char *title, Int_t nisotopes);
TGeoElement(const char *name, const char *title, Int_t z, Int_t n, Doubl e_t a); TGeoElement(const char *name, const char *title, Int_t z, Int_t n, Doubl e_t a);
// destructor // destructor
virtual ~TGeoElement() {;} virtual ~TGeoElement() {;}
// methods // methods
virtual Int_t ENDFCode() const { return 0;} virtual Int_t ENDFCode() const { return 0;}
Int_t Z() const {return fZ;} Int_t Z() const {return fZ;}
Int_t N() const {return fN;} Int_t N() const {return fN;}
Double_t Neff() const;
Double_t A() const {return fA;} Double_t A() const {return fA;}
void AddIsotope(TGeoIsotope *isotope, Double_t relat iveAbundance); void AddIsotope(TGeoIsotope *isotope, Double_t relat iveAbundance);
Int_t GetNisotopes() const {return fNisotopes;} Int_t GetNisotopes() const {return fNisotopes;}
TGeoIsotope *GetIsotope(Int_t i) const; TGeoIsotope *GetIsotope(Int_t i) const;
Double_t GetRelativeAbundance(Int_t i) const; Double_t GetRelativeAbundance(Int_t i) const;
Bool_t HasIsotopes() const {return (fNisotopes==0)?kFA LSE:kTRUE;} Bool_t HasIsotopes() const {return (fNisotopes==0)?kFA LSE:kTRUE;}
Bool_t IsDefined() const {return TObject::TestBit(kEle mDefined);} Bool_t IsDefined() const {return TObject::TestBit(kEle mDefined);}
virtual Bool_t IsRadioNuclide() const {return kFALSE;} virtual Bool_t IsRadioNuclide() const {return kFALSE;}
Bool_t IsUsed() const {return TObject::TestBit(kElemUs ed);} Bool_t IsUsed() const {return TObject::TestBit(kElemUs ed);}
virtual void Print(Option_t *option = "") const; virtual void Print(Option_t *option = "") const;
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


 TGeoVolume.h   TGeoVolume.h 
// @(#)root/geom:$Id: TGeoVolume.h 27731 2009-03-09 17:40:56Z brun $ // @(#)root/geom:$Id: TGeoVolume.h 33670 2010-05-31 14:45:23Z agheata $
// Author: Andrei Gheata 30/05/02 // Author: Andrei Gheata 30/05/02
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
// Author : date : Wed 24 Oct 2001 01:39:36 PM CEST // Author : date : Wed 24 Oct 2001 01:39:36 PM CEST
skipping to change at line 132 skipping to change at line 132
virtual TGeoVolume *Divide(const char *divname, Int_t iaxis, Int_t ndiv, Double_t start, Double_t step, Int_t numed=0, Option_t *option=""); virtual TGeoVolume *Divide(const char *divname, Int_t iaxis, Int_t ndiv, Double_t start, Double_t step, Int_t numed=0, Option_t *option="");
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); virtual Int_t DistancetoPrimitive(Int_t px, Int_t py);
virtual void Draw(Option_t *option=""); // *MENU* virtual void Draw(Option_t *option=""); // *MENU*
virtual void DrawOnly(Option_t *option=""); // *MENU* virtual void DrawOnly(Option_t *option=""); // *MENU*
TH2F *LegoPlot(Int_t ntheta=20, Double_t themin=0., Double_t t hemax=180., TH2F *LegoPlot(Int_t ntheta=20, Double_t themin=0., Double_t t hemax=180.,
Int_t nphi=60, Double_t phimin=0., Double_t phi max=360., Int_t nphi=60, Double_t phimin=0., Double_t phi max=360.,
Double_t rmin=0., Double_t rmax=9999999, Option _t *option=""); // *MENU* Double_t rmin=0., Double_t rmax=9999999, Option _t *option=""); // *MENU*
virtual void Paint(Option_t *option=""); virtual void Paint(Option_t *option="");
void PrintNodes() const; void PrintNodes() const;
void PrintVoxels() const; // *MENU* void PrintVoxels() const; // *MENU*
void ReplayCreation(const TGeoVolume *other);
virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py); virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py);
Bool_t IsActive() const {return TGeoAtt::IsActive();} Bool_t IsActive() const {return TGeoAtt::IsActive();}
Bool_t IsActiveDaughters() const {return TGeoAtt::IsActiveDaugh ters();} Bool_t IsActiveDaughters() const {return TGeoAtt::IsActiveDaugh ters();}
Bool_t IsAdded() const {return TObject::TestBit(kVolumeAdde d);} Bool_t IsAdded() const {return TObject::TestBit(kVolumeAdde d);}
Bool_t IsReplicated() const {return TObject::TestBit(kVolumeRep licated);} Bool_t IsReplicated() const {return TObject::TestBit(kVolumeRep licated);}
Bool_t IsSelected() const {return TObject::TestBit(kVolumeSele cted);} Bool_t IsSelected() const {return TObject::TestBit(kVolumeSele cted);}
Bool_t IsCylVoxels() const {return TObject::TestBit(kVoxelsCyl) ;} Bool_t IsCylVoxels() const {return TObject::TestBit(kVoxelsCyl) ;}
Bool_t IsXYZVoxels() const {return TObject::TestBit(kVoxelsXYZ) ;} Bool_t IsXYZVoxels() const {return TObject::TestBit(kVoxelsXYZ) ;}
Bool_t IsTopVolume() const; Bool_t IsTopVolume() const;
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


 TGraphDelaunay.h   TGraphDelaunay.h 
skipping to change at line 54 skipping to change at line 54
Double_t *fY; //!Pointer to fGraph2D->fY Double_t *fY; //!Pointer to fGraph2D->fY
Double_t *fZ; //!Pointer to fGraph2D->fZ Double_t *fZ; //!Pointer to fGraph2D->fZ
Double_t *fXN; //!fGraph2D vectors normalized of size fNpoint s Double_t *fXN; //!fGraph2D vectors normalized of size fNpoint s
Double_t *fYN; //!fGraph2D vectors normalized of size fNpoint s Double_t *fYN; //!fGraph2D vectors normalized of size fNpoint s
Double_t fXNmin; //!Minimum value of fXN Double_t fXNmin; //!Minimum value of fXN
Double_t fXNmax; //!Maximum value of fXN Double_t fXNmax; //!Maximum value of fXN
Double_t fYNmin; //!Minimum value of fYN Double_t fYNmin; //!Minimum value of fYN
Double_t fYNmax; //!Maximum value of fYN Double_t fYNmax; //!Maximum value of fYN
Double_t fXoffset; //! Double_t fXoffset; //!
Double_t fYoffset; //!Parameters used to normalize user data Double_t fYoffset; //!Parameters used to normalize user data
Double_t fScaleFactor; //! Double_t fXScaleFactor; //!
Double_t fYScaleFactor; //!
Double_t fZout; //!Histogram bin height for points lying outsi de the convex hull Double_t fZout; //!Histogram bin height for points lying outsi de the convex hull
Double_t *fDist; //!Array used to order mass points by distance Double_t *fDist; //!Array used to order mass points by distance
Int_t fMaxIter; //!Maximum number of iterations to find Delaun ay triangles Int_t fMaxIter; //!Maximum number of iterations to find Delaun ay triangles
Int_t fTriedSize; //!Real size of the fxTried arrays Int_t fTriedSize; //!Real size of the fxTried arrays
Int_t *fPTried; //! Int_t *fPTried; //!
Int_t *fNTried; //!Delaunay triangles storage of size fNdt Int_t *fNTried; //!Delaunay triangles storage of size fNdt
Int_t *fMTried; //! Int_t *fMTried; //!
Int_t *fHullPoints; //!Hull points of size fNhull Int_t *fHullPoints; //!Hull points of size fNhull
Int_t *fOrder; //!Array used to order mass points by distance Int_t *fOrder; //!Array used to order mass points by distance
Bool_t fAllTri; //!True if FindAllTriangles() has been perform ed on fGraph2D Bool_t fAllTri; //!True if FindAllTriangles() has been perform ed on fGraph2D
 End of changes. 1 change blocks. 
1 lines changed or deleted 2 lines changed or added


 TH3GL.h   TH3GL.h 
// @(#)root/eve:$Id: TH3GL.h 29526 2009-07-20 17:41:53Z matevz $ // @(#)root/gl:$Id: TH3GL.h 33579 2010-05-19 12:43:08Z rdm $
// Author: Matevz Tadel 2007 // Author: Matevz Tadel 2007
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 TKDEAdapter.h   TKDEAdapter.h 
// @(#)root/gl:$Id: TKDEAdapter.h 33600 2010-05-21 09:24:32Z rdm $
// Author: Timur Pocheptsov 28/07/2009
/*************************************************************************
* Copyright (C) 1995-2009, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
#ifndef ROOT_TTKDEAdapter #ifndef ROOT_TTKDEAdapter
#define ROOT_TTKDEAdapter #define ROOT_TTKDEAdapter
#include <vector> #include <vector>
#ifndef ROOT_TGLIsoMesh #ifndef ROOT_TGLIsoMesh
#include "TGLIsoMesh.h" #include "TGLIsoMesh.h"
#endif #endif
#ifndef ROOT_TKDEFGT #ifndef ROOT_TKDEFGT
#include "TKDEFGT.h" #include "TKDEFGT.h"
 End of changes. 1 change blocks. 
0 lines changed or deleted 11 lines changed or added


 TLatex.h   TLatex.h 
// @(#)root/graf:$Id: TLatex.h 20882 2007-11-19 11:31:26Z rdm $ // @(#)root/graf:$Id: TLatex.h 33468 2010-05-11 14:09:36Z couet $
// Author: Nicolas Brun 07/08/98 // Author: Nicolas Brun 07/08/98
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
#ifndef ROOT_TLatex #ifndef ROOT_TLatex
skipping to change at line 85 skipping to change at line 85
protected: protected:
Double_t fFactorSize; //!Relative size of subscripts and su perscripts Double_t fFactorSize; //!Relative size of subscripts and su perscripts
Double_t fFactorPos; //!Relative position of subscripts an d superscripts Double_t fFactorPos; //!Relative position of subscripts an d superscripts
Int_t fLimitFactorSize; // lower bound for subscripts/supersc ripts size Int_t fLimitFactorSize; // lower bound for subscripts/supersc ripts size
const Char_t *fError; //!error code const Char_t *fError; //!error code
Bool_t fShow; //!is true during the second pass (Pa inting) Bool_t fShow; //!is true during the second pass (Pa inting)
FormSize_t *fTabSize; //!array of values for the different zones FormSize_t *fTabSize; //!array of values for the different zones
Double_t fOriginSize; // Font size of the starting font Double_t fOriginSize; // Font size of the starting font
Int_t fTabMax; //!Maximum allocation for array fTabS ize; Int_t fTabMax; //!Maximum allocation for array fTabS ize;
Int_t fPos; //!Current position in array fTabSize ; Int_t fPos; //!Current position in array fTabSize ;
Bool_t fItalic; //!Currently inside #it operator
TLatex& operator=(const TLatex&); TLatex& operator=(const TLatex&);
//Text analysis and painting //Text analysis and painting
TLatexFormSize Analyse(Double_t x, Double_t y, TextSpec_t spec, const Char_t* t,Int_t length); TLatexFormSize Analyse(Double_t x, Double_t y, TextSpec_t spec, const Char_t* t,Int_t length);
TLatexFormSize Anal1(TextSpec_t spec, const Char_t* t,Int_t length); TLatexFormSize Anal1(TextSpec_t spec, const Char_t* t,Int_t length);
void DrawLine(Double_t x1, Double_t y1, Double_t x2, Double_t y2, Tex tSpec_t spec); void DrawLine(Double_t x1, Double_t y1, Double_t x2, Double_t y2, Tex tSpec_t spec);
void DrawCircle(Double_t x1, Double_t y1, Double_t r, TextSpec_t spec ); void DrawCircle(Double_t x1, Double_t y1, Double_t r, TextSpec_t spec );
void DrawParenthesis(Double_t x1, Double_t y1, Double_t r1, Double_t r2, Double_t phimin, Double_t phimax, TextSpec_t spec); void DrawParenthesis(Double_t x1, Double_t y1, Double_t r1, Double_t r2, Double_t phimin, Double_t phimax, TextSpec_t spec);
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


 TMD5.h   TMD5.h 
// @(#)root/base:$Id: TMD5.h 27658 2009-02-28 05:34:57Z pcanal $ // @(#)root/base:$Id: TMD5.h 33386 2010-05-05 13:41:15Z rdm $
// Author: Fons Rademakers 29/9/2001 // Author: Fons Rademakers 29/9/2001
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2001, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2001, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 74 skipping to change at line 74
virtual ~TMD5() { } virtual ~TMD5() { }
TMD5 &operator=(const TMD5 &rhs); TMD5 &operator=(const TMD5 &rhs);
void Update(const UChar_t *buf, UInt_t len); void Update(const UChar_t *buf, UInt_t len);
void Final(); void Final();
void Final(UChar_t digest[16]); void Final(UChar_t digest[16]);
void Print() const; void Print() const;
const char *AsString() const; const char *AsString() const;
Int_t SetDigest(const char *md5ascii);
static TMD5 *ReadChecksum(const char *file); static TMD5 *ReadChecksum(const char *file);
static Int_t WriteChecksum(const char *file, const TMD5 *md5); static Int_t WriteChecksum(const char *file, const TMD5 *md5);
static TMD5 *FileChecksum(const char *file); static TMD5 *FileChecksum(const char *file);
static Int_t FileChecksum(const char *file, UChar_t digest[16]); static Int_t FileChecksum(const char *file, UChar_t digest[16]);
ClassDef(TMD5,1) // MD5 cryptographic hash functions with a 128 bit out put ClassDef(TMD5,1) // MD5 cryptographic hash functions with a 128 bit out put
}; };
inline TBuffer &operator>>(TBuffer &buf, TMD5 &md5) inline TBuffer &operator>>(TBuffer &buf, TMD5 &md5)
 End of changes. 2 change blocks. 
1 lines changed or deleted 3 lines changed or added


 TObject.h   TObject.h 
// @(#)root/base:$Id: TObject.h 20877 2007-11-19 11:17:07Z rdm $ // @(#)root/base:$Id: TObject.h 34159 2010-06-28 10:15:36Z rdm $
// Author: Rene Brun 26/12/94 // Author: Rene Brun 26/12/94
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 TPacketizer.h   TPacketizer.h 
skipping to change at line 83 skipping to change at line 83
void RemoveUnAllocNode(TFileNode *); void RemoveUnAllocNode(TFileNode *);
TFileNode *NextActiveNode(); TFileNode *NextActiveNode();
void RemoveActiveNode(TFileNode *); void RemoveActiveNode(TFileNode *);
TFileStat *GetNextUnAlloc(TFileNode *node = 0); TFileStat *GetNextUnAlloc(TFileNode *node = 0);
TFileStat *GetNextActive(); TFileStat *GetNextActive();
void RemoveActive(TFileStat *file); void RemoveActive(TFileStat *file);
void Reset(); void Reset();
void ValidateFiles(TDSet *dset, TList *slaves); void ValidateFiles(TDSet *dset, TList *slaves, Long64_t maxent = -1, Bool_t byfile = kFALSE);
public: public:
TPacketizer(TDSet *dset, TList *slaves, Long64_t first, Long64_t num, TPacketizer(TDSet *dset, TList *slaves, Long64_t first, Long64_t num,
TList *input, TProofProgressStatus *st); TList *input, TProofProgressStatus *st);
virtual ~TPacketizer(); virtual ~TPacketizer();
TDSetElement *GetNextPacket(TSlave *sl, TMessage *r); TDSetElement *GetNextPacket(TSlave *sl, TMessage *r);
Long64_t GetEntriesProcessed(TSlave *sl) const; Long64_t GetEntriesProcessed(TSlave *sl) const;
Float_t GetCurrentRate(Bool_t &all); Float_t GetCurrentRate(Bool_t &all);
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 TPacketizerAdaptive.h   TPacketizerAdaptive.h 
// @(#)root/proofplayer:$Id: TPacketizerAdaptive.h 32204 2010-02-03 19:17:4 0Z ganis $ // @(#)root/proofplayer:$Id: TPacketizerAdaptive.h 33781 2010-06-08 14:13:3 9Z ganis $
// Author: Jan Iwaszkiewicz 11/12/06 // Author: Jan Iwaszkiewicz 11/12/06
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2006, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2006, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 86 skipping to change at line 86
void RemoveUnAllocNode(TFileNode *); void RemoveUnAllocNode(TFileNode *);
TFileNode *NextActiveNode(); TFileNode *NextActiveNode();
void RemoveActiveNode(TFileNode *); void RemoveActiveNode(TFileNode *);
TFileStat *GetNextUnAlloc(TFileNode *node = 0); TFileStat *GetNextUnAlloc(TFileNode *node = 0);
TFileStat *GetNextActive(); TFileStat *GetNextActive();
void RemoveActive(TFileStat *file); void RemoveActive(TFileStat *file);
void Reset(); void Reset();
void ValidateFiles(TDSet *dset, TList *slaves); void ValidateFiles(TDSet *dset, TList *slaves, Long64_t maxent = -1, Bool_t byfile = kFALSE);
Int_t ReassignPacket(TDSetElement *e, TList **listOfMissingFile s); Int_t ReassignPacket(TDSetElement *e, TList **listOfMissingFile s);
void SplitPerHost(TList *elements, TList **listOfMissingFiles) ; void SplitPerHost(TList *elements, TList **listOfMissingFiles) ;
public: public:
static Long_t fgMaxSlaveCnt; // maximum number of workers per filenod e (Long_t to avoid static Long_t fgMaxSlaveCnt; // maximum number of workers per filenod e (Long_t to avoid
// warnings from backward compatibility support) // warnings from backward compatibility support)
static Int_t fgPacketAsAFraction; // used to calculate the packet siz e static Int_t fgPacketAsAFraction; // used to calculate the packet siz e
// fPacketSize = fTotalEntries / (fPacket AsAFraction * nslaves) // fPacketSize = fTotalEntries / (fPacket AsAFraction * nslaves)
// fPacketAsAFraction can be interpreted as follows: // fPacketAsAFraction can be interpreted as follows:
// assuming all slaves have equal process ing rate, packet size // assuming all slaves have equal process ing rate, packet size
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 TPacketizerUnit.h   TPacketizerUnit.h 
// @(#)root/proofplayer:$Id: TPacketizerUnit.h 31840 2009-12-11 10:01:17Z g anis $ // @(#)root/proofplayer:$Id: TPacketizerUnit.h 34086 2010-06-23 11:56:34Z g anis $
// Author: Long Tran-Thanh 22/07/07 // Author: Long Tran-Thanh 22/07/07
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2002, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2002, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 46 skipping to change at line 46
class TTree; class TTree;
class TProofStats; class TProofStats;
class TStopwatch; class TStopwatch;
class TPacketizerUnit : public TVirtualPacketizer { class TPacketizerUnit : public TVirtualPacketizer {
public: // public because of Sun CC bug public: // public because of Sun CC bug
class TSlaveStat; class TSlaveStat;
private: private:
TList *fPackets; // all processed packets TList *fPackets; // All processed packets
TMap *fSlaveStats; // Slave status, keyed by correspondig TSl TMap *fSlaveStats; // Slave status, keyed by correspondig TSl
ave ave
TStopwatch *fStopwatch; // For measuring the start time of each pa cket TStopwatch *fStopwatch; // For measuring the start time of each pa cket
Long64_t fProcessing; // Event being processed Long64_t fProcessing; // Event being processed
Long64_t fAssigned; // no. entries processed or being processe d. Long64_t fAssigned; // Entries processed or being processed.
Double_t fTimeLimit; // Packet time limit Double_t fTimeLimit; // Packet time limit
Long64_t fCalibNum; // Size of the calibrating packet
Long64_t fNumPerWorker; // Number of cycles per worker, if this op
tion
// is chosen
TPacketizerUnit(); TPacketizerUnit();
TPacketizerUnit(const TPacketizerUnit&); // no implementation, will generate TPacketizerUnit(const TPacketizerUnit&); // no implementation, will generate
void operator=(const TPacketizerUnit&); // error on accidental usage void operator=(const TPacketizerUnit&); // error on accidental usage
public: public:
TPacketizerUnit(TList *slaves, Long64_t num, TList *input, TProofProgres sStatus *st = 0); TPacketizerUnit(TList *slaves, Long64_t num, TList *input, TProofProgres sStatus *st = 0);
virtual ~TPacketizerUnit(); virtual ~TPacketizerUnit();
TDSetElement *GetNextPacket(TSlave *sl, TMessage *r); TDSetElement *GetNextPacket(TSlave *sl, TMessage *r);
 End of changes. 4 change blocks. 
5 lines changed or deleted 9 lines changed or added


 TProcessUUID.h   TProcessUUID.h 
// @(#)root/cont:$Id: TProcessUUID.h 26606 2008-12-02 20:36:09Z pcanal $ // @(#)root/cont:$Id: TProcessUUID.h 33608 2010-05-25 11:08:00Z brun $
// Author: Rene Brun 06/07/2002 // Author: Rene Brun 06/07/2002
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 39 skipping to change at line 39
class TUUID; class TUUID;
class TObjString; class TObjString;
class TProcessUUID : public TProcessID { class TProcessUUID : public TProcessID {
private: private:
TProcessUUID(const TProcessID&); // TProcessUUID are not co piable. TProcessUUID(const TProcessID&); // TProcessUUID are not co piable.
TProcessUUID &operator=(const TProcessUUID&); // TProcessUUID are not co piable. TProcessUUID &operator=(const TProcessUUID&); // TProcessUUID are not co piable.
protected: protected:
THashList *fUUIDs; //Global list of TUUIDs TList *fUUIDs; //Global list of TUUIDs
TBits *fActive; //Table of active UUIDs TBits *fActive; //Table of active UUIDs
public: public:
TProcessUUID(); TProcessUUID();
virtual ~TProcessUUID(); virtual ~TProcessUUID();
UInt_t AddUUID(TUUID &uuid, TObject *obj); UInt_t AddUUID(TUUID &uuid, TObject *obj);
UInt_t AddUUID(const char *uuids); UInt_t AddUUID(const char *uuids);
TObjString *FindUUID(UInt_t number) const; TObjString *FindUUID(UInt_t number) const;
TBits *GetActive() const {return fActive;} TBits *GetActive() const {return fActive;}
THashList *GetUUIDs() const {return fUUIDs;} TList *GetUUIDs() const {return fUUIDs;}
void RemoveUUID(UInt_t number); void RemoveUUID(UInt_t number);
ClassDef(TProcessUUID,1) //TProcessID managing UUIDs ClassDef(TProcessUUID,1) //TProcessID managing UUIDs
}; };
#endif #endif
 End of changes. 3 change blocks. 
3 lines changed or deleted 3 lines changed or added


 TProof.h   TProof.h 
// @(#)root/proof:$Id: TProof.h 33209 2010-04-26 10:27:40Z ganis $ // @(#)root/proof:$Id: TProof.h 34101 2010-06-24 12:12:59Z ganis $
// Author: Fons Rademakers 13/02/97 // Author: Fons Rademakers 13/02/97
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 125 skipping to change at line 125
// 19 -> 20: Fix the asynchronous mode (required changes in some messages) // 19 -> 20: Fix the asynchronous mode (required changes in some messages)
// 20 -> 21: Add support for session queuing // 20 -> 21: Add support for session queuing
// 21 -> 22: Add support for switching from sync to async while running ('C trl-Z' functionality) // 21 -> 22: Add support for switching from sync to async while running ('C trl-Z' functionality)
// 22 -> 23: New dataset features (default tree name; classification per fi leserver) // 22 -> 23: New dataset features (default tree name; classification per fi leserver)
// 23 -> 24: Merging optimization // 23 -> 24: Merging optimization
// 24 -> 25: Handling of 'data' dir; group information // 24 -> 25: Handling of 'data' dir; group information
// 25 -> 26: Use new TProofProgressInfo class // 25 -> 26: Use new TProofProgressInfo class
// 26 -> 27: Use new file for updating the session status // 26 -> 27: Use new file for updating the session status
// 27 -> 28: Support for multi-datasets, fix global pack dirs, fix AskStati stics, // 27 -> 28: Support for multi-datasets, fix global pack dirs, fix AskStati stics,
// package download, dataset caching // package download, dataset caching
// 28 -> 29: Support for config parameters in EnablePackage, idle-timeout
// PROOF magic constants // PROOF magic constants
const Int_t kPROOF_Protocol = 28; // protocol versi on number const Int_t kPROOF_Protocol = 29; // protocol versi on number
const Int_t kPROOF_Port = 1093; // IANA registere d PROOF port const Int_t kPROOF_Port = 1093; // IANA registere d PROOF port
const char* const kPROOF_ConfFile = "proof.conf"; // default config file const char* const kPROOF_ConfFile = "proof.conf"; // default config file
const char* const kPROOF_ConfDir = "/usr/local/root"; // default c onfig dir const char* const kPROOF_ConfDir = "/usr/local/root"; // default c onfig dir
const char* const kPROOF_WorkDir = ".proof"; // default workin g directory const char* const kPROOF_WorkDir = ".proof"; // default workin g directory
const char* const kPROOF_CacheDir = "cache"; // file cache dir , under WorkDir const char* const kPROOF_CacheDir = "cache"; // file cache dir , under WorkDir
const char* const kPROOF_PackDir = "packages"; // package dir, u nder WorkDir const char* const kPROOF_PackDir = "packages"; // package dir, u nder WorkDir
const char* const kPROOF_PackDownloadDir = "downloaded"; // subdir with do wnloaded PARs, under PackDir const char* const kPROOF_PackDownloadDir = "downloaded"; // subdir with do wnloaded PARs, under PackDir
const char* const kPROOF_QueryDir = "queries"; // query dir, und er WorkDir const char* const kPROOF_QueryDir = "queries"; // query dir, und er WorkDir
const char* const kPROOF_DataSetDir = "datasets"; // dataset dir, u nder WorkDir const char* const kPROOF_DataSetDir = "datasets"; // dataset dir, u nder WorkDir
const char* const kPROOF_DataDir = "data"; // dir for produc ed data, under WorkDir const char* const kPROOF_DataDir = "data"; // dir for produc ed data, under WorkDir
const char* const kPROOF_CacheLockFile = "proof-cache-lock-"; // cache lock file const char* const kPROOF_CacheLockFile = "proof-cache-lock-"; // cache lock file
const char* const kPROOF_PackageLockFile = "proof-package-lock-"; // packag e lock file const char* const kPROOF_PackageLockFile = "proof-package-lock-"; // packag e lock file
const char* const kPROOF_QueryLockFile = "proof-query-lock-"; // query lock file const char* const kPROOF_QueryLockFile = "proof-query-lock-"; // query lock file
const char* const kPROOF_TerminateWorker = "+++ terminating +++"; // signal worker termination in MarkBad const char* const kPROOF_TerminateWorker = "+++ terminating +++"; // signal worker termination in MarkBad
const char* const kPROOF_WorkerIdleTO = "+++ idle-timeout +++"; // signa l worker idle timeout in MarkBad
const char* const kPROOF_InputDataFile = "inputdata.root"; // Defaul t input data file name const char* const kPROOF_InputDataFile = "inputdata.root"; // Defaul t input data file name
#ifndef R__WIN32 #ifndef R__WIN32
const char* const kCP = "/bin/cp -fp"; const char* const kCP = "/bin/cp -fp";
const char* const kRM = "/bin/rm -rf"; const char* const kRM = "/bin/rm -rf";
const char* const kLS = "/bin/ls -l"; const char* const kLS = "/bin/ls -l";
const char* const kUNTAR = "%s -c %s/%s | (cd %s; tar xf -)"; const char* const kUNTAR = "%s -c %s/%s | (cd %s; tar xf -)";
const char* const kUNTAR2 = "%s -c %s | (cd %s; tar xf -)"; const char* const kUNTAR2 = "%s -c %s | (cd %s; tar xf -)";
const char* const kUNTAR3 = "%s -c %s | (tar xf -)"; const char* const kUNTAR3 = "%s -c %s | (tar xf -)";
const char* const kGUNZIP = "gunzip"; const char* const kGUNZIP = "gunzip";
skipping to change at line 344 skipping to change at line 346
friend class TXProofMgr; // to access EUrgent friend class TXProofMgr; // to access EUrgent
friend class TXProofServ; // to access EUrgent friend class TXProofServ; // to access EUrgent
public: public:
// PROOF status bits // PROOF status bits
enum EStatusBits { enum EStatusBits {
kUsingSessionGui = BIT(14), kUsingSessionGui = BIT(14),
kNewInputData = BIT(15), kNewInputData = BIT(15),
kIsClient = BIT(16), kIsClient = BIT(16),
kIsMaster = BIT(17), kIsMaster = BIT(17),
kIsTopMaster = BIT(18) kIsTopMaster = BIT(18),
kUseProgressDialog = BIT(19)
}; };
enum EQueryMode { enum EQueryMode {
kSync = 0, kSync = 0,
kAsync = 1 kAsync = 1
}; };
enum EUploadOpt { enum EUploadOpt {
kAppend = 0x1, kAppend = 0x1,
kOverwriteDataSet = 0x2, kOverwriteDataSet = 0x2,
kNoOverwriteDataSet = 0x4, kNoOverwriteDataSet = 0x4,
kOverwriteAllFiles = 0x8, kOverwriteAllFiles = 0x8,
skipping to change at line 587 skipping to change at line 590
private: private:
TProof(const TProof &); // not implemented TProof(const TProof &); // not implemented
void operator=(const TProof &); // idem void operator=(const TProof &); // idem
void CleanGDirectory(TList *ol); void CleanGDirectory(TList *ol);
Int_t Exec(const char *cmd, ESlaves list, Bool_t plusMaster); Int_t Exec(const char *cmd, ESlaves list, Bool_t plusMaster);
Int_t SendCommand(const char *cmd, ESlaves list = kActive); Int_t SendCommand(const char *cmd, ESlaves list = kActive);
Int_t SendCurrentState(ESlaves list = kActive); Int_t SendCurrentState(ESlaves list = kActive);
Bool_t CheckFile(const char *file, TSlave *sl, Long_t modtime, Int_t c popt = (kCp | kCpBin)); Bool_t CheckFile(const char *file, TSlave *sl, Long_t modtime, Int_t c popt = (kCp | kCpBin));
Int_t SendFile(const char *file, Int_t opt = (kBinary | kForward | kC
p | kCpBin),
const char *rfile = 0, TSlave *sl = 0);
Int_t SendObject(const TObject *obj, ESlaves list = kActive); Int_t SendObject(const TObject *obj, ESlaves list = kActive);
Int_t SendGroupView(); Int_t SendGroupView();
Int_t SendInitialState(); Int_t SendInitialState();
Int_t SendPrint(Option_t *option=""); Int_t SendPrint(Option_t *option="");
Int_t Ping(ESlaves list); Int_t Ping(ESlaves list);
void Interrupt(EUrgent type, ESlaves list = kActive); void Interrupt(EUrgent type, ESlaves list = kActive);
void AskStatistics(); void AskStatistics();
void AskParallel(); void AskParallel();
Int_t GoParallel(Int_t nodes, Bool_t accept = kFALSE, Bool_t random = kFALSE); Int_t GoParallel(Int_t nodes, Bool_t accept = kFALSE, Bool_t random = kFALSE);
Int_t SetParallelSilent(Int_t nodes, Bool_t random = kFALSE); Int_t SetParallelSilent(Int_t nodes, Bool_t random = kFALSE);
void RecvLogFile(TSocket *s, Int_t size); void RecvLogFile(TSocket *s, Int_t size);
void NotifyLogMsg(const char *msg, const char *sfx = "\n"); void NotifyLogMsg(const char *msg, const char *sfx = "\n");
Int_t BuildPackage(const char *package, EBuildPackageOpt opt = kBuild All); Int_t BuildPackage(const char *package, EBuildPackageOpt opt = kBuild All);
Int_t BuildPackageOnClient(const char *package, Int_t opt = 0, TStrin g *path = 0); Int_t BuildPackageOnClient(const char *package, Int_t opt = 0, TStrin g *path = 0);
Int_t LoadPackage(const char *package, Bool_t notOnClient = kFALSE); Int_t LoadPackage(const char *package, Bool_t notOnClient = kFALSE, T
Int_t LoadPackageOnClient(const char *package); List *loadopts = 0);
Int_t LoadPackageOnClient(const char *package, TList *loadopts = 0);
Int_t UnloadPackage(const char *package); Int_t UnloadPackage(const char *package);
Int_t UnloadPackageOnClient(const char *package); Int_t UnloadPackageOnClient(const char *package);
Int_t UnloadPackages(); Int_t UnloadPackages();
Int_t UploadPackageOnClient(const char *package, EUploadPackageOpt op t, TMD5 *md5); Int_t UploadPackageOnClient(const char *package, EUploadPackageOpt op t, TMD5 *md5);
Int_t DisablePackage(const char *package); Int_t DisablePackage(const char *package);
Int_t DisablePackageOnClient(const char *package); Int_t DisablePackageOnClient(const char *package);
Int_t DisablePackages(); Int_t DisablePackages();
void Activate(TList *slaves = 0); void Activate(TList *slaves = 0);
Int_t Broadcast(const TMessage &mess, TList *slaves); Int_t Broadcast(const TMessage &mess, TList *slaves);
skipping to change at line 723 skipping to change at line 724
Int_t Collect(TList *slaves, Long_t timeout = -1, Int_t endtype = -1) ; Int_t Collect(TList *slaves, Long_t timeout = -1, Int_t endtype = -1) ;
void SetDSet(TDSet *dset) { fDSet = dset; } void SetDSet(TDSet *dset) { fDSet = dset; }
virtual void ValidateDSet(TDSet *dset); virtual void ValidateDSet(TDSet *dset);
TPluginHandler *GetProgressDialog() const { return fProgressDialog; } TPluginHandler *GetProgressDialog() const { return fProgressDialog; }
Int_t AssertPath(const char *path, Bool_t writable); Int_t AssertPath(const char *path, Bool_t writable);
void PrepareInputDataFile(TString &dataFile); void PrepareInputDataFile(TString &dataFile);
virtual void SendInputDataFile(); virtual void SendInputDataFile();
Int_t SendFile(const char *file, Int_t opt = (kBinary | kForward | kCp |
kCpBin),
const char *rfile = 0, TSlave *sl = 0);
static void *SlaveStartupThread(void *arg); static void *SlaveStartupThread(void *arg);
static Int_t AssertDataSet(TDSet *dset, TList *input, static Int_t AssertDataSet(TDSet *dset, TList *input,
TDataSetManager *mgr, TString &emsg); TDataSetManager *mgr, TString &emsg);
// Input data handling // Input data handling
static Int_t GetInputData(TList *input, const char *cachedir, TString &e msg); static Int_t GetInputData(TList *input, const char *cachedir, TString &e msg);
static Int_t SaveInputData(TQueryResult *qr, const char *cachedir, TStri ng &emsg); static Int_t SaveInputData(TQueryResult *qr, const char *cachedir, TStri ng &emsg);
static Int_t SendInputData(TQueryResult *qr, TProof *p, TString &emsg); static Int_t SendInputData(TQueryResult *qr, TProof *p, TString &emsg);
skipping to change at line 794 skipping to change at line 797
void StopProcess(Bool_t abort, Int_t timeout = -1); void StopProcess(Bool_t abort, Int_t timeout = -1);
void Browse(TBrowser *b); void Browse(TBrowser *b);
Int_t SetParallel(Int_t nodes = 9999, Bool_t random = kFALSE); Int_t SetParallel(Int_t nodes = 9999, Bool_t random = kFALSE);
void SetLogLevel(Int_t level, UInt_t mask = TProofDebug::kAll); void SetLogLevel(Int_t level, UInt_t mask = TProofDebug::kAll);
void Close(Option_t *option=""); void Close(Option_t *option="");
virtual void Print(Option_t *option="") const; virtual void Print(Option_t *option="") const;
//-- cache and package management //-- cache and package management
virtual void ShowCache(Bool_t all = kFALSE); virtual void ShowCache(Bool_t all = kFALSE);
virtual void ClearCache(const char *file = 0); virtual void ClearCache(const char *file = 0);
TList *GetListOfPackages(); TList *GetListOfPackages();
TList *GetListOfEnabledPackages(); TList *GetListOfEnabledPackages();
void ShowPackages(Bool_t all = kFALSE, Bool_t redirlog = kFALSE); void ShowPackages(Bool_t all = kFALSE, Bool_t redirlog = kFALSE
void ShowEnabledPackages(Bool_t all = kFALSE); );
Int_t ClearPackages(); void ShowEnabledPackages(Bool_t all = kFALSE);
Int_t ClearPackage(const char *package); Int_t ClearPackages();
Int_t DownloadPackage(const char *par, const char *dstdir = 0); Int_t ClearPackage(const char *package);
Int_t EnablePackage(const char *package, Bool_t notOnClient = kFAL Int_t DownloadPackage(const char *par, const char *dstdir = 0);
SE); Int_t EnablePackage(const char *package, Bool_t notOnClient = kF
Int_t UploadPackage(const char *par, EUploadPackageOpt opt = kUnta ALSE);
r); Int_t EnablePackage(const char *package, const char *loadopts,
Int_t Load(const char *macro, Bool_t notOnClient = kFALSE, Bool_t Bool_t notOnClient = kFALSE);
uniqueOnly = kTRUE, Int_t EnablePackage(const char *package, TList *loadopts,
TList *wrks = 0); Bool_t notOnClient = kFALSE);
Int_t UploadPackage(const char *par, EUploadPackageOpt opt = kUn
tar);
virtual Int_t Load(const char *macro, Bool_t notOnClient = kFALSE, Bool_
t uniqueOnly = kTRUE,
TList *wrks = 0);
Int_t AddDynamicPath(const char *libpath, Bool_t onClient = kFALSE , TList *wrks = 0); Int_t AddDynamicPath(const char *libpath, Bool_t onClient = kFALSE , TList *wrks = 0);
Int_t AddIncludePath(const char *incpath, Bool_t onClient = kFALSE , TList *wrks = 0); Int_t AddIncludePath(const char *incpath, Bool_t onClient = kFALSE , TList *wrks = 0);
Int_t RemoveDynamicPath(const char *libpath, Bool_t onClient = kFA LSE); Int_t RemoveDynamicPath(const char *libpath, Bool_t onClient = kFA LSE);
Int_t RemoveIncludePath(const char *incpath, Bool_t onClient = kFA LSE); Int_t RemoveIncludePath(const char *incpath, Bool_t onClient = kFA LSE);
//-- dataset management //-- dataset management
Int_t UploadDataSet(const char *dataset, Int_t UploadDataSet(const char *dataset,
TList *files, TList *files,
const char *dest = 0, const char *dest = 0,
skipping to change at line 838 skipping to change at line 845
TList *skippedFiles = 0); TList *skippedFiles = 0);
virtual Bool_t RegisterDataSet(const char *name, virtual Bool_t RegisterDataSet(const char *name,
TFileCollection *dataset, const char* optStr = ""); TFileCollection *dataset, const char* optStr = "");
virtual TMap *GetDataSets(const char *uri = "", const char* optStr = "") ; virtual TMap *GetDataSets(const char *uri = "", const char* optStr = "") ;
virtual void ShowDataSets(const char *uri = "", const char* optStr = "" ); virtual void ShowDataSets(const char *uri = "", const char* optStr = "" );
TMap *GetDataSetQuota(const char* optStr = ""); TMap *GetDataSetQuota(const char* optStr = "");
void ShowDataSetQuota(Option_t* opt = 0); void ShowDataSetQuota(Option_t* opt = 0);
virtual Bool_t ExistsDataSet(const char *dataset); virtual Bool_t ExistsDataSet(const char *dataset);
void ShowDataSet(const char *dataset = "", const char* opt = "M") void ShowDataSet(const char *dataset = "", const char* opt = "
; M");
virtual Int_t RemoveDataSet(const char *dataset, const char* optStr = "" virtual Int_t RemoveDataSet(const char *dataset, const char* optStr = "
); ");
virtual Int_t VerifyDataSet(const char *dataset, const char* optStr = "" virtual Int_t VerifyDataSet(const char *dataset, const char* optStr = "
); ");
virtual TFileCollection *GetDataSet(const char *dataset, const char* opt Str = ""); virtual TFileCollection *GetDataSet(const char *dataset, const char* opt Str = "");
TList *FindDataSets(const char *searchString, const char* optStr = ""); TList *FindDataSets(const char *searchString, const char* optStr = "");
virtual Int_t SetDataSetTreeName( const char *dataset, const char *treen ame); virtual Int_t SetDataSetTreeName( const char *dataset, const char *treen ame);
virtual void ShowDataSetCache(const char *dataset = 0); virtual void ShowDataSetCache(const char *dataset = 0);
virtual void ClearDataSetCache(const char *dataset = 0); virtual void ClearDataSetCache(const char *dataset = 0);
void ShowData(); void ShowData();
void ClearData(UInt_t what = kUnregistered, const char *dsname = 0); void ClearData(UInt_t what = kUnregistered, const char *dsname = 0);
const char *GetMaster() const { return fMaster; } const char *GetMaster() const { return fMaster; }
skipping to change at line 990 skipping to change at line 997
void SetManager(TProofMgr *mgr); void SetManager(TProofMgr *mgr);
void ActivateWorker(const char *ord); void ActivateWorker(const char *ord);
void DeactivateWorker(const char *ord); void DeactivateWorker(const char *ord);
const char *GetDataPoolUrl() const { return fDataPoolUrl; } const char *GetDataPoolUrl() const { return fDataPoolUrl; }
void SetDataPoolUrl(const char *url) { fDataPoolUrl = url; } void SetDataPoolUrl(const char *url) { fDataPoolUrl = url; }
void SetPrintProgress(PrintProgress_t pp) { fPrintProgress = pp; } void SetPrintProgress(PrintProgress_t pp) { fPrintProgress = pp; }
void SetProgressDialog(Bool_t on = kTRUE);
// Opening and managing PROOF connections // Opening and managing PROOF connections
static TProof *Open(const char *url = 0, const char *conffile = 0, static TProof *Open(const char *url = 0, const char *conffile = 0,
const char *confdir = 0, Int_t loglevel = 0); const char *confdir = 0, Int_t loglevel = 0);
static void LogViewer(const char *url = 0, Int_t sessionidx = 0 ); static void LogViewer(const char *url = 0, Int_t sessionidx = 0 );
static TProofMgr *Mgr(const char *url); static TProofMgr *Mgr(const char *url);
static void Reset(const char *url, Bool_t hard = kFALSE); static void Reset(const char *url, Bool_t hard = kFALSE);
static void AddEnvVar(const char *name, const char *value); static void AddEnvVar(const char *name, const char *value);
static void DelEnvVar(const char *name); static void DelEnvVar(const char *name);
static const TList *GetEnvVars(); static const TList *GetEnvVars();
 End of changes. 12 change blocks. 
32 lines changed or deleted 43 lines changed or added


 TProofLite.h   TProofLite.h 
// @(#)root/proof:$Id: TProofLite.h 33209 2010-04-26 10:27:40Z ganis $ // @(#)root/proof:$Id: TProofLite.h 33692 2010-06-01 11:15:30Z ganis $
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
#ifndef ROOT_TProofLite #ifndef ROOT_TProofLite
#define ROOT_TProofLite #define ROOT_TProofLite
skipping to change at line 36 skipping to change at line 36
#endif #endif
class TDSet; class TDSet;
class TList; class TList;
class TQueryResultManager; class TQueryResultManager;
class TDataSetManager; class TDataSetManager;
class TProofLockPath; class TProofLockPath;
class TProofMgr; class TProofMgr;
class TProofQueryResult; class TProofQueryResult;
class TServerSocket; class TServerSocket;
class TSelector;
class TProofLite : public TProof { class TProofLite : public TProof {
friend class TProofPlayerLite; friend class TProofPlayerLite;
private: private:
Int_t fNWorkers; // Number of workers Int_t fNWorkers; // Number of workers
TString fSandbox; // PROOF sandbox root dir
TString fCacheDir; // Directory containing cache of user files TString fCacheDir; // Directory containing cache of user files
TString fQueryDir; // Directory containing query results and status TString fQueryDir; // Directory containing query results and status
TString fDataSetDir; // Directory containing info about known data set s TString fDataSetDir; // Directory containing info about known data set s
TString fSockPath; // UNIX socket path for communication with worker s TString fSockPath; // UNIX socket path for communication with worker s
TServerSocket *fServSock; // Server socket to accept call backs TServerSocket *fServSock; // Server socket to accept call backs
Bool_t fForkStartup; // Startup N-1 workers forking the first worker Bool_t fForkStartup; // Startup N-1 workers forking the first worker
TProofLockPath *fCacheLock; //cache dir locker TProofLockPath *fCacheLock; // Cache dir locker
TProofLockPath *fQueryLock; // Query dir locker TProofLockPath *fQueryLock; // Query dir locker
TQueryResultManager *fQMgr; // Query-result manager TQueryResultManager *fQMgr; // Query-result manager
TDataSetManager* fDataSetManager; // dataset manager TDataSetManager *fDataSetManager; // Dataset manager
static Int_t fgWrksMax; // Max number of workers static Int_t fgWrksMax; // Max number of workers
TProofLite(const TProofLite &); // not implemented TProofLite(const TProofLite &); // not implemented
void operator=(const TProofLite &); // idem void operator=(const TProofLite &); // idem
Int_t CleanupSandbox(); Int_t CleanupSandbox();
Int_t CreateSandbox(); Int_t CreateSandbox();
void NotifyStartUp(const char *action, Int_t done, Int_t tot); void NotifyStartUp(const char *action, Int_t done, Int_t tot);
Int_t SetProofServEnv(const char *ord); Int_t SetProofServEnv(const char *ord);
Int_t InitDataSetManager(); Int_t InitDataSetManager();
void ResolveKeywords(TString &s, const char *logfile); void ResolveKeywords(TString &s, const char *logfile);
void SendInputDataFile(); void SendInputDataFile();
protected: protected:
TProofLite() : TProof() { } // For derived classes to use TProofLite() : TProof() { } // For derived classes to use
Int_t CreateSymLinks(TList *files); Int_t CreateSymLinks(TList *files);
Int_t Init(const char *masterurl, const char *conffile, Int_t Init(const char *masterurl, const char *conffile,
const char *confdir, Int_t loglevel, const char *confdir, Int_t loglevel,
const char *alias = 0); const char *alias = 0);
TProofQueryResult *MakeQueryResult(Long64_t nent, const char *opt, TProofQueryResult *MakeQueryResult(Long64_t nent, const char *opt,
Long64_t fst, TDSet *dset, Long64_t fst, TDSet *dset,
const char *selec); const char *selec);
void SetQueryRunning(TProofQueryResult *pq); void SetQueryRunning(TProofQueryResult *pq);
Int_t SetupWorkers(Int_t opt = 0, TList *wrks = 0); Int_t SetupWorkers(Int_t opt = 0, TList *wrks = 0);
Int_t CopyMacroToCache(const char *macro, Int_t headerRequired = 0,
TSelector **selector = 0, Int_t opt = 0);
public: public:
TProofLite(const char *masterurl, const char *conffile = kPROOF_ConfFile , TProofLite(const char *masterurl, const char *conffile = kPROOF_ConfFile ,
const char *confdir = kPROOF_ConfDir, Int_t loglevel = 0, const char *confdir = kPROOF_ConfDir, Int_t loglevel = 0,
const char *alias = 0, TProofMgr *mgr = 0); const char *alias = 0, TProofMgr *mgr = 0);
virtual ~TProofLite(); virtual ~TProofLite();
void Print(Option_t *option="") const; void Print(Option_t *option="") const;
Long64_t DrawSelect(TDSet *dset, const char *varexp, Long64_t DrawSelect(TDSet *dset, const char *varexp,
skipping to change at line 107 skipping to change at line 111
Long64_t Process(TFileCollection *fc, const char *sel, Option_t *o = "", Long64_t Process(TFileCollection *fc, const char *sel, Option_t *o = "",
Long64_t nent = -1, Long64_t fst = 0) Long64_t nent = -1, Long64_t fst = 0)
{ return TProof::Process(fc, sel, o, nent, fst); } { return TProof::Process(fc, sel, o, nent, fst); }
Long64_t Process(const char *dsname, const char *sel, Option_t *o = "", Long64_t Process(const char *dsname, const char *sel, Option_t *o = "",
Long64_t nent = -1, Long64_t fst = 0, TObject *enl = 0) Long64_t nent = -1, Long64_t fst = 0, TObject *enl = 0)
{ return TProof::Process(dsname, sel, o, nent, fst, enl ); } { return TProof::Process(dsname, sel, o, nent, fst, enl ); }
Long64_t Process(const char *sel, Long64_t nent, Option_t *o = "") Long64_t Process(const char *sel, Long64_t nent, Option_t *o = "")
{ return TProof::Process(sel, nent, o); } { return TProof::Process(sel, nent, o); }
// Cache management // Cache management
void ShowCache(Bool_t all = kFALSE); void ShowCache(Bool_t all = kFALSE);
void ClearCache(const char *file = 0); void ClearCache(const char *file = 0);
Int_t Load(const char *macro, Bool_t notOnClient = kFALSE, Bool_t unique
Only = kTRUE,
TList *wrks = 0);
// Query management // Query management
TList *GetListOfQueries(Option_t *opt = ""); TList *GetListOfQueries(Option_t *opt = "");
Int_t Remove(const char *ref, Bool_t all); Int_t Remove(const char *ref, Bool_t all);
// Dataset handling // Dataset handling
Bool_t RegisterDataSet(const char *dsName, TFileCollection *ds, const char *opt = ""); Bool_t RegisterDataSet(const char *dsName, TFileCollection *ds, const char *opt = "");
Bool_t ExistsDataSet(const char *uri); Bool_t ExistsDataSet(const char *uri);
TMap *GetDataSets(const char *uri = "", const char * = 0); TMap *GetDataSets(const char *uri = "", const char * = 0);
void ShowDataSets(const char *uri = "", const char * = 0); void ShowDataSets(const char *uri = "", const char * = 0);
skipping to change at line 131 skipping to change at line 137
Int_t VerifyDataSet(const char *uri, const char * = 0); Int_t VerifyDataSet(const char *uri, const char * = 0);
Int_t SetDataSetTreeName( const char *dataset, const char *treename); Int_t SetDataSetTreeName( const char *dataset, const char *treename);
void ShowDataSetCache(const char *dataset = 0); void ShowDataSetCache(const char *dataset = 0);
void ClearDataSetCache(const char *dataset = 0); void ClearDataSetCache(const char *dataset = 0);
// Browsing // Browsing
TTree *GetTreeHeader(TDSet *tdset); TTree *GetTreeHeader(TDSet *tdset);
static Int_t GetNumberOfWorkers(const char *url = 0); static Int_t GetNumberOfWorkers(const char *url = 0);
ClassDef(TProofLite,0) //PROOF control class ClassDef(TProofLite,0) //PROOF-Lite control class
}; };
#endif #endif
 End of changes. 10 change blocks. 
8 lines changed or deleted 15 lines changed or added


 TProofPlayer.h   TProofPlayer.h 
// @(#)root/proofplayer:$Id: TProofPlayer.h 31505 2009-12-02 13:20:06Z brun $ // @(#)root/proofplayer:$Id: TProofPlayer.h 34081 2010-06-23 10:59:01Z gani s $
// Author: Maarten Ballintijn 07/01/02 // Author: Maarten Ballintijn 07/01/02
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2001, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2001, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 124 skipping to change at line 124
protected: protected:
class TCleanup { class TCleanup {
private: private:
TProofPlayer *fPlayer; TProofPlayer *fPlayer;
public: public:
TCleanup(TProofPlayer *p) : fPlayer(p) { } TCleanup(TProofPlayer *p) : fPlayer(p) { }
~TCleanup() { fPlayer->StopFeedback(); } ~TCleanup() { fPlayer->StopFeedback(); }
}; };
void MapOutputListToDataMembers() const;
public: public:
enum EStatusBits { kDispatchOneEvent = BIT(15), kIsProcessing = BIT(16) }; enum EStatusBits { kDispatchOneEvent = BIT(15), kIsProcessing = BIT(16) };
TProofPlayer(TProof *proof = 0); TProofPlayer(TProof *proof = 0);
virtual ~TProofPlayer(); virtual ~TProofPlayer();
Long64_t Process(TDSet *set, Long64_t Process(TDSet *set,
const char *selector, Option_t *option = "", const char *selector, Option_t *option = "",
Long64_t nentries = -1, Long64_t firstentry = 0); Long64_t nentries = -1, Long64_t firstentry = 0);
TVirtualPacketizer *GetPacketizer() const { return 0; } TVirtualPacketizer *GetPacketizer() const { return 0; }
skipping to change at line 265 skipping to change at line 267
Bool_t fMergeFiles; // is True when merging output files centrally is needed Bool_t fMergeFiles; // is True when merging output files centrally is needed
TDSet *fDSet; //!tdset for current processing TDSet *fDSet; //!tdset for current processing
ErrorHandlerFunc_t fErrorHandler; // Store previous handler when redir ecting output ErrorHandlerFunc_t fErrorHandler; // Store previous handler when redir ecting output
virtual Bool_t HandleTimer(TTimer *timer); virtual Bool_t HandleTimer(TTimer *timer);
Int_t InitPacketizer(TDSet *dset, Long64_t nentries, Int_t InitPacketizer(TDSet *dset, Long64_t nentries,
Long64_t first, const char *defpackunit, Long64_t first, const char *defpackunit,
const char *defpackdata); const char *defpackdata);
TList *MergeFeedback(); TList *MergeFeedback();
Bool_t MergeOutputFiles(); Bool_t MergeOutputFiles();
void NotifyMemory(TObject *obj);
virtual Bool_t SendSelector(const char *selector_file); //send selector to slaves virtual Bool_t SendSelector(const char *selector_file); //send selector to slaves
TProof *GetProof() const { return fProof; } TProof *GetProof() const { return fProof; }
void SetupFeedback(); // specialized setup void SetupFeedback(); // specialized setup
void StopFeedback(); // specialized teardown void StopFeedback(); // specialized teardown
void SetSelectorDataMembersFromOutputList();
public: public:
TProofPlayerRemote(TProof *proof = 0) : fProof(proof), fOutputLists(0), fFeedback(0), TProofPlayerRemote(TProof *proof = 0) : fProof(proof), fOutputLists(0), fFeedback(0),
fFeedbackLists(0), fPacketizer(0 ), fFeedbackLists(0), fPacketizer(0 ),
fMergeFiles(kFALSE), fDSet(0), f ErrorHandler(0) fMergeFiles(kFALSE), fDSet(0), f ErrorHandler(0)
{ fProgressStatus = new TProofPr ogressStatus(); } { fProgressStatus = new TProofPr ogressStatus(); }
virtual ~TProofPlayerRemote(); // Owns the fOutput list virtual ~TProofPlayerRemote(); // Owns the fOutput list
virtual Long64_t Process(TDSet *set, const char *selector, virtual Long64_t Process(TDSet *set, const char *selector,
Option_t *option = "", Long64_t nentries = -1, Option_t *option = "", Long64_t nentries = -1,
Long64_t firstentry = 0); Long64_t firstentry = 0);
 End of changes. 4 change blocks. 
1 lines changed or deleted 5 lines changed or added


 TProofServ.h   TProofServ.h 
// @(#)root/proof:$Id: TProofServ.h 31683 2009-12-08 16:12:08Z ganis $ // @(#)root/proof:$Id: TProofServ.h 34101 2010-06-24 12:12:59Z ganis $
// Author: Fons Rademakers 16/02/97 // Author: Fons Rademakers 16/02/97
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 57 skipping to change at line 57
class TVirtualProofPlayer; class TVirtualProofPlayer;
class TProofLockPath; class TProofLockPath;
class TQueryResultManager; class TQueryResultManager;
class TSocket; class TSocket;
class THashList; class THashList;
class TList; class TList;
class TDSetElement; class TDSetElement;
class TMessage; class TMessage;
class TShutdownTimer; class TShutdownTimer;
class TReaperTimer; class TReaperTimer;
class TIdleTOTimer;
class TMutex; class TMutex;
class TFileCollection; class TFileCollection;
class TDataSetManager; class TDataSetManager;
class TFileHandler; class TFileHandler;
class TMonitor; class TMonitor;
class TServerSocket; class TServerSocket;
// Hook to external function setting up authentication related stuff // Hook to external function setting up authentication related stuff
// for old versions. // for old versions.
// For backward compatibility // For backward compatibility
skipping to change at line 142 skipping to change at line 143
TMutex *fQMtx; // To protect async msg queue TMutex *fQMtx; // To protect async msg queue
TList *fQueuedMsg; //list of messages waiting to be proces sed TList *fQueuedMsg; //list of messages waiting to be proces sed
TString fPrefix; //Prefix identifying the node TString fPrefix; //Prefix identifying the node
Bool_t fRealTimeLog; //TRUE if log messages should be send b ack in real-time Bool_t fRealTimeLog; //TRUE if log messages should be send b ack in real-time
TShutdownTimer *fShutdownTimer; // Timer used to shutdown out-of-contro l sessions TShutdownTimer *fShutdownTimer; // Timer used to shutdown out-of-contro l sessions
TReaperTimer *fReaperTimer; // Timer used to control children state TReaperTimer *fReaperTimer; // Timer used to control children state
TIdleTOTimer *fIdleTOTimer; // Timer used to control children state
Int_t fInflateFactor; // Factor in 1/1000 to inflate the CPU time Int_t fInflateFactor; // Factor in 1/1000 to inflate the CPU time
Int_t fCompressMsg; // Compression level for messages Int_t fCompressMsg; // Compression level for messages
TDataSetManager* fDataSetManager; // dataset manager TDataSetManager* fDataSetManager; // dataset manager
Bool_t fLogToSysLog; //true if logs should be sent to syslog too
Bool_t fSendLogToMaster; // On workers, controls logs sending to master Bool_t fSendLogToMaster; // On workers, controls logs sending to master
TServerSocket *fMergingSocket; // Socket used for merging outputs if su bmerger TServerSocket *fMergingSocket; // Socket used for merging outputs if su bmerger
TMonitor *fMergingMonitor; // Monitor for merging sockets TMonitor *fMergingMonitor; // Monitor for merging sockets
Int_t fMergedWorkers; // Number of workers merged Int_t fMergedWorkers; // Number of workers merged
// Quotas (-1 to disable) // Quotas (-1 to disable)
Int_t fMaxQueries; //Max number of queries fully kept Int_t fMaxQueries; //Max number of queries fully kept
Long64_t fMaxBoxSize; //Max size of the sandbox Long64_t fMaxBoxSize; //Max size of the sandbox
Long64_t fHWMBoxSize; //High-Water-Mark on the sandbox size Long64_t fHWMBoxSize; //High-Water-Mark on the sandbox size
skipping to change at line 171 skipping to change at line 172
// Memory limits (-1 to disable) set by envs ROOTPROOFASSOFT and RPPTPRO FOASHARD // Memory limits (-1 to disable) set by envs ROOTPROOFASSOFT and RPPTPRO FOASHARD
Long_t fVirtMemHWM; //Above this we terminate gently (in kB ) Long_t fVirtMemHWM; //Above this we terminate gently (in kB )
Long_t fVirtMemMax; //Hard limit enforced by the system (in kB) Long_t fVirtMemMax; //Hard limit enforced by the system (in kB)
// In bytes; default is 1MB // In bytes; default is 1MB
Long64_t fMsgSizeHWM; //High-Water-Mark on the size of messag es with results Long64_t fMsgSizeHWM; //High-Water-Mark on the size of messag es with results
static FILE *fgErrorHandlerFile; // File where to log static FILE *fgErrorHandlerFile; // File where to log
static Int_t fgRecursive; // Keep track of recursive inputs durin g processing static Int_t fgRecursive; // Keep track of recursive inputs durin g processing
// Control sending information to syslog
static Int_t fgLogToSysLog; // >0 sent to syslog too
static TString fgSysLogService; // name of the syslog service (eg: pro
ofm-0, proofw-0.67)
static TString fgSysLogEntity; // logging entity (<user>:<group>)
void RedirectOutput(const char *dir = 0, const char *mode = "w" ); void RedirectOutput(const char *dir = 0, const char *mode = "w" );
Int_t CatMotd(); Int_t CatMotd();
Int_t UnloadPackage(const char *package); Int_t UnloadPackage(const char *package);
Int_t UnloadPackages(); Int_t UnloadPackages();
Int_t OldAuthSetup(TString &wconf); Int_t OldAuthSetup(TString &wconf);
Int_t GetPriority(); Int_t GetPriority();
// Query handlers // Query handlers
TProofQueryResult *MakeQueryResult(Long64_t nentries, const char *opt, TProofQueryResult *MakeQueryResult(Long64_t nentries, const char *opt,
TList *inl, Long64_t first, TDSet *ds et, TList *inl, Long64_t first, TDSet *ds et,
skipping to change at line 199 skipping to change at line 205
// Waiting queries handlers // Waiting queries handlers
void SetIdle(Bool_t st = kTRUE); void SetIdle(Bool_t st = kTRUE);
Bool_t IsWaiting(); Bool_t IsWaiting();
Int_t WaitingQueries(); Int_t WaitingQueries();
Int_t QueueQuery(TProofQueryResult *pq); Int_t QueueQuery(TProofQueryResult *pq);
TProofQueryResult *NextQuery(); TProofQueryResult *NextQuery();
Int_t CleanupWaitingQueries(Bool_t del = kTRUE, TList *qls = 0); Int_t CleanupWaitingQueries(Bool_t del = kTRUE, TList *qls = 0);
protected: protected:
virtual void HandleArchive(TMessage *mess); virtual void HandleArchive(TMessage *mess, TString *slb = 0);
virtual Int_t HandleCache(TMessage *mess); virtual Int_t HandleCache(TMessage *mess, TString *slb = 0);
virtual void HandleCheckFile(TMessage *mess); virtual void HandleCheckFile(TMessage *mess, TString *slb = 0);
virtual Int_t HandleDataSets(TMessage *mess); virtual Int_t HandleDataSets(TMessage *mess, TString *slb = 0);
virtual void HandleSubmerger(TMessage *mess); virtual void HandleSubmerger(TMessage *mess);
virtual void HandleFork(TMessage *mess); virtual void HandleFork(TMessage *mess);
virtual void HandleLibIncPath(TMessage *mess); virtual void HandleLibIncPath(TMessage *mess);
virtual void HandleProcess(TMessage *mess); virtual void HandleProcess(TMessage *mess, TString *slb = 0);
virtual void HandleQueryList(TMessage *mess); virtual void HandleQueryList(TMessage *mess);
virtual void HandleRemove(TMessage *mess); virtual void HandleRemove(TMessage *mess, TString *slb = 0);
virtual void HandleRetrieve(TMessage *mess); virtual void HandleRetrieve(TMessage *mess, TString *slb = 0);
virtual void HandleWorkerLists(TMessage *mess); virtual void HandleWorkerLists(TMessage *mess);
virtual void ProcessNext(); virtual void ProcessNext(TString *slb = 0);
virtual Int_t Setup(); virtual Int_t Setup();
Int_t SetupCommon(); Int_t SetupCommon();
virtual void MakePlayer(); virtual void MakePlayer();
virtual void DeletePlayer(); virtual void DeletePlayer();
virtual Int_t Fork(); virtual Int_t Fork();
Int_t GetSessionStatus(); Int_t GetSessionStatus();
Bool_t IsIdle(); Bool_t IsIdle();
Bool_t UnlinkDataDir(const char *path);
public: public:
TProofServ(Int_t *argc, char **argv, FILE *flog = 0); TProofServ(Int_t *argc, char **argv, FILE *flog = 0);
virtual ~TProofServ(); virtual ~TProofServ();
virtual Int_t CreateServer(); virtual Int_t CreateServer();
TProof *GetProof() const { return fProof; } TProof *GetProof() const { return fProof; }
const char *GetService() const { return fService; } const char *GetService() const { return fService; }
const char *GetConfDir() const { return fConfDir; } const char *GetConfDir() const { return fConfDir; }
skipping to change at line 301 skipping to change at line 308
TObject *Get(const char *namecycle); TObject *Get(const char *namecycle);
TDSetElement *GetNextPacket(Long64_t totalEntries = -1); TDSetElement *GetNextPacket(Long64_t totalEntries = -1);
virtual void ReleaseWorker(const char *) { } virtual void ReleaseWorker(const char *) { }
void Reset(const char *dir); void Reset(const char *dir);
Int_t ReceiveFile(const char *file, Bool_t bin, Long64_t size); Int_t ReceiveFile(const char *file, Bool_t bin, Long64_t size);
virtual Int_t SendAsynMessage(const char *msg, Bool_t lf = kTRUE); virtual Int_t SendAsynMessage(const char *msg, Bool_t lf = kTRUE);
virtual void SendLogFile(Int_t status = 0, Int_t start = -1, Int_t end = -1); virtual void SendLogFile(Int_t status = 0, Int_t start = -1, Int_t end = -1);
void SendStatistics(); void SendStatistics();
void SendParallel(Bool_t async = kFALSE); void SendParallel(Bool_t async = kFALSE);
Int_t UpdateSessionStatus(Int_t xst = -1);
// Disable / Enable read timeout // Disable / Enable read timeout
virtual void DisableTimeout() { } virtual void DisableTimeout() { }
virtual void EnableTimeout() { } virtual void EnableTimeout() { }
virtual void Terminate(Int_t status); virtual void Terminate(Int_t status);
// Log control // Log control
Bool_t LogToSysLog() { return fLogToSysLog; }
void LogToMaster(Bool_t on = kTRUE) { fSendLogToMaster = on; } void LogToMaster(Bool_t on = kTRUE) { fSendLogToMaster = on; }
static FILE *SetErrorHandlerFile(FILE *ferr); static FILE *SetErrorHandlerFile(FILE *ferr);
static void ErrorHandler(Int_t level, Bool_t abort, const char *locat ion, static void ErrorHandler(Int_t level, Bool_t abort, const char *locat ion,
const char *msg); const char *msg);
static void ResolveKeywords(TString &fname, const char *path = 0); static void ResolveKeywords(TString &fname, const char *path = 0);
static Bool_t IsActive(); static Bool_t IsActive();
static TProofServ *This(); static TProofServ *This();
skipping to change at line 358 skipping to change at line 366
//----- Handles output from commands executed externally via a pipe. ------ ---// //----- Handles output from commands executed externally via a pipe. ------ ---//
//----- The output is redirected one level up (i.e., to master or client). ---// //----- The output is redirected one level up (i.e., to master or client). ---//
//_________________________________________________________________________ _____ //_________________________________________________________________________ _____
class TProofServLogHandler : public TFileHandler { class TProofServLogHandler : public TFileHandler {
private: private:
TSocket *fSocket; // Socket where to redirect the message TSocket *fSocket; // Socket where to redirect the message
FILE *fFile; // File connected with the open pipe FILE *fFile; // File connected with the open pipe
TString fPfx; // Prefix to be prepended to messages TString fPfx; // Prefix to be prepended to messages
static TString fgPfx; // Default prefix to be prepended to messages static TString fgPfx; // Default prefix to be prepended to messages
static Int_t fgCmdRtn; // Return code of the command execution (availa
ble only
// after closing the pipe)
public: public:
enum EStatusBits { kFileIsPipe = BIT(23) }; enum EStatusBits { kFileIsPipe = BIT(23) };
TProofServLogHandler(const char *cmd, TSocket *s, const char *pfx = ""); TProofServLogHandler(const char *cmd, TSocket *s, const char *pfx = "");
TProofServLogHandler(FILE *f, TSocket *s, const char *pfx = ""); TProofServLogHandler(FILE *f, TSocket *s, const char *pfx = "");
virtual ~TProofServLogHandler(); virtual ~TProofServLogHandler();
Bool_t IsValid() { return ((fFile && fSocket) ? kTRUE : kFALSE); } Bool_t IsValid() { return ((fFile && fSocket) ? kTRUE : kFALSE); }
Bool_t Notify(); Bool_t Notify();
Bool_t ReadNotify() { return Notify(); } Bool_t ReadNotify() { return Notify(); }
static void SetDefaultPrefix(const char *pfx); static void SetDefaultPrefix(const char *pfx);
static Int_t GetCmdRtn();
}; };
//--- Guard class: close pipe, deactivatethe related descriptor ----------- ---// //--- Guard class: close pipe, deactivatethe related descriptor ----------- ---//
//_________________________________________________________________________ _____ //_________________________________________________________________________ _____
class TProofServLogHandlerGuard { class TProofServLogHandlerGuard {
private: private:
TProofServLogHandler *fExecHandler; TProofServLogHandler *fExecHandler;
public: public:
skipping to change at line 413 skipping to change at line 424
TList *fChildren; // List of children (forked) processes TList *fChildren; // List of children (forked) processes
public: public:
TReaperTimer(Long_t frequency = 1000) : TTimer(frequency, kTRUE), fChild ren(0) { } TReaperTimer(Long_t frequency = 1000) : TTimer(frequency, kTRUE), fChild ren(0) { }
virtual ~TReaperTimer(); virtual ~TReaperTimer();
void AddPid(Int_t pid); void AddPid(Int_t pid);
Bool_t Notify(); Bool_t Notify();
}; };
//--- Special timer to terminate idle sessions
//_________________________________________________________________________
_____
class TIdleTOTimer : public TTimer {
private:
TProofServ *fProofServ;
public:
TIdleTOTimer(TProofServ *p, Int_t delay) : TTimer(delay, kTRUE), fProofS
erv(p) { }
Bool_t Notify();
};
//_________________________________________________________________________
_____
class TIdleTOTimerGuard {
private:
TIdleTOTimer *fIdleTOTimer;
public:
TIdleTOTimerGuard(TIdleTOTimer *t) : fIdleTOTimer(t) { if (fIdleTOTimer)
fIdleTOTimer->Stop(); }
virtual ~TIdleTOTimerGuard() { if (fIdleTOTimer) fIdleTOTimer->Start(-1,
kTRUE); }
};
#endif #endif
 End of changes. 15 change blocks. 
11 lines changed or deleted 51 lines changed or added


 TProofServLite.h   TProofServLite.h 
// @(#)root/proofx:$Id: TProofServLite.h 25918 2008-10-22 15:00:04Z ganis $ // @(#)root/proofx:$Id: TProofServLite.h 33637 2010-05-28 13:13:05Z rdm $
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2005, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2005, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
#ifndef ROOT_TProofServLite #ifndef ROOT_TProofServLite
#define ROOT_TProofServLite #define ROOT_TProofServLite
skipping to change at line 34 skipping to change at line 34
#ifndef ROOT_TProofServ #ifndef ROOT_TProofServ
#include "TProofServ.h" #include "TProofServ.h"
#endif #endif
class TProofServLiteInterruptHandler; class TProofServLiteInterruptHandler;
class TProofServLite : public TProofServ { class TProofServLite : public TProofServ {
private: private:
TProofServLiteInterruptHandler *fInterruptHandler; TProofServLiteInterruptHandler *fInterruptHandler;
TString fSockPath; TString fSockPath; // unix socket path
Bool_t fTerminated; //true if Terminate() has been already called Bool_t fTerminated; //true if Terminate() has been already called
Int_t Setup(); Int_t Setup();
Int_t SetupOnFork(const char *ord); Int_t SetupOnFork(const char *ord);
public: public:
TProofServLite(Int_t *argc, char **argv, FILE *flog = 0); TProofServLite(Int_t *argc, char **argv, FILE *flog = 0);
virtual ~TProofServLite(); virtual ~TProofServLite();
Int_t CreateServer(); Int_t CreateServer();
void HandleFork(TMessage *mess); void HandleFork(TMessage *mess);
#if 0 //void HandleUrgentData();
void HandleUrgentData();
#endif
void HandleSigPipe(); void HandleSigPipe();
void HandleTermination(); void HandleTermination();
void Terminate(Int_t status); void Terminate(Int_t status);
ClassDef(TProofServLite,0) //Local worker PROOF Server Application Inte rface ClassDef(TProofServLite,0) //PROOF-Lite Server Application Interface
}; };
#endif #endif
 End of changes. 4 change blocks. 
6 lines changed or deleted 4 lines changed or added


 TQtClientFilter.h   TQtClientFilter.h 
// @(#)root/qt:$Id: TQtClientFilter.h 32141 2010-01-28 16:42:30Z bellenot $ // @(#)root/qt:$Id: TQtClientFilter.h 33707 2010-06-02 06:27:34Z brun $
// Author: Valeri Fine 21/01/2002 // Author: Valeri Fine 21/01/2002
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *
* Copyright (C) 2002 by Valeri Fine. * * Copyright (C) 2002 by Valeri Fine. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
#ifndef ROOT_TQClientFilter #ifndef ROOT_TQClientFilter
#define ROOT_TQClientFilter #define ROOT_TQClientFilter
#include "GuiTypes.h" #include "GuiTypes.h"
#include "Rtypes.h" #include "Rtypes.h"
#ifndef __CINT__ #ifndef __CINT__
# include <qobject.h> # include <QEvent>
# if (QT_VERSION > 0x039999) # include <QMouseEvent>
// Added by qt3to4: # include <QList>
# include <QEvent> # include <QApplication>
# include <QMouseEvent>
# include <QList>
# else
# include <qptrqueue.h>
# include <qptrlist.h>
# include <qintdict.h>
# endif /* QT_VERSION */
# include <qapplication.h>
#else #else
class TQtClientWidget; class TQtClientWidget;
class QObject; class QObject;
# if (QT_VERSION > 0x039999) class QList<TQtClientWidget*>;
class QList<TQtClientWidget*>;
# else /* QT_VERSION */
class QPtrList<TQtClientWidget>;
# endif /* QT_VERSION */
#endif /* CINT */ #endif /* CINT */
#include "TQtClientWidget.h" #include "TQtClientWidget.h"
//________________________________________________________________________ //________________________________________________________________________
// //
// TQtClientFilter is Qt "eventFilter" to map Qt event to ROOT event // TQtClientFilter is Qt "eventFilter" to map Qt event to ROOT event
//________________________________________________________________________ //________________________________________________________________________
class TQtNextEventMessage; class TQtNextEventMessage;
skipping to change at line 67 skipping to change at line 55
#endif #endif
friend class TGQt; friend class TGQt;
friend class TQtClientWidget; friend class TQtClientWidget;
private: private:
void operator=(const TQtClientFilter &); void operator=(const TQtClientFilter &);
TQtClientFilter(const TQtClientFilter &); TQtClientFilter(const TQtClientFilter &);
protected: protected:
TQtEventQueue *fRootEventQueue; TQtEventQueue *fRootEventQueue;
TQtNextEventMessage *fNotifyClient; TQtNextEventMessage *fNotifyClient;
#ifndef __CINT__ #ifndef __CINT__
#if (QT_VERSION > 0x039999)
QList<TQtClientWidget*> fButtonGrabList; QList<TQtClientWidget*> fButtonGrabList;
#else /* QT_VERSION */
QPtrList<TQtClientWidget> fButtonGrabList;
#endif /* QT_VERSION */
#endif #endif
static TQtClientWidget *fgPointerGrabber; static TQtClientWidget *fgPointerGrabber;
static TQtClientWidget *fgButtonGrabber; static TQtClientWidget *fgButtonGrabber;
static TQtClientWidget *fgActiveGrabber; static TQtClientWidget *fgActiveGrabber;
TQtClientWidget *fKeyGrabber; TQtClientWidget *fKeyGrabber;
UInt_t fInputEventMask; UInt_t fInputEventMask;
static UInt_t fgGrabPointerEventMask; static UInt_t fgGrabPointerEventMask;
static Bool_t fgGrabPointerOwner; static Bool_t fgGrabPointerOwner;
static QCursor *fgGrabPointerCursor; static QCursor *fgGrabPointerCursor;
// static Bool_t fIsGrabbing; // static Bool_t fIsGrabbing;
skipping to change at line 106 skipping to change at line 90
static TQtClientWidget *GetButtonGrabber(); static TQtClientWidget *GetButtonGrabber();
static void SetButtonGrabber(TQtClientWidget *grabber); static void SetButtonGrabber(TQtClientWidget *grabber);
static void GrabPointer(TQtClientWidget *grabber, UInt_t evmask, Window_ t confine, static void GrabPointer(TQtClientWidget *grabber, UInt_t evmask, Window_ t confine,
QCursor *cursor, Bool_t grab = kTRUE, QCursor *cursor, Bool_t grab = kTRUE,
Bool_t owner_events = kTRUE); Bool_t owner_events = kTRUE);
static TQtPointerGrabber *PointerGrabber(); static TQtPointerGrabber *PointerGrabber();
public slots: public slots:
void AppendButtonGrab (TQtClientWidget *); void AppendButtonGrab (TQtClientWidget *);
void RemoveButtonGrab (QObject *); void RemoveButtonGrab (QObject *);
#ifndef Q_MOC_RUN #ifndef Q_MOC_RUN
//MOC_SKIP_BEGIN
ClassDef(TQtClientFilter,0) // Map Qt and ROOT event ClassDef(TQtClientFilter,0) // Map Qt and ROOT event
//MOC_SKIP_END
#endif #endif
}; };
// //
// TQtClientFilter is a Qt "eventFilter" to map Qt event to ROOT event // TQtClientFilter is a Qt "eventFilter" to map Qt event to ROOT event
// //
class QWidget; class QWidget;
class QCursor; class QCursor;
class TQtPointerGrabber { class TQtPointerGrabber {
 End of changes. 7 change blocks. 
24 lines changed or deleted 6 lines changed or added


 TQtMarker.h   TQtMarker.h 
// @(#)root/qt:$Id: TQtMarker.h 30386 2009-09-23 19:06:28Z brun $ // @(#)root/qt:$Id: TQtMarker.h 33707 2010-06-02 06:27:34Z brun $
// Author: Valeri Fine 21/01/2002 // Author: Valeri Fine 21/01/2002
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *
* Copyright (C) 2002 by Valeri Fine. * * Copyright (C) 2002 by Valeri Fine. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 45 skipping to change at line 45
//////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////
class TQtMarker { class TQtMarker {
private: private:
int fNumNode; // Number of chain in the marker shape int fNumNode; // Number of chain in the marker shape
QPolygon fChain; // array of the n chains to build a shaped marke r QPolygon fChain; // array of the n chains to build a shaped marke r
Color_t fCindex; // Color index of the marker; Color_t fCindex; // Color index of the marker;
int fMarkerType; // Type of the current marker int fMarkerType; // Type of the current marker
int fLineWidth; // The width of the line used to outline the mar
kers
int fLineOption; // Connect the markers with the segments
public: public:
TQtMarker(int n=0, TPoint *xy=0,int type=0); TQtMarker(int n=0, TPoint *xy=0,int type=0);
TQtMarker &operator=(const TQtMarker&); TQtMarker &operator=(const TQtMarker&);
TQtMarker(const TQtMarker&); TQtMarker(const TQtMarker&);
TQtMarker &operator=(const TAttMarker&); TQtMarker &operator=(const TAttMarker&);
TQtMarker(const TAttMarker&); TQtMarker(const TAttMarker&);
virtual ~TQtMarker(); virtual ~TQtMarker();
void DrawPolyMarker(QPainter &p, int n, TPoint *xy); void DrawPolyMarker(QPainter &p, int n, TPoint *xy);
void SetMarkerAttributes(const TAttMarker& markerAttributes); void SetMarkerAttributes(const TAttMarker& markerAttributes);
void SetColor(Color_t mcolor); void SetColor(Color_t mcolor);
void SetPenAttributes(int type);
Color_t GetColor() const; Color_t GetColor() const;
int GetNumber() const; int GetNumber() const;
const QPolygon &GetNodes() const; const QPolygon &GetNodes() const;
int GetType() const; int GetType() const;
int GetWidth() const;
void SetMarker(int n, TPoint *xy, int type); void SetMarker(int n, TPoint *xy, int type);
ClassDef(TQtMarker,0) // Convert ROOT TMarker objects on to QPointArra y ClassDef(TQtMarker,0) // Convert ROOT TMarker objects on to QPointArra y
}; };
//_________________________________________________________ //_________________________________________________________
inline TQtMarker &TQtMarker::operator=(const TQtMarker&m) inline TQtMarker &TQtMarker::operator=(const TQtMarker&m)
{ {
fNumNode = m.fNumNode; fNumNode = m.fNumNode;
fChain = m.fChain; fChain = m.fChain;
fCindex = m.fCindex; fCindex = m.fCindex;
fMarkerType=m.fMarkerType; fMarkerType=m.fMarkerType;
fLineWidth =m.fLineWidth;
return *this; return *this;
} }
//_________________________________________________________ //_________________________________________________________
inline TQtMarker::TQtMarker(const TQtMarker&m) : fNumNode(m.fNumNode), inline TQtMarker::TQtMarker(const TQtMarker&m) : fNumNode(m.fNumNode),
fChain(m.fChain), fCindex(m.fCindex),fMarkerType(m.fMarkerType) {} fChain(m.fChain), fCindex(m.fCindex),fMarkerType(m.fMarkerType),fLineWidth(
m.fLineWidth)
{}
//_________________________________________________________ //_________________________________________________________
inline void TQtMarker::SetColor(Color_t mcolor) { fCindex = mcolor; } inline void TQtMarker::SetColor(Color_t mcolor) { fCindex = mcolor; }
//_________________________________________________________ //_________________________________________________________
inline Color_t TQtMarker::GetColor() const { return fCindex; } inline Color_t TQtMarker::GetColor() const { return fCindex; }
#endif #endif
 End of changes. 6 change blocks. 
2 lines changed or deleted 10 lines changed or added


 TQtPadFont.h   TQtPadFont.h 
// @(#)root/qt:$Name: $:$Id: TQtPadFont.h 31358 2009-11-21 08:06:41Z brun $ // @(#)root/qt:$Name: $:$Id: TQtPadFont.h 33707 2010-06-02 06:27:34Z brun $
// Author: Valeri Fine 21/01/2002 // Author: Valeri Fine 21/01/2002
/************************************************************************** ** /************************************************************************** **
** **
** Copyright (C) 2002 by Valeri Fine. All rights reserved. ** Copyright (C) 2002 by Valeri Fine. All rights reserved.
** **
** This file may be distributed under the terms of the Q Public License ** This file may be distributed under the terms of the Q Public License
** as defined by Trolltech AS of Norway and appearing in the file ** as defined by Trolltech AS of Norway and appearing in the file
** LICENSE.QPL included in the packaging of this file. ** LICENSE.QPL included in the packaging of this file.
*************************************************************************** **/ *************************************************************************** **/
skipping to change at line 49 skipping to change at line 49
void SetTextFont(Font_t fontnumber=62); void SetTextFont(Font_t fontnumber=62);
void SetTextSize(Float_t textsize=1); void SetTextSize(Float_t textsize=1);
void SetTextSizePixels(Int_t npixels); void SetTextSizePixels(Int_t npixels);
void SetTextMagnify(Float_t mgn); void SetTextMagnify(Float_t mgn);
static const char *RomanFontName(); static const char *RomanFontName();
static const char *ArialFontName(); static const char *ArialFontName();
static const char *CourierFontName(); static const char *CourierFontName();
static const char *SymbolFontFamily(); static const char *SymbolFontFamily();
static void SetSymbolFontFamily(const char *symbolFnName="Symbol"); static void SetSymbolFontFamily(const char *symbolFnName="Symbol");
ClassDef(TQtPadFont,0) //< Create Qt QFont object based on ROOT TAttText attributes
}; };
#endif #endif
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


 TQtRootSlot.h   TQtRootSlot.h 
// @(#)root/qt:$Id: TQtRootSlot.h 27630 2009-02-26 19:06:42Z brun $ // @(#)root/qt:$Id: TQtRootSlot.h 33707 2010-06-02 06:27:34Z brun $
// Author: Valery Fine 18/01/2007 // Author: Valery Fine 18/01/2007
/************************************************************************** ** /************************************************************************** **
** $Id: TQtRootSlot.h 27630 2009-02-26 19:06:42Z brun $ ** $Id: TQtRootSlot.h 33707 2010-06-02 06:27:34Z brun $
** **
** Copyright (C) 2007 by Valeri Fine. Brookhaven National Laboratory. ** Copyright (C) 2007 by Valeri Fine. Brookhaven National Laboratory.
** All rights reserved. ** All rights reserved.
** **
** This file may be distributed under the terms of the Q Public License ** This file may be distributed under the terms of the Q Public License
** as defined by Trolltech AS of Norway and appearing in the file ** as defined by Trolltech AS of Norway and appearing in the file
** LICENSE.QPL included in the packaging of this file. ** LICENSE.QPL included in the packaging of this file.
** **
*************************************************************************** **/ *************************************************************************** **/
//________________________________________________________________________ //________________________________________________________________________
skipping to change at line 55 skipping to change at line 55
protected: protected:
static TQtRootSlot *fgTQtRootSlot; static TQtRootSlot *fgTQtRootSlot;
TQtRootSlot () {} TQtRootSlot () {}
public: public:
static TQtRootSlot *CintSlot(); static TQtRootSlot *CintSlot();
virtual ~TQtRootSlot() {} virtual ~TQtRootSlot() {}
public slots: public slots:
void ProcessLine(const char *); void ProcessLine(const char *);
void ProcessLine(const QString &); void ProcessLine(const QString &);
void EndOfLine();
void Terminate(int status) const; void Terminate(int status) const;
void Terminate() const; void Terminate() const;
void TerminateAndQuit() const; void TerminateAndQuit() const;
#ifndef __CINT__ #ifndef __CINT__
signals: signals:
void Error(int error); void Error(int error);
#endif #endif
}; };
 End of changes. 3 change blocks. 
2 lines changed or deleted 3 lines changed or added


 TQtWidget.h   TQtWidget.h 
// @(#)root/qt:$Id: TQtWidget.h 32417 2010-02-27 03:42:53Z brun $ // @(#)root/qt:$Id: TQtWidget.h 33707 2010-06-02 06:27:34Z brun $
// Author: Valeri Fine 21/01/2002 // Author: Valeri Fine 21/01/2002
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *
* Copyright (C) 2003 by Valeri Fine. * * Copyright (C) 2003 by Valeri Fine. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 24 skipping to change at line 24
#define ROOT_TQtWidget #define ROOT_TQtWidget
// Definition of TQtWidget class // Definition of TQtWidget class
// "double-buffered" widget // "double-buffered" widget
#include <assert.h> #include <assert.h>
#include "Rtypes.h" #include "Rtypes.h"
#include "TCanvas.h" #include "TCanvas.h"
#ifndef __CINT__ #ifndef __CINT__
# include <qwidget.h> # include <QtGui/QWidget>
# if (QT_VERSION > 0x039999) # include <QtGui/QMouseEvent>
# include <QMouseEvent> # include <QtGui/QShowEvent>
# include <QCustomEvent> # include <QtGui/QFocusEvent>
# include <QShowEvent> # include <QtGui/QKeyEvent>
# include <QFocusEvent> # include <QtGui/QResizeEvent>
# include <QKeyEvent> # include <QtCore/QEvent>
# include <QResizeEvent> # include <QtGui/QPaintEvent>
# include <QEvent> # include <QtGui/QPaintDevice>
# include <QPaintEvent> # include <QtCore/QSize>
# include <QPaintDevice> # include <QtCore/QPoint>
# include <QSize> # include <QtCore/QPointer>
# include <QPoint> # include <QtGui/QPixmap>
# endif # include "TQtCanvasPainter.h"
# include <qpixmap.h>
#else #else
// List of the fake classes to the fake RootCint happy. // List of the fake classes to make RootCint happy.
class QWidget; class QWidget;
class QPixmap; class QPixmap;
class QMouseEvent; class QMouseEvent;
class QFocusEvent; class QFocusEvent;
class QCustomEvent; class QCustomEvent;
class QKeyEvent; class QKeyEvent;
class QShowEvent; class QShowEvent;
class QPaintEvent; class QPaintEvent;
class QPaintDevice; class QPaintDevice;
class QResizeEvent; class QResizeEvent;
class QSize; class QSize;
class QString; class QString;
class QEvent; class QEvent;
class QSizePolicy; class QSizePolicy;
class QContextMenuEvent; class QContextMenuEvent;
class QSize; class QSize;
class QPoint; class QPoint;
class TQtCanvasPainter;
#endif #endif
class QTimer; class QTimer;
class TApplication; class TApplication;
// //
// TQtWidget is a custom QWidget to back ROOT TCanvas. // TQtWidget is a custom QWidget to back ROOT TCanvas.
// //
// It can be used within Qt-based program and with Qt Designer as a "regula r" // It can be used within Qt-based program and with Qt Designer as a "regula r"
// Qt QWidget to create the Qt widget wihe builtin TCanvas' // Qt QWidget to create the Qt widget wihe builtin TCanvas'
// //
enum EEventTrackingBits { enum EEventTrackingBits {
skipping to change at line 104 skipping to change at line 104
int Width () const { return fBuffer ? fBuffer->width() : 0; } int Width () const { return fBuffer ? fBuffer->width() : 0; }
}; };
//___________________________________________________________________ //___________________________________________________________________
class TQtWidget : public QWidget { class TQtWidget : public QWidget {
#ifndef __CINT__ #ifndef __CINT__
Q_OBJECT Q_OBJECT
friend class TQtSynchPainting; friend class TQtSynchPainting;
#endif #endif
private: private:
TQtWidget(const TQtWidget&); TQtWidget(const TQtWidget&);
void operator=(const TQtWidget&); void operator=(const TQtWidget&);
//----- Private bits, clients can only test but not change them //----- Private bits, clients can only test but not change them
UInt_t fBits; //bit field status word UInt_t fBits; //bit field status word
enum { enum {
kBitMask = 0x00ffffff kBitMask = 0x00ffffff
}; };
bool fNeedStretch; bool fNeedStretch;
#ifndef __CINT__
QPointer<TQtCanvasPainter> fCanvasDecorator; //< The object to paint on
to the TQtWidget on the top of TCanvas image
#endif
protected: protected:
void Init(); void Init();
void ResetCanvas() { fCanvas = 0;} void ResetCanvas() { fCanvas = 0;}
public: public:
enum { enum {
kEXITSIZEMOVE, kEXITSIZEMOVE,
kENTERSIZEMOVE, kENTERSIZEMOVE,
kFORCESIZE kFORCESIZE
}; };
skipping to change at line 171 skipping to change at line 175
QWidget *GetRootID() const; QWidget *GetRootID() const;
virtual void EmitCanvasPainted() { emit CanvasPainted(); } virtual void EmitCanvasPainted() { emit CanvasPainted(); }
TCanvas *Canvas(); TCanvas *Canvas();
bool paintFlag(bool mode=TRUE); bool paintFlag(bool mode=TRUE);
void AdjustBufferSize(); void AdjustBufferSize();
bool PaintingActive () const; bool PaintingActive () const;
void SetIgnoreLeaveEnter(int ignore=1); void SetIgnoreLeaveEnter(int ignore=1);
virtual void enterEvent ( QEvent * ); virtual void enterEvent ( QEvent * );
#if (QT_VERSION > 0x039999)
virtual void customEvent ( QEvent * ); virtual void customEvent ( QEvent * );
#else
virtual void customEvent ( QCustomEvent *);
#endif
virtual void contextMenuEvent ( QContextMenuEvent *); virtual void contextMenuEvent ( QContextMenuEvent *);
virtual void focusInEvent ( QFocusEvent * ); virtual void focusInEvent ( QFocusEvent * );
virtual void focusOutEvent ( QFocusEvent * ); virtual void focusOutEvent ( QFocusEvent * );
virtual void leaveEvent ( QEvent * ); virtual void leaveEvent ( QEvent * );
virtual void mouseDoubleClickEvent(QMouseEvent* ); virtual void mouseDoubleClickEvent(QMouseEvent* );
virtual void mouseMoveEvent ( QMouseEvent * ); virtual void mouseMoveEvent ( QMouseEvent * );
virtual void mousePressEvent ( QMouseEvent * ); virtual void mousePressEvent ( QMouseEvent * );
virtual void mouseReleaseEvent( QMouseEvent * ); virtual void mouseReleaseEvent( QMouseEvent * );
virtual void keyPressEvent ( QKeyEvent * ); virtual void keyPressEvent ( QKeyEvent * );
virtual void keyReleaseEvent ( QKeyEvent * ); virtual void keyReleaseEvent ( QKeyEvent * );
skipping to change at line 199 skipping to change at line 199
// Layout methods: // Layout methods:
virtual void SetSizeHint (const QSize &size); virtual void SetSizeHint (const QSize &size);
public: public:
virtual QSize sizeHint () const; // returns the preferred s ize of the widget. virtual QSize sizeHint () const; // returns the preferred s ize of the widget.
virtual QSize minimumSizeHint () const; // returns the smallest si ze the widget can have. virtual QSize minimumSizeHint () const; // returns the smallest si ze the widget can have.
virtual QSizePolicy sizePolicy () const; // returns a QSizePolicy; a value describing the space requirements of the virtual QSizePolicy sizePolicy () const; // returns a QSizePolicy; a value describing the space requirements of the
protected: protected:
// -- A special event handler // -- A special event handler
virtual void exitSizeEvent (); virtual void exitSizeEvent ();
virtual void stretchWidget(QResizeEvent *e); virtual void stretchWidget(QResizeEvent *e);
TQtCanvasPainter *CanvasDecorator();
public: public:
//----- bit manipulation (a'la TObject ) //----- bit manipulation (a'la TObject )
void SetBit (UInt_t f, Bool_t set); void SetBit (UInt_t f, Bool_t set);
void SetBit (UInt_t f); void SetBit (UInt_t f);
void ResetBit (UInt_t f); void ResetBit (UInt_t f);
Bool_t TestBit (UInt_t f) const; Bool_t TestBit (UInt_t f) const;
Int_t TestBits (UInt_t f) const; Int_t TestBits (UInt_t f) const;
void InvertBit (UInt_t f); void InvertBit (UInt_t f);
void EmitSignal (UInt_t f); void EmitSignal (UInt_t f);
void EmitTestedSignal(); void EmitTestedSignal();
UInt_t GetAllBits() const; UInt_t GetAllBits() const;
void SetAllBits(UInt_t f); void SetAllBits(UInt_t f);
void SetCanvasDecorator( TQtCanvasPainter *decorator);
public: public:
// Static method to immitate ROOT as needed // Static method to immitate ROOT as needed
static TApplication *InitRint(Bool_t prompt=kFALSE, const char *appClass Name="QtRint", int *argc=0, char **argv=0, static TApplication *InitRint(Bool_t prompt=kFALSE, const char *appClass Name="QtRint", int *argc=0, char **argv=0,
void *options = 0, int numOptions = 0, Bool_t noLogo = kTRUE); void *options = 0, int numOptions = 0, Bool_t noLogo = kTRUE);
// Proxy methods to access the TCanvas selected TObject // Proxy methods to access the TCanvas selected TObject
// and last processed ROOT TCanvas event // and last processed ROOT TCanvas event
Int_t GetEvent() const; Int_t GetEvent() const;
Int_t GetEventX() const; Int_t GetEventX() const;
Int_t GetEventY() const; Int_t GetEventY() const;
skipping to change at line 307 skipping to change at line 309
//----- bit manipulation //----- bit manipulation
inline UInt_t TQtWidget::GetAllBits() const { return fBits; } inline UInt_t TQtWidget::GetAllBits() const { return fBits; }
inline void TQtWidget::SetAllBits(UInt_t f) { fBits = f; } inline void TQtWidget::SetAllBits(UInt_t f) { fBits = f; }
inline void TQtWidget::SetBit(UInt_t f) { fBits |= f & kBitMask; } inline void TQtWidget::SetBit(UInt_t f) { fBits |= f & kBitMask; }
inline void TQtWidget::ResetBit(UInt_t f) { fBits &= ~(f & kBitMask ); } inline void TQtWidget::ResetBit(UInt_t f) { fBits &= ~(f & kBitMask ); }
inline Bool_t TQtWidget::TestBit(UInt_t f) const { return (Bool_t) ((fBits & f) != 0); } inline Bool_t TQtWidget::TestBit(UInt_t f) const { return (Bool_t) ((fBits & f) != 0); }
inline Int_t TQtWidget::TestBits(UInt_t f) const { return (Int_t) (fBits & f); } inline Int_t TQtWidget::TestBits(UInt_t f) const { return (Int_t) (fBits & f); }
inline void TQtWidget::InvertBit(UInt_t f) { fBits ^= f & kBitMask; } inline void TQtWidget::InvertBit(UInt_t f) { fBits ^= f & kBitMask; }
inline TQtCanvasPainter *TQtWidget::CanvasDecorator() { return fCanvasDecor
ator; }
inline void TQtWidget::SetCanvasDecorator( TQtCanvasPainter *decorator) {
fCanvasDecorator = decorator;}
inline void TQtWidget::EnableSignalEvents (UInt_t f){ SetBit (f); } inline void TQtWidget::EnableSignalEvents (UInt_t f){ SetBit (f); }
inline void TQtWidget::DisableSignalEvents (UInt_t f){ ResetBit(f); } inline void TQtWidget::DisableSignalEvents (UInt_t f){ ResetBit(f); }
inline Bool_t TQtWidget::IsSignalEventEnabled(UInt_t f) const { return Test Bit (f); } inline Bool_t TQtWidget::IsSignalEventEnabled(UInt_t f) const { return Test Bit (f); }
inline void TQtWidget::EmitSignal(UInt_t f) {if (IsSignalEventEnabled(f) ) EmitTestedSignal();} inline void TQtWidget::EmitSignal(UInt_t f) {if (IsSignalEventEnabled(f) ) EmitTestedSignal();}
inline void TQtWidget::SetIgnoreLeaveEnter(int ignore) { fIgnoreLeaveEnte r = ignore; } inline void TQtWidget::SetIgnoreLeaveEnter(int ignore) { fIgnoreLeaveEnte r = ignore; }
#endif #endif
 End of changes. 11 change blocks. 
21 lines changed or deleted 29 lines changed or added


 TSeqCollection.h   TSeqCollection.h 
// @(#)root/cont:$Id: TSeqCollection.h 20986 2007-11-22 14:42:15Z rdm $ // @(#)root/cont:$Id: TSeqCollection.h 33807 2010-06-10 07:23:32Z brun $
// Author: Fons Rademakers 04/08/95 // Author: Fons Rademakers 04/08/95
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 61 skipping to change at line 61
virtual TObject *Before(const TObject *obj) const = 0; virtual TObject *Before(const TObject *obj) const = 0;
virtual TObject *After(const TObject *obj) const = 0; virtual TObject *After(const TObject *obj) const = 0;
virtual TObject *First() const = 0; virtual TObject *First() const = 0;
virtual TObject *Last() const = 0; virtual TObject *Last() const = 0;
Int_t LastIndex() const { return GetSize() - 1; } Int_t LastIndex() const { return GetSize() - 1; }
virtual Int_t IndexOf(const TObject *obj) const; virtual Int_t IndexOf(const TObject *obj) const;
virtual Bool_t IsSorted() const { return fSorted; } virtual Bool_t IsSorted() const { return fSorted; }
void UnSort() { fSorted = kFALSE; } void UnSort() { fSorted = kFALSE; }
Long64_t Merge(TCollection *list); Long64_t Merge(TCollection *list);
static Int_t ObjCompare(TObject *a, TObject *b); static Int_t ObjCompare(TObject *a, TObject *b);
static void QSort(TObject **a, Int_t first, Int_t last); static void QSort(TObject **a, Int_t first, Int_t last);
static void QSort(TObject **a, TObject **b, Int_t first, Int_t las static inline void QSort(TObject **a, TObject **b, Int_t first, Int_t la
t); st) { QSort(a, 1, &b, first, last); }
static void QSort(TObject **a, Int_t nBs, TObject ***b, Int_t fir
st, Int_t last);
ClassDef(TSeqCollection,0) //Sequenceable collection ABC ClassDef(TSeqCollection,0) //Sequenceable collection ABC
}; };
#endif #endif
 End of changes. 2 change blocks. 
5 lines changed or deleted 7 lines changed or added


 TSpectrum2Painter.h   TSpectrum2Painter.h 
skipping to change at line 34 skipping to change at line 34
// // // //
// TSpectrum2Painter Algorithms // // TSpectrum2Painter Algorithms //
// // // //
// 3D graphics representations package. // // 3D graphics representations package. //
// // // //
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
class TSpectrum2Painter: public TNamed { class TSpectrum2Painter: public TNamed {
public: public:
TSpectrum2Painter(TH2* h2); TSpectrum2Painter(TH2* h2, Int_t bs);
virtual ~TSpectrum2Painter(); virtual ~TSpectrum2Painter();
void GetAngles(Int_t &alpha,Int_t &beta,Int_t &view); void GetAngles(Int_t &alpha,Int_t &beta,Int_t &view);
void GetBezier(Int_t &bezier); void GetBezier(Int_t &bezier);
void GetChanGrid(Int_t &enable,Int_t &color); void GetChanGrid(Int_t &enable,Int_t &color);
void GetChanMarks(Int_t &enable,Int_t &color,Int_t &width,Int_t &height, Int_t &style); void GetChanMarks(Int_t &enable,Int_t &color,Int_t &width,Int_t &height, Int_t &style);
void GetColorAlgorithm(Int_t &colorAlgorithm); void GetColorAlgorithm(Int_t &colorAlgorithm);
void GetColorIncrements(Double_t &r,Double_t &g,Double_t &b); void GetColorIncrements(Double_t &r,Double_t &g,Double_t &b);
void GetContourWidth(Int_t &width); void GetContourWidth(Int_t &width);
void GetDisplayMode(Int_t &modeGroup,Int_t &displayMode); void GetDisplayMode(Int_t &modeGroup,Int_t &displayMode);
skipping to change at line 67 skipping to change at line 67
void SetColorIncrements(Double_t r,Double_t g,Double_t b); void SetColorIncrements(Double_t r,Double_t g,Double_t b);
void SetContourWidth(Int_t width); void SetContourWidth(Int_t width);
void SetDisplayMode(Int_t modeGroup,Int_t displayMode); void SetDisplayMode(Int_t modeGroup,Int_t displayMode);
void SetLightHeightWeight(Double_t weight); void SetLightHeightWeight(Double_t weight);
void SetLightPosition(Int_t x,Int_t y,Int_t z); void SetLightPosition(Int_t x,Int_t y,Int_t z);
void SetNodes(Int_t nodesx,Int_t nodesy); void SetNodes(Int_t nodesx,Int_t nodesy);
void SetPenAttr(Int_t color,Int_t style,Int_t width); void SetPenAttr(Int_t color,Int_t style,Int_t width);
void SetShading(Int_t shading,Int_t shadow); void SetShading(Int_t shading,Int_t shadow);
void SetZScale(Int_t scale); void SetZScale(Int_t scale);
static void PaintSpectrum(TH2* h2, Option_t *option=""); static void PaintSpectrum(TH2* h2, Option_t *option="",Int_t bs=1600);
enum { enum {
kModeGroupSimple=0, kModeGroupSimple=0,
kModeGroupHeight=1, kModeGroupHeight=1,
kModeGroupLight=2, kModeGroupLight=2,
kModeGroupLightHeight=3, kModeGroupLightHeight=3,
kDisplayModePoints=1, kDisplayModePoints=1,
kDisplayModeGrid=2, kDisplayModeGrid=2,
kDisplayModeContours=3, kDisplayModeContours=3,
kDisplayModeBars=4, kDisplayModeBars=4,
skipping to change at line 118 skipping to change at line 118
kChannelMarksNotDrawn=0, kChannelMarksNotDrawn=0,
kChannelMarksDrawn=1, kChannelMarksDrawn=1,
kChannelMarksStyleDot=1, kChannelMarksStyleDot=1,
kChannelMarksStyleCross=2, kChannelMarksStyleCross=2,
kChannelMarksStyleStar=3, kChannelMarksStyleStar=3,
kChannelMarksStyleRectangle=4, kChannelMarksStyleRectangle=4,
kChannelMarksStyleX=5, kChannelMarksStyleX=5,
kChannelMarksStyleDiamond=6, kChannelMarksStyleDiamond=6,
kChannelMarksStyleTriangle=7, kChannelMarksStyleTriangle=7,
kChannelGridNotDrawn=0, kChannelGridNotDrawn=0,
kChannelGridDrawn=1, kChannelGridDrawn=1
kMaximumXScreenResolution=1600
}; };
protected: protected:
TH2 *fH2; //pointer to 2D histogram TH2 TH2 *fH2; //pointer to 2D histogram TH2
Int_t fXmin; //x-starting channel of spectrum Int_t fXmin; //x-starting channel of spectrum
Int_t fXmax; //x-end channel of spectrum Int_t fXmax; //x-end channel of spectrum
Int_t fYmin; //y-starting channel of spectrum Int_t fYmin; //y-starting channel of spectrum
Int_t fYmax; //y-end channel of spectrum Int_t fYmax; //y-end channel of spectrum
Double_t fZmin; //base counts Double_t fZmin; //base counts
Double_t fZmax; //counts full scale Double_t fZmax; //counts full scale
skipping to change at line 185 skipping to change at line 184
Double_t fTyx; Double_t fTyx;
Double_t fTyy; Double_t fTyy;
Double_t fTyz; Double_t fTyz;
Double_t fVx; Double_t fVx;
Double_t fVy; Double_t fVy;
Double_t fNuSli; Double_t fNuSli;
//auxiliary internal variables, working place //auxiliary internal variables, working place
Double_t fZ,fZeq,fGbezx,fGbezy,fDxspline,fDyspline,fZPresetValue; Double_t fZ,fZeq,fGbezx,fGbezy,fDxspline,fDyspline,fZPresetValue;
Int_t fXt,fYt,fXs,fYs,fXe,fYe,fLine; Int_t fXt,fYt,fXs,fYs,fXe,fYe,fLine;
Short_t *fEnvelope; //! Short_t *fEnvelope; //!
Short_t *fEnvelopeContour; //! Short_t *fEnvelopeContour; //!
TColor *fNewColor; //! TColor *fNewColor; //!
Int_t fMaximumXScreenResolution; //!buffers' size
Int_t fNewColorIndex; Int_t fNewColorIndex;
Int_t fBzX[4]; Int_t fBzX[4];
Int_t fBzY[4]; Int_t fBzY[4];
Int_t BezC(Int_t i); Int_t BezC(Int_t i);
Double_t BezierBlend(Int_t i,Double_t bezf); Double_t BezierBlend(Int_t i,Double_t bezf);
void BezierSmoothing(Double_t bezf); void BezierSmoothing(Double_t bezf);
Double_t ColorCalculation(Double_t dx1,Double_t dy1,Double_t z1,Double_t dx2,Double_t dy2,Double_t z2,Double_t dx3,Double_t dy3,Double_t z3);//calc ulation of new color Double_t ColorCalculation(Double_t dx1,Double_t dy1,Double_t z1,Double_t dx2,Double_t dy2,Double_t z2,Double_t dx3,Double_t dy3,Double_t z3);//calc ulation of new color
void ColorModel(unsigned ui,unsigned ui1,unsigned ui2,unsigned ui3); //calculation of color according to chosen algorithm void ColorModel(unsigned ui,unsigned ui1,unsigned ui2,unsigned ui3); //calculation of color according to chosen algorithm
void CopyEnvelope(Double_t xr,Double_t xs,Double_t yr,Double_t ys); void CopyEnvelope(Double_t xr,Double_t xs,Double_t yr,Double_t ys);
 End of changes. 4 change blocks. 
7 lines changed or deleted 7 lines changed or added


 TSpline.h   TSpline.h 
// @(#)root/hist:$Id: TSpline.h 27193 2009-01-20 11:18:46Z brun $ // @(#)root/hist:$Id: TSpline.h 34074 2010-06-23 09:08:49Z brun $
// Author: Federico Carminati 28/02/2000 // Author: Federico Carminati 28/02/2000
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 55 skipping to change at line 55
fDelta(delta), fXmin(xmin), fDelta(delta), fXmin(xmin),
fXmax(xmax), fNp(np), fKstep(step), fXmax(xmax), fNp(np), fKstep(step),
fHistogram(0), fGraph(0), fNpx(100) {} fHistogram(0), fGraph(0), fNpx(100) {}
virtual ~TSpline(); virtual ~TSpline();
virtual void GetKnot(Int_t i, Double_t &x, Double_t &y) const =0; virtual void GetKnot(Int_t i, Double_t &x, Double_t &y) const =0;
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); virtual Int_t DistancetoPrimitive(Int_t px, Int_t py);
virtual void Draw(Option_t *option=""); virtual void Draw(Option_t *option="");
virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py); virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py);
virtual Double_t GetDelta() const {return fDelta;} virtual Double_t GetDelta() const {return fDelta;}
TH1F *GetHistogram() const {return fHistogram;}
virtual Int_t GetNp() const {return fNp;} virtual Int_t GetNp() const {return fNp;}
virtual Int_t GetNpx() const {return fNpx;} virtual Int_t GetNpx() const {return fNpx;}
virtual Double_t GetXmin() const {return fXmin;} virtual Double_t GetXmin() const {return fXmin;}
virtual Double_t GetXmax() const {return fXmax;} virtual Double_t GetXmax() const {return fXmax;}
virtual void Paint(Option_t *option=""); virtual void Paint(Option_t *option="");
virtual Double_t Eval(Double_t x) const=0; virtual Double_t Eval(Double_t x) const=0;
virtual void SaveAs(const char * /*filename*/,Option_t * /*option*/) const {;} virtual void SaveAs(const char * /*filename*/,Option_t * /*option*/) const {;}
void SetNpx(Int_t n) {fNpx=n;} void SetNpx(Int_t n) {fNpx=n;}
ClassDef (TSpline,2) // Spline base class ClassDef (TSpline,2) // Spline base class
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


 TThread.h   TThread.h 
// @(#)root/thread:$Id: TThread.h 32890 2010-04-07 08:51:48Z rdm $ // @(#)root/thread:$Id: TThread.h 33808 2010-06-10 08:46:25Z rdm $
// Author: Fons Rademakers 02/07/97 // Author: Fons Rademakers 02/07/97
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 201 skipping to change at line 201
}; };
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// // // //
// TThreadTimer // // TThreadTimer //
// // // //
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
class TThreadTimer : public TTimer { class TThreadTimer : public TTimer {
public: public:
TThreadTimer(Long_t ms = 100); TThreadTimer(Long_t ms = 10);
Bool_t Notify(); Bool_t Notify();
}; };
#endif #endif
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 TUnfold.h   TUnfold.h 
// Author: Stefan Schmitt // Author: Stefan Schmitt
// DESY, 13/10/08 // DESY, 13/10/08
// Version 13, new methods for derived classes // Version 15, simplified L-curve scan, new tau definition, new eror calc.
// //
// History: // History:
// Version 14, with changes in TUnfoldSys.cxx
// Version 13, new methods for derived classes
// Version 12, with support for preconditioned matrix inversion // Version 12, with support for preconditioned matrix inversion
// Version 11, regularisation methods have return values // Version 11, regularisation methods have return values
// Version 10, with bug-fix in TUnfold.cxx // Version 10, with bug-fix in TUnfold.cxx
// Version 9, implements method for optimized inversion of sparse matrix // Version 9, implements method for optimized inversion of sparse matrix
// Version 8, replace all TMatrixSparse matrix operations by private cod e // Version 8, replace all TMatrixSparse matrix operations by private cod e
// Version 7, fix problem with TMatrixDSparse,TMatrixD multiplication // Version 7, fix problem with TMatrixDSparse,TMatrixD multiplication
// Version 6, completely remove definition of class XY // Version 6, completely remove definition of class XY
// Version 5, move definition of class XY from TUnfold.C to this file // Version 5, move definition of class XY from TUnfold.C to this file
// Version 4, with bug-fix in TUnfold.C // Version 4, with bug-fix in TUnfold.C
// Version 3, with bug-fix in TUnfold.C // Version 3, with bug-fix in TUnfold.C
skipping to change at line 29 skipping to change at line 31
// Version 0, stable version of basic unfolding algorithm // Version 0, stable version of basic unfolding algorithm
#ifndef ROOT_TUnfold #ifndef ROOT_TUnfold
#define ROOT_TUnfold #define ROOT_TUnfold
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// // // //
// // // //
// TUnfold solves the inverse problem // // TUnfold solves the inverse problem //
// // // //
// T T // // T -1 2 T //
// chi**2 = 1/2 * (y-Ax) V (y-Ax) + tau (L(x-x0)) L(x-x0) // // chi**2 = (y-Ax) Vyy (y-Ax) + tau (L(x-x0)) L(x-x0) //
// // // //
// Monte Carlo input // // Monte Carlo input //
// y: vector of measured quantities (dimension ny) // // y: vector of measured quantities (dimension ny) //
// V: inverse of covariance matrix for y (dimension ny x ny) // // Vyy: covariance matrix for y (dimension ny x ny) //
// A: migration matrix (dimension ny x nx) // // A: migration matrix (dimension ny x nx) //
// x: unknown underlying distribution (dimension nx) // // x: unknown underlying distribution (dimension nx) //
// Regularisation // // Regularisation //
// tau: parameter, defining the regularisation strength // // tau: parameter, defining the regularisation strength //
// L: matrix of regularisation conditions (dimension nl x nx) // // L: matrix of regularisation conditions (dimension nl x nx) //
// x0: underlying distribution bias // // x0: underlying distribution bias //
// // // //
// where chi**2 is minimized as a function of x // // where chi**2 is minimized as a function of x //
// // // //
// The algorithm is based on "standard" matrix inversion, with the // // The algorithm is based on "standard" matrix inversion, with the //
skipping to change at line 63 skipping to change at line 65
#include <TH1D.h> #include <TH1D.h>
#include <TH2D.h> #include <TH2D.h>
#include <TObject.h> #include <TObject.h>
#include <TArrayI.h> #include <TArrayI.h>
#include <TSpline.h> #include <TSpline.h>
#include <TMatrixDSparse.h> #include <TMatrixDSparse.h>
#include <TMatrixD.h> #include <TMatrixD.h>
#include <TObjArray.h> #include <TObjArray.h>
class TUnfold:public TObject { class TUnfold : public TObject {
private: private:
void InitTUnfold(void); // initialize all data members void InitTUnfold(void); // initialize all data members
public:
enum EConstraint {
kEConstraintNone =0, // use no extra constraint
kEConstraintArea =1 // enforce preservation of the area
};
enum ERegMode { // regularisation scheme
kRegModeNone = 0, // no regularisation
kRegModeSize = 1, // regularise the size of the output
kRegModeDerivative = 2, // regularize the 1st derivative of the out
put
kRegModeCurvature = 3, // regularize the 2nd derivative of the out
put
kRegModeMixed = 4 // mixed regularisation pattern
};
protected: protected:
TMatrixDSparse * fA; // Input: matrix TMatrixDSparse * fA; // Input: matrix
TMatrixDSparse *fLsquared; // Input: regularisation conditions squared TMatrixDSparse *fLsquared; // Input: regularisation conditions squared
TMatrixDSparse *fV; // Input: covariance matrix for y TMatrixDSparse *fVyy; // Input: covariance matrix for y
TMatrixD *fY; // Input: y TMatrixD *fY; // Input: y
TMatrixD *fX0; // Input: x0 TMatrixD *fX0; // Input: x0
Double_t fTau; // Input: regularisation parameter Double_t fTauSquared; // Input: regularisation parameter
Double_t fBiasScale; // Input: scale factor for the bias Double_t fBiasScale; // Input: scale factor for the bias
TArrayI fXToHist; // Input: matrix indices -> histogram bins TArrayI fXToHist; // Input: matrix indices -> histogram bins
TArrayI fHistToX; // Input: histogram bins -> matrix indices TArrayI fHistToX; // Input: histogram bins -> matrix indices
TArrayD fSumOverY; // Input: sum of all columns TArrayD fSumOverY; // Input: sum of all columns
TMatrixDSparse *fEinv; // Result: inverse error matrix EConstraint fConstraint; // Input: type of constraint to use
TMatrixDSparse *fAtV; // Result: fA# times fV ERegMode fRegMode; // Input: type of regularisation
TMatrixD *fE; // Result: error matrix private:
TMatrixD *fX; // Result: x TMatrixD *fX; // Result: x
TMatrixDSparse *fVxx; // Result: covariance matrix on x
TMatrixDSparse *fAx; // Result: Ax TMatrixDSparse *fAx; // Result: Ax
Double_t fChi2A; // Result: chi**2 contribution from (y-Ax)V (y-Ax) Double_t fChi2A; // Result: chi**2 contribution from (y-Ax)V (y-Ax)
Double_t fChi2L; // Result: chi**2 contribution from tau(x-s *x0)Lsquared(x-s*x0) Double_t fLXsquared; // Result: chi**2 contribution from (x-s*x0 )Lsquared(x-s*x0)
Double_t fRhoMax; // Result: maximum global correlation Double_t fRhoMax; // Result: maximum global correlation
Double_t fRhoAvg; // Result: average global correlation Double_t fRhoAvg; // Result: average global correlation
Int_t fNdf; // Result: number of degrees of freedom Int_t fNdf; // Result: number of degrees of freedom
TMatrixDSparse *fDXDAM[2]; // Result: part of derivative dx_k/dA_ij
TMatrixDSparse *fDXDAZ[2]; // Result: part of derivative dx_k/dA_ij
TMatrixDSparse *fDXDtauSquared; // Result: derivative dx/dtau
TMatrixDSparse *fDXDY; // Result: derivative dx/dy
protected: protected:
TUnfold(void); // for derived classes TUnfold(void); // for derived classes
virtual Double_t DoUnfold(void); // the unfolding algorithm virtual Double_t DoUnfold(void); // the unfolding algorithm
virtual void CalculateChi2Rho(void); // supplementory calculations
virtual void ClearResults(void); // clear all results virtual void ClearResults(void); // clear all results
static TMatrixDSparse *MultiplyMSparseM(TMatrixDSparse const &a,TMatrixD TMatrixDSparse *MultiplyMSparseM(TMatrixDSparse const *a,TMatrixD const
const &b); // multiply sparse and non-sparse matrix *b) const; // multiply sparse and non-sparse matrix
static TMatrixDSparse *MultiplyMSparseMSparse(TMatrixDSparse const &a,TM TMatrixDSparse *MultiplyMSparseMSparse(TMatrixDSparse const *a,TMatrixDS
atrixDSparse const &b); // multiply sparse and sparse matrix parse const *b) const; // multiply sparse and sparse matrix
static TMatrixDSparse *MultiplyMSparseTranspMSparse(TMatrixDSparse const TMatrixDSparse *MultiplyMSparseTranspMSparse(TMatrixDSparse const *a,TMa
&a,TMatrixDSparse const &b); // multiply transposed sparse and sparse matr trixDSparse const *b) const; // multiply transposed sparse and sparse matri
ix x
static Double_t MultiplyVecMSparseVec(TMatrixDSparse const &a,TMatrixD c TMatrixDSparse *MultiplyMSparseMSparseTranspVector
onst &v); // scalar product of v and Av (TMatrixDSparse const *m1,TMatrixDSparse const *m2,
static TMatrixD *InvertMSparse(TMatrixDSparse const &A); // invert spars TMatrixTBase<Double_t> const *v) const; // calculate M_ij = sum_k [m
e matrix 1_ik*m2_jk*v[k] ]. the pointer v may be zero (means no scaling).
static Bool_t InvertMConditioned(TMatrixD &A); // invert matrix includin TMatrixD *InvertMSparse(TMatrixDSparse const *A) const; // invert sparse
g preconditioning matrix
static void AddMSparse(TMatrixDSparse &dest,Double_t const &f,TMatrixDSp static Bool_t InvertMConditioned(TMatrixD *A); // invert matrix includin
arse const &src); // replacement for dest += f*src g preconditioning
void AddMSparse(TMatrixDSparse *dest,Double_t const &f,TMatrixDSparse co
nst *src); // replacement for dest += f*src
TMatrixDSparse *CreateSparseMatrix(Int_t nrow,Int_t ncol,Int_t nele,Int_
t *row,Int_t *col,Double_t *data) const; // create a TMatrixDSparse from an
array
inline Int_t GetNx(void) const { inline Int_t GetNx(void) const {
return fA->GetNcols(); return fA->GetNcols();
} // number of non-zero output bins } // number of non-zero output bins
inline Int_t GetNy(void) const { inline Int_t GetNy(void) const {
return fA->GetNrows(); return fA->GetNrows();
} // number of input bins } // number of input bins
void ErrorMatrixToHist(TH2 *ematrix,TMatrixD const *emat,Int_t const *bi nMap, void ErrorMatrixToHist(TH2 *ematrix,TMatrixDSparse const *emat,Int_t con st *binMap,
Bool_t doClear) const; // return an error matrix as histogram Bool_t doClear) const; // return an error matrix as histogram
public: inline TMatrixDSparse const *GetDXDY(void) { return fDXDY; } // access d
erivative dx/dy
inline TMatrixDSparse const *GetDXDAM(int i) { return fDXDAM[i]; } // ac
cess matrix parts of the derivative dx/dA
inline TMatrixDSparse const *GetDXDAZ(int i) { return fDXDAZ[i]; } // ac
cess vector parts of the derivative dx/dA
inline TMatrixDSparse const *GetDXDtauSquared(void) { return fDXDtauSqua
red; } // get derivative dx/dtauSquared
inline TMatrixDSparse const *GetAx(void) { return fAx; } // get vector A
x
public:
enum EHistMap { // mapping between unfolding matrix and TH2 axes enum EHistMap { // mapping between unfolding matrix and TH2 axes
kHistMapOutputHoriz = 0, // map unfolding output to x-axis of TH2 ma trix kHistMapOutputHoriz = 0, // map unfolding output to x-axis of TH2 ma trix
kHistMapOutputVert = 1 // map unfolding output to y-axis of TH2 ma trix kHistMapOutputVert = 1 // map unfolding output to y-axis of TH2 ma trix
}; };
enum ERegMode { // regularisation scheme TUnfold(TH2 const *hist_A, EHistMap histmap,
kRegModeNone = 0, // no regularisation ERegMode regmode = kRegModeSize,
kRegModeSize = 1, // regularise the size of the output EConstraint constraint=kEConstraintArea); // constructor
kRegModeDerivative = 2, // regularize the 1st derivative of the out
put
kRegModeCurvature = 3 // regularize the 2nd derivative of the out
put
};
TUnfold(TH2 const *hist_A, EHistMap histmap, ERegMode regmode = kRegMode
Size); // constructor
virtual ~ TUnfold(void); // delete data members virtual ~ TUnfold(void); // delete data members
static void DeleteMatrix(TMatrixD **m); // delete and invalidate pointer static void DeleteMatrix(TMatrixD **m); // delete and invalidate pointer
static void DeleteMatrix(TMatrixDSparse **m); // delete and invalidate p ointer static void DeleteMatrix(TMatrixDSparse **m); // delete and invalidate p ointer
void SetBias(TH1 const *bias); // set alternative bias void SetBias(TH1 const *bias); // set alternative bias
void SetConstraint(EConstraint constraint); // set type of constraint fo r the next unfolding
Int_t RegularizeSize(int bin, Double_t const &scale = 1.0); // regular ise the size of one output bin Int_t RegularizeSize(int bin, Double_t const &scale = 1.0); // regular ise the size of one output bin
Int_t RegularizeDerivative(int left_bin, int right_bin, Double_t const & scale = 1.0); // regularize difference of two output bins (1st derivative) Int_t RegularizeDerivative(int left_bin, int right_bin, Double_t const & scale = 1.0); // regularize difference of two output bins (1st derivative)
Int_t RegularizeCurvature(int left_bin, int center_bin, int right_bin, D ouble_t const &scale_left = 1.0, Double_t const &scale_right = 1.0); // re gularize curvature of three output bins (2nd derivative) Int_t RegularizeCurvature(int left_bin, int center_bin, int right_bin, D ouble_t const &scale_left = 1.0, Double_t const &scale_right = 1.0); // re gularize curvature of three output bins (2nd derivative)
Int_t RegularizeBins(int start, int step, int nbin, ERegMode regmode); // regularize a 1-dimensional curve Int_t RegularizeBins(int start, int step, int nbin, ERegMode regmode); // regularize a 1-dimensional curve
Int_t RegularizeBins2D(int start_bin, int step1, int nbin1, int step2, i nt nbin2, ERegMode regmode); // regularize a 2-dimensional grid Int_t RegularizeBins2D(int start_bin, int step1, int nbin1, int step2, i nt nbin2, ERegMode regmode); // regularize a 2-dimensional grid
Double_t DoUnfold(Double_t const &tau, Double_t DoUnfold(Double_t const &tau,
TH1 const *hist_y, Double_t const &scaleBias=0.0); // do the unfolding TH1 const *hist_y, Double_t const &scaleBias=0.0); // do the unfolding
Int_t SetInput(TH1 const *hist_y, Double_t const &scaleBias=0.0,Double_t oneOverZeroError=0.0); // define input distribution for ScanLCurve virtual Int_t SetInput(TH1 const *hist_y, Double_t const &scaleBias=0.0, Double_t oneOverZeroError=0.0); // define input distribution for ScanLCurve
virtual Double_t DoUnfold(Double_t const &tau); // Unfold with given cho ice of tau virtual Double_t DoUnfold(Double_t const &tau); // Unfold with given cho ice of tau
virtual Int_t ScanLcurve(Int_t nPoint,Double_t const &tauMin, virtual Int_t ScanLcurve(Int_t nPoint,Double_t const &tauMin,
Double_t const &tauMax,TGraph **lCurve, Double_t const &tauMax,TGraph **lCurve,
TSpline **logTauX=0,TSpline **logTauY=0); // sca n the L curve using successive calls to DoUnfold(Double_t) TSpline **logTauX=0,TSpline **logTauY=0); // sca n the L curve using successive calls to DoUnfold(Double_t)
TH1D *GetOutput(char const *name, char const *title, Double_t x0 = 0.0, Double_t x1 = 0.0) const; // get unfolding result TH1D *GetOutput(char const *name, char const *title, Double_t x0 = 0.0, Double_t x1 = 0.0) const; // get unfolding result
TH1D *GetBias(char const *name, char const *title, Double_t x0 = 0.0, Do uble_t x1 = 0.0) const; // get bias TH1D *GetBias(char const *name, char const *title, Double_t x0 = 0.0, Do uble_t x1 = 0.0) const; // get bias
TH1D *GetFoldedOutput(char const *name, char const *title, Double_t y0 = 0.0, Double_t y1 = 0.0) const; // get folded unfolding result TH1D *GetFoldedOutput(char const *name, char const *title, Double_t y0 = 0.0, Double_t y1 = 0.0) const; // get folded unfolding result
TH1D *GetInput(char const *name, char const *title, Double_t y0 = 0.0, D ouble_t y1 = 0.0) const; // get unfolding input TH1D *GetInput(char const *name, char const *title, Double_t y0 = 0.0, D ouble_t y1 = 0.0) const; // get unfolding input
TH2D *GetRhoIJ(char const *name, char const *title, Double_t x0 = 0.0, D ouble_t x1 = 0.0) const; // get correlation coefficients TH2D *GetRhoIJ(char const *name, char const *title, Double_t x0 = 0.0, D ouble_t x1 = 0.0) const; // get correlation coefficients
TH2D *GetEmatrix(char const *name, char const *title, Double_t x0 = 0.0, Double_t x1 = 0.0) const; // get error matrix TH2D *GetEmatrix(char const *name, char const *title, Double_t x0 = 0.0, Double_t x1 = 0.0) const; // get error matrix
TH1D *GetRhoI(char const *name, char const *title, Double_t x0 = 0.0, Do uble_t x1 = 0.0) const; // get global correlation coefficients TH1D *GetRhoI(char const *name, char const *title, Double_t x0 = 0.0, Do uble_t x1 = 0.0) const; // get global correlation coefficients
TH2D *GetLsquared(char const *name, char const *title, Double_t x0 = 0.0 , Double_t x1 = 0.0) const; // get regularisation conditions squared TH2D *GetLsquared(char const *name, char const *title, Double_t x0 = 0.0 , Double_t x1 = 0.0) const; // get regularisation conditions squared
void GetOutput(TH1 *output,Int_t const *binMap=0) const; // get output d istribution, averaged over bins void GetOutput(TH1 *output,Int_t const *binMap=0) const; // get output d istribution, averaged over bins
void GetEmatrix(TH2 *ematrix,Int_t const *binMap=0) const; // get error matrix, averaged over bins void GetEmatrix(TH2 *ematrix,Int_t const *binMap=0) const; // get error matrix, averaged over bins
Double_t GetRhoI(TH1 *rhoi,TH2 *ematrixinv=0,Int_t const *binMap=0) cons t; // get global correlation coefficients and inverse of error matrix, aver aged over bins Double_t GetRhoI(TH1 *rhoi,TH2 *ematrixinv=0,Int_t const *binMap=0) cons t; // get global correlation coefficients and inverse of error matrix, aver aged over bins
void GetRhoIJ(TH2 *rhoij,Int_t const *binMap=0) const; // get correlatio n coefficients, averaged over bins void GetRhoIJ(TH2 *rhoij,Int_t const *binMap=0) const; // get correlatio n coefficients, averaged over bins
Double_t const &GetTau(void) const; // regularisation parameter Double_t GetTau(void) const; // regularisation parameter
Double_t const &GetRhoMax(void) const; // maximum global correlati Double_t GetRhoMax(void) const; // maximum global correlation
on Double_t GetRhoAvg(void) const; // average global correlation
Double_t const &GetRhoAvg(void) const; // average global correlati Double_t GetChi2A(void) const; // chi**2 contribution from A
on Double_t GetChi2L(void) const; // chi**2 contribution from L
Double_t const &GetChi2A(void) const; // chi**2 contribution from virtual Double_t GetLcurveX(void) const; // x axis of L curve
A virtual Double_t GetLcurveY(void) const; // y axis of L curve
Double_t const &GetChi2L(void) const; // chi**2 contribution from
L
Double_t GetLcurveX(void) const; // x axis of L curve
Double_t GetLcurveY(void) const; // y axis of L curve
Int_t GetNdf(void) const; // number of degrees of freedom Int_t GetNdf(void) const; // number of degrees of freedom
Int_t GetNpar(void) const; // number of parameters Int_t GetNpar(void) const; // number of parameters
ClassDef(TUnfold, 0) //Unfolding with support for L-curve analysis ClassDef(TUnfold, 0) //Unfolding with support for L-curve analysis
}; };
#endif #endif
 End of changes. 21 change blocks. 
52 lines changed or deleted 77 lines changed or added


 TUnfoldSys.h   TUnfoldSys.h 
// Author: Stefan Schmitt // Author: Stefan Schmitt
// DESY, 23/01/09 // DESY, 23/01/09
// Version 13, support for systematic errors // Version 15, fix bugs with uncorr. uncertainties, add backgnd subtraction
//
// History:
// Version 14, with changes in TUnfoldSys.cxx
// Version 13, support for systematic errors
#ifndef ROOT_TUnfoldSys #ifndef ROOT_TUnfoldSys
#define ROOT_TUnfoldSys #define ROOT_TUnfoldSys
#include <TUnfold.h> #include <TUnfold.h>
class TMap; class TMap;
class TUnfoldSys : public TUnfold { class TUnfoldSys : public TUnfold {
private: private:
void InitTUnfoldSys(void); // initialize all data members void InitTUnfoldSys(void); // initialize all data members
protected: protected:
TMatrixDSparse * fDA2; // Input: uncorrelated errors on fA (square TMatrixDSparse *fDAinRelSq; // Input: normalized errors from input matr
d) ix
TMatrixD* fDAcol; // Input: normalized column errors on fA TMatrixD* fDAinColRelSq; // Input: normalized column err.sq. (inp.ma
tr.)
TMatrixD* fAoutside; // Input: underflow/overflow bins TMatrixD* fAoutside; // Input: underflow/overflow bins
TMap *fSysIn; // Input: correlated errors TMap *fSysIn; // Input: correlated errors
TMatrixDSparse *fESparse; // Result: sparse version of fE TMap *fBgrIn; // Input: size of background sources
TMatrixDSparse *fVYAx; // Result: V(y-Ax) for syst.errors TMap *fBgrErrUncorrIn; // Input: uncorrelated error from bgr sourc
TMatrixDSparse *fEAtV; // Result: EA#V for syst.errors es
TMatrixDSparse *fAE; // Result: AE for chi**2 TMap *fBgrErrCorrIn; // Input: background sources correlated err
TMatrixDSparse *fAEAtV_one; // Result: AEA#V-1 for chi**2 or
TMatrixD *fErrorUncorrX; // Result: syst.error from fDA2 on fX Double_t fDtau; // Input: error on tau
TMatrixD *fErrorUncorrAx; // Result: syst.error from fDA2 on fAx TMatrixD *fYData; // Input: fY prior to bgr subtraction
TMap *fErrorCorrX; // Result: syst.error from fSysIn TMatrixDSparse *fVyyData; // Input: error on fY prior to bgr subtract
TMap *fErrorCorrAx; // Result: syst.error from fSysIn ion
TMatrixDSparse *fEmatUncorrX; // Result: syst.error from fDA2 on fX
TMatrixDSparse *fEmatUncorrAx; // Result: syst.error from fDA2 on fA
x
TMap *fDeltaCorrX; // Result: syst.shift from fSysIn on fX
TMap *fDeltaCorrAx; // Result: syst.shift from fSysIn on fAx
TMatrixDSparse *fDeltaSysTau; // Result: systematic shift from tau
protected: protected:
TUnfoldSys(void); // for derived classes TUnfoldSys(void); // for derived classes
virtual void ClearResults(void); // clear all results virtual void ClearResults(void); // clear all results
virtual void PrepareSysError(void); // common calculations for syst.erro rs virtual void PrepareSysError(void); // common calculations for syst.erro rs
virtual TMatrixD *PrepareUncorrEmat(TMatrixDSparse const *m1,TMatrixDSpa virtual TMatrixDSparse *PrepareUncorrEmat(TMatrixDSparse const *m1,TMatr
rse const *m2); // calculate uncorrelated error matrix ixDSparse const *m2); // calculate uncorrelated error matrix
virtual TMatrixD *PrepareCorrEmat(TMatrixDSparse const *m1,TMatrixDSpars virtual TMatrixDSparse *PrepareCorrEmat(TMatrixDSparse const *m1,TMatrix
e const *m2,TMatrixDSparse const *dsys); // calculate correlated error matr DSparse const *m2,TMatrixDSparse const *dsys); // calculate correlated erro
ix r matrix
void ScaleColumnsByVector(TMatrixDSparse *m,TMatrixTBase<Double_t> const
*v) const; // scale columns of m by the corresponding rows of v
void VectorMapToHist(TH1 *hist_delta,TMatrixDSparse const *delta,Int_t c
onst *binMap); // map and sum vector delta, save in hist_delta
void GetEmatrixFromVyy(TMatrixDSparse const *vyy,TH2 *ematrix,Int_t cons
t *binMap,Bool_t clearEmat); // propagate error matrix vyy to the result
void DoBackgroundSubtraction(void);
public: public:
enum ESysErrMode { // meaning of the argument to AddSysError() enum ESysErrMode { // meaning of the argument to AddSysError()
kSysErrModeMatrix=0, // matrix is an alternative to the default matrix , the errors are the difference to the original matrix kSysErrModeMatrix=0, // matrix is an alternative to the default matrix , the errors are the difference to the original matrix
kSysErrModeShift=1, // matrix gives the absolute shifts kSysErrModeShift=1, // matrix gives the absolute shifts
kSysErrModeRelative=2 // matrix gives the relative shifts kSysErrModeRelative=2 // matrix gives the relative shifts
}; };
TUnfoldSys(TH2 const *hist_A, EHistMap histmap, ERegMode regmode = kRegM TUnfoldSys(TH2 const *hist_A, EHistMap histmap, ERegMode regmode = kRegM
odeSize); // constructor odeSize,
EConstraint constraint=kEConstraintNone); // constructor
virtual ~ TUnfoldSys(void); // delete data members virtual ~ TUnfoldSys(void); // delete data members
void AddSysError(TH2 const *sysError,char const *name, EHistMap histmap, void AddSysError(TH2 const *sysError,char const *name, EHistMap histmap,
ESysErrMode mode); // add a systematic error source ESysErrMode mode); // add a systematic error source
void GetEmatrixSysUncorr(TH2 *ematrix,Int_t const *binMap=0,Bool_t clear void GetDeltaSysSource(TH1 *hist_delta,char const *source,
Emat=kTRUE); // get error matrix contribution from statistical errors on th Int_t const *binMap=0); // get systematic shifts
e matrix A from one systematic source
void SubtractBackground(TH1 const *hist_bgr,char const *name,
Double_t const &scale=1.0,
Double_t const &scale_error=0.0); // subtract ba
ckground prior to unfolding
virtual Int_t SetInput(TH1 const *hist_y, Double_t const &scaleBias=0.0,
Double_t oneOverZeroError=0.0); // define input consistently in case of bac
kground subtraction
void GetDeltaSysBackgroundScale(TH1 *delta,char const *source,
Int_t const *binMap=0); // get correlated u
ncertainty induced by the scale uncertainty of a background source
void SetTauError(Double_t const &delta_tau); // set uncertainty on tau
void GetDeltaSysTau(TH1 *delta,Int_t const *binMap=0); // get correlated
uncertainty from varying tau
void GetEmatrixSysUncorr(TH2 *ematrix,Int_t const *binMap=0,Bool_t clear
Emat=kTRUE); // get error matrix contribution from uncorrelated errors on t
he matrix A
void GetEmatrixSysSource(TH2 *ematrix,char const *source, void GetEmatrixSysSource(TH2 *ematrix,char const *source,
Int_t const *binMap=0,Bool_t clearEmat=kTRUE); // get error matrix from one systematic source Int_t const *binMap=0,Bool_t clearEmat=kTRUE); // get error matrix from one systematic source
void GetEmatrixSysBackgroundUncorr(TH2 *ematrix,char const *source,
void GetEmatrixSysTotal(TH2 *ematrix,Int_t const *binMap=0,Bool_t clearE Int_t const *binMap=0,Bool_t clearEmat=k
mat=kTRUE); // get total systematic error TRUE); // get error matrix from uncorrelated error of one background source
void GetEmatrixTotal(TH2 *ematrix,Int_t const *binMap=0); // get total e void GetEmatrixSysBackgroundScale(TH2 *ematrix,char const *source,
rror including statistical error Int_t const *binMap=0,Bool_t clearEmat=kT
RUE); // get error matrix from the scale error of one background source
Double_t GetChi2Sys(void); void GetEmatrixSysTau(TH2 *ematrix,
Int_t const *binMap=0,Bool_t clearEmat=kTRUE); // get
error matrix from tau variation
void GetEmatrixInput(TH2 *ematrix,Int_t const *binMap=0,Bool_t clearEmat
=kTRUE); // get error contribution from input vector
void GetEmatrixTotal(TH2 *ematrix,Int_t const *binMap=0); // get total e
rror including systematic,statistical,background,tau errors
Double_t GetChi2Sys(void); // get total chi**2 including all systematic
errors
ClassDef(TUnfoldSys, 0) //Unfolding with support for systematic error pr opagation ClassDef(TUnfoldSys, 0) //Unfolding with support for systematic error pr opagation
}; };
#endif #endif
 End of changes. 7 change blocks. 
30 lines changed or deleted 73 lines changed or added


 TUnuranDiscrDist.h   TUnuranDiscrDist.h 
// @(#)root/unuran:$Id: TUnuranDiscrDist.h 28968 2009-06-12 16:41:43Z monet a $ // @(#)root/unuran:$Id: TUnuranDiscrDist.h 34077 2010-06-23 10:09:18Z monet a $
// Authors: L. Moneta, J. Leydold Wed Feb 28 2007 // Authors: L. Moneta, J. Leydold Wed Feb 28 2007
/********************************************************************** /**********************************************************************
* * * *
* Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT * * Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT *
* * * *
* * * *
**********************************************************************/ **********************************************************************/
// Header file for class TUnuranDiscrDist // Header file for class TUnuranDiscrDist
skipping to change at line 56 skipping to change at line 56
can be set as well otherwise will be estimated internally if required. can be set as well otherwise will be estimated internally if required.
*/ */
class TUnuranDiscrDist : public TUnuranBaseDist { class TUnuranDiscrDist : public TUnuranBaseDist {
public: public:
/** /**
Constructor from a generic function object specifying the pdf Constructor from a generic function object specifying the pdf
*/ */
TUnuranDiscrDist (const ROOT::Math::IGenFunction & func ); TUnuranDiscrDist (const ROOT::Math::IGenFunction & func, bool copyFunc = false );
/** /**
Constructor from a TF1 objects specifying the pdf Constructor from a TF1 objects specifying the pdf
*/ */
TUnuranDiscrDist (TF1 * func ); TUnuranDiscrDist (TF1 * func );
/** /**
Constructor from a vector of probability Constructor from a vector of probability
*/ */
template<class Iterator> template<class Iterator>
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 TUnuranSampler.h   TUnuranSampler.h 
// @(#)root/mathcore:$Id: TUnuranSampler.h 33181 2010-04-25 10:15:08Z monet a $ // @(#)root/mathcore:$Id: TUnuranSampler.h 34077 2010-06-23 10:09:18Z monet a $
// Author: L. Moneta Fri Sep 22 15:06:47 2006 // Author: L. Moneta Fri Sep 22 15:06:47 2006
/********************************************************************** /**********************************************************************
* * * *
* Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT * * Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT *
* * * *
* * * *
**********************************************************************/ **********************************************************************/
// Header file for class TUnuranSampler // Header file for class TUnuranSampler
skipping to change at line 84 skipping to change at line 84
*/ */
void SetRandom(TRandom * r); void SetRandom(TRandom * r);
/** /**
Set the random seed for the TRandom instances used by the sampler Set the random seed for the TRandom instances used by the sampler
classes classes
Needs to be called before Init to have effect Needs to be called before Init to have effect
*/ */
void SetSeed(unsigned int seed); void SetSeed(unsigned int seed);
/*
set the mode
*/
void SetMode(double mode) {
fMode = mode;
fHasMode = true;
}
/*
set the area
*/
void SetArea(double area) {
fArea = area;
fHasArea = true;
}
/** /**
Get the random engine used by the sampler Get the random engine used by the sampler
*/ */
TRandom * GetRandom(); TRandom * GetRandom();
/** /**
sample one event in one dimension sample one event in one dimension
better implementation could be provided by the derived classes better implementation could be provided by the derived classes
*/ */
double Sample1D();// { double Sample1D();// {
skipping to change at line 120 skipping to change at line 136
(this can be function value at the center or its integral in the bin (this can be function value at the center or its integral in the bin
divided by the bin width) divided by the bin width)
By default do not do random sample, just return the function values By default do not do random sample, just return the function values
*/ */
bool SampleBin(double prob, double & value, double *error = 0); bool SampleBin(double prob, double & value, double *error = 0);
protected: protected:
//initialization for 1D distributions //initialization for 1D distributions
bool DoInit1D(const char * algo); bool DoInit1D(const char * algo);
//initialization for 1D discrete distributions
bool DoInitDiscrete1D(const char * algo);
//initialization for multi-dim distributions //initialization for multi-dim distributions
bool DoInitND(const char * algo); bool DoInitND(const char * algo);
private: private:
// private member // private member
bool fOneDim; // flag to indicate if t he function is 1 dimension bool fOneDim; // flag to indicate if t he function is 1 dimension
bool fDiscrete; // flag to indicate if t
he function is discrete
bool fHasMode; // flag to indicate if a
mode is set
bool fHasArea; // flag to indicate if a
area is set
double fMode; // mode of dist
double fArea; // area of dist
const ROOT::Math::IGenFunction * fFunc1D; // 1D function pointer const ROOT::Math::IGenFunction * fFunc1D; // 1D function pointer
TUnuran * fUnuran; // unuran engine class TUnuran * fUnuran; // unuran engine class
//ClassDef(TUnuranSampler,1) //Distribution sampler class based on UNU. RAN //ClassDef(TUnuranSampler,1) //Distribution sampler class based on UNU. RAN
}; };
#endif /* ROOT_TUnuranSampler */ #endif /* ROOT_TUnuranSampler */
 End of changes. 4 change blocks. 
1 lines changed or deleted 27 lines changed or added


 TVirtualMC.h   TVirtualMC.h 
// @(#)root/vmc:$Name: $:$Id: TVirtualMC.h 30749 2009-10-15 16:33:04Z brun $ // @(#)root/vmc:$Name: $:$Id: TVirtualMC.h 33664 2010-05-31 07:08:54Z brun $
// Authors: Ivana Hrivnacova, Rene Brun, Federico Carminati 13/04/2002 // Authors: Ivana Hrivnacova, Rene Brun, Federico Carminati 13/04/2002
/************************************************************************* /*************************************************************************
* Copyright (C) 2006, Rene Brun and Fons Rademakers. * * Copyright (C) 2006, Rene Brun and Fons Rademakers. *
* Copyright (C) 2002, ALICE Experiment at CERN. * * Copyright (C) 2002, ALICE Experiment at CERN. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 595 skipping to change at line 595
// Return charge (in e units) of the particle specified by pdg. // Return charge (in e units) of the particle specified by pdg.
virtual Double_t ParticleCharge(Int_t pdg) const = 0; virtual Double_t ParticleCharge(Int_t pdg) const = 0;
// Return life time of the particle specified by pdg. // Return life time of the particle specified by pdg.
virtual Double_t ParticleLifeTime(Int_t pdg) const = 0; virtual Double_t ParticleLifeTime(Int_t pdg) const = 0;
// Return VMC type of the particle specified by pdg. // Return VMC type of the particle specified by pdg.
virtual TMCParticleType ParticleMCType(Int_t pdg) const = 0; virtual TMCParticleType ParticleMCType(Int_t pdg) const = 0;
// Activate collecting tracks (working only with TGeant3TGeo)
virtual void SetCollectTracks(Bool_t) {}
virtual Bool_t IsCollectTracks() const {return kFALSE;}
// //
// ------------------------------------------------ // ------------------------------------------------
// methods for step management // methods for step management
// ------------------------------------------------ // ------------------------------------------------
// //
// //
// action methods // action methods
// ------------------------------------------------ // ------------------------------------------------
// //
 End of changes. 2 change blocks. 
1 lines changed or deleted 5 lines changed or added


 TVirtualPS.h   TVirtualPS.h 
// @(#)root/base:$Id: TVirtualPS.h 20877 2007-11-19 11:17:07Z rdm $ // @(#)root/base:$Id: TVirtualPS.h 33327 2010-04-30 14:36:34Z couet $
// Author: Rene Brun 05/09/99 // Author: Rene Brun 05/09/99
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
#ifndef ROOT_TVirtualPS #ifndef ROOT_TVirtualPS
skipping to change at line 51 skipping to change at line 51
TVirtualPS(const TVirtualPS&); // Not implemented TVirtualPS(const TVirtualPS&); // Not implemented
TVirtualPS& operator=(const TVirtualPS&); // Not implemented TVirtualPS& operator=(const TVirtualPS&); // Not implemented
protected: protected:
Int_t fNByte; //Number of bytes written in the file (PD F) Int_t fNByte; //Number of bytes written in the file (PD F)
Int_t fLenBuffer; //Buffer length Int_t fLenBuffer; //Buffer length
Int_t fSizBuffer; //Buffer size Int_t fSizBuffer; //Buffer size
Bool_t fPrinted; //True when a page must be printed Bool_t fPrinted; //True when a page must be printed
ofstream *fStream; //File stream identifier ofstream *fStream; //File stream identifier
char *fBuffer; //File buffer char *fBuffer; //File buffer
const char *fImplicitCREsc; //Escape symbol before enforced new line
public: public:
TVirtualPS(); TVirtualPS();
TVirtualPS(const char *filename, Int_t type=-111); TVirtualPS(const char *filename, Int_t type=-111);
virtual ~TVirtualPS(); virtual ~TVirtualPS();
virtual void CellArrayBegin(Int_t W, Int_t H, Double_t x1, Double_t x2, Double_t y1, Double_t y2) = 0; virtual void CellArrayBegin(Int_t W, Int_t H, Double_t x1, Double_t x2, Double_t y1, Double_t y2) = 0;
virtual void CellArrayFill(Int_t r, Int_t g, Int_t b) = 0; virtual void CellArrayFill(Int_t r, Int_t g, Int_t b) = 0;
virtual void CellArrayEnd() = 0; virtual void CellArrayEnd() = 0;
virtual void Close(Option_t *opt="") = 0; virtual void Close(Option_t *opt="") = 0;
virtual void DrawBox(Double_t x1, Double_t y1,Double_t x2, Double_t y2 ) = 0; virtual void DrawBox(Double_t x1, Double_t y1,Double_t x2, Double_t y2 ) = 0;
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


 TVirtualProofPlayer.h   TVirtualProofPlayer.h 
// @(#)root/proof:$Id: TVirtualProofPlayer.h 31505 2009-12-02 13:20:06Z bru n $ // @(#)root/proof:$Id: TVirtualProofPlayer.h 33638 2010-05-28 13:13:46Z rdm $
// Author: Fons Rademakers 15/03/07 // Author: Fons Rademakers 15/03/07
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
skipping to change at line 125 skipping to change at line 125
virtual void AddEventsProcessed(Long64_t ev) = 0; virtual void AddEventsProcessed(Long64_t ev) = 0;
virtual TProofProgressStatus* GetProgressStatus() const = 0; virtual TProofProgressStatus* GetProgressStatus() const = 0;
virtual void SetDispatchTimer(Bool_t on = kTRUE) = 0; virtual void SetDispatchTimer(Bool_t on = kTRUE) = 0;
virtual void SetStopTimer(Bool_t on = kTRUE, virtual void SetStopTimer(Bool_t on = kTRUE,
Bool_t abort = kFALSE, Int_t timeout = 0) = 0; Bool_t abort = kFALSE, Int_t timeout = 0) = 0;
virtual void SetInitTime() = 0; virtual void SetInitTime() = 0;
virtual Long64_t GetCacheSize() = 0; virtual Long64_t GetCacheSize() = 0;
virtual Int_t GetLearnEntries() = 0; virtual Int_t GetLearnEntries() = 0;
virtual TVirtualPacketizer *GetPacketizer() const { return 0; } virtual TVirtualPacketizer *GetPacketizer() const { return 0; }
static TVirtualProofPlayer *Create(const char *player, TProof *p, TSocke t *s = 0); static TVirtualProofPlayer *Create(const char *player, TProof *p, TSocke t *s = 0);
ClassDef(TVirtualProofPlayer,0) // Abstract PROOF player ClassDef(TVirtualProofPlayer,0) // Abstract PROOF player
}; };
#endif #endif
 End of changes. 2 change blocks. 
2 lines changed or deleted 3 lines changed or added


 TVirtualX.interface.h   TVirtualX.interface.h 
// @(#)root/base:$Id: TVirtualX.interface.h 30386 2009-09-23 19:06:28Z brun $ // @(#)root/base:$Id: TVirtualX.interface.h 33707 2010-06-02 06:27:34Z brun $
// Author: Valeri Fine 28/07/2004 // Author: Valeri Fine 28/07/2004
// //
// This is a copy of the all "abstract" TVirtualX methods to make sure // This is a copy of the all "abstract" TVirtualX methods to make sure
// we don't miss it with the implementation // we don't miss it with the implementation
// //
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
skipping to change at line 247 skipping to change at line 247
virtual void FreeFontNames(char **fontlist); virtual void FreeFontNames(char **fontlist);
virtual Drawable_t CreateImage(UInt_t width, UInt_t height); virtual Drawable_t CreateImage(UInt_t width, UInt_t height);
virtual void GetImageSize(Drawable_t id, UInt_t &width, UInt_t & height); virtual void GetImageSize(Drawable_t id, UInt_t &width, UInt_t & height);
virtual void PutPixel(Drawable_t id, Int_t x, Int_t y, ULong_t p ixel); virtual void PutPixel(Drawable_t id, Int_t x, Int_t y, ULong_t p ixel);
virtual void PutImage(Drawable_t id, GContext_t gc, Drawable_t i mg, virtual void PutImage(Drawable_t id, GContext_t gc, Drawable_t i mg,
Int_t dx, Int_t dy, Int_t x, Int_t y, Int_t dx, Int_t dy, Int_t x, Int_t y,
UInt_t w, UInt_t h); UInt_t w, UInt_t h);
virtual void DeleteImage(Drawable_t img); virtual void DeleteImage(Drawable_t img);
// The method to support ASImage (by V.Onuchine // The method to support ASImage (by V.Onuchine
unsigned char *GetColorBits(Drawable_t wid, Int_t x = 0, Int_t y = 0, UI nt_t w = 0, UInt_t h = 0); unsigned char *GetColorBits(Drawable_t wid, Int_t x = 0, Int_t y = 0, UI nt_t w = 0, UInt_t h = 0);
Pixmap_t CreatePixmapFromData(unsigned char *bits, UInt_t width, U virtual Pixmap_t CreatePixmapFromData(unsigned char *bits, UInt_t wi
Int_t height); dth, UInt_t height);
Window_t GetCurrentWindow() const; virtual Window_t GetCurrentWindow() const;
virtual Int_t SupportsExtension(const char *ext) const;
//---- Drag and Drop ----- //---- Drag and Drop -----
virtual void DeleteProperty(Window_t, Atom_t&); virtual void DeleteProperty(Window_t, Atom_t&);
virtual Int_t GetProperty(Window_t, Atom_t, Long_t, Long_t, Bool_ t, Atom_t, virtual Int_t GetProperty(Window_t, Atom_t, Long_t, Long_t, Bool_ t, Atom_t,
Atom_t*, Int_t*, ULong_t*, ULong_t*, un signed char**); Atom_t*, Int_t*, ULong_t*, ULong_t*, un signed char**);
virtual void ChangeActivePointerGrab(Window_t, UInt_t, Cursor_t) ; virtual void ChangeActivePointerGrab(Window_t, UInt_t, Cursor_t) ;
virtual void ConvertSelection(Window_t, Atom_t&, Atom_t&, Atom_t &, Time_t&); virtual void ConvertSelection(Window_t, Atom_t&, Atom_t&, Atom_t &, Time_t&);
virtual Bool_t SetSelectionOwner(Window_t, Atom_t&); virtual Bool_t SetSelectionOwner(Window_t, Atom_t&);
virtual void ChangeProperties(Window_t id, Atom_t property, Atom _t type, virtual void ChangeProperties(Window_t id, Atom_t property, Atom _t type,
Int_t format, UChar_t *data, Int_t len); Int_t format, UChar_t *data, Int_t len);
 End of changes. 2 change blocks. 
4 lines changed or deleted 6 lines changed or added


 TX11GL.h   TX11GL.h 
// @(#)root/x11:$Id: TX11GL.h 20882 2007-11-19 11:31:26Z rdm $ // @(#)root/gl:$Id: TX11GL.h 33579 2010-05-19 12:43:08Z rdm $
// Author: Timur Pocheptsov 09/08/2004 // Author: Timur Pocheptsov 09/08/2004
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 TXNetFile.h   TXNetFile.h 
// @(#)root/netx:$Id: TXNetFile.h 30949 2009-11-02 16:37:58Z ganis $ // @(#)root/netx:$Id: TXNetFile.h 33291 2010-04-29 13:00:16Z ganis $
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
#ifndef ROOT_TXNetFile #ifndef ROOT_TXNetFile
#define ROOT_TXNetFile #define ROOT_TXNetFile
skipping to change at line 59 skipping to change at line 59
#ifndef ROOT_TString #ifndef ROOT_TString
#include "TString.h" #include "TString.h"
#endif #endif
#ifndef ROOT_TUrl #ifndef ROOT_TUrl
#include "TUrl.h" #include "TUrl.h"
#endif #endif
#ifdef OLDXRDOUC #ifdef OLDXRDOUC
# include "XrdSysToOuc.h" # include "XrdSysToOuc.h"
#endif #endif
class TFileStager;
class TSocket; class TSocket;
class XrdClient; class XrdClient;
class XrdSysRecMutex; class XrdSysRecMutex;
class TXNetFile : public TNetFile { class TXNetFile : public TNetFile {
friend class TXNetSystem; friend class TXNetSystem;
private: private:
// Members // Members
XrdClient *fClient; // Handle to the client object XrdClient *fClient; // Handle to the client object
Bool_t fIsRootd; // Nature of remote file server Bool_t fIsRootd; // Nature of remote file server
// Static members // Static members
static Bool_t fgInitDone; // Avoid initializing more than once static Bool_t fgInitDone; // Avoid initializing more than once
static Bool_t fgRootdBC; // Control rootd backward compatibility static Bool_t fgRootdBC; // Control rootd backward compatibility
static TFileStager *fgFileStager; // Stager for IsStaged checks
XrdSysRecMutex *fInitMtx; // Protects fInitDone, serializes the XrdSysRecMutex *fInitMtx; // Protects fInitDone, serializes the
// attempts to Init() for this object on ly // attempts to Init() for this object on ly
// Methods // Methods
TXNetFile(const TXNetFile&); // Not implemented TXNetFile(const TXNetFile&); // Not implemented
TXNetFile& operator=(const TXNetFile&); // Not implemented TXNetFile& operator=(const TXNetFile&); // Not implemented
void CreateXClient(const char *url, Option_t *option, Int_t netopt, void CreateXClient(const char *url, Option_t *option, Int_t netopt,
Bool_t parallelopen); Bool_t parallelopen);
 End of changes. 3 change blocks. 
1 lines changed or deleted 3 lines changed or added


 TXSocket.h   TXSocket.h 
// @(#)root/proofx:$Id: TXSocket.h 29579 2009-07-25 12:19:25Z ganis $ // @(#)root/proofx:$Id: TXSocket.h 34101 2010-06-24 12:12:59Z ganis $
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2005, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2005, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
#ifndef ROOT_TXSocket #ifndef ROOT_TXSocket
#define ROOT_TXSocket #define ROOT_TXSocket
skipping to change at line 105 skipping to change at line 105
XrdProofConn *fConn; // instance of the underlying connec tion module XrdProofConn *fConn; // instance of the underlying connec tion module
// Asynchronous messages // Asynchronous messages
TSemaphore fASem; // Control access to conn async msg queue TSemaphore fASem; // Control access to conn async msg queue
TMutex *fAMtx; // To protect async msg queue TMutex *fAMtx; // To protect async msg queue
std::list<TXSockBuf *> fAQue; // list of asynchronous messages std::list<TXSockBuf *> fAQue; // list of asynchronous messages
Int_t fByteLeft; // bytes left in the first buffer Int_t fByteLeft; // bytes left in the first buffer
Int_t fByteCur; // current position in the first buf fer Int_t fByteCur; // current position in the first buf fer
TXSockBuf *fBufCur; // current read buffer TXSockBuf *fBufCur; // current read buffer
TSemaphore fAsynProc; // Control actions while processing
async messages
// Interrupts // Interrupts
TMutex *fIMtx; // To protect interrupt queue TMutex *fIMtx; // To protect interrupt queue
kXR_int32 fILev; // Highest received interrupt kXR_int32 fILev; // Highest received interrupt
Bool_t fIForward; // Wheter the interrupt should be pr opagated Bool_t fIForward; // Wheter the interrupt should be pr opagated
// Process ID of the instatiating process (to signal interrupts) // Process ID of the instatiating process (to signal interrupts)
Int_t fPid; Int_t fPid;
// Whether to timeout or not // Whether to timeout or not
Bool_t fDontTimeout; // If true wait forever for incoming messages Bool_t fDontTimeout; // If true wait forever for incoming messages
skipping to change at line 135 skipping to change at line 137
// List of spare buffers // List of spare buffers
static TMutex fgSMtx; // To protect spare list static TMutex fgSMtx; // To protect spare list
static std::list<TXSockBuf *> fgSQue; // list of spare buffers static std::list<TXSockBuf *> fgSQue; // list of spare buffers
// Manage asynchronous message // Manage asynchronous message
Int_t PickUpReady(); Int_t PickUpReady();
TXSockBuf *PopUpSpare(Int_t sz); TXSockBuf *PopUpSpare(Int_t sz);
void PushBackSpare(); void PushBackSpare();
// Post a message into the queue for asynchronous processing // Post a message into the queue for asynchronous processing
void PostMsg(Int_t type); void PostMsg(Int_t type, const char *msg = 0);
// Auxilliary // Auxilliary
Int_t GetLowSocket() const { return (fConn ? fConn->GetLow Socket() : -1); } Int_t GetLowSocket() const { return (fConn ? fConn->GetLow Socket() : -1); }
static void SetLocation(const char *loc = ""); // Set location s tring static void SetLocation(const char *loc = ""); // Set location s tring
static void InitEnvs(); // Initialize environment variables static void InitEnvs(); // Initialize environment variables
public: public:
// Should be the same as in proofd/src/XrdProofdProtocol::Urgent // Should be the same as in proofd/src/XrdProofdProtocol::Urgent
 End of changes. 3 change blocks. 
2 lines changed or deleted 5 lines changed or added


 TestStatSampler.h   TestStatSampler.h 
// @(#)root/roostats:$Id: TestStatSampler.h 31276 2009-11-18 15:06:42Z mone ta $ // @(#)root/roostats:$Id: TestStatSampler.h 34109 2010-06-24 15:00:16Z mone ta $
// Author: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke // Author: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
#ifndef ROOSTATS_TestStatSampler #ifndef ROOSTATS_TestStatSampler
skipping to change at line 37 skipping to change at line 37
#endif #endif
class RooAbsArg; class RooAbsArg;
class RooAbsData; class RooAbsData;
class RooArgSet; class RooArgSet;
class RooAbsPdf; class RooAbsPdf;
namespace RooStats { namespace RooStats {
class SamplingDistribution; class SamplingDistribution;
class TestStatistic;
class TestStatSampler { class TestStatSampler {
public: public:
// TestStatSampler(); // TestStatSampler();
virtual ~TestStatSampler() {} virtual ~TestStatSampler() {}
// Main interface to get a ConfInterval, pure virtual // Main interface to get a ConfInterval, pure virtual
virtual SamplingDistribution* GetSamplingDistribution(RooArgSet& para msOfInterest) = 0; virtual SamplingDistribution* GetSamplingDistribution(RooArgSet& para msOfInterest) = 0;
// Main interface to evaluate the test statistic on a dataset // Main interface to evaluate the test statistic on a dataset
virtual Double_t EvaluateTestStatistic(RooAbsData& data, RooArgSet& p aramsOfInterest) = 0; virtual Double_t EvaluateTestStatistic(RooAbsData& data, RooArgSet& p aramsOfInterest) = 0;
// Get the TestStatistic // Get the TestStatistic
virtual const RooAbsArg* GetTestStatistic() const = 0; virtual TestStatistic* GetTestStatistic() const = 0;
// Get the Confidence level for the test // Get the Confidence level for the test
virtual Double_t ConfidenceLevel() const = 0; virtual Double_t ConfidenceLevel() const = 0;
// Common Initialization // Common Initialization
virtual void Initialize(RooAbsArg& testStatistic, RooArgSet& paramsOf Interest, RooArgSet& nuisanceParameters) = 0; virtual void Initialize(RooAbsArg& testStatistic, RooArgSet& paramsOf Interest, RooArgSet& nuisanceParameters) = 0;
// Set the Pdf, add to the the workspace if not already there // Set the Pdf, add to the the workspace if not already there
virtual void SetPdf(RooAbsPdf&) = 0; virtual void SetPdf(RooAbsPdf&) = 0;
// How to randomize the prior. Set to NULL to deactivate randomizatio
n.
virtual void SetPriorNuisance(RooAbsPdf*) = 0;
// specify the values of parameters used when evaluating test statist
ic
virtual void SetParametersForTestStat(const RooArgSet& /*nullpoi*/) =
0;
// REMOVE THIS
// specify the parameters of interest in the interval // specify the parameters of interest in the interval
virtual void SetParameters(RooArgSet&) = 0; // virtual void SetParameters(const RooArgSet&) = 0;
// specify the nuisance parameters (eg. the rest of the parameters) // specify the nuisance parameters (eg. the rest of the parameters)
virtual void SetNuisanceParameters(RooArgSet&) = 0; virtual void SetNuisanceParameters(const RooArgSet&) = 0;
// specify the observables in the dataset (needed to evaluate the tes t statistic) // specify the observables in the dataset (needed to evaluate the tes t statistic)
virtual void SetObservables(RooArgSet& ) = 0; virtual void SetObservables(const RooArgSet& ) = 0;
// specify the conditional observables
virtual void SetGlobalObservables(const RooArgSet& ) = 0;
// set the size of the test (rate of Type I error) ( Eg. 0.05 for a 9 5% Confidence Interval) // set the size of the test (rate of Type I error) ( Eg. 0.05 for a 9 5% Confidence Interval)
virtual void SetTestSize(Double_t size) = 0; virtual void SetTestSize(Double_t size) = 0;
// set the confidence level for the interval (eg. 0.95 for a 95% Conf idence Interval) // set the confidence level for the interval (eg. 0.95 for a 95% Conf idence Interval)
virtual void SetConfidenceLevel(Double_t cl) = 0; virtual void SetConfidenceLevel(Double_t cl) = 0;
// Set the TestStatistic (want the argument to be a function of the d ata & parameter points // Set the TestStatistic (want the argument to be a function of the d ata & parameter points
virtual void SetTestStatistic(RooAbsArg&) const = 0; virtual void SetTestStatistic(TestStatistic* testStatistic) = 0;
// Set the name of the sampling distribution used for plotting
virtual void SetSamplingDistName(const char* name) = 0;
protected: protected:
ClassDef(TestStatSampler,1) // Interface for tools setting limits ( producing confidence intervals) ClassDef(TestStatSampler,1) // Interface for tools setting limits ( producing confidence intervals)
}; };
} }
#endif #endif
 End of changes. 9 change blocks. 
6 lines changed or deleted 22 lines changed or added


 TestStatistic.h   TestStatistic.h 
// @(#)root/roostats:$Id: TestStatistic.h 31276 2009-11-18 15:06:42Z moneta $ // @(#)root/roostats:$Id: TestStatistic.h 34109 2010-06-24 15:00:16Z moneta $
// Author: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke // Author: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
#ifndef ROOSTATS_TestStatistic #ifndef ROOSTATS_TestStatistic
skipping to change at line 31 skipping to change at line 31
END_HTML END_HTML
*/ */
// //
#ifndef ROOT_Rtypes #ifndef ROOT_Rtypes
#include "Rtypes.h" #include "Rtypes.h"
#endif #endif
namespace RooStats { namespace RooStats {
class TestStatistic { class TestStatistic {
public: public:
// TestStatistic(); //TestStatistic();
virtual ~TestStatistic() {} virtual ~TestStatistic() {
}
// Main interface to evaluate the test statistic on a dataset // Main interface to evaluate the test statistic on a dataset given t
virtual Double_t Evaluate(RooAbsData& data, RooArgSet& paramsOfInterest he
) = 0; // values for the Null Parameters Of Interest.
virtual Double_t Evaluate(RooAbsData& data, RooArgSet& nullPOI) = 0;
virtual const RooAbsArg* GetTestStatistic() const = 0; virtual const TString GetVarName() const = 0;
virtual const TString GetVarName() const = 0; // Defines the sign convention of the test statistic. Overwrite funct
ion if necessary.
virtual bool PValueIsRightTail(void) const { return true; }
protected: protected:
ClassDef(TestStatistic,1) // Interface for tools setting limits (pr ClassDef(TestStatistic,1) // Interface for a TestStatistic
oducing confidence intervals) };
};
} } // end namespace RooStats
#endif #endif
 End of changes. 7 change blocks. 
14 lines changed or deleted 18 lines changed or added


 Tools.h   Tools.h 
// @(#)root/tmva $Id: Tools.h 31574 2009-12-05 18:23:21Z stelzer $ // @(#)root/tmva $Id: Tools.h 33928 2010-06-15 16:19:31Z stelzer $
// Author: Andreas Hoecker, Joerg Stelzer, Helge Voss, Kai Voss // Author: Andreas Hoecker, Joerg Stelzer, Helge Voss, Kai Voss
/************************************************************************** ******** /************************************************************************** ********
* Project: TMVA - a Root-integrated toolkit for multivariate data analysis * * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
* Package: TMVA * * Package: TMVA *
* Class : Tools * * Class : Tools *
* Web : http://tmva.sourceforge.net * * Web : http://tmva.sourceforge.net *
* * * *
* Description: * * Description: *
* Global auxiliary applications and data treatment routines * * Global auxiliary applications and data treatment routines *
skipping to change at line 60 skipping to change at line 60
#endif #endif
#ifndef ROOT_TMatrixDfwd #ifndef ROOT_TMatrixDfwd
#include "TMatrixDfwd.h" #include "TMatrixDfwd.h"
#endif #endif
#ifndef ROOT_TVectorDfwd #ifndef ROOT_TVectorDfwd
#include "TVectorDfwd.h" #include "TVectorDfwd.h"
#endif #endif
#ifndef ROOT_TVectorDfwd
#include "TVectorDfwd.h"
#endif
#ifndef ROOT_TMVA_Types #ifndef ROOT_TMVA_Types
#include "TMVA/Types.h" #include "TMVA/Types.h"
#endif #endif
class TList; class TList;
class TTree; class TTree;
class TString; class TString;
class TH1; class TH1;
class TH2; class TH2;
class TH2F; class TH2F;
class TSpline; class TSpline;
class TXMLEngine;
namespace TMVA { namespace TMVA {
class Event; class Event;
class PDF; class PDF;
class MsgLogger; class MsgLogger;
class Tools { class Tools {
private: private:
skipping to change at line 94 skipping to change at line 99
public: public:
// destructor // destructor
~Tools(); ~Tools();
// accessor to single instance // accessor to single instance
static Tools& Instance(); static Tools& Instance();
static void DestroyInstance(); static void DestroyInstance();
// simple statistics operations on tree entries // simple statistics operations on tree entries
void ComputeStat( const std::vector<TMVA::Event*>&, std::vector<Floa void ComputeStat( const std::vector<TMVA::Event*>&,
t_t>*, std::vector<Float_t>*,
Double_t&, Double_t&, Double_t&, Double_t&, Double_t&, Double_t&,
Double_t&, Double_t&, Double_t&, Int_t signalClass Double_t&, Double_t&, Double_t&, Int_t signalClass
, Bool_t norm = kFALSE ); ,
Bool_t norm = kFALSE );
// compute variance from sums // compute variance from sums
inline Double_t ComputeVariance( Double_t sumx2, Double_t sumx, Int_t nx ); inline Double_t ComputeVariance( Double_t sumx2, Double_t sumx, Int_t nx );
// creates histograms normalized to one // creates histograms normalized to one
TH1* projNormTH1F( TTree* theTree, const TString& theVarName, TH1* projNormTH1F( TTree* theTree, const TString& theVarName,
const TString& name, Int_t nbins, const TString& name, Int_t nbins,
Double_t xmin, Double_t xmax, const TString& cut ) ; Double_t xmin, Double_t xmax, const TString& cut ) ;
// normalize histogram by its integral // normalize histogram by its integral
skipping to change at line 219 skipping to change at line 226
// xml tools // xml tools
TString StringFromInt ( Long_t i ); TString StringFromInt ( Long_t i );
TString StringFromDouble ( Double_t d ); TString StringFromDouble ( Double_t d );
void WriteTMatrixDToXML ( void* node, const char* name, TMatri xD* mat ); void WriteTMatrixDToXML ( void* node, const char* name, TMatri xD* mat );
void WriteTVectorDToXML ( void* node, const char* name, TVecto rD* vec ); void WriteTVectorDToXML ( void* node, const char* name, TVecto rD* vec );
void ReadTMatrixDFromXML( void* node, const char* name, TMatri xD* mat ); void ReadTMatrixDFromXML( void* node, const char* name, TMatri xD* mat );
void ReadTVectorDFromXML( void* node, const char* name, TVecto rD* vec ); void ReadTVectorDFromXML( void* node, const char* name, TVecto rD* vec );
Bool_t HistoHasEquidistantBins(const TH1& h); Bool_t HistoHasEquidistantBins(const TH1& h);
Bool_t HasAttr ( void* node, const char* attrname );
template<typename T> template<typename T>
inline void ReadAttr( void* node, const char* , T& value ); inline void ReadAttr ( void* node, const char* , T& value );
void ReadAttr ( void* node, const char* attrname, TString&
inline void ReadAttr( void* node, const char* attrname, TString& valu value );
e );
template<typename T> template<typename T>
void AddAttr ( void* node, const char* , const T& value, I nt_t precision = 16 ); void AddAttr ( void* node, const char* , const T& value, I nt_t precision = 16 );
void AddAttr ( void* node, const char* attrname, const cha r* value );
void* AddChild ( void* parent, const char* childname, const char* content = 0 ); void* AddChild ( void* parent, const char* childname, const char* content = 0 );
Bool_t AddRawLine ( void* node, const char * raw );
Bool_t AddComment ( void* node, const char* comment );
void* GetChild ( void* parent, const char* childname=0 ); void* GetChild ( void* parent, const char* childname=0 );
void* GetNextChild( void* prevchild, const char* childname=0 ); void* GetNextChild( void* prevchild, const char* childname=0 );
const char* GetContent ( void* node ); const char* GetContent ( void* node );
const char* GetName ( void* node );
TXMLEngine& xmlengine() { return *fXMLEngine; } TXMLEngine& xmlengine() { return *fXMLEngine; }
TXMLEngine* fXMLEngine; TXMLEngine* fXMLEngine;
private: private:
// utilities for correlation ratio // utilities for correlation ratio
Double_t GetYMean_binX( const TH2& , Int_t bin_x ); Double_t GetYMean_binX( const TH2& , Int_t bin_x );
}; // Common tools }; // Common tools
Tools& gTools(); // global accessor Tools& gTools(); // global accessor
} // namespace TMVA } // namespace TMVA
//_______________________________________________________________________ //_______________________________________________________________________
template<typename T> template<typename T>
void TMVA::Tools::ReadAttr( void* node, const char* attrname, T& value ) void TMVA::Tools::ReadAttr( void* node, const char* attrname, T& value )
{ {
// add attribute from xml // read attribute from xml
const char* val = xmlengine().GetAttr(node, attrname); TString val;
std::stringstream s(val); ReadAttr( node, attrname, val );
std::stringstream s(val.Data());
s >> value; s >> value;
} }
//_______________________________________________________________________ //_______________________________________________________________________
void TMVA::Tools::ReadAttr( void* node, const char* attrname, TString& valu
e )
{
// add attribute from xml
const char* val = xmlengine().GetAttr(node, attrname);
value = TString(val);
}
//_______________________________________________________________________
template<typename T> template<typename T>
void TMVA::Tools::AddAttr( void* node, const char* attrname, const T& value , Int_t precision ) void TMVA::Tools::AddAttr( void* node, const char* attrname, const T& value , Int_t precision )
{ {
// add attribute to xml // add attribute to xml
std::stringstream s; std::stringstream s;
s.precision( precision ); s.precision( precision );
s << std::scientific << value; s << std::scientific << value;
gTools().xmlengine().NewAttr(node, 0, attrname, s.str().c_str()); AddAttr( node, attrname, s.str().c_str() );
} }
//_______________________________________________________________________ //_______________________________________________________________________
inline Double_t TMVA::Tools::ComputeVariance( Double_t sumx2, Double_t sumx , Int_t nx ) inline Double_t TMVA::Tools::ComputeVariance( Double_t sumx2, Double_t sumx , Int_t nx )
{ {
// compute variance from given sums // compute variance from given sums
if (nx<2) return 0; if (nx<2) return 0;
return (sumx2 - ((sumx*sumx)/static_cast<Double_t>(nx)))/static_cast<Dou ble_t>(nx-1); return (sumx2 - ((sumx*sumx)/static_cast<Double_t>(nx)))/static_cast<Dou ble_t>(nx-1);
} }
 End of changes. 13 change blocks. 
23 lines changed or deleted 25 lines changed or added


 ToyMCSampler.h   ToyMCSampler.h 
// @(#)root/roostats:$Id: ToyMCSampler.h 33206 2010-04-26 09:59:06Z moneta $ // @(#)root/roostats:$Id: ToyMCSampler.h 34109 2010-06-24 15:00:16Z moneta $
// Author: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke // Author: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke
// Additions and modifications by Mario Pelliccioni // Additions and modifications by Mario Pelliccioni
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. *
* All rights reserved. * * All rights reserved. *
* * * *
* For the licensing terms see $ROOTSYS/LICENSE. * * For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. * * For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/ *************************************************************************/
#ifndef ROOSTATS_ToyMCSampler #ifndef ROOSTATS_ToyMCSampler
#define ROOSTATS_ToyMCSampler #define ROOSTATS_ToyMCSampler
//_________________________________________________ //_________________________________________________
/* /*
BEGIN_HTML BEGIN_HTML
<p> <p>
ToyMCSampler is a simple implementation of the TestStatSampler interface. ToyMCSampler is an implementation of the TestStatSampler interface.
It generates Toy Monte Carlo for a given parameter point, and evaluates a It generates Toy Monte Carlo for a given parameter point and evaluates a
test statistic that the user specifies (passed via the RooStats::TestStatis TestStatistic.
tic interface).
Development notes: We need to provide a nice way for the user to:
<ul>
<li>specify the number of toy experiments (needed to probe a given confid
ence level)</li>
<li>specify if the number of events per toy experiment should be fixed (c
onditioning) or floating (unconditional)</li>
<li>specify if any auxiliary observations should be fixed (conditioning)
or floating (unconditional)</li>
<li>specify if nuisance paramters should be part of the toy MC: eg: integ
rated out (Bayesian marginalization)</li>
</ul>
All of these should be made fairly explicit in the interface.
</p> </p>
END_HTML END_HTML
*/ */
// //
#ifndef ROOT_Rtypes #ifndef ROOT_Rtypes
#include "Rtypes.h" #include "Rtypes.h"
#endif #endif
#include <vector> #include <vector>
#include <sstream> #include <sstream>
#include "RooStats/TestStatSampler.h" #include "RooStats/TestStatSampler.h"
#include "RooStats/SamplingDistribution.h" #include "RooStats/SamplingDistribution.h"
#include "RooStats/TestStatistic.h" #include "RooStats/TestStatistic.h"
#include "RooStats/RooStatsUtils.h" #include "RooStats/ModelConfig.h"
#include "RooWorkspace.h" #include "RooWorkspace.h"
#include "RooMsgService.h" #include "RooMsgService.h"
#include "RooAbsPdf.h" #include "RooAbsPdf.h"
#include "TRandom.h"
#include "RooDataSet.h" #include "RooDataSet.h"
namespace RooStats { namespace RooStats {
class ToyMCSampler : public TestStatSampler { class ToyMCSampler: public TestStatSampler {
public:
ToyMCSampler(TestStatistic &ts) {
fTestStat = &ts;
fWS = new RooWorkspace();
fOwnsWorkspace = true;
fDataName = "";
fPdfName = "";
fPOI = 0;
fNuisParams=0;
fObservables=0;
fExtended = kTRUE;
fRand = new TRandom();
fCounter=0;
fVarName = fTestStat->GetVarName();
fLastDataSet = 0;
}
virtual ~ToyMCSampler() {
if(fOwnsWorkspace) delete fWS;
if(fRand) delete fRand;
if(fLastDataSet) delete fLastDataSet;
}
// Extended interface to append to sampling distribution more samples
virtual SamplingDistribution* AppendSamplingDistribution(RooArgSet& all
Parameters,
SamplingDistrib
ution* last,
Int_t additiona
lMC) {
Int_t tmp = fNtoys;
fNtoys = additionalMC;
SamplingDistribution* newSamples = GetSamplingDistribution(allParamet
ers);
fNtoys = tmp;
if(last){
last->Add(newSamples);
delete newSamples;
return last;
}
return newSamples; public:
} ToyMCSampler(TestStatistic &ts, Int_t ntoys) :
fTestStat(&ts), fSamplingDistName("temp"), fNToys(ntoys)
{
fPdf = NULL;
fPriorNuisance = NULL;
fNullPOI = NULL;
fNuisancePars = NULL;
fObservables = NULL;
fGlobalObservables = NULL;
fSize = 0.05;
fNEvents = 0;
fGenerateBinned = kFALSE;
fExpectedNuisancePar = kFALSE;
}
virtual ~ToyMCSampler() {
}
// main interface
virtual SamplingDistribution* GetSamplingDistribution(RooArgSet& para
mPoint);
// generates toy data
virtual RooAbsData* GenerateToyData(RooArgSet& /*paramPoint*/) const;
// Extended interface to append to sampling distribution more samples
virtual SamplingDistribution* AppendSamplingDistribution(RooArgSet& a
llParameters,
SamplingDistr
ibution* last,
Int_t additio
nalMC) {
Int_t tmp = fNToys;
fNToys = additionalMC;
SamplingDistribution* newSamples = GetSamplingDistribution(allParame
ters);
fNToys = tmp;
if(last){
last->Add(newSamples);
delete newSamples;
return last;
}
// Main interface to get a SamplingDistribution return newSamples;
virtual SamplingDistribution* GetSamplingDistribution(RooArgSet& allPar
ameters) {
std::vector<Double_t> testStatVec;
// cout << " about to generate sampling dist " << endl;
RooMsgService::instance().setGlobalKillBelow(RooFit::ERROR) ;
for(Int_t i=0; i<fNtoys; ++i){
//cout << " on toy number " << i << endl;
// RooAbsData* toydata = (RooAbsData*)GenerateToyData(allParame
ters);
// testStatVec.push_back( fTestStat->Evaluate(*toydata, allPara
meters) );
// delete toydata;
RooDataSet* toydata = (RooDataSet*)GenerateToyData(allParameters);
testStatVec.push_back( fTestStat->Evaluate(*toydata, allParameters)
);
// want to clean up memory, but delete toydata causes problem with
// nll->setData(data, noclone) because pointer to last data set is n
o longer valid
// delete toydata;
// instead, delete previous data set
if(fLastDataSet) delete fLastDataSet;
fLastDataSet = toydata;
} }
// cout << " generated sampling dist " << endl;
return new SamplingDistribution( "temp",//MakeName(allParameters).c_s
tr(),
"Sampling Distribution of Test Statis
tic", testStatVec, fVarName );
}
virtual RooAbsData* GenerateToyData(RooArgSet& allParameters) const {
// This method generates a toy dataset for the given parameter point
.
// cout << "fNevents = " << fNevents << endl;
RooAbsPdf* pdf = fWS->pdf(fPdfName);
if(!fObservables){
cout << "Observables not specified in ToyMCSampler, will try to det
ermine. "
<< "Will ignore all constant parameters, parameters of interes
t, and nuisance parameters." << endl;
RooArgSet* observables = pdf->getVariables();
RemoveConstantParameters(observables); // observables might be set
constant, this is just a guess
if(fPOI) observables->remove(*fPOI, kFALSE, kTRUE);
if(fNuisParams) observables->remove(*fNuisParams, kFALSE, kTRUE);
cout << "will use the following as observables when generating data
" << endl;
observables->Print();
fObservables=observables;
}
//fluctuate the number of events if fExtended is on.
// This is a bit slippery for number counting expts. where entry in
data and
// model is number of events, and so number of entries in data alway
s =1.
Int_t nEvents = fNevents;
if(fExtended) {
if( pdf->expectedEvents(*fObservables) > 0){
// if PDF knows expected events use it instead
nEvents = fRand->Poisson(pdf->expectedEvents(*fObservables));
} else{
nEvents = fRand->Poisson(fNevents);
}
}
// Set the parameters to desired values for generating toys
RooArgSet* parameters = pdf->getParameters(fObservables);
RooStats::SetParameters(&allParameters, parameters);
/*
cout << "expected events = " << pdf->expectedEvents(*observables)
<< "fExtended = " << fExtended
<< "fNevents = " << fNevents << " fNevents "
<< "generating" << nEvents << " events " << endl;
*/
RooFit::MsgLevel level = RooMsgService::instance().globalKillBelow()
;
RooMsgService::instance().setGlobalKillBelow(RooFit::ERROR) ;
// cout << "nEvents = " << nEvents << endl;
RooAbsData* data = (RooAbsData*)pdf->generate(*fObservables, nEvents
);
RooMsgService::instance().setGlobalKillBelow(level) ;
delete parameters;
return data;
}
// helper method to create meaningful names for sampling dist
string MakeName(RooArgSet& /*params*/){
std::stringstream str;
str<<"SamplingDist_"<< fCounter;
fCounter++;
// WVE -- Return pointer to static buffer
static char buf[1024] ;
strcpy(buf,str.str().c_str()) ;
return buf ;
}
// Main interface to evaluate the test statistic on a dataset // Main interface to evaluate the test statistic on a dataset
virtual Double_t EvaluateTestStatistic(RooAbsData& data, RooArgSet& al virtual Double_t EvaluateTestStatistic(RooAbsData& data, RooArgSet& n
lParameters) { ullPOI) {
return fTestStat->Evaluate(data, allParameters); return fTestStat->Evaluate(data, nullPOI);
}
// Get the TestStatistic
virtual const RooAbsArg* GetTestStatistic() const {
return fTestStat->GetTestStatistic();}
// Get the Confidence level for the test
virtual Double_t ConfidenceLevel() const {return 1.-fSize;}
// Common Initialization
virtual void Initialize(RooAbsArg& /*testStatistic*/,
RooArgSet& /*paramsOfInterest*/,
RooArgSet& /*nuisanceParameters*/) {}
//set the parameters for the toyMC generation
virtual void SetNToys(const Int_t ntoy) {
fNtoys = ntoy;
} }
virtual void SetNEventsPerToy(const Int_t nevents) { virtual TestStatistic* GetTestStatistic() const { return fTestStat; }
fNevents = nevents; virtual Double_t ConfidenceLevel() const { return 1. - fSize; }
} virtual void Initialize(
RooAbsArg& /*testStatistic*/,
RooArgSet& /*paramsOfInterest*/,
RooArgSet& /*nuisanceParameters*/
) {}
virtual void SetExtended(const Bool_t isExtended) { virtual void SetNToys(const Int_t ntoy) { fNToys = ntoy; }
fExtended = isExtended; virtual void SetNEventsPerToy(const Int_t nevents) {
// Forces n events even for extended PDFs. Set NEvents=0 to
// use the Poisson distributed events from the extended PDF.
fNEvents = nevents;
} }
// Set the DataSet, add to the the workspace if not already there // specify the values of parameters used when evaluating test statist
virtual void SetData(RooAbsData& data) { ic
if(&data){ virtual void SetParametersForTestStat(const RooArgSet& nullpoi) { fNu
fWS->import(data); llPOI = (RooArgSet*)nullpoi.snapshot(); }
fDataName = data.GetName();
fWS->Print();
}
}
// Set the Pdf, add to the the workspace if not already there // Set the Pdf, add to the the workspace if not already there
virtual void SetPdf(RooAbsPdf& pdf) { virtual void SetPdf(RooAbsPdf& pdf) { fPdf = &pdf; }
if(&pdf){ // How to randomize the prior. Set to NULL to deactivate randomizatio
fWS->import(pdf); n.
fPdfName = pdf.GetName(); virtual void SetPriorNuisance(RooAbsPdf* pdf) { fPriorNuisance = pdf;
} }
}
// specify the name of the dataset in the workspace to be used
virtual void SetData(const char* name) {fDataName = name;}
// specify the name of the PDF in the workspace to be used
virtual void SetPdf(const char* name) {fPdfName = name;}
// specify the parameters of interest in the interval
virtual void SetParameters(RooArgSet& set) {fPOI = &set;}
// specify the nuisance parameters (eg. the rest of the parameters) // specify the nuisance parameters (eg. the rest of the parameters)
virtual void SetNuisanceParameters(RooArgSet& set) {fNuisParams = &se t;} virtual void SetNuisanceParameters(const RooArgSet& np) { fNuisancePa rs = &np; }
// specify the observables in the dataset (needed to evaluate the tes t statistic) // specify the observables in the dataset (needed to evaluate the tes t statistic)
virtual void SetObservables(RooArgSet& set) {fObservables = &set;} virtual void SetObservables(const RooArgSet& o) { fObservables = &o;
}
// specify the conditional observables
virtual void SetGlobalObservables(const RooArgSet& o) { fGlobalObserv
ables = &o; }
// set the size of the test (rate of Type I error) ( Eg. 0.05 for a 9 5% Confidence Interval) // set the size of the test (rate of Type I error) ( Eg. 0.05 for a 9 5% Confidence Interval)
virtual void SetTestSize(Double_t size) {fSize = size;} virtual void SetTestSize(Double_t size) { fSize = size; }
// set the confidence level for the interval (eg. 0.95 for a 95% Conf idence Interval) // set the confidence level for the interval (eg. 0.95 for a 95% Conf idence Interval)
virtual void SetConfidenceLevel(Double_t cl) {fSize = 1.-cl;} virtual void SetConfidenceLevel(Double_t cl) { fSize = 1. - cl; }
// Set the TestStatistic (want the argument to be a function of the d ata & parameter points // Set the TestStatistic (want the argument to be a function of the d ata & parameter points
virtual void SetTestStatistic(RooAbsArg&) const {} virtual void SetTestStatistic(TestStatistic *testStatistic) { fTestSt at = testStatistic; }
private: // SetModel does not load the snapshot. Use LoadSnapshot if necessary
Double_t fSize; .
RooWorkspace* fWS; // a workspace that owns all the components to be virtual void SetExpectedNuisancePar(Bool_t i) { fExpectedNuisancePar
used by the calculator = i; cout << "WILL NOT WORK YET" << endl; } // TODO
Bool_t fOwnsWorkspace; // flag if this object owns its workspace virtual void SetAsimovNuisancePar(Bool_t i) { fExpectedNuisancePar =
const char* fPdfName; // name of common PDF in workspace i; cout << "WILL NOT WORK YET" << endl; } // TODO
const char* fDataName; // name of data set in workspace
RooArgSet* fPOI; // RooArgSet specifying parameters of interest for
interval
RooArgSet* fNuisParams;// RooArgSet specifying nuisance parameters f
or interval
mutable RooArgSet* fObservables; // RooArgSet specifying the observab
les in the dataset (needed to evaluate the test statistic)
TestStatistic* fTestStat; // pointer to the test statistic that is be
ing sampled
Int_t fNtoys; // number of toys to generate
Int_t fNevents; // number of events per toy (may be ignored depending
on settings)
Bool_t fExtended; // if nEvents should fluctuate
TRandom* fRand; // random generator
TString fVarName; // name of test statistic
Int_t fCounter; // counter for naming sampling dist objects // Checks for sufficient information to do a GetSamplingDistribution(
...).
Bool_t CheckConfig(void);
RooDataSet* fLastDataSet; // work around for memory issues in nllvar- // control to use bin data generation
>setData(data, noclone) void SetGenerateBinned(bool binned = true) { fGenerateBinned = binned
; }
// Set the name of the sampling distribution used for plotting
void SetSamplingDistName(const char* name) { if(name) fSamplingDistNa
me = name; }
protected:
TestStatistic *fTestStat; // test statistic that is being sampled
RooAbsPdf *fPdf; // model
string fSamplingDistName; // name of the model
RooAbsPdf *fPriorNuisance; // prior pdf for nuisance parameters
RooArgSet *fNullPOI; // parameters of interest
const RooArgSet *fNuisancePars;
const RooArgSet *fObservables;
const RooArgSet *fGlobalObservables;
Int_t fNToys; // number of toys to generate
Int_t fNEvents; // number of events per toy (may be ignored depending
on settings)
Double_t fSize;
Bool_t fExpectedNuisancePar; // whether to use expectation values for
nuisance parameters (ie Asimov data set)
Bool_t fGenerateBinned;
protected: protected:
ClassDef(ToyMCSampler,1) // A simple implementation of the TestStat ClassDef(ToyMCSampler,1) // A simple implementation of the TestStatSampl
Sampler interface er interface
}; };
} }
#endif #endif
 End of changes. 22 change blocks. 
256 lines changed or deleted 123 lines changed or added


 Typedf.h   Typedf.h 
skipping to change at line 52 skipping to change at line 52
const char *Title() ; const char *Title() ;
void SetGlobalcomp(int globalcomp); void SetGlobalcomp(int globalcomp);
int IsValid(); int IsValid();
int SetFilePos(const char* fname); int SetFilePos(const char* fname);
int Next(); int Next();
/* added with G__TYPEDEFFPOS */ /* added with G__TYPEDEFFPOS */
const char *FileName(); const char *FileName();
int LineNumber(); int LineNumber();
static int GetNumTypedefs();
}; };
} // namespace Cint } // namespace Cint
using namespace Cint; using namespace Cint;
#endif #endif
 End of changes. 1 change blocks. 
0 lines changed or deleted 2 lines changed or added


 Types.h   Types.h 
// @(#)root/tmva $Id: Types.h 31458 2009-11-30 13:58:20Z stelzer $ // @(#)root/tmva $Id: Types.h 33928 2010-06-15 16:19:31Z stelzer $
// Author: Andreas Hoecker, Joerg Stelzer, Helge Voss // Author: Andreas Hoecker, Joerg Stelzer, Helge Voss
/************************************************************************** ******** /************************************************************************** ********
* Project: TMVA - a Root-integrated toolkit for multivariate data analysis * * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
* Package: TMVA * * Package: TMVA *
* Class : Types * * Class : Types *
* Web : http://tmva.sourceforge.net * * Web : http://tmva.sourceforge.net *
* * * *
* Description: * * Description: *
* GLobal types (singleton class) * * GLobal types (singleton class) *
* * * *
* Authors (alphabetical): * * Authors (alphabetical): *
* Andreas Hoecker <Andreas.Hocker@cern.ch> - CERN, Switzerland * * Andreas Hoecker <Andreas.Hocker@cern.ch> - CERN, Switzerland *
* Peter Speckmayer <Peter.Speckmayer@cern.ch> - CERN, Switzerland *
* Joerg Stelzer <Joerg.Stelzer@cern.ch> - CERN, Switzerland * * Joerg Stelzer <Joerg.Stelzer@cern.ch> - CERN, Switzerland *
* Helge Voss <Helge.Voss@cern.ch> - MPI-K Heidelberg, German y * * Helge Voss <Helge.Voss@cern.ch> - MPI-K Heidelberg, German y *
* * * *
* Copyright (c) 2005: * * Copyright (c) 2005: *
* CERN, Switzerland * * CERN, Switzerland *
* U. of Victoria, Canada * * U. of Victoria, Canada *
* MPI-K Heidelberg, Germany * * MPI-K Heidelberg, Germany *
* * * *
* Redistribution and use in source and binary forms, with or without * * Redistribution and use in source and binary forms, with or without *
* modification, are permitted according to the terms listed in LICENSE * * modification, are permitted according to the terms listed in LICENSE *
skipping to change at line 75 skipping to change at line 76
}; };
class Types { class Types {
public: public:
// available MVA methods // available MVA methods
enum EMVA { enum EMVA {
kVariable = 0, kVariable = 0,
kCuts , kCuts ,
kSeedDistance ,
kLikelihood , kLikelihood ,
kPDERS , kPDERS ,
kHMatrix , kHMatrix ,
kFisher , kFisher ,
kKNN , kKNN ,
kCFMlpANN , kCFMlpANN ,
kTMlpANN , kTMlpANN ,
kBDT , kBDT ,
kDT , kDT ,
kRuleFit , kRuleFit ,
skipping to change at line 145 skipping to change at line 145
kBoostProcBegin=0, kBoostProcBegin=0,
kBeforeTraining, kBeforeTraining,
kBeforeBoosting, kBeforeBoosting,
kAfterBoosting, kAfterBoosting,
kBoostValidation, kBoostValidation,
kBoostProcEnd kBoostProcEnd
}; };
public: public:
static Types& Instance() { return fgTypesPtr ? *fgTypesPtr : *(fgType static Types& Instance();
sPtr = new Types()); } static void DestroyInstance();
static void DestroyInstance() { if (fgTypesPtr != 0) { delete fgTyp
esPtr; fgTypesPtr = 0; } }
~Types(); ~Types();
Types::EMVA GetMethodType( const TString& method ) const; Types::EMVA GetMethodType( const TString& method ) const;
TString GetMethodName( Types::EMVA method ) const; TString GetMethodName( Types::EMVA method ) const;
Bool_t AddTypeMapping(Types::EMVA method, const TString& metho dname); Bool_t AddTypeMapping(Types::EMVA method, const TString& metho dname);
private: private:
Types(); Types();
 End of changes. 4 change blocks. 
6 lines changed or deleted 4 lines changed or added


 UnBinData.h   UnBinData.h 
// @(#)root/mathcore:$Id: UnBinData.h 33180 2010-04-25 10:14:07Z moneta $ // @(#)root/mathcore:$Id: UnBinData.h 34127 2010-06-25 09:13:45Z moneta $
// Author: L. Moneta Wed Aug 30 11:15:23 2006 // Author: L. Moneta Wed Aug 30 11:15:23 2006
/********************************************************************** /**********************************************************************
* * * *
* Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT * * Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT *
* * * *
* * * *
**********************************************************************/ **********************************************************************/
// Header file for class UnBinData // Header file for class UnBinData
skipping to change at line 191 skipping to change at line 191
return fit point size (for unbin data is equivalent to coordinate dim ension) return fit point size (for unbin data is equivalent to coordinate dim ension)
*/ */
unsigned int PointSize() const { unsigned int PointSize() const {
return fDim; return fDim;
} }
/** /**
return size of internal data vector (is 0 for external data) return size of internal data vector (is 0 for external data)
*/ */
unsigned int DataSize() const { unsigned int DataSize() const {
return fDataVector->Size(); return (fDataVector) ? fDataVector->Size() : 0;
} }
/** /**
add one dim coordinate data add one dim coordinate data
*/ */
void Add(double x) { void Add(double x) {
int index = fNPoints*PointSize(); int index = fNPoints*PointSize();
assert(fDataVector != 0); assert(fDataVector != 0);
assert(PointSize() == 1); assert(PointSize() == 1);
assert (index + PointSize() <= DataSize() ); assert (index + PointSize() <= DataSize() );
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 VariableNormalizeTransform.h   VariableNormalizeTransform.h 
// @(#)root/tmva $Id: VariableNormalizeTransform.h 31458 2009-11-30 13:58:2 0Z stelzer $ // @(#)root/tmva $Id: VariableNormalizeTransform.h 33993 2010-06-19 11:25:1 4Z stelzer $
// Author: Andreas Hoecker, Joerg Stelzer, Helge Voss // Author: Andreas Hoecker, Joerg Stelzer, Helge Voss
/************************************************************************** ******** /************************************************************************** ********
* Project: TMVA - a Root-integrated toolkit for multivariate data analysis * * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
* Package: TMVA * * Package: TMVA *
* Class : VariableNormalizeTransform * * Class : VariableNormalizeTransform *
* Web : http://tmva.sourceforge.net * * Web : http://tmva.sourceforge.net *
* * * *
* Description: * * Description: *
* Decorrelation of input variables * * Decorrelation of input variables *
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 VariablePCATransform.h   VariablePCATransform.h 
// @(#)root/tmva $Id: VariablePCATransform.h 31458 2009-11-30 13:58:20Z ste lzer $ // @(#)root/tmva $Id: VariablePCATransform.h 33993 2010-06-19 11:25:14Z ste lzer $
// Author: Andreas Hoecker, Joerg Stelzer, Helge Voss // Author: Andreas Hoecker, Joerg Stelzer, Helge Voss
/************************************************************************** ******** /************************************************************************** ********
* Project: TMVA - a Root-integrated toolkit for multivariate data analysis * * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
* Package: TMVA * * Package: TMVA *
* Class : VariablePCATransform * * Class : VariablePCATransform *
* Web : http://tmva.sourceforge.net * * Web : http://tmva.sourceforge.net *
* * * *
* Description: * * Description: *
* Principal value composition of input variables * * Principal value composition of input variables *
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 VariableTransformBase.h   VariableTransformBase.h 
// @(#)root/tmva $Id: VariableTransformBase.h 31578 2009-12-06 00:33:46Z st // @(#)root/tmva $Id: VariableTransformBase.h 33993 2010-06-19 11:25:14Z st
elzer $ elzer $
// Author: Andreas Hoecker, Joerg Stelzer, Helge Voss // Author: Andreas Hoecker, Peter Speckmayer,Joerg Stelzer, Helge Voss
/************************************************************************** ******** /************************************************************************** ********
* Project: TMVA - a Root-integrated toolkit for multivariate data analysis * * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
* Package: TMVA * * Package: TMVA *
* Class : VariableTransformBase * * Class : VariableTransformBase *
* Web : http://tmva.sourceforge.net * * Web : http://tmva.sourceforge.net *
* * * *
* Description: * * Description: *
* Pre-transformation of input variables (base class) * * Pre-transformation of input variables (base class) *
* * * *
* Authors (alphabetical): * * Authors (alphabetical): *
* Andreas Hoecker <Andreas.Hocker@cern.ch> - CERN, Switzerland * * Andreas Hoecker <Andreas.Hocker@cern.ch> - CERN, Switzerland *
* Peter Speckmayer <Peter.Speckmayer@cern.ch> - CERN, Switzerland *
* Joerg Stelzer <Joerg.Stelzer@cern.ch> - CERN, Switzerland * * Joerg Stelzer <Joerg.Stelzer@cern.ch> - CERN, Switzerland *
* Helge Voss <Helge.Voss@cern.ch> - MPI-K Heidelberg, German y * * Helge Voss <Helge.Voss@cern.ch> - MPI-K Heidelberg, German y *
* * * *
* Copyright (c) 2005: * * Copyright (c) 2005: *
* CERN, Switzerland * * CERN, Switzerland *
* U. of Victoria, Canada * * U. of Victoria, Canada *
* MPI-K Heidelberg, Germany * * MPI-K Heidelberg, Germany *
* * * *
* Redistribution and use in source and binary forms, with or without * * Redistribution and use in source and binary forms, with or without *
* modification, are permitted according to the terms listed in LICENSE * * modification, are permitted according to the terms listed in LICENSE *
 End of changes. 2 change blocks. 
3 lines changed or deleted 4 lines changed or added


 Version.h   Version.h 
// @(#)root/tmva $Id: Version.h 31839 2009-12-11 09:40:12Z stelzer $ // @(#)root/tmva $Id: Version.h 33928 2010-06-15 16:19:31Z stelzer $
// Author: Andreas Hoecker, Joerg Stelzer, Fredrik Tegenfeldt, Helge Voss // Author: Andreas Hoecker, Joerg Stelzer, Fredrik Tegenfeldt, Helge Voss
/************************************************************************** ******** /************************************************************************** ********
* Project: TMVA - a Root-integrated toolkit for multivariate data analysis * * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
* Package: TMVA * * Package: TMVA *
* Class : Version * * Class : Version *
* Web : http://tmva.sourceforge.net * * Web : http://tmva.sourceforge.net *
* * * *
* Description: * * Description: *
* Current TMVA Version - filled automatically during cvs tagging * * Current TMVA Version - filled automatically during cvs tagging *
skipping to change at line 41 skipping to change at line 41
#define ROOT_TMVA_Version #define ROOT_TMVA_Version
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// // // //
// Version // // Version //
// // // //
// Automatically filled by cvs tagger: development/tmvaTag.py // // Automatically filled by cvs tagger: development/tmvaTag.py //
// // // //
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
#define TMVA_RELEASE "4.0.4" #define TMVA_RELEASE "4.0.7"
#define TMVA_RELEASE_DATE "Dec 11, 2009" #define TMVA_RELEASE_DATE "Jun 14, 2010"
#define TMVA_RELEASE_TIME "10:19:58" #define TMVA_RELEASE_TIME "17:20:00"
#define TMVA_VERSION_CODE 262148 #define TMVA_VERSION_CODE 262151
#define TMVA_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c)) #define TMVA_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
#endif #endif
 End of changes. 2 change blocks. 
5 lines changed or deleted 5 lines changed or added


 compiledata.h   compiledata.h 
/* This is file is automatically generated */ /* This is file is automatically generated */
#define BUILD_ARCH "linux" #define BUILD_ARCH "linux"
#define BUILD_NODE "Linux lxbuild147.cern.ch 2.6.18-164.11.1.el5 #1 SMP Wed Jan 20 13:19:07 CET 2010 i686 i686 i386 GNU/Linux" #define BUILD_NODE "Linux lxbuild147.cern.ch 2.6.18-164.11.1.el5 #1 SMP Wed Jan 20 13:19:07 CET 2010 i686 i686 i386 GNU/Linux"
#define COMPILER "/afs/cern.ch/sw/lcg/contrib/gcc/4.3/i686-slc5-gcc34-opt/b in/g++" #define COMPILER "/afs/cern.ch/sw/lcg/contrib/gcc/4.3.2/i686-slc5-gcc34-opt /bin/g++"
#define COMPILERVERS "gcc432" #define COMPILERVERS "gcc432"
#define MAKESHAREDLIB "cd $BuildDir ; g++ -c $Opt -pipe -m32 -Wall -W -Wov erloaded-virtual -fPIC -pthread $IncludePath $SourceFiles ; g++ $ObjectFil es -shared -Wl,-soname,$LibName.so -m32 -O2 $LinkedLibs -o $SharedLib" #define MAKESHAREDLIB "cd $BuildDir ; g++ -c $Opt -pipe -m32 -Wall -W -Wov erloaded-virtual -fPIC -pthread $IncludePath $SourceFiles ; g++ $ObjectFil es -shared -Wl,-soname,$LibName.so -m32 -O2 $LinkedLibs -o $SharedLib"
#define MAKEEXE "cd $BuildDir ; g++ -c -pipe -m32 -Wall -W -Woverloaded-vi rtual -fPIC -pthread $IncludePath $SourceFiles; g++ $ObjectFiles -m32 -O2 -o $ExeName $LinkedLibs -lm -ldl -pthread -rdynamic" #define MAKEEXE "cd $BuildDir ; g++ -c -pipe -m32 -Wall -W -Woverloaded-vi rtual -fPIC -pthread $IncludePath $SourceFiles; g++ $ObjectFiles -m32 -O2 -o $ExeName $LinkedLibs -lm -ldl -pthread -rdynamic"
#define CXXOPT "-O2" #define CXXOPT "-O2"
#define CXXDEBUG "-g" #define CXXDEBUG "-g"
#define ROOTBUILD "" #define ROOTBUILD ""
#define LINKEDLIBS "-L$ROOTSYS/lib -lCore -lCint -lMathCore -lRint " #define LINKEDLIBS "-L$ROOTSYS/lib -lCore -lCint -lMathCore -lRint "
#define INCLUDEPATH "-I$ROOTSYS/include" #define INCLUDEPATH "-I$ROOTSYS/include"
#define OBJEXT "o" #define OBJEXT "o"
#define SOEXT "so" #define SOEXT "so"
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 gl2ps.h   gl2ps.h 
// @(#)root/gl:$Id$ // @(#)root/gl:$Id: gl2ps.h 33578 2010-05-19 12:35:58Z rdm $
/* /*
* GL2PS, an OpenGL to PostScript Printing Library * GL2PS, an OpenGL to PostScript Printing Library
* Copyright (C) 1999-2009 C. Geuzaine * Copyright (C) 1999-2009 C. Geuzaine
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
* modify it under the terms of either: * modify it under the terms of either:
* *
* a) the GNU Library General Public License as published by the Free * a) the GNU Library General Public License as published by the Free
* Software Foundation, either version 2 of the License, or (at your * Software Foundation, either version 2 of the License, or (at your
* option) any later version; or * option) any later version; or
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 rootcint.pri   rootcint.pri 
skipping to change at line 115 skipping to change at line 115
ROOTCINTRULEPRI = $$(ROOTSYS)/include/$$ROOTCINTRULEPRIFILE ROOTCINTRULEPRI = $$(ROOTSYS)/include/$$ROOTCINTRULEPRIFILE
} }
} }
isEmpty(ROOTCINTRULEPRI){ isEmpty(ROOTCINTRULEPRI){
message ("The $$ROOTCINTRULEPRIFILE was not found") message ("The $$ROOTCINTRULEPRIFILE was not found")
} }
!isEmpty(ROOTCINTRULEPRI){ !isEmpty(ROOTCINTRULEPRI){
include ($$ROOTCINTRULEPRI) include ($$ROOTCINTRULEPRI)
} }
# ------------------ Mac OS settings -----------------------
macx|darwin-g++ {
QMAKE_MACOSX_DEPLOYMENT_TARGET = $$system(/usr/bin/sw_vers -productVersio
n | cut -d. -f1-2)
message( Configuring Qt for Mac OS $$QMAKE_MACOSX_DEPLOYMENT_TARGET build
! )
}
 End of changes. 1 change blocks. 
0 lines changed or deleted 0 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/