Factory.h   Factory.h 
// @(#)root/tmva $Id: Factory.h 40005 2011-06-27 15:29:10Z stelzer $ // @(#)root/mathcore:$Id: Factory.h 37448 2010-12-09 20:20:56Z moneta $
// Author: Andreas Hoecker, Peter Speckmayer, Joerg Stelzer, Helge Voss, Ka // Author: L. Moneta Fri Dec 22 14:43:33 2006
i Voss, Eckhard von Toerne, Jan Therhaag
/************************************************************************** /**********************************************************************
******** * *
* Project: TMVA - a Root-integrated toolkit for multivariate data analysis * Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT *
* * *
* Package: TMVA * *
* **********************************************************************/
* Class : Factory
* // Header file for class Factory
* Web : http://tmva.sourceforge.net
* #ifndef ROOT_Math_Factory
* #define ROOT_Math_Factory
*
* Description:
*
* This is the main MVA steering class: it creates (books) all MVA met
hods, *
* and guides them through the training, testing and evaluation phases
. *
*
*
* Authors (alphabetical):
*
* Andreas Hoecker <Andreas.Hocker@cern.ch> - CERN, Switzerland
*
* Joerg Stelzer <stelzer@cern.ch> - DESY, Germany
*
* Peter Speckmayer <peter.speckmayer@cern.ch> - CERN, Switzerland
*
* Jan Therhaag <Jan.Therhaag@cern.ch> - U of Bonn, Germany
*
* Eckhard v. Toerne <evt@uni-bonn.de> - U of Bonn, Germany
*
* Helge Voss <Helge.Voss@cern.ch> - MPI-K Heidelberg, German
y *
* Kai Voss <Kai.Voss@cern.ch> - U. of Victoria, Canada
*
*
*
* Copyright (c) 2005-2011:
*
* CERN, Switzerland
*
* U. of Victoria, Canada
*
* MPI-K Heidelberg, Germany
*
* U. of Bonn, Germany
*
*
*
* Redistribution and use in source and binary forms, with or without
*
* modification, are permitted according to the terms listed in LICENSE
*
* (http://tmva.sourceforge.net/LICENSE)
*
**************************************************************************
********/
#ifndef ROOT_TMVA_Factory
#define ROOT_TMVA_Factory
//////////////////////////////////////////////////////////////////////////
// //
// Factory //
// //
// This is the main MVA steering class: it creates all MVA methods, //
// and guides them through the training, testing and evaluation //
// phases //
// //
//////////////////////////////////////////////////////////////////////////
#include <string> #include <string>
#include <vector>
#include <map>
#ifndef ROOT_TCut
#include "TCut.h"
#endif
#ifndef ROOT_TMVA_Configurable
#include "TMVA/Configurable.h"
#endif
#ifndef ROOT_TMVA_Types
#include "TMVA/Types.h"
#endif
#ifndef ROOT_TMVA_DataSet
#include "TMVA/DataSet.h"
#endif
class TFile;
class TTree;
class TDirectory;
namespace TMVA {
class IMethod;
class MethodBase;
class DataInputHandler;
class DataSetInfo;
class DataSetManager;
class VariableTransformBase;
class Factory : public Configurable {
public:
typedef std::vector<IMethod*> MVector;
// no default constructor
Factory( TString theJobName, TFile* theTargetFile, TString theOption
= "" );
// default destructor
virtual ~Factory();
virtual const char* GetName() const { return "Factory"; }
// add events to training and testing trees
void AddSignalTrainingEvent ( const std::vector<Double_t>& event,
Double_t weight = 1.0 );
void AddBackgroundTrainingEvent( const std::vector<Double_t>& event,
Double_t weight = 1.0 );
void AddSignalTestEvent ( const std::vector<Double_t>& event,
Double_t weight = 1.0 );
void AddBackgroundTestEvent ( const std::vector<Double_t>& event,
Double_t weight = 1.0 );
void AddTrainingEvent( const TString& className, const std::vector<Do
uble_t>& event, Double_t weight );
void AddTestEvent ( const TString& className, const std::vector<Do
uble_t>& event, Double_t weight );
void AddEvent ( const TString& className, Types::ETreeType tt,
const std::vector<Double_t>& event, Double_t weight );
Bool_t UserAssignEvents(UInt_t clIndex);
TTree* CreateEventAssignTrees( const TString& name );
DataSetInfo& AddDataSet( DataSetInfo& );
DataSetInfo& AddDataSet( const TString& );
// special case: signal/background
// Data input related
void SetInputTrees( const TString& signalFileName, const TString& bac
kgroundFileName,
Double_t signalWeight=1.0, Double_t backgroundWei
ght=1.0 );
void SetInputTrees( TTree* inputTree, const TCut& SigCut, const TCut&
BgCut );
// Set input trees at once
void SetInputTrees( TTree* signal, TTree* background,
Double_t signalWeight=1.0, Double_t backgroundWei
ght=1.0) ;
void AddSignalTree( TTree* signal, Double_t weight=1.0, Types::ETr
eeType treetype = Types::kMaxTreeType );
void AddSignalTree( TString datFileS, Double_t weight=1.0, Types::ETr
eeType treetype = Types::kMaxTreeType );
void AddSignalTree( TTree* signal, Double_t weight, const TString& tr
eetype );
// ... depreciated, kept for backwards compatibility
void SetSignalTree( TTree* signal, Double_t weight=1.0);
void AddBackgroundTree( TTree* background, Double_t weight=1.0, Types
::ETreeType treetype = Types::kMaxTreeType );
void AddBackgroundTree( TString datFileB, Double_t weight=1.0, Types
::ETreeType treetype = Types::kMaxTreeType );
void AddBackgroundTree( TTree* background, Double_t weight, const TSt
ring & treetype );
// ... depreciated, kept for backwards compatibility
void SetBackgroundTree( TTree* background, Double_t weight=1.0 );
void SetSignalWeightExpression( const TString& variable );
void SetBackgroundWeightExpression( const TString& variable );
// special case: regression
void AddRegressionTree( TTree* tree, Double_t weight = 1.0,
Types::ETreeType treetype = Types::kMaxTreeTy
pe ) {
AddTree( tree, "Regression", weight, "", treetype );
}
// general
// Data input related
void SetTree( TTree* tree, const TString& className, Double_t weight
); // depreciated
void AddTree( TTree* tree, const TString& className, Double_t weight=
1.0,
const TCut& cut = "",
Types::ETreeType tt = Types::kMaxTreeType );
void AddTree( TTree* tree, const TString& className, Double_t weight,
const TCut& cut, const TString& treeType );
// set input variable
void SetInputVariables ( std::vector<TString>* theVariables ); // de
preciated
void AddVariable ( const TString& expression, const TString& t
itle, const TString& unit,
char type='F', Double_t min = 0, Double_t m
ax = 0 );
void AddVariable ( const TString& expression, char type='F',
Double_t min = 0, Double_t max = 0 );
void AddTarget ( const TString& expression, const TString& t
itle = "", const TString& unit = "",
Double_t min = 0, Double_t max = 0 );
void AddRegressionTarget( const TString& expression, const TString& t
itle = "", const TString& unit = "",
Double_t min = 0, Double_t max = 0 )
{
AddTarget( expression, title, unit, min, max );
}
void AddSpectator ( const TString& expression, const TString&
title = "", const TString& unit = "",
Double_t min = 0, Double_t max = 0 );
// set weight for class
void SetWeightExpression( const TString& variable, const TString& cla
ssName = "" );
// set cut for class
void SetCut( const TString& cut, const TString& className = "" );
void SetCut( const TCut& cut, const TString& className = "" );
void AddCut( const TString& cut, const TString& className = "" );
void AddCut( const TCut& cut, const TString& className = "" );
// prepare input tree for training
void PrepareTrainingAndTestTree( const TCut& cut, const TString& spli
tOpt );
void PrepareTrainingAndTestTree( TCut sigcut, TCut bkgcut, const TStr
ing& splitOpt );
// ... deprecated, kept for backwards compatibility
void PrepareTrainingAndTestTree( const TCut& cut, Int_t Ntrain, Int_t
Ntest = -1 );
void PrepareTrainingAndTestTree( const TCut& cut, Int_t NsigTrain, In
t_t NbkgTrain, Int_t NsigTest, Int_t NbkgTest,
const TString& otherOpt="SplitMode=R
andom:!V" );
MethodBase* BookMethod( TString theMethodName, TString methodTitle, T
String theOption = "" );
MethodBase* BookMethod( Types::EMVA theMethod, TString methodTitle,
TString theOption = "" );
MethodBase* BookMethod( TMVA::Types::EMVA /*theMethod*/,
TString /*methodTitle*/,
TString /*methodOption*/,
TMVA::Types::EMVA /*theCommittee*/,
TString /*committeeOption = ""*/ ) { return 0
; }
// optimize all booked methods (well, if desired by the method)
void OptimizeAllMethods (TString fomType="ROCIntegral
", TString fitType="FitGA");
void OptimizeAllMethodsForClassification(TString fomType="ROCIntegral
", TString fitType="FitGA") { OptimizeAllMethods(fomType,fitType); }
void OptimizeAllMethodsForRegression (TString fomType="ROCIntegral
", TString fitType="FitGA") { OptimizeAllMethods(fomType,fitType); }
// training for all booked methods
void TrainAllMethods ();
void TrainAllMethodsForClassification( void ) { TrainAllMethods(); }
void TrainAllMethodsForRegression ( void ) { TrainAllMethods(); }
// testing
void TestAllMethods();
// performance evaluation
void EvaluateAllMethods( void );
void EvaluateAllVariables( TString options = "" );
// delete all methods and reset the method vector
void DeleteAllMethods( void );
// accessors
IMethod* GetMethod( const TString& title ) const;
Bool_t Verbose( void ) const { return fVerbose; }
void SetVerbose( Bool_t v=kTRUE );
// make ROOT-independent C++ class for classifier response
// (classifier-specific implementation)
// If no classifier name is given, help messages for all booked
// classifiers are printed
virtual void MakeClass( const TString& methodTitle = "" ) const;
// prints classifier-specific hepl messages, dedicated to
// help with the optimisation and configuration options tuning.
// If no classifier name is given, help messages for all booked
// classifiers are printed
void PrintHelpMessage( const TString& methodTitle = "" ) const;
static TDirectory* RootBaseDir() { return (TDirectory*)fgTargetFile;
}
private:
// the beautiful greeting message
void Greetings();
void WriteDataInformation();
DataInputHandler& DataInput() { return *fDataInputHandler; }
DataSetInfo& DefaultDataSetInfo();
void SetInputTreesFromEventAssignTrees();
private:
// data members
DataSetManager* fDataSetManager; // DSMTEST
static TFile* fgTargetFile; //! ROOT
output file
DataInputHandler* fDataInputHandler;
std::vector<TMVA::VariableTransformBase*> fDefaultTrfs; //! list
of transformations on default DataSet
// cd to local directory
TString fOptions; //! optio
n string given by construction (presently only "V")
TString fTransformations; //! List
of transformations to test
Bool_t fVerbose; //! verbo
se mode
MVector fMethods; //! all M
VA methods
TString fJobName; //! jobna
me, used as extension in weight file names
// flag determining the way training and test data are assigned to Fa
ctory
enum DataAssignType { kUndefined = 0,
kAssignTrees,
kAssignEvents };
DataAssignType fDataAssignType; //! flags
for data assigning
std::vector<TTree*> fTrainAssignTree; //! for e
ach class: tmp tree if user wants to assign the events directly
std::vector<TTree*> fTestAssignTree; //! for e
ach class: tmp tree if user wants to assign the events directly
Int_t fATreeType; // typ
e of event (=classIndex)
Float_t fATreeWeight; // wei
ght of the event
Float_t* fATreeEvent; // eve
nt variables
Types::EAnalysisType fAnalysisType; //! the t
raining type
protected: namespace ROOT {
namespace Math {
class Minimizer;
class DistSampler;
//_________________________________________________________________________
__
/**
Factory class holding static functions to create the interfaces like RO
OT::Math::Minimizer
via the Plugin Manager
*/
class Factory {
public:
/**
static method to create the corrisponding Minimizer given the string
Supported Minimizers types are:
Minuit (TMinuit), Minuit2, GSLMultiMin, GSLMultiFit, GSLSimAn, Linear
, Fumili, Genetic
If no name is given use default values defined in MinimizerOptions
*/
static ROOT::Math::Minimizer * CreateMinimizer(const std::string & minim
izerType = "", const std::string & algoType = "");
/**
static method to create the distribution sampler class given a string
specifying the type
Supported sampler types are:
Unuran, Foam
If no name is given use default values defined in DistSamplerOptions
*/
static ROOT::Math::DistSampler * CreateDistSampler(const std::string & s
amplerType ="");
};
ClassDef(Factory,0) // The factory creates all MVA methods, and perf } // end namespace Fit
orms their training and testing
};
} // namespace TMVA } // end namespace ROOT
#endif #endif /* ROOT_Fit_MinimizerFactory */
 End of changes. 7 change blocks. 
360 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.6.3p 2/i686-slc5-gcc43-opt PYTHONDIR=/afs/cern.ch/sw/lcg/external/Python/2.6.5p2 /i686-slc5-gcc43-opt linux --fail-on-missing --enable-builtin-pcre --enable -cintex --enable-explicitlink --enable-gdml --enable-genvector --enable-krb 5 --enable-mathmore --enable-minuit2 --enable-mysql --enable-oracle --enabl e-python --enable-qt --enable-qtgsi --enable-reflex --enable-roofit --enabl e-table --enable-unuran --with-castor-incdir=/afs/cern.ch/sw/lcg/external/c astor/2.1.9-9/i686-slc5-gcc43-opt/usr/include/shift --with-castor-libdir=/a fs/cern.ch/sw/lcg/external/castor/2.1.9-9/i686-slc5-gcc43-opt/usr/lib --wit h-cern-libdir=/afs/cern.ch/sw/lcg/external/cernlib/2006a/i686-slc5-gcc43-op t/lib --with-dcap-libdir=/afs/cern.ch/sw/lcg/external/dcache_client/1.9.3p1 /i686-slc5-gcc43-opt/dcap/lib --with-dcap-incdir=/afs/cern.ch/sw/lcg/extern al/dcache_client/1.9.3p1/i686-slc5-gcc43-opt/dcap/include --with-fftw3-incd ir=/afs/cern.ch/sw/lcg/external/fftw3/3.1.2/i686-slc5-gcc43-opt/include --w ith-fftw3-libdir=/afs/cern.ch/sw/lcg/external/fftw3/3.1.2/i686-slc5-gcc43-o pt/lib --with-gccxml=/afs/cern.ch/sw/lcg/external/gccxml/0.9.0_20110825/i68 6-slc5-gcc43-opt/bin --with-gfal-libdir=/afs/cern.ch/sw/lcg/external/Grid/g fal/1.11.8-2/i686-slc5-gcc43-opt/lib --with-gfal-incdir=/afs/cern.ch/sw/lcg /external/Grid/gfal/1.11.8-2/i686-slc5-gcc43-opt/include --with-gsl-incdir= /afs/cern.ch/sw/lcg/external/GSL/1.10/i686-slc5-gcc43-opt/include --with-gs l-libdir=/afs/cern.ch/sw/lcg/external/GSL/1.10/i686-slc5-gcc43-opt/lib --wi th-mysql-incdir=/afs/cern.ch/sw/lcg/external/mysql/5.5.14/i686-slc5-gcc43-o pt/include --with-mysql-libdir=/afs/cern.ch/sw/lcg/external/mysql/5.5.14/i6 86-slc5-gcc43-opt/lib --with-oracle-incdir=/afs/cern.ch/sw/lcg/external/ora cle/11.2.0.1.0p3/i686-slc5-gcc43-opt/include --with-oracle-libdir=/afs/cern .ch/sw/lcg/external/oracle/11.2.0.1.0p3/i686-slc5-gcc43-opt/lib --with-rfio -incdir=/afs/cern.ch/sw/lcg/external/castor/2.1.9-9/i686-slc5-gcc43-opt/usr /include/shift --with-rfio-libdir=/afs/cern.ch/sw/lcg/external/castor/2.1.9 -9/i686-slc5-gcc43-opt/usr/lib --with-pythia6-libdir=/afs/cern.ch/sw/lcg/ex ternal/MCGenerators/pythia6/426.2/i686-slc5-gcc43-opt/lib --with-pythia8-in cdir=/afs/cern.ch/sw/lcg/external/MCGenerators/pythia8/160/i686-slc5-gcc43- opt/include --with-pythia8-libdir=/afs/cern.ch/sw/lcg/external/MCGenerators /pythia8/160/i686-slc5-gcc43-opt/lib --with-gviz-incdir=/afs/cern.ch/sw/lcg /external/graphviz/2.24.0/i686-slc5-gcc43-opt/include/graphviz --with-gviz- libdir=/afs/cern.ch/sw/lcg/external/graphviz/2.24.0/i686-slc5-gcc43-opt/lib --with-xrootd=/afs/cern.ch/sw/lcg/external/xrootd/3.1.0p2/i686-slc5-gcc43- opt" #define R__CONFIGUREOPTIONS "QTDIR=/afs/cern.ch/sw/lcg/external/qt/4.6.3p 2/i686-slc5-gcc43-opt PYTHONDIR=/afs/cern.ch/sw/lcg/external/Python/2.6.5p2 /i686-slc5-gcc43-opt linux --fail-on-missing --enable-builtin-pcre --enable -cintex --enable-explicitlink --enable-gdml --enable-genvector --enable-krb 5 --enable-mathmore --enable-minuit2 --enable-mysql --enable-oracle --enabl e-python --enable-qt --enable-qtgsi --enable-reflex --enable-roofit --enabl e-table --enable-unuran --with-castor-incdir=/afs/cern.ch/sw/lcg/external/c astor/2.1.9-9/i686-slc5-gcc43-opt/usr/include/shift --with-castor-libdir=/a fs/cern.ch/sw/lcg/external/castor/2.1.9-9/i686-slc5-gcc43-opt/usr/lib --wit h-cern-libdir=/afs/cern.ch/sw/lcg/external/cernlib/2006a/i686-slc5-gcc43-op t/lib --with-dcap-libdir=/afs/cern.ch/sw/lcg/external/dcache_client/1.9.3p1 /i686-slc5-gcc43-opt/dcap/lib --with-dcap-incdir=/afs/cern.ch/sw/lcg/extern al/dcache_client/1.9.3p1/i686-slc5-gcc43-opt/dcap/include --with-fftw3-incd ir=/afs/cern.ch/sw/lcg/external/fftw3/3.1.2/i686-slc5-gcc43-opt/include --w ith-fftw3-libdir=/afs/cern.ch/sw/lcg/external/fftw3/3.1.2/i686-slc5-gcc43-o pt/lib --with-gccxml=/afs/cern.ch/sw/lcg/external/gccxml/0.9.0_20110825/i68 6-slc5-gcc43-opt/bin --with-gfal-libdir=/afs/cern.ch/sw/lcg/external/Grid/g fal/1.11.8-2/i686-slc5-gcc43-opt/lib --with-gfal-incdir=/afs/cern.ch/sw/lcg /external/Grid/gfal/1.11.8-2/i686-slc5-gcc43-opt/include --with-gsl-incdir= /afs/cern.ch/sw/lcg/external/GSL/1.10/i686-slc5-gcc43-opt/include --with-gs l-libdir=/afs/cern.ch/sw/lcg/external/GSL/1.10/i686-slc5-gcc43-opt/lib --wi th-mysql-incdir=/afs/cern.ch/sw/lcg/external/mysql/5.5.14/i686-slc5-gcc43-o pt/include --with-mysql-libdir=/afs/cern.ch/sw/lcg/external/mysql/5.5.14/i6 86-slc5-gcc43-opt/lib --with-oracle-incdir=/afs/cern.ch/sw/lcg/external/ora cle/11.2.0.1.0p3/i686-slc5-gcc43-opt/include --with-oracle-libdir=/afs/cern .ch/sw/lcg/external/oracle/11.2.0.1.0p3/i686-slc5-gcc43-opt/lib --with-rfio -incdir=/afs/cern.ch/sw/lcg/external/castor/2.1.9-9/i686-slc5-gcc43-opt/usr /include/shift --with-rfio-libdir=/afs/cern.ch/sw/lcg/external/castor/2.1.9 -9/i686-slc5-gcc43-opt/usr/lib --with-pythia6-libdir=/afs/cern.ch/sw/lcg/ex ternal/MCGenerators/pythia6/426.2/i686-slc5-gcc43-opt/lib --with-pythia8-in cdir=/afs/cern.ch/sw/lcg/external/MCGenerators/pythia8/160/i686-slc5-gcc43- opt/include --with-pythia8-libdir=/afs/cern.ch/sw/lcg/external/MCGenerators /pythia8/160/i686-slc5-gcc43-opt/lib --with-gviz-incdir=/afs/cern.ch/sw/lcg /external/graphviz/2.24.0/i686-slc5-gcc43-opt/include/graphviz --with-gviz- libdir=/afs/cern.ch/sw/lcg/external/graphviz/2.24.0/i686-slc5-gcc43-opt/lib --with-xrootd=/afs/cern.ch/sw/lcg/external/xrootd/3.1.0p2/i686-slc5-gcc43- opt"
#define R__CONFIGUREFEATURES "asimage astiff builtin_afterimage builtin_ft gl builtin_glew builtin_pcre builtin_lzma castor cintex dcache exceptions e xplicitlink fink fftw3 gdml genvector gfal krb5 ldap mathmore memstat minui t2 mysql opengl oracle pythia8 python qt qtgsi reflex roofit rfio shadowpw shared ssl table tmva unuran x11 xft xml xrootd thread" #define R__CONFIGUREFEATURES "asimage astiff builtin_afterimage builtin_ft gl builtin_glew builtin_pcre builtin_lzma castor cintex dcache exceptions e xplicitlink fftw3 gdml genvector gfal krb5 ldap mathmore memstat minuit2 my sql opengl oracle pythia8 python qt qtgsi reflex roofit rfio shadowpw share d ssl table tmva unuran x11 xft xml xrootd thread"
#endif #endif
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 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.32/03" #define ROOT_RELEASE "5.32/04"
#define ROOT_RELEASE_DATE "May 9 2012" #define ROOT_RELEASE_DATE "Jul 13 2012"
#define ROOT_RELEASE_TIME "12:21:27" #define ROOT_RELEASE_TIME "11:06:55"
#define ROOT_SVN_REVISION 44167 #define ROOT_SVN_REVISION 45011
#define ROOT_SVN_BRANCH "branches/v5-32-00-patches" #define ROOT_SVN_BRANCH "branches/v5-32-00-patches"
#define ROOT_VERSION_CODE 335875 #define ROOT_VERSION_CODE 335876
#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


 RooAbsGenContext.h   RooAbsGenContext.h 
skipping to change at line 32 skipping to change at line 32
#include "RooAbsPdf.h" #include "RooAbsPdf.h"
class RooDataSet; class RooDataSet;
class RooAbsGenContext : public TNamed, public RooPrintable { class RooAbsGenContext : public TNamed, public RooPrintable {
public: public:
RooAbsGenContext(const RooAbsPdf &model, const RooArgSet &vars, const Roo DataSet *prototype= 0, const RooArgSet* auxProto=0, RooAbsGenContext(const RooAbsPdf &model, const RooArgSet &vars, const Roo DataSet *prototype= 0, const RooArgSet* auxProto=0,
Bool_t _verbose= kFALSE) ; Bool_t _verbose= kFALSE) ;
virtual ~RooAbsGenContext(); virtual ~RooAbsGenContext();
virtual RooDataSet *generate(Int_t nEvents= 0, Bool_t skipInit=kFALSE, Bo ol_t extendedMode=kFALSE); virtual RooDataSet *generate(Double_t nEvents= 0, Bool_t skipInit=kFALSE, Bool_t extendedMode=kFALSE);
Bool_t isValid() const { Bool_t isValid() const {
// If true generator context is in a valid state // If true generator context is in a valid state
return _isValid; return _isValid;
} }
inline void setVerbose(Bool_t verbose= kTRUE) { inline void setVerbose(Bool_t verbose= kTRUE) {
// Set/clear verbose messaging // Set/clear verbose messaging
_verbose= verbose; _verbose= verbose;
} }
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 RooAbsPdf.h   RooAbsPdf.h 
skipping to change at line 60 skipping to change at line 60
// Toy MC generation // Toy MC generation
RooDataSet *generate(const RooArgSet &whatVars, Int_t nEvents, const RooC mdArg& arg1, RooDataSet *generate(const RooArgSet &whatVars, Int_t nEvents, const RooC mdArg& arg1,
const RooCmdArg& arg2=RooCmdArg::none(), const RooCm dArg& arg3=RooCmdArg::none(), const RooCmdArg& arg2=RooCmdArg::none(), const RooCm dArg& arg3=RooCmdArg::none(),
const RooCmdArg& arg4=RooCmdArg::none(), const RooCm dArg& arg5=RooCmdArg::none()) ; const RooCmdArg& arg4=RooCmdArg::none(), const RooCm dArg& arg5=RooCmdArg::none()) ;
RooDataSet *generate(const RooArgSet &whatVars, RooDataSet *generate(const RooArgSet &whatVars,
const RooCmdArg& arg1=RooCmdArg::none(),const RooCmd Arg& arg2=RooCmdArg::none(), const RooCmdArg& arg1=RooCmdArg::none(),const RooCmd Arg& arg2=RooCmdArg::none(),
const RooCmdArg& arg3=RooCmdArg::none(),const RooCmd Arg& arg4=RooCmdArg::none(), const RooCmdArg& arg3=RooCmdArg::none(),const RooCmd Arg& arg4=RooCmdArg::none(),
const RooCmdArg& arg5=RooCmdArg::none(),const RooCmd Arg& arg6=RooCmdArg::none()) ; const RooCmdArg& arg5=RooCmdArg::none(),const RooCmd Arg& arg6=RooCmdArg::none()) ;
RooDataSet *generate(const RooArgSet &whatVars, Int_t nEvents = 0, Bool_t verbose=kFALSE, Bool_t autoBinned=kTRUE, RooDataSet *generate(const RooArgSet &whatVars, Int_t nEvents = 0, Bool_t verbose=kFALSE, Bool_t autoBinned=kTRUE,
const char* binnedTag="", Bool_t expectedData=kFALSE) const; const char* binnedTag="", Bool_t expectedData=kFALSE, Bool_t extended = kFALSE) const;
RooDataSet *generate(const RooArgSet &whatVars, const RooDataSet &prototy pe, Int_t nEvents= 0, RooDataSet *generate(const RooArgSet &whatVars, const RooDataSet &prototy pe, Int_t nEvents= 0,
Bool_t verbose=kFALSE, Bool_t randProtoOrder=kFALSE, Bool_t resampleProto=kFALSE) const; Bool_t verbose=kFALSE, Bool_t randProtoOrder=kFALSE, Bool_t resampleProto=kFALSE) const;
class GenSpec { class GenSpec {
public: public:
virtual ~GenSpec() ; virtual ~GenSpec() ;
GenSpec() { _genContext = 0 ; _protoData = 0 ; _init = kFALSE ; _extend ed=kFALSE, _nGen=0 ; _randProto = kFALSE ; _resampleProto=kFALSE ; } GenSpec() { _genContext = 0 ; _protoData = 0 ; _init = kFALSE ; _extend ed=kFALSE, _nGen=0 ; _randProto = kFALSE ; _resampleProto=kFALSE ; }
private: private:
GenSpec(RooAbsGenContext* context, const RooArgSet& whatVars, RooDataSe t* protoData, Int_t nGen, Bool_t extended, GenSpec(RooAbsGenContext* context, const RooArgSet& whatVars, RooDataSe t* protoData, Int_t nGen, Bool_t extended,
Bool_t randProto, Bool_t resampleProto, TString dsetName, Bool_t init=kFALSE) ; Bool_t randProto, Bool_t resampleProto, TString dsetName, Bool_t init=kFALSE) ;
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 RooBinnedGenContext.h   RooBinnedGenContext.h 
/************************************************************************** *** /************************************************************************** ***
* Project: RooFit * * Project: RooFit *
* Package: RooFitCore * * Package: RooFitCore *
* File: $Id: RooBinnedGenContext.h 42232 2011-11-24 23:23:30Z wouter $ * File: $Id: RooBinnedGenContext.h 44632 2012-06-08 14:47:15Z moneta $
* 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 36 skipping to change at line 36
class RooDataHist ; class RooDataHist ;
class TRandom; class TRandom;
class TIterator; class TIterator;
class RooBinnedGenContext : public RooAbsGenContext { class RooBinnedGenContext : public RooAbsGenContext {
public: public:
RooBinnedGenContext(const RooAbsPdf &model, const RooArgSet &vars, const RooDataSet *prototype= 0, RooBinnedGenContext(const RooAbsPdf &model, const RooArgSet &vars, const RooDataSet *prototype= 0,
const RooArgSet* auxProto=0, Bool_t _verbose= kFALSE); const RooArgSet* auxProto=0, Bool_t _verbose= kFALSE);
virtual ~RooBinnedGenContext(); virtual ~RooBinnedGenContext();
RooDataSet* generate(Int_t nEvents=0, Bool_t skipInit=kFALSE, Bool_t exte ndedMode=kFALSE) ; RooDataSet* generate(Double_t nEvents=0, Bool_t skipInit=kFALSE, Bool_t e xtendedMode=kFALSE) ;
virtual void setProtoDataOrder(Int_t*) {} virtual void setProtoDataOrder(Int_t*) {}
virtual void attach(const RooArgSet& params) ; virtual void attach(const RooArgSet& params) ;
virtual void printMultiline(ostream &os, Int_t content, Bool_t verbose=kF ALSE, TString indent="") const ; virtual void printMultiline(ostream &os, Int_t content, Bool_t verbose=kF ALSE, TString indent="") const ;
virtual void setExpectedData(Bool_t) ; virtual void setExpectedData(Bool_t) ;
protected: protected:
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 RooSimSplitGenContext.h   RooSimSplitGenContext.h 
/************************************************************************** *** /************************************************************************** ***
* Project: RooFit * * Project: RooFit *
* Package: RooFitCore * * Package: RooFitCore *
* File: $Id: RooSimSplitGenContext.h 42232 2011-11-24 23:23:30Z wouter $ * File: $Id: RooSimSplitGenContext.h 44632 2012-06-08 14:47:15Z moneta $
* 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 38 skipping to change at line 38
class RooSimSplitGenContext : public RooAbsGenContext { class RooSimSplitGenContext : public RooAbsGenContext {
public: public:
RooSimSplitGenContext(const RooSimultaneous &model, const RooArgSet &vars , Bool_t _verbose= kFALSE, Bool_t autoBinned=kTRUE, const char* binnedTag=" "); RooSimSplitGenContext(const RooSimultaneous &model, const RooArgSet &vars , Bool_t _verbose= kFALSE, Bool_t autoBinned=kTRUE, const char* binnedTag=" ");
virtual ~RooSimSplitGenContext(); virtual ~RooSimSplitGenContext();
virtual void setProtoDataOrder(Int_t* lut) ; virtual void setProtoDataOrder(Int_t* lut) ;
virtual void attach(const RooArgSet& params) ; virtual void attach(const RooArgSet& params) ;
virtual void printMultiline(ostream &os, Int_t content, Bool_t verbose=kF ALSE, TString indent="") const ; virtual void printMultiline(ostream &os, Int_t content, Bool_t verbose=kF ALSE, TString indent="") const ;
virtual RooDataSet *generate(Int_t nEvents= 0, Bool_t skipInit=kFALSE, Bo ol_t extendedMode=kFALSE); virtual RooDataSet *generate(Double_t nEvents= 0, Bool_t skipInit=kFALSE, Bool_t extendedMode=kFALSE);
virtual void setExpectedData(Bool_t) ; virtual void setExpectedData(Bool_t) ;
protected: protected:
virtual void initGenerator(const RooArgSet &theEvent); virtual void initGenerator(const RooArgSet &theEvent);
virtual void generateEvent(RooArgSet &theEvent, Int_t remaining); virtual void generateEvent(RooArgSet &theEvent, Int_t remaining);
RooDataSet* createDataSet(const char* name, const char* title, const RooA rgSet& obs) ; RooDataSet* createDataSet(const char* name, const char* title, const RooA rgSet& obs) ;
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 RootFinder.h   RootFinder.h 
// @(#)root/mathmore:$Id: RootFinder.h 33942 2010-06-16 13:12:17Z moneta $ // @(#)root/tmva $Id: RootFinder.h 40005 2011-06-27 15:29:10Z stelzer $
// Authors: L. Moneta, A. Zsenei 08/2005 // Author: Andreas Hoecker, Joerg Stelzer, Helge Voss, Kai Voss
/********************************************************************** /**************************************************************************
* * ********
* Copyright (c) 2004 ROOT Foundation, CERN/PH-SFT * * Project: TMVA - a Root-integrated toolkit for multivariate data analysis
* * *
* This library is free software; you can redistribute it and/or * * Package: TMVA
* modify it under the terms of the GNU General Public License * *
* as published by the Free Software Foundation; either version 2 * * Class : RootFinder
* of the License, or (at your option) any later version. * *
* * * Web : http://tmva.sourceforge.net
* This library is distributed in the hope that it will be useful, * *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * *
* General Public License for more details. * * Description:
* * *
* You should have received a copy of the GNU General Public License * * Root finding using Brents algorithm
* along with this library (see file COPYING); if not, write * *
* to the Free Software Foundation, Inc., 59 Temple Place, Suite * * (translated from CERNLIB function RZERO)
* 330, Boston, MA 02111-1307 USA, or contact the author. * *
* * *
**********************************************************************/ *
* Authors (alphabetical):
// Header file for class RootFinder *
// * Andreas Hoecker <Andreas.Hocker@cern.ch> - CERN, Switzerland
// Created by: moneta at Sun Nov 14 16:59:55 2004 *
// * Helge Voss <Helge.Voss@cern.ch> - MPI-K Heidelberg, German
// Last update: Sun Nov 14 16:59:55 2004 y *
// * Kai Voss <Kai.Voss@cern.ch> - U. of Victoria, Canada
#ifndef ROOT_Math_RootFinder *
#define ROOT_Math_RootFinder *
*
* Copyright (c) 2005:
*
* CERN, Switzerland
*
* U. of Victoria, Canada
*
* MPI-K Heidelberg, Germany
*
*
*
* Redistribution and use in source and binary forms, with or without
*
* modification, are permitted according to the terms listed in LICENSE
*
* (http://tmva.sourceforge.net/LICENSE)
*
**************************************************************************
********/
#ifndef ROOT_TMVA_RootFinder
#define ROOT_TMVA_RootFinder
//////////////////////////////////////////////////////////////////////////
// //
// RootFinder //
// //
// Root finding using Brents algorithm //
// (translated from CERNLIB function RZERO) //
// //
//////////////////////////////////////////////////////////////////////////
#ifndef ROOT_Math_IFunctionfwd #ifndef ROOT_TObject
#include "Math/IFunctionfwd.h" #include "TObject.h"
#endif #endif
#ifndef ROOT_Math_IRootFinderMethod namespace TMVA {
#include "Math/IRootFinderMethod.h"
#endif
/** class MsgLogger;
@defgroup RootFinders One-dimensional Root-Finding algorithms
Various implementation esists in MathCore and MathMore
The user interacts with a proxy class ROOT::Math::RootFinder which creat
es behing
the choosen algorithms which are implemented using the ROOT::Math::IRoot
FinderMethod interface
@ingroup NumAlgo
*/
namespace ROOT {
namespace Math {
//_________________________________________________________________________
____________
/**
User Class to find the Root of one dimensional functions.
The GSL Methods are implemented in MathMore and they are loaded au
tomatically
via the plug-in manager
The possible types of Root-finding algorithms are:
<ul>
<li>Root Bracketing Algorithms which do not require function deriv
atives
<ol>
<li>RootFinder::kBRENT (default method implemented in MathCore)
<li>RootFinder::kGSL_BISECTION
<li>RootFinder::kGSL_FALSE_POS
<li>RootFinder::kGSL_BRENT
</ol>
<li>Root Finding Algorithms using Derivatives
<ol>
<li>RootFinder::kGSL_NEWTON
<li>RootFinder::kGSL_SECANT
<li>RootFinder::kGSL_STEFFENSON
</ol>
</ul>
This class does not cupport copying
@ingroup RootFinders
*/
class RootFinder {
public:
enum EType { kBRENT, // Methods
from MathCore
kGSL_BISECTION, kGSL_FALSE_POS, kGSL_BRENT, // GSL Nor
mal
kGSL_NEWTON, kGSL_SECANT, kGSL_STEFFENSON // GSL Der
ivatives
};
/**
Construct a Root-Finder algorithm
*/
RootFinder(RootFinder::EType type = RootFinder::kBRENT);
virtual ~RootFinder();
private:
// usually copying is non trivial, so we make this unaccessible
RootFinder(const RootFinder & ) {}
RootFinder & operator = (const RootFinder & rhs)
{
if (this == &rhs) return *this; // time saving self-test
return *this;
}
public:
bool SetMethod(RootFinder::EType type = RootFinder::kBRENT);
/**
Provide to the solver the function and the initial search inter
val [xlow, xup]
for algorithms not using derivatives (bracketing algorithms)
The templated function f must be of a type implementing the \a
operator() method,
<em> double operator() ( double x ) </em>
Returns non zero if interval is not valid (i.e. does not contai
ns a root)
*/
bool SetFunction( const IGenFunction & f, double xlow, double xup)
{
return fSolver->SetFunction( f, xlow, xup);
}
/**
Provide to the solver the function and an initial estimate of t
he root,
for algorithms using derivatives.
The templated function f must be of a type implementing the \a
operator()
and the \a Gradient() methods.
<em> double operator() ( double x ) </em>
Returns non zero if starting point is not valid
*/
bool SetFunction( const IGradFunction & f, double xstart) {
return fSolver->SetFunction( f, xstart);
}
template<class Function, class Derivative>
bool Solve(Function &f, Derivative &d, double start,
int maxIter = 100, double absTol = 1E-8, double relTol =
1E-10);
template<class Function>
bool Solve(Function &f, double min, double max,
int maxIter = 100, double absTol = 1E-8, double relTol =
1E-10);
/**
Compute the roots iterating until the estimate of the Root is
within the required tolerance returning
the iteration Status
*/
bool Solve( int maxIter = 100, double absTol = 1E-8, double relTol
= 1E-10) {
return fSolver->Solve( maxIter, absTol, relTol );
}
/**
Return the number of iteration performed to find the Root.
*/
int Iterations() const {
return fSolver->Iterations();
}
/**
Perform a single iteration and return the Status
*/
int Iterate() {
return fSolver->Iterate();
}
/**
Return the current and latest estimate of the Root
*/
double Root() const {
return fSolver->Root();
}
/**
Return the status of the last estimate of the Root
= 0 OK, not zero failure
*/
int Status() const {
return fSolver->Status();
}
/**
Return the current and latest estimate of the lower value of th
e Root-finding interval (for bracketing algorithms)
*/
/* double XLower() const { */
/* return fSolver->XLower(); */
/* } */
/**
Return the current and latest estimate of the upper value of th
e Root-finding interval (for bracketing algorithms)
*/
/* double XUpper() const { */
/* return fSolver->XUpper(); */
/* } */
/**
Get Name of the Root-finding solver algorithm
*/
const char * Name() const {
return fSolver->Name();
}
protected:
private:
IRootFinderMethod* fSolver; // type of algorithm to be used
}; class RootFinder : public TObject {
} // namespace Math public:
} // namespace ROOT
#ifndef ROOT_Math_WrappedFunction RootFinder( Double_t (*rootVal)( Double_t ),
#include "Math/WrappedFunction.h" Double_t rootMin, Double_t rootMax,
#endif Int_t maxIterations = 100,
Double_t absTolerance = 0.0 );
virtual ~RootFinder( void );
#ifndef ROOT_Math_Functor // returns the root of the function
#include "Math/Functor.h" Double_t Root( Double_t refValue );
#endif
private:
Double_t fRootMin; // minimum root value
Double_t fRootMax; // maximum root value
Int_t fMaxIter; // maximum number of iterations
Double_t fAbsTol; // absolute tolerance deviation
template<class Function, class Derivative> // function pointer
bool ROOT::Math::RootFinder::Solve(Function &f, Derivative &d, double start Double_t (*fGetRootVal)( Double_t );
,
int maxIter, double absTol, double relTol
)
{
if (!fSolver) return false;
ROOT::Math::GradFunctor1D wf(f, d);
bool ret = fSolver->SetFunction(wf, start);
if (!ret) return false;
return Solve(maxIter, absTol, relTol);
}
template<class Function>
bool ROOT::Math::RootFinder::Solve(Function &f, double min, double max,
int maxIter, double absTol, double relTol
)
{
if (!fSolver) return false;
ROOT::Math::WrappedFunction<Function &> wf(f);
bool ret = fSolver->SetFunction(wf, min, max);
if (!ret) return false;
return Solve(maxIter, absTol, relTol);
}
#endif /* ROOT_Math_RootFinder */ mutable MsgLogger* fLogger; //! message logger
MsgLogger& Log() const { return *fLogger; }
ClassDef(RootFinder,0) // Root finding using Brents algorithm
};
} // namespace TMVA
#endif
 End of changes. 11 change blocks. 
254 lines changed or deleted 84 lines changed or added


 TFPBlock.h   TFPBlock.h 
// @(#)root/io:$Id: TFPBlock.h 41698 2011-11-01 21:22:54Z pcanal $ // @(#)root/io:$Id: TFPBlock.h 44777 2012-06-27 15:09:22Z pcanal $
// Author: Elvin Sindrilaru 19/05/2011 // Author: Elvin Sindrilaru 19/05/2011
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2011, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2011, 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
#endif #endif
class TFPBlock : public TObject{ class TFPBlock : public TObject{
private: private:
char *fBuffer; // content of the block char *fBuffer; // content of the block
Int_t fNblock; // number of segment in the block Int_t fNblock; // number of segment in the block
Int_t fFullSize; // total size of segments that make up the bloc k Int_t fFullSize; // total size of segments that make up the bloc k
Int_t *fLen; // array of lengths of each segment Int_t *fLen; // array of lengths of each segment
Long64_t *fPos; // array of positions of each segment Long64_t *fPos; // array of positions of each segment
Long64_t *fRelOffset; // relative offset of piece in the buffer
public: public:
TFPBlock(Long64_t*, Int_t*, Int_t); TFPBlock(Long64_t*, Int_t*, Int_t);
virtual ~TFPBlock(); virtual ~TFPBlock();
Long64_t GetPos(Int_t) const; Long64_t GetPos(Int_t) const;
Int_t GetLen(Int_t) const; Int_t GetLen(Int_t) const;
Long64_t *GetPos() const; Long64_t *GetPos() const;
Int_t *GetLen() const; Int_t *GetLen() const;
Int_t GetFullSize() const; Int_t GetFullSize() const;
Int_t GetNoElem() const; Int_t GetNoElem() const;
char *GetBuffer() const; char *GetBuffer() const;
char *GetPtrToPiece(Int_t index) const;
void SetBuffer(char*); void SetBuffer(char*);
void SetPos(Int_t, Long64_t); void SetPos(Int_t, Long64_t);
void ReallocBlock(Long64_t*, Int_t*, Int_t); void ReallocBlock(Long64_t*, Int_t*, Int_t);
ClassDef(TFPBlock, 0); // File prefetch block ClassDef(TFPBlock, 0); // File prefetch block
}; };
//__________________________________________________________________
inline Long64_t* TFPBlock::GetPos() const
{
// Get pointer to the array of postions.
return fPos;
}
//__________________________________________________________________
inline Int_t* TFPBlock::GetLen() const
{
// Get pointer to the array of lengths.
return fLen;
}
//__________________________________________________________________
inline Int_t TFPBlock::GetFullSize() const
{
// Return size of the block.
return fFullSize;
}
//__________________________________________________________________
inline Int_t TFPBlock::GetNoElem() const
{
// Return number of elements in the block.
return fNblock;
}
//__________________________________________________________________
inline Long64_t TFPBlock::GetPos(Int_t i) const
{
// Get position of the element at index i.
return fPos[i];
}
//__________________________________________________________________
inline Int_t TFPBlock::GetLen(Int_t i) const
{
// Get length of the element at index i.
return fLen[i];
}
//__________________________________________________________________
inline char* TFPBlock::GetBuffer() const
{
// Get block buffer.
return fBuffer;
}
//__________________________________________________________________
inline char* TFPBlock::GetPtrToPiece(Int_t index) const
{
// Get block buffer.
return (fBuffer + fRelOffset[index]);
}
#endif #endif
 End of changes. 4 change blocks. 
1 lines changed or deleted 67 lines changed or added


 TFileCacheRead.h   TFileCacheRead.h 
// @(#)root/io:$Id: TFileCacheRead.h 39466 2011-05-27 20:26:23Z pcanal $ // @(#)root/io:$Id: TFileCacheRead.h 44847 2012-07-03 13:05:35Z pcanal $
// Author: Rene Brun 19/05/2006 // Author: Rene Brun 19/05/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 76 skipping to change at line 76
Long64_t *fBSeekSort; Long64_t *fBSeekSort;
Int_t *fBSeekIndex; Int_t *fBSeekIndex;
Long64_t *fBPos; Long64_t *fBPos;
Int_t *fBSeekLen; Int_t *fBSeekLen;
Int_t *fBSeekSortLen; Int_t *fBSeekSortLen;
Int_t *fBSeekPos; Int_t *fBSeekPos;
Int_t *fBLen; Int_t *fBLen;
Bool_t fBIsSorted; Bool_t fBIsSorted;
Bool_t fBIsTransferred; Bool_t fBIsTransferred;
void SetEnablePrefetchingImpl(Bool_t setPrefetching = kFALSE); // Can no
t be virtual as it is called from the constructor.
private: private:
TFileCacheRead(const TFileCacheRead &); //cannot be copied TFileCacheRead(const TFileCacheRead &); //cannot be copied
TFileCacheRead& operator=(const TFileCacheRead &); TFileCacheRead& operator=(const TFileCacheRead &);
public: public:
TFileCacheRead(); TFileCacheRead();
TFileCacheRead(TFile *file, Int_t buffersize); TFileCacheRead(TFile *file, Int_t buffersize);
virtual ~TFileCacheRead(); virtual ~TFileCacheRead();
virtual void AddBranch(TBranch * /*b*/, Bool_t /*subbranches*/ = kFALSE) {} virtual void AddBranch(TBranch * /*b*/, Bool_t /*subbranches*/ = kFALSE) {}
virtual void AddBranch(const char * /*branch*/, Bool_t /*subbranc hes*/ = kFALSE) {} virtual void AddBranch(const char * /*branch*/, Bool_t /*subbranc hes*/ = kFALSE) {}
virtual void Close(Option_t *option="");
virtual Int_t GetBufferSize() const { return fBufferSize; }; virtual Int_t GetBufferSize() const { return fBufferSize; };
virtual Int_t GetUnzipBuffer(char ** /*buf*/, Long64_t /*pos*/, In t_t /*len*/, Bool_t * /*free*/) { return -1; } virtual Int_t GetUnzipBuffer(char ** /*buf*/, Long64_t /*pos*/, In t_t /*len*/, Bool_t * /*free*/) { return -1; }
Long64_t GetPrefetchedBlocks() const { return fPrefetchedBloc ks; } Long64_t GetPrefetchedBlocks() const { return fPrefetchedBloc ks; }
virtual Bool_t IsAsyncReading() const { return fAsyncReading; }; virtual Bool_t IsAsyncReading() const { return fAsyncReading; };
virtual void SetEnablePrefetching(Bool_t setPrefetching = kFALSE) { fEnablePrefetching = setPrefetching; } virtual void SetEnablePrefetching(Bool_t setPrefetching = kFALSE) ;
virtual Bool_t IsEnablePrefetching() const { return fEnablePrefetch ing; }; virtual Bool_t IsEnablePrefetching() const { return fEnablePrefetch ing; };
virtual Bool_t IsLearning() const {return kFALSE;} virtual Bool_t IsLearning() const {return kFALSE;}
virtual void Prefetch(Long64_t pos, Int_t len); virtual void Prefetch(Long64_t pos, Int_t len);
virtual void Print(Option_t *option="") const; virtual void Print(Option_t *option="") const;
virtual Int_t ReadBufferExt(char *buf, Long64_t pos, Int_t len, In t_t &loc); virtual Int_t ReadBufferExt(char *buf, Long64_t pos, Int_t len, In t_t &loc);
virtual Int_t ReadBufferExtNormal(char *buf, Long64_t pos, Int_t l en, Int_t &loc); virtual Int_t ReadBufferExtNormal(char *buf, Long64_t pos, Int_t l en, Int_t &loc);
virtual Int_t ReadBufferExtPrefetch(char *buf, Long64_t pos, Int_t len, Int_t &loc); virtual Int_t ReadBufferExtPrefetch(char *buf, Long64_t pos, Int_t len, Int_t &loc);
virtual Int_t ReadBuffer(char *buf, Long64_t pos, Int_t len); virtual Int_t ReadBuffer(char *buf, Long64_t pos, Int_t len);
virtual void SetFile(TFile *file); virtual void SetFile(TFile *file);
virtual void SetSkipZip(Bool_t /*skip*/ = kTRUE) {} // This funct ion is only used by TTreeCacheUnzip (ignore it) virtual void SetSkipZip(Bool_t /*skip*/ = kTRUE) {} // This funct ion is only used by TTreeCacheUnzip (ignore it)
 End of changes. 4 change blocks. 
2 lines changed or deleted 6 lines changed or added


 TFilePrefetch.h   TFilePrefetch.h 
// @(#)root/io:$Id: TFilePrefetch.h 41698 2011-11-01 21:22:54Z pcanal $ // @(#)root/io:$Id: TFilePrefetch.h 44777 2012-06-27 15:09:22Z pcanal $
// Author: Elvin Sindrilaru 19/05/2011 // Author: Elvin Sindrilaru 19/05/2011
/************************************************************************* /*************************************************************************
* Copyright (C) 1995-2011, Rene Brun and Fons Rademakers. * * Copyright (C) 1995-2011, 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
#include "TObjArray.h" #include "TObjArray.h"
#endif #endif
#ifndef ROOT_TStopwatch #ifndef ROOT_TStopwatch
#include "TStopwatch.h" #include "TStopwatch.h"
#endif #endif
class TFilePrefetch : public TObject { class TFilePrefetch : public TObject {
private: private:
TFile *fFile; // reference to the file TFile *fFile; // reference to the file
TList *fPendingBlocks; // list of pending block to be read TList *fPendingBlocks; // list of pending blocks to be read
TList *fReadBlocks; // list of block read TList *fReadBlocks; // list of blocks read
TThread *fConsumer; // consumer thread TThread *fConsumer; // consumer thread
TMutex *fMutexPendingList; // mutex for the pending list TMutex *fMutexPendingList; // mutex for the pending list
TMutex *fMutexReadList; // mutex for the list of read blocks TMutex *fMutexReadList; // mutex for the list of read blocks
TMutex *fMutexSynch; // mutex for synchronisation between wor TCondition *fNewBlockAdded; // signal the addition of a new pending
king and main thread block
TCondition *fNewBlockAdded; // condition used to signal the addition TCondition *fReadBlockAdded; // signal the addition of a new red bloc
of a new pending block k
TCondition *fReadBlockAdded; // condition usd to signal the addition TCondition *fCondNextFile; // signal TChain that we can move to the
of a new red block next file
TSemaphore *fSem; // semaphore used to kill the consumer t TSemaphore *fSemMasterWorker; // semaphore used to kill the consumer t
hread hread
TSemaphore *fSemWorkerMaster; // semaphore used to notify the master t
hat worker is killed
TString fPathCache; // path to the cache directory TString fPathCache; // path to the cache directory
TStopwatch fWaitTime; // time wating to prefetch a buffer (in usec) TStopwatch fWaitTime; // time wating to prefetch a buffer (in usec)
static TThread::VoidRtnFunc_t ThreadProc(void*); //create a joinable wo rker thread static TThread::VoidRtnFunc_t ThreadProc(void*); //create a joinable wo rker thread
public: public:
TFilePrefetch(TFile*); TFilePrefetch(TFile*);
virtual ~TFilePrefetch(); virtual ~TFilePrefetch();
void ReadAsync(TFPBlock*, Bool_t&); void ReadAsync(TFPBlock*, Bool_t&);
skipping to change at line 115 skipping to change at line 116
Bool_t CheckCachePath(const char*); Bool_t CheckCachePath(const char*);
Bool_t CheckBlockInCache(char*&, TFPBlock*); Bool_t CheckBlockInCache(char*&, TFPBlock*);
char *GetBlockFromCache(const char*, Int_t); char *GetBlockFromCache(const char*, Int_t);
void SaveBlockInCache(TFPBlock*); void SaveBlockInCache(TFPBlock*);
Int_t SumHex(const char*); Int_t SumHex(const char*);
Bool_t BinarySearchReadList(TFPBlock*, Long64_t, Int_t, Int_t*); Bool_t BinarySearchReadList(TFPBlock*, Long64_t, Int_t, Int_t*);
Long64_t GetWaitTime(); Long64_t GetWaitTime();
void SetFile(TFile*); void SetFile(TFile*);
TMutex* GetMutexSynch() const { return fMutexSynch; }; TCondition* GetCondNextFile() const { return fCondNextFile; };
ClassDef(TFilePrefetch, 0); // File block prefetcher ClassDef(TFilePrefetch, 0); // File block prefetcher
}; };
#endif #endif
 End of changes. 4 change blocks. 
12 lines changed or deleted 14 lines changed or added


 TGenCollectionProxy.h   TGenCollectionProxy.h 
// @(#)root/io:$Id: TGenCollectionProxy.h 42891 2012-02-06 18:20:31Z pcanal $ // @(#)root/io:$Id: TGenCollectionProxy.h 44847 2012-07-03 13:05:35Z pcanal $
// Author: Markus Frank 28/10/04 // Author: Markus Frank 28/10/04
/************************************************************************* /*************************************************************************
* 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_TGenCollectionProxy #ifndef ROOT_TGenCollectionProxy
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 TProofChain.h   TProofChain.h 
// @(#)root/proof:$Id: TProofChain.h 30069 2009-09-08 15:23:21Z ganis $ // @(#)root/proof:$Id: TProofChain.h 44654 2012-06-11 16:52:51Z 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_TProofChain #ifndef ROOT_TProofChain
#define ROOT_TProofChain #define ROOT_TProofChain
skipping to change at line 27 skipping to change at line 27
// A TChain proxy on PROOF. // // A TChain proxy on PROOF. //
// Uses an internal TDSet to handle processing. // // Uses an internal TDSet to handle processing. //
// // // //
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
#ifndef ROOT_TChain #ifndef ROOT_TChain
#include "TChain.h" #include "TChain.h"
#endif #endif
class TDSet; class TDSet;
class TDrawFeedback;
class TList; class TList;
class TProof; class TProof;
class TProofChain : public TChain { class TProofChain : public TChain {
public: public:
// TProofChain constants // TProofChain constants
enum { kOwnsChain = BIT(19) }; enum { kOwnsChain = BIT(19) };
private: private:
void FillDrawAttributes(TProof *p); void FillDrawAttributes(TProof *p);
protected: protected:
TChain *fChain; // mother chain: needed for the browsi ng list TChain *fChain; // mother chain: needed for the browsi ng list
TDSet *fSet; // TDSet TDSet *fSet; // TDSet
TDrawFeedback *fDrawFeedback; // feedback handler
public: public:
TProofChain(); TProofChain();
TProofChain(TChain *chain, Bool_t gettreeheader); TProofChain(TChain *chain, Bool_t gettreeheader);
TProofChain(TDSet *dset, Bool_t gettreeheader); TProofChain(TDSet *dset, Bool_t gettreeheader);
virtual ~TProofChain(); virtual ~TProofChain();
virtual void Browse(TBrowser *b); virtual void Browse(TBrowser *b);
Int_t Debug() const {return fDebug;} Int_t Debug() const {return fDebug;}
virtual Long64_t Draw(const char *varexp, const TCut &selection, Opt ion_t *option="" virtual Long64_t Draw(const char *varexp, const TCut &selection, Opt ion_t *option=""
 End of changes. 3 change blocks. 
3 lines changed or deleted 1 lines changed or added


 TProofPlayer.h   TProofPlayer.h 
// @(#)root/proofplayer:$Id: TProofPlayer.h 40186 2011-07-11 12:00:50Z gani s $ // @(#)root/proofplayer:$Id: TProofPlayer.h 44400 2012-05-31 13:42:20Z 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 263 skipping to change at line 263
protected: protected:
TProof *fProof; // link to associated PROOF session TProof *fProof; // link to associated PROOF session
TList *fOutputLists; // results returned by slaves TList *fOutputLists; // results returned by slaves
TList *fFeedback; // reference for use on master TList *fFeedback; // reference for use on master
TList *fFeedbackLists; // intermediate results TList *fFeedbackLists; // intermediate results
TVirtualPacketizer *fPacketizer; // transform TDSet into packets for slaves TVirtualPacketizer *fPacketizer; // transform TDSet into packets for slaves
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
Bool_t fUseTH1Merge; // If kTRUE forces use of TH1::Merge [kFALSE] Bool_t fMergeTH1OneByOne; // If kTRUE forces TH1 merge one -by-one [kTRUE]
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); void NotifyMemory(TObject *obj);
void SetLastMergingMsg(TObject *obj); void SetLastMergingMsg(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(); 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),
fUseTH1Merge(kFALSE) fMergeTH1OneByOne(kTRUE)
{ 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);
virtual Long64_t Finalize(Bool_t force = kFALSE, Bool_t sync = kFALSE); virtual Long64_t Finalize(Bool_t force = kFALSE, Bool_t sync = kFALSE);
virtual Long64_t Finalize(TQueryResult *qr); virtual Long64_t Finalize(TQueryResult *qr);
Long64_t DrawSelect(TDSet *set, const char *varexp, Long64_t DrawSelect(TDSet *set, const char *varexp,
const char *selection, Option_t *option = "", const char *selection, Option_t *option = "",
Long64_t nentries = -1, Long64_t firstentry = 0); Long64_t nentries = -1, Long64_t firstentry = 0);
 End of changes. 3 change blocks. 
3 lines changed or deleted 3 lines changed or added


 TTree.h   TTree.h 
// @(#)root/tree:$Id: TTree.h 41101 2011-10-03 16:23:48Z pcanal $ // @(#)root/tree:$Id: TTree.h 44281 2012-05-18 06:06:55Z pcanal $
// Author: Rene Brun 12/01/96 // Author: Rene Brun 12/01/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 486 skipping to change at line 486
virtual void Refresh(); virtual void Refresh();
virtual void RecursiveRemove(TObject *obj); virtual void RecursiveRemove(TObject *obj);
virtual void RemoveFriend(TTree*); virtual void RemoveFriend(TTree*);
virtual void Reset(Option_t* option = ""); virtual void Reset(Option_t* option = "");
virtual void ResetAfterMerge(TFileMergeInfo *); virtual void ResetAfterMerge(TFileMergeInfo *);
virtual void ResetBranchAddress(TBranch *); virtual void ResetBranchAddress(TBranch *);
virtual void ResetBranchAddresses(); virtual void ResetBranchAddresses();
virtual Long64_t Scan(const char* varexp = "", const char* select ion = "", Option_t* option = "", Long64_t nentries = 1000000000, Long64_t f irstentry = 0); // *MENU* virtual Long64_t Scan(const char* varexp = "", const char* select ion = "", Option_t* option = "", Long64_t nentries = 1000000000, Long64_t f irstentry = 0); // *MENU*
virtual Bool_t SetAlias(const char* aliasName, const char* alia sFormula); virtual Bool_t SetAlias(const char* aliasName, const char* alia sFormula);
virtual void SetAutoSave(Long64_t autos = 300000000); virtual void SetAutoSave(Long64_t autos = 300000000);
virtual void SetAutoFlush(Long64_t autof = 30000000); virtual void SetAutoFlush(Long64_t autof = -30000000);
virtual void SetBasketSize(const char* bname, Int_t buffsize = 16000); virtual void SetBasketSize(const char* bname, Int_t buffsize = 16000);
#if !defined(__CINT__) #if !defined(__CINT__)
virtual Int_t SetBranchAddress(const char *bname,void *add, TB ranch **ptr = 0); virtual Int_t SetBranchAddress(const char *bname,void *add, TB ranch **ptr = 0);
#endif #endif
virtual Int_t SetBranchAddress(const char *bname,void *add, TC lass *realClass, EDataType datatype, Bool_t isptr); virtual Int_t SetBranchAddress(const char *bname,void *add, TC lass *realClass, EDataType datatype, Bool_t isptr);
virtual Int_t SetBranchAddress(const char *bname,void *add, TB ranch **ptr, TClass *realClass, EDataType datatype, Bool_t isptr); virtual Int_t SetBranchAddress(const char *bname,void *add, TB ranch **ptr, TClass *realClass, EDataType datatype, Bool_t isptr);
template <class T> Int_t SetBranchAddress(const char *bname, T **add, TB ranch **ptr = 0) { template <class T> Int_t SetBranchAddress(const char *bname, T **add, TB ranch **ptr = 0) {
TClass *cl = TClass::GetClass(typeid(T)); TClass *cl = TClass::GetClass(typeid(T));
EDataType type = kOther_t; EDataType type = kOther_t;
if (cl==0) type = TDataType::GetType(typeid(T)); if (cl==0) type = TDataType::GetType(typeid(T));
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 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/