| 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 | |
|
| FumiliStandardChi2FCN.h | | FumiliStandardChi2FCN.h | |
|
| // @(#)root/minuit2:$Id: FumiliStandardChi2FCN.h 29198 2009-06-24 13:05:43Z
brun $ | | // @(#)root/minuit2:$Id: FumiliStandardChi2FCN.h 48522 2013-02-08 21:05:50Z
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_FumiliStandardChi2FCN | | #ifndef ROOT_Minuit2_FumiliStandardChi2FCN | |
| #define ROOT_Minuit2_FumiliStandardChi2FCN | | #define ROOT_Minuit2_FumiliStandardChi2FCN | |
| | | | |
| skipping to change at line 63 | | skipping to change at line 63 | |
| measurements | | measurements | |
| | | | |
| @param mvar vector containing the variances corresponding to each | | @param mvar vector containing the variances corresponding to each | |
| measurement (where the variance equals the standard deviation squared). | | measurement (where the variance equals the standard deviation squared). | |
| If the variances are zero, a Value of 1 is used (as it is done in ROOT/PA
W) | | If the variances are zero, a Value of 1 is used (as it is done in ROOT/PA
W) | |
| | | | |
| */ | | */ | |
| | | | |
| FumiliStandardChi2FCN(const ParametricFunction& modelFCN, const std::vect
or<double>& meas, | | FumiliStandardChi2FCN(const ParametricFunction& modelFCN, const std::vect
or<double>& meas, | |
| const std::vector<double>& pos, | | const std::vector<double>& pos, | |
|
| const std::vector<double>& mvar) : | | const std::vector<double>& mvar) | |
| fErrorDef(1.) { //this->fModelFCN = &modelFunction; | | { //this->fModelFCN = &modelFunction; | |
| this->SetModelFunction(modelFCN); | | this->SetModelFunction(modelFCN); | |
| | | | |
| assert(meas.size() == pos.size()); | | assert(meas.size() == pos.size()); | |
| assert(meas.size() == mvar.size()); | | assert(meas.size() == mvar.size()); | |
| fMeasurements = meas; | | fMeasurements = meas; | |
| std::vector<double> x(1); | | std::vector<double> x(1); | |
| unsigned int n = mvar.size(); | | unsigned int n = mvar.size(); | |
| fPositions.reserve( n); | | fPositions.reserve( n); | |
| // correct for variance == 0 | | // correct for variance == 0 | |
| fInvErrors.resize(n); | | fInvErrors.resize(n); | |
| | | | |
| skipping to change at line 107 | | skipping to change at line 107 | |
| measurements | | measurements | |
| | | | |
| @param mvar vector containing the variances corresponding to each | | @param mvar vector containing the variances corresponding to each | |
| measurement (where the variance equals the standard deviation squared). | | measurement (where the variance equals the standard deviation squared). | |
| If the variances are zero, a Value of 1 is used (as it is done in ROOT/PA
W) | | If the variances are zero, a Value of 1 is used (as it is done in ROOT/PA
W) | |
| | | | |
| */ | | */ | |
| | | | |
| FumiliStandardChi2FCN(const ParametricFunction& modelFCN, const std::vect
or<double>& meas, | | FumiliStandardChi2FCN(const ParametricFunction& modelFCN, const std::vect
or<double>& meas, | |
| const std::vector<std::vector<double> >& pos, | | const std::vector<std::vector<double> >& pos, | |
|
| const std::vector<double>& mvar) : | | const std::vector<double>& mvar) | |
| fErrorDef(1.) { //this->fModelFCN = &modelFunction; | | { //this->fModelFCN = &modelFunction; | |
| this->SetModelFunction(modelFCN); | | this->SetModelFunction(modelFCN); | |
| | | | |
| assert(meas.size() == pos.size()); | | assert(meas.size() == pos.size()); | |
| assert(meas.size() == mvar.size()); | | assert(meas.size() == mvar.size()); | |
| fMeasurements = meas; | | fMeasurements = meas; | |
| fPositions = pos; | | fPositions = pos; | |
| // correct for variance == 0 | | // correct for variance == 0 | |
| unsigned int n = mvar.size(); | | unsigned int n = mvar.size(); | |
| fInvErrors.resize(n); | | fInvErrors.resize(n); | |
| for (unsigned int i = 0; i < n; ++i) | | for (unsigned int i = 0; i < n; ++i) | |
| | | | |
| skipping to change at line 191 | | skipping to change at line 191 | |
| **/ | | **/ | |
| | | | |
| virtual void EvaluateAll( const std::vector<double> & par ); | | virtual void EvaluateAll( const std::vector<double> & par ); | |
| | | | |
| private: | | private: | |
| | | | |
| std::vector<double> fMeasurements; | | std::vector<double> fMeasurements; | |
| // support multi dim coordinates | | // support multi dim coordinates | |
| std::vector<std::vector<double> > fPositions; | | std::vector<std::vector<double> > fPositions; | |
| std::vector<double> fInvErrors; | | std::vector<double> fInvErrors; | |
|
| double fErrorDef; | | | |
| | | | |
| }; | | }; | |
| | | | |
| } // namespace Minuit2 | | } // namespace Minuit2 | |
| | | | |
| } // namespace ROOT | | } // namespace ROOT | |
| | | | |
| #endif // ROOT_Minuit2_FumiliStandardChi2FCN | | #endif // ROOT_Minuit2_FumiliStandardChi2FCN | |
| | | | |
End of changes. 4 change blocks. |
| 7 lines changed or deleted | | 5 lines changed or added | |
|
| FumiliStandardMaximumLikelihoodFCN.h | | FumiliStandardMaximumLikelihoodFCN.h | |
|
| // @(#)root/minuit2:$Id: FumiliStandardMaximumLikelihoodFCN.h 20880 2007-11
-19 11:23:41Z rdm $ | | // @(#)root/minuit2:$Id: FumiliStandardMaximumLikelihoodFCN.h 48522 2013-02
-08 21:05:50Z 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_FumiliStandardMaximumLikelihoodFCN | | #ifndef ROOT_Minuit2_FumiliStandardMaximumLikelihoodFCN | |
| #define ROOT_Minuit2_FumiliStandardMaximumLikelihoodFCN | | #define ROOT_Minuit2_FumiliStandardMaximumLikelihoodFCN | |
| | | | |
| skipping to change at line 50 | | skipping to change at line 50 | |
| Constructor which initializes the measurement points for the one dimensio
nal model function. | | Constructor which initializes the measurement points for the one dimensio
nal model function. | |
| | | | |
| @param modelFCN the model function used for describing the data. | | @param modelFCN the model function used for describing the data. | |
| | | | |
| @param pos vector containing the x values corresponding to the | | @param pos vector containing the x values corresponding to the | |
| measurements | | measurements | |
| | | | |
| */ | | */ | |
| | | | |
| FumiliStandardMaximumLikelihoodFCN(const ParametricFunction& modelFCN, | | FumiliStandardMaximumLikelihoodFCN(const ParametricFunction& modelFCN, | |
|
| const std::vector<double>& pos) : | | const std::vector<double>& pos) | |
| fErrorDef(0.5) | | | |
| { | | { | |
| this->SetModelFunction(modelFCN); | | this->SetModelFunction(modelFCN); | |
| unsigned int n = pos.size(); | | unsigned int n = pos.size(); | |
| fPositions.reserve( n ); | | fPositions.reserve( n ); | |
| std::vector<double> x(1); | | std::vector<double> x(1); | |
| for (unsigned int i = 0; i < n; ++i) { | | for (unsigned int i = 0; i < n; ++i) { | |
| x[0] = pos[i]; | | x[0] = pos[i]; | |
| fPositions.push_back(x); | | fPositions.push_back(x); | |
| } | | } | |
| } | | } | |
| | | | |
| skipping to change at line 75 | | skipping to change at line 74 | |
| Constructor which initializes the measurement points for the multi dimens
ional model function. | | Constructor which initializes the measurement points for the multi dimens
ional model function. | |
| | | | |
| @param modelFCN the model function used for describing the data. | | @param modelFCN the model function used for describing the data. | |
| | | | |
| @param pos vector containing the x values corresponding to the | | @param pos vector containing the x values corresponding to the | |
| measurements | | measurements | |
| | | | |
| */ | | */ | |
| | | | |
| FumiliStandardMaximumLikelihoodFCN(const ParametricFunction& modelFCN, | | FumiliStandardMaximumLikelihoodFCN(const ParametricFunction& modelFCN, | |
|
| const std::vector<std::vector<double> > | | const std::vector<std::vector<double> > | |
| & pos) : | | & pos) | |
| fErrorDef(0.5) { | | { | |
| this->SetModelFunction(modelFCN); | | this->SetModelFunction(modelFCN); | |
| fPositions = pos; | | fPositions = pos; | |
| | | | |
| } | | } | |
| | | | |
| ~FumiliStandardMaximumLikelihoodFCN() {} | | ~FumiliStandardMaximumLikelihoodFCN() {} | |
| | | | |
| /** | | /** | |
| | | | |
| Evaluates the model function for the different measurement points and | | Evaluates the model function for the different measurement points and | |
| | | | |
| skipping to change at line 136 | | skipping to change at line 135 | |
| | | | |
| @param par vector of parameters | | @param par vector of parameters | |
| | | | |
| **/ | | **/ | |
| | | | |
| virtual void EvaluateAll( const std::vector<double> & par ); | | virtual void EvaluateAll( const std::vector<double> & par ); | |
| | | | |
| private: | | private: | |
| | | | |
| std::vector<std::vector<double> > fPositions; | | std::vector<std::vector<double> > fPositions; | |
|
| double fErrorDef; | | | |
| | | | |
| }; | | }; | |
| | | | |
| } // namespace Minuit2 | | } // namespace Minuit2 | |
| | | | |
| } // namespace ROOT | | } // namespace ROOT | |
| | | | |
| #endif // ROOT_Minuit2_FumiliStandardMaximumLikelihoodFCN | | #endif // ROOT_Minuit2_FumiliStandardMaximumLikelihoodFCN | |
| | | | |
End of changes. 4 change blocks. |
| 8 lines changed or deleted | | 5 lines changed or added | |
|
| RooMultiVarGaussian.h | | RooMultiVarGaussian.h | |
| /**************************************************************************
*** | | /**************************************************************************
*** | |
| * Project: RooFit
* | | * Project: RooFit
* | |
| * Package: RooFitModels
* | | * Package: RooFitModels
* | |
|
| * File: $Id: RooMultiVarGaussian.h 44368 2012-05-30 15:38:44Z axel $ | | * File: $Id: RooMultiVarGaussian.h 48498 2013-02-07 10:33:53Z 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 35 | | skipping to change at line 35 | |
| class RooRealVar; | | class RooRealVar; | |
| class RooFitResult ; | | class RooFitResult ; | |
| | | | |
| #include <map> | | #include <map> | |
| #include <vector> | | #include <vector> | |
| | | | |
| class RooMultiVarGaussian : public RooAbsPdf { | | class RooMultiVarGaussian : public RooAbsPdf { | |
| public: | | public: | |
| | | | |
| RooMultiVarGaussian() {} ; | | RooMultiVarGaussian() {} ; | |
|
| RooMultiVarGaussian(const char *name, const char *title, const RooArgList
& xvec, const RooFitResult& fr, Bool_t reduceToConditional=kTRUE) ; | | | |
| RooMultiVarGaussian(const char *name, const char *title, const RooArgList
& xvec, const RooArgList& mu, const TMatrixDSym& covMatrix) ; | | RooMultiVarGaussian(const char *name, const char *title, const RooArgList
& xvec, const RooArgList& mu, const TMatrixDSym& covMatrix) ; | |
|
| | | RooMultiVarGaussian(const char *name, const char *title, const RooArgList
& xvec, const RooFitResult& fr, Bool_t reduceToConditional=kTRUE) ; | |
| RooMultiVarGaussian(const char *name, const char *title, const RooArgList
& xvec, const TVectorD& mu, const TMatrixDSym& covMatrix) ; | | RooMultiVarGaussian(const char *name, const char *title, const RooArgList
& xvec, const TVectorD& mu, const TMatrixDSym& covMatrix) ; | |
| RooMultiVarGaussian(const char *name, const char *title, const RooArgList
& xvec,const TMatrixDSym& covMatrix) ; | | RooMultiVarGaussian(const char *name, const char *title, const RooArgList
& xvec,const TMatrixDSym& covMatrix) ; | |
| void setAnaIntZ(Double_t z) { _z = z ; } | | void setAnaIntZ(Double_t z) { _z = z ; } | |
| | | | |
| RooMultiVarGaussian(const RooMultiVarGaussian& other, const char* name=0)
; | | RooMultiVarGaussian(const RooMultiVarGaussian& other, const char* name=0)
; | |
| virtual TObject* clone(const char* newname) const { return new RooMultiVa
rGaussian(*this,newname); } | | virtual TObject* clone(const char* newname) const { return new RooMultiVa
rGaussian(*this,newname); } | |
| inline virtual ~RooMultiVarGaussian() { } | | inline virtual ~RooMultiVarGaussian() { } | |
| | | | |
| Int_t getAnalyticalIntegral(RooArgSet& allVars, RooArgSet& analVars, cons
t char* rangeName=0) const ; | | Int_t getAnalyticalIntegral(RooArgSet& allVars, RooArgSet& analVars, cons
t char* rangeName=0) const ; | |
| Double_t analyticalIntegral(Int_t code, const char* rangeName=0) const ; | | Double_t analyticalIntegral(Int_t code, const char* rangeName=0) const ; | |
| | | | |
End of changes. 3 change blocks. |
| 2 lines changed or deleted | | 2 lines changed or added | |
|
| RooVectorDataStore.h | | RooVectorDataStore.h | |
| /**************************************************************************
*** | | /**************************************************************************
*** | |
| * Project: RooFit
* | | * Project: RooFit
* | |
| * Package: RooFitCore
* | | * Package: RooFitCore
* | |
|
| * File: $Id: RooVectorDataStore.h 46567 2012-10-16 15:19:24Z wouter $ | | * File: $Id: RooVectorDataStore.h 48562 2013-02-13 18:17:24Z 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 206 | | skipping to change at line 206 | |
| _vec0 = &_vec.front() ; | | _vec0 = &_vec.front() ; | |
| } ; | | } ; | |
| | | | |
| void write(Int_t i) { | | void write(Int_t i) { | |
| /* std::cout << "write(" << this << ") [" << i << "] nativeReal = "
<< _nativeReal << " = " << _nativeReal->GetName() << " real = " << _real <
< " buf = " << _buf << " value = " << *_buf << " native getVal() = " << _na
tiveReal->getVal() << " getVal() = " << _real->getVal() << std::endl ; */ | | /* std::cout << "write(" << this << ") [" << i << "] nativeReal = "
<< _nativeReal << " = " << _nativeReal->GetName() << " real = " << _real <
< " buf = " << _buf << " value = " << *_buf << " native getVal() = " << _na
tiveReal->getVal() << " getVal() = " << _real->getVal() << std::endl ; */ | |
| _vec[i] = *_buf ; | | _vec[i] = *_buf ; | |
| } | | } | |
| | | | |
| void reset() { | | void reset() { | |
| _vec.clear() ; | | _vec.clear() ; | |
|
| _vec0 = &_vec.front() ; | | _vec0 = 0;//&_vec.front() ; | |
| } | | } | |
| | | | |
| inline void get(Int_t idx) const { | | inline void get(Int_t idx) const { | |
| *_buf = *(_vec0+idx) ; | | *_buf = *(_vec0+idx) ; | |
| } | | } | |
| | | | |
| inline void getNative(Int_t idx) const { | | inline void getNative(Int_t idx) const { | |
| *_nativeBuf = *(_vec0+idx) ; | | *_nativeBuf = *(_vec0+idx) ; | |
| } | | } | |
| | | | |
| | | | |
| skipping to change at line 421 | | skipping to change at line 421 | |
| | | | |
| void fill() { | | void fill() { | |
| _vec.push_back(*_buf) ; | | _vec.push_back(*_buf) ; | |
| _vec0 = &_vec.front() ; | | _vec0 = &_vec.front() ; | |
| } ; | | } ; | |
| void write(Int_t i) { | | void write(Int_t i) { | |
| _vec[i]=*_buf ; | | _vec[i]=*_buf ; | |
| } ; | | } ; | |
| void reset() { | | void reset() { | |
| _vec.clear() ; | | _vec.clear() ; | |
|
| _vec0 = &_vec.front() ; | | _vec0 = 0;//&_vec.front() ; | |
| } | | } | |
| inline void get(Int_t idx) const { | | inline void get(Int_t idx) const { | |
| _buf->assignFast(*(_vec0+idx)) ; | | _buf->assignFast(*(_vec0+idx)) ; | |
| } | | } | |
| inline void getNative(Int_t idx) const { | | inline void getNative(Int_t idx) const { | |
| _nativeBuf->assignFast(*(_vec0+idx)) ; | | _nativeBuf->assignFast(*(_vec0+idx)) ; | |
| } | | } | |
| Int_t size() const { return _vec.size() ; } | | Int_t size() const { return _vec.size() ; } | |
| | | | |
| void resize(Int_t siz) { | | void resize(Int_t siz) { | |
| | | | |
| skipping to change at line 576 | | skipping to change at line 576 | |
| | | | |
| // Convert element to full and add to full list | | // Convert element to full and add to full list | |
| _realfStoreList.push_back(new RealFullVector(*(*iter2),real)) ; | | _realfStoreList.push_back(new RealFullVector(*(*iter2),real)) ; | |
| _nRealF++ ; | | _nRealF++ ; | |
| _firstRealF = &_realfStoreList.front() ; | | _firstRealF = &_realfStoreList.front() ; | |
| | | | |
| // Delete bare element | | // Delete bare element | |
| RealVector* tmp = *iter2 ; | | RealVector* tmp = *iter2 ; | |
| _realStoreList.erase(iter2) ; | | _realStoreList.erase(iter2) ; | |
| delete tmp ; | | delete tmp ; | |
|
| _firstReal = &_realStoreList.front() ; | | if (_realStoreList.size() > 0) | |
| | | _firstReal = &_realStoreList.front() ; | |
| | | else | |
| | | _firstReal = 0; | |
| _nReal-- ; | | _nReal-- ; | |
| | | | |
| return _realfStoreList.back() ; | | return _realfStoreList.back() ; | |
| } | | } | |
| } | | } | |
| | | | |
| // If nothing found this will make an entry | | // If nothing found this will make an entry | |
| _realfStoreList.push_back(new RealFullVector(real)) ; | | _realfStoreList.push_back(new RealFullVector(real)) ; | |
| _nRealF++ ; | | _nRealF++ ; | |
| | | | |
| | | | |
End of changes. 4 change blocks. |
| 4 lines changed or deleted | | 7 lines changed or added | |
|
| RootFinder.h | | RootFinder.h | |
|
| // @(#)root/tmva $Id: RootFinder.h 40005 2011-06-27 15:29:10Z stelzer $ | | // @(#)root/mathmore:$Id: RootFinder.h 33942 2010-06-16 13:12:17Z moneta $ | |
| // Author: Andreas Hoecker, Joerg Stelzer, Helge Voss, Kai Voss | | // Authors: L. Moneta, A. Zsenei 08/2005 | |
| | | | |
|
| /************************************************************************** | | /********************************************************************** | |
| ******** | | * * | |
| * Project: TMVA - a Root-integrated toolkit for multivariate data analysis | | * Copyright (c) 2004 ROOT Foundation, CERN/PH-SFT * | |
| * | | * * | |
| * Package: TMVA | | * This library is free software; you can redistribute it and/or * | |
| * | | * modify it under the terms of the GNU General Public License * | |
| * Class : RootFinder | | * as published by the Free Software Foundation; either version 2 * | |
| * | | * 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 * | |
| * Description: | | * General Public License for more details. * | |
| * | | * * | |
| * Root finding using Brents algorithm | | * You should have received a copy of the GNU General Public License * | |
| * | | * along with this library (see file COPYING); if not, write * | |
| * (translated from CERNLIB function RZERO) | | * to the Free Software Foundation, Inc., 59 Temple Place, Suite * | |
| * | | * 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 | | // | |
| y * | | // Last update: Sun Nov 14 16:59:55 2004 | |
| * 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_TObject | | #ifndef ROOT_Math_IFunctionfwd | |
| #include "TObject.h" | | #include "Math/IFunctionfwd.h" | |
| #endif | | #endif | |
| | | | |
|
| namespace TMVA { | | #ifndef ROOT_Math_IRootFinderMethod | |
| | | #include "Math/IRootFinderMethod.h" | |
| class MsgLogger; | | #endif | |
| | | | |
| class RootFinder : public TObject { | | | |
| | | | |
| public: | | | |
| | | | |
| RootFinder( Double_t (*rootVal)( Double_t ), | | | |
| Double_t rootMin, Double_t rootMax, | | | |
| Int_t maxIterations = 100, | | | |
| Double_t absTolerance = 0.0 ); | | | |
| virtual ~RootFinder( void ); | | | |
| | | | |
| // returns the root of the function | | | |
| Double_t Root( Double_t refValue ); | | | |
| | | | |
|
| private: | | /** | |
| | | @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 | |
| | | | |
|
| 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 | | | |
| | | | |
|
| // function pointer | | } // namespace Math | |
| Double_t (*fGetRootVal)( Double_t ); | | } // namespace ROOT | |
| | | | |
|
| mutable MsgLogger* fLogger; //! message logger | | #ifndef ROOT_Math_WrappedFunction | |
| MsgLogger& Log() const { return *fLogger; } | | #include "Math/WrappedFunction.h" | |
| | | #endif | |
| | | | |
|
| ClassDef(RootFinder,0) // Root finding using Brents algorithm | | #ifndef ROOT_Math_Functor | |
| }; | | #include "Math/Functor.h" | |
| | | #endif | |
| | | | |
|
| } // namespace TMVA | | template<class Function, class Derivative> | |
| | | bool ROOT::Math::RootFinder::Solve(Function &f, Derivative &d, double start | |
| | | , | |
| | | 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 | | #endif /* ROOT_Math_RootFinder */ | |
| | | | |
End of changes. 11 change blocks. |
| 92 lines changed or deleted | | 254 lines changed or added | |
|
| TColor.h | | TColor.h | |
|
| // @(#)root/base:$Id: TColor.h 43719 2012-04-12 23:00:08Z rdm $ | | // @(#)root/base:$Id: TColor.h 48357 2013-01-21 14:44:54Z couet $ | |
| // Author: Rene Brun 12/12/94 | | // Author: Rene Brun 12/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. * | |
| *************************************************************************/ | | *************************************************************************/ | |
| | | | |
| | | | |
| skipping to change at line 76 | | skipping to change at line 76 | |
| TColor(Int_t color, Float_t r, Float_t g, Float_t b, const char *name=""
, Float_t a = 1); | | TColor(Int_t color, Float_t r, Float_t g, Float_t b, const char *name=""
, Float_t a = 1); | |
| TColor(const TColor &color); | | TColor(const TColor &color); | |
| virtual ~TColor(); | | virtual ~TColor(); | |
| const char *AsHexString() const; | | const char *AsHexString() const; | |
| void Copy(TObject &color) const; | | void Copy(TObject &color) const; | |
| static void CreateColorWheel(); | | static void CreateColorWheel(); | |
| static void CreateColorsGray(); | | static void CreateColorsGray(); | |
| static void CreateColorsCircle(Int_t offset, const char *name, UChar_t
*rgb); | | static void CreateColorsCircle(Int_t offset, const char *name, UChar_t
*rgb); | |
| static void CreateColorsRectangle(Int_t offset, const char *name, UCha
r_t *rgb); | | static void CreateColorsRectangle(Int_t offset, const char *name, UCha
r_t *rgb); | |
| static Int_t CreateGradientColorTable(UInt_t Number, Double_t* Stops, | | static Int_t CreateGradientColorTable(UInt_t Number, Double_t* Stops, | |
|
| Double_t* Red, Double_t* Green, Double_t* Blue, UInt_t
NColors); | | Double_t* Red, Double_t* Green, Double_t* Blue, UInt_t
NColors, Float_t alpha=1.); | |
| static Int_t GetColorPalette(Int_t i); | | static Int_t GetColorPalette(Int_t i); | |
| static Int_t GetNumberOfColors(); | | static Int_t GetNumberOfColors(); | |
| virtual void GetRGB(Float_t &r, Float_t &g, Float_t &b) const | | virtual void GetRGB(Float_t &r, Float_t &g, Float_t &b) const | |
| { r=GetRed(); g=GetGreen(); b=GetBlue(); } | | { r=GetRed(); g=GetGreen(); b=GetBlue(); } | |
| virtual void GetHLS(Float_t &h, Float_t &l, Float_t &s) const | | virtual void GetHLS(Float_t &h, Float_t &l, Float_t &s) const | |
| { h=GetHue(); l=GetLight(); s=GetSaturation(); } | | { h=GetHue(); l=GetLight(); s=GetSaturation(); } | |
| Int_t GetNumber() const { return fNumber; } | | Int_t GetNumber() const { return fNumber; } | |
| ULong_t GetPixel() const; | | ULong_t GetPixel() const; | |
| Float_t GetRed() const { return IsGrayscale() ? GetGrayscale() : f
Red; } | | Float_t GetRed() const { return IsGrayscale() ? GetGrayscale() : f
Red; } | |
| Float_t GetGreen() const { return IsGrayscale() ? GetGrayscale() :
fGreen; } | | Float_t GetGreen() const { return IsGrayscale() ? GetGrayscale() :
fGreen; } | |
| | | | |
| skipping to change at line 121 | | skipping to change at line 121 | |
| static Int_t GetColor(Int_t r, Int_t g, Int_t b); | | static Int_t GetColor(Int_t r, Int_t g, Int_t b); | |
| static Int_t GetColor(ULong_t pixel); | | static Int_t GetColor(ULong_t pixel); | |
| static Int_t GetColorBright(Int_t color); | | static Int_t GetColorBright(Int_t color); | |
| static Int_t GetColorDark(Int_t color); | | static Int_t GetColorDark(Int_t color); | |
| static ULong_t Number2Pixel(Int_t ci); | | static ULong_t Number2Pixel(Int_t ci); | |
| static ULong_t RGB2Pixel(Int_t r, Int_t g, Int_t b); | | static ULong_t RGB2Pixel(Int_t r, Int_t g, Int_t b); | |
| static ULong_t RGB2Pixel(Float_t r, Float_t g, Float_t b); | | static ULong_t RGB2Pixel(Float_t r, Float_t g, Float_t b); | |
| static void Pixel2RGB(ULong_t pixel, Int_t &r, Int_t &g, Int_t &b); | | static void Pixel2RGB(ULong_t pixel, Int_t &r, Int_t &g, Int_t &b); | |
| static void Pixel2RGB(ULong_t pixel, Float_t &r, Float_t &g, Float_t
&b); | | static void Pixel2RGB(ULong_t pixel, Float_t &r, Float_t &g, Float_t
&b); | |
| static const char *PixelAsHexString(ULong_t pixel); | | static const char *PixelAsHexString(ULong_t pixel); | |
|
| static void SaveColor(ostream &out, Int_t ci); | | static void SaveColor(std::ostream &out, Int_t ci); | |
| static Bool_t IsGrayscale(); | | static Bool_t IsGrayscale(); | |
| static void SetGrayscale(Bool_t set = kTRUE); | | static void SetGrayscale(Bool_t set = kTRUE); | |
|
| static void SetPalette(Int_t ncolors, Int_t *colors); | | static void SetPalette(Int_t ncolors, Int_t *colors,Float_t alpha=1.)
; | |
| | | | |
| ClassDef(TColor,2) //Color defined by RGB or HLS | | ClassDef(TColor,2) //Color defined by RGB or HLS | |
| }; | | }; | |
| | | | |
| #endif | | #endif | |
| | | | |
End of changes. 4 change blocks. |
| 4 lines changed or deleted | | 4 lines changed or added | |
|
| TDataSetManagerAliEn.h | | TDataSetManagerAliEn.h | |
|
| // @(#)root/proof:$Id: TDataSetManagerAliEn.h 48061 2012-12-15 19:46:14Z ga
nis $ | | // @(#)root/proof:$Id: TDataSetManagerAliEn.h 48399 2013-01-23 17:35:37Z ga
nis $ | |
| // Author: Dario Berzano, 26.11.12 | | // Author: Dario Berzano, 26.11.12 | |
| | | | |
| /************************************************************************* | | /************************************************************************* | |
| * 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 48 | | skipping to change at line 48 | |
| #include "TGridResult.h" | | #include "TGridResult.h" | |
| #include "TGrid.h" | | #include "TGrid.h" | |
| #include "THashList.h" | | #include "THashList.h" | |
| #include "TSystem.h" | | #include "TSystem.h" | |
| | | | |
| typedef enum { kDataRemote, kDataCache, kDataLocal } EDataMode; | | typedef enum { kDataRemote, kDataCache, kDataLocal } EDataMode; | |
| | | | |
| class TAliEnFind : public TObject { | | class TAliEnFind : public TObject { | |
| | | | |
| private: | | private: | |
|
| | | | |
| TString fBasePath; | | TString fBasePath; | |
| TString fFileName; | | TString fFileName; | |
| TString fTreeName; | | TString fTreeName; | |
| TString fRegexpRaw; | | TString fRegexpRaw; | |
| TString fAnchor; | | TString fAnchor; | |
| Bool_t fArchSubst; | | Bool_t fArchSubst; | |
| TPMERegexp *fRegexp; | | TPMERegexp *fRegexp; | |
| TString fSearchId; | | TString fSearchId; | |
| TGridResult *fGridResult; | | TGridResult *fGridResult; | |
| | | | |
|
| | | inline virtual void InvalidateSearchId(); | |
| | | inline virtual void InvalidateGridResult(); | |
| | | | |
| public: | | public: | |
| | | | |
|
| TAliEnFind(const TString &basePath, const TString &fileName, | | TAliEnFind(const TString &basePath = "", const TString &fileName = ""
, | |
| const TString &anchor = "", const Bool_t archSubst = kFALSE, | | const TString &anchor = "", const Bool_t archSubst = kFALSE, | |
| const TString &treeName = "", const TString ®exp = ""); | | const TString &treeName = "", const TString ®exp = ""); | |
| | | | |
|
| | | TAliEnFind(const TAliEnFind &src); | |
| | | TAliEnFind &operator=(const TAliEnFind &rhs); | |
| | | | |
| virtual ~TAliEnFind(); | | virtual ~TAliEnFind(); | |
| | | | |
|
| virtual TGridResult *GetGridResult(); | | virtual TGridResult *GetGridResult(Bool_t forceNewQuery = kFALSE | |
| virtual const TString &GetBasePath() const { return fBasePath; }; | | ); | |
| virtual const TString &GetFileName() const { return fFileName; }; | | | |
| virtual const TString &GetTreeName() const { return fTreeName; }; | | virtual const TString &GetBasePath() const { return fBasePath; }; | |
| virtual const TPMERegexp *GetRegexp() const { return fRegexp; }; | | virtual const TString &GetFileName() const { return fFileName; }; | |
| | | virtual const TString &GetAnchor() const { return fAnchor; }; | |
| | | virtual const TString &GetTreeName() const { return fTreeName; }; | |
| | | virtual Bool_t GetArchSubst() const { return fArchSubst; } | |
| | | ; | |
| | | virtual const TPMERegexp *GetRegexp() const { return fRegexp; }; | |
| | | | |
| | | virtual void SetBasePath(const char *basePath); | |
| | | virtual void SetFileName(const char *fileName); | |
| | | virtual void SetAnchor(const char *anchor); | |
| | | virtual void SetTreeName(const char *fileName); | |
| | | virtual void SetArchSubst(Bool_t archSubst); | |
| | | virtual void SetRegexp(const char *regexp); | |
| | | | |
| virtual const char *GetSearchId(); | | virtual const char *GetSearchId(); | |
|
| virtual TFileCollection *GetCollection(); | | virtual TFileCollection *GetCollection(Bool_t forceNewQuery = kFALSE | |
| | | ); | |
| | | virtual void Print(Option_t* opt = "") const; | |
| | | | |
|
| ClassDef(TAliEnFind, 0); // Interface to AliEn find command | | ClassDef(TAliEnFind, 0); // Interface to the AliEn find command | |
| | | | |
| }; | | }; | |
| | | | |
| class TDataSetManagerAliEn : public TDataSetManager { | | class TDataSetManagerAliEn : public TDataSetManager { | |
| | | | |
| protected: | | protected: | |
| | | | |
| TPMERegexp *fUrlRe; | | TPMERegexp *fUrlRe; | |
| TString fUrlTpl; | | TString fUrlTpl; | |
| TDataSetManagerFile *fCache; | | TDataSetManagerFile *fCache; | |
| Long_t fCacheExpire_s; | | Long_t fCacheExpire_s; | |
| | | | |
| std::vector<Int_t> *ExpandRunSpec(TString &runSpec); | | std::vector<Int_t> *ExpandRunSpec(TString &runSpec); | |
| | | | |
| virtual Bool_t ParseCustomFindUri(TString &uri, TString &basePath, | | virtual Bool_t ParseCustomFindUri(TString &uri, TString &basePath, | |
|
| TString &fileName, TString &treeName, TString ®exp); | | TString &fileName, TString &anchor, TString &treeName, | |
| | | TString ®exp); | |
| | | | |
| virtual Bool_t ParseOfficialDataUri(TString &uri, Bool_t sim, | | virtual Bool_t ParseOfficialDataUri(TString &uri, Bool_t sim, | |
| TString &period, Int_t &year, std::vector<Int_t> *&runList, | | TString &period, Int_t &year, std::vector<Int_t> *&runList, | |
| Bool_t &esd, Int_t &aodNum, TString &pass); | | Bool_t &esd, Int_t &aodNum, TString &pass); | |
| | | | |
| virtual void Init(TString cacheDir, TString urlTpl, | | virtual void Init(TString cacheDir, TString urlTpl, | |
| ULong_t cacheExpire_s); | | ULong_t cacheExpire_s); | |
| | | | |
| public: | | public: | |
| | | | |
| | | | |
End of changes. 9 change blocks. |
| 10 lines changed or deleted | | 33 lines changed or added | |
|
| TEveVSDStructs.h | | TEveVSDStructs.h | |
|
| // @(#)root/eve:$Id: TEveVSDStructs.h 38721 2011-04-04 13:37:12Z matevz $ | | // @(#)root/eve:$Id: TEveVSDStructs.h 48580 2013-02-14 22:24:28Z rdm $ | |
| // 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 134 | | skipping to change at line 134 | |
| class TEveRecTrackT : public TObject | | class TEveRecTrackT : public TObject | |
| { | | { | |
| public: | | public: | |
| Int_t fLabel; // Label of the track. | | Int_t fLabel; // Label of the track. | |
| Int_t fIndex; // Index of the track (in some source arra
y). | | Int_t fIndex; // Index of the track (in some source arra
y). | |
| Int_t fStatus; // Status as exported from reconstruction. | | Int_t fStatus; // Status as exported from reconstruction. | |
| Int_t fSign; // Charge of the track. | | Int_t fSign; // Charge of the track. | |
| TEveVectorT<TT> fV; // Start vertex from reconstruction. | | TEveVectorT<TT> fV; // Start vertex from reconstruction. | |
| TEveVectorT<TT> fP; // Reconstructed momentum at start vertex. | | TEveVectorT<TT> fP; // Reconstructed momentum at start vertex. | |
| TT fBeta; // Relativistic beta factor. | | TT fBeta; // Relativistic beta factor. | |
|
| | | Double32_t fDcaXY; // dca xy to the primary vertex | |
| | | Double32_t fDcaZ; // dca z to the primary vertex | |
| | | Double32_t fPVX; // | |
| | | Double32_t fPVY; // | |
| | | Double32_t fPVZ; // | |
| // PID data missing | | // PID data missing | |
| | | | |
|
| TEveRecTrackT() : fLabel(-1), fIndex(-1), fStatus(0), fSign(0), fV(), fP
(), fBeta(0) {} | | TEveRecTrackT() : fLabel(-1), fIndex(-1), fStatus(0), fSign(0), fV(), fP
(), fBeta(0), fDcaXY(0), fDcaZ(0), fPVX(0), fPVY(0), fPVZ(0) {} | |
| virtual ~TEveRecTrackT() {} | | virtual ~TEveRecTrackT() {} | |
| | | | |
| Float_t Pt() { return fP.Perp(); } | | Float_t Pt() { return fP.Perp(); } | |
| | | | |
|
| ClassDef(TEveRecTrackT, 1); // Template for reconstructed track (also us
ed in VSD). | | ClassDef(TEveRecTrackT, 2); // Template for reconstructed track (also us
ed in VSD). | |
| }; | | }; | |
| | | | |
| typedef TEveRecTrackT<Float_t> TEveRecTrack; | | typedef TEveRecTrackT<Float_t> TEveRecTrack; | |
| typedef TEveRecTrackT<Float_t> TEveRecTrackF; | | typedef TEveRecTrackT<Float_t> TEveRecTrackF; | |
| typedef TEveRecTrackT<Double_t> TEveRecTrackD; | | typedef TEveRecTrackT<Double_t> TEveRecTrackD; | |
| | | | |
| /**************************************************************************
****/ | | /**************************************************************************
****/ | |
| // TEveRecKink | | // TEveRecKink | |
| /**************************************************************************
****/ | | /**************************************************************************
****/ | |
| | | | |
| | | | |
End of changes. 4 change blocks. |
| 4 lines changed or deleted | | 8 lines changed or added | |
|
| TFileMerger.h | | TFileMerger.h | |
|
| // @(#)root/io:$Id: TFileMerger.h 41444 2011-10-18 09:36:59Z pcanal $ | | // @(#)root/io:$Id: TFileMerger.h 48336 2013-01-18 15:41:50Z pcanal $ | |
| // Author: Andreas Peters + Fons Rademakers 26/5/2005 | | // Author: Andreas Peters + Fons Rademakers 26/5/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 64 | | skipping to change at line 64 | |
| Bool_t fFastMethod; // True if using Fast merging algorith
m (default) | | Bool_t fFastMethod; // True if using Fast merging algorith
m (default) | |
| Bool_t fNoTrees; // True if Trees should not be merged
(default is kFALSE) | | Bool_t fNoTrees; // True if Trees should not be merged
(default is kFALSE) | |
| Bool_t fExplicitCompLevel;// True if the user explicitly request
ed a compressio level change (default kFALSE) | | Bool_t fExplicitCompLevel;// True if the user explicitly request
ed a compressio level change (default kFALSE) | |
| Bool_t fCompressionChange;// True if the output and input have d
ifferent compression level (default kFALSE) | | Bool_t fCompressionChange;// True if the output and input have d
ifferent compression level (default kFALSE) | |
| Int_t fPrintLevel; // How much information to print out a
t run time. | | Int_t fPrintLevel; // How much information to print out a
t run time. | |
| TString fMsgPrefix; // Prefix to be used when printing inf
ormational message (default TFileMerger) | | TString fMsgPrefix; // Prefix to be used when printing inf
ormational message (default TFileMerger) | |
| | | | |
| Int_t fMaxOpenedFiles; // Maximum number of files opened at th
e same time by the TFileMerger. | | Int_t fMaxOpenedFiles; // Maximum number of files opened at th
e same time by the TFileMerger. | |
| Bool_t fLocal; // Makes local copies of merging files
if True (default is kTRUE) | | Bool_t fLocal; // Makes local copies of merging files
if True (default is kTRUE) | |
| Bool_t fHistoOneGo; // Merger histos in one go (default is
kTRUE) | | Bool_t fHistoOneGo; // Merger histos in one go (default is
kTRUE) | |
|
| | | TString fObjectNames; // List of object names to be either me
rged exclusively or skipped | |
| TList *fMergeList; // list of TObjString containing the na
me of the files need to be merged | | TList *fMergeList; // list of TObjString containing the na
me of the files need to be merged | |
| TList *fExcessFiles; //! List of TObjString containing the n
ame of the files not yet added to fFileList due to user or system limitiati
on on the max number of files opened. | | TList *fExcessFiles; //! List of TObjString containing the n
ame of the files not yet added to fFileList due to user or system limitiati
on on the max number of files opened. | |
| | | | |
| Bool_t OpenExcessFiles(); | | Bool_t OpenExcessFiles(); | |
| virtual Bool_t AddFile(TFile *source, Bool_t own, Bool_t cpProgress); | | virtual Bool_t AddFile(TFile *source, Bool_t own, Bool_t cpProgress); | |
| virtual Bool_t MergeRecursive(TDirectory *target, TList *sourcelist, Int
_t type = kRegular | kAll); | | virtual Bool_t MergeRecursive(TDirectory *target, TList *sourcelist, Int
_t type = kRegular | kAll); | |
| | | | |
| public: | | public: | |
| enum EPartialMergeType { | | enum EPartialMergeType { | |
| kRegular = 0, // Normal merge, overwritting the outp
ut file. | | kRegular = 0, // Normal merge, overwritting the outp
ut file. | |
| kIncremental = BIT(1), // Merge the input file with the conte
nt of the output file (if already exising). | | kIncremental = BIT(1), // Merge the input file with the conte
nt of the output file (if already exising). | |
| kResetable = BIT(2), // Only the objects with a MergeAfterR
eset member function. | | kResetable = BIT(2), // Only the objects with a MergeAfterR
eset member function. | |
| kNonResetable = BIT(3), // Only the objects without a MergeAft
erReset member function. | | kNonResetable = BIT(3), // Only the objects without a MergeAft
erReset member function. | |
| | | | |
|
| kAll = BIT(2)|BIT(3), // Merge all type of objects (d | | kAll = BIT(2)|BIT(3), // Merge all type of objects ( | |
| efault) | | default) | |
| kAllIncremental = kIncremental | kAll // Merge incrementally all type | | kAllIncremental = kIncremental | kAll, // Merge incrementally all typ | |
| of objects. | | e of objects. | |
| | | | |
| | | kOnlyListed = BIT(4), // Merge only the objects specified in | |
| | | fObjectNames list | |
| | | kSkipListed = BIT(5) // Skip objects specified in fObjectNa | |
| | | mes list | |
| }; | | }; | |
| TFileMerger(Bool_t isLocal = kTRUE, Bool_t histoOneGo = kTRUE); | | TFileMerger(Bool_t isLocal = kTRUE, Bool_t histoOneGo = kTRUE); | |
| virtual ~TFileMerger(); | | virtual ~TFileMerger(); | |
| | | | |
| Int_t GetPrintLevel() const { return fPrintLevel; } | | Int_t GetPrintLevel() const { return fPrintLevel; } | |
| void SetPrintLevel(Int_t level) { fPrintLevel = level; } | | void SetPrintLevel(Int_t level) { fPrintLevel = level; } | |
| Bool_t HasCompressionChange() const { return fCompressionChange; } | | Bool_t HasCompressionChange() const { return fCompressionChange; } | |
| const char *GetOutputFileName() const { return fOutputFilename; } | | const char *GetOutputFileName() const { return fOutputFilename; } | |
| TList *GetMergeList() const { return fMergeList; } | | TList *GetMergeList() const { return fMergeList; } | |
| TFile *GetOutputFile() const { return fOutputFile; } | | TFile *GetOutputFile() const { return fOutputFile; } | |
| Int_t GetMaxOpenedFies() const { return fMaxOpenedFiles; } | | Int_t GetMaxOpenedFies() const { return fMaxOpenedFiles; } | |
| void SetMaxOpenedFiles(Int_t newmax); | | void SetMaxOpenedFiles(Int_t newmax); | |
| const char *GetMsgPrefix() const { return fMsgPrefix; } | | const char *GetMsgPrefix() const { return fMsgPrefix; } | |
| void SetMsgPrefix(const char *prefix); | | void SetMsgPrefix(const char *prefix); | |
|
| | | void AddObjectNames(const char *name) {fObjectNames += name; fObj | |
| | | ectNames += " ";} | |
| | | const char *GetObjectNames() const {return fObjectNames.Data();} | |
| | | void ClearObjectNames() {fObjectNames.Clear();} | |
| | | | |
| //--- file management interface | | //--- file management interface | |
| virtual Bool_t SetCWD(const char * /*path*/) { MayNotUse("SetCWD"); retu
rn kFALSE; } | | virtual Bool_t SetCWD(const char * /*path*/) { MayNotUse("SetCWD"); retu
rn kFALSE; } | |
| virtual const char *GetCWD() { MayNotUse("GetCWD"); return 0; } | | virtual const char *GetCWD() { MayNotUse("GetCWD"); return 0; } | |
| | | | |
| //--- file merging interface | | //--- file merging interface | |
| virtual void Reset(); | | virtual void Reset(); | |
| virtual Bool_t AddFile(const char *url, Bool_t cpProgress = kTRUE); | | virtual Bool_t AddFile(const char *url, Bool_t cpProgress = kTRUE); | |
| virtual Bool_t AddFile(TFile *source, Bool_t cpProgress = kTRUE); | | virtual Bool_t AddFile(TFile *source, Bool_t cpProgress = kTRUE); | |
| virtual Bool_t AddAdoptFile(TFile *source, Bool_t cpProgress = kTRUE); | | virtual Bool_t AddAdoptFile(TFile *source, Bool_t cpProgress = kTRUE); | |
| | | | |
| skipping to change at line 115 | | skipping to change at line 122 | |
| virtual Bool_t OutputFile(const char *url, Bool_t force, Int_t compressi
onLevel); | | virtual Bool_t OutputFile(const char *url, Bool_t force, Int_t compressi
onLevel); | |
| virtual Bool_t OutputFile(const char *url, const char *mode = "RECREATE"
); | | virtual Bool_t OutputFile(const char *url, const char *mode = "RECREATE"
); | |
| virtual Bool_t OutputFile(const char *url, const char *mode, Int_t compr
essionLevel); | | virtual Bool_t OutputFile(const char *url, const char *mode, Int_t compr
essionLevel); | |
| virtual void PrintFiles(Option_t *options); | | virtual void PrintFiles(Option_t *options); | |
| virtual Bool_t Merge(Bool_t = kTRUE); | | virtual Bool_t Merge(Bool_t = kTRUE); | |
| virtual Bool_t PartialMerge(Int_t type = kAll | kIncremental); | | virtual Bool_t PartialMerge(Int_t type = kAll | kIncremental); | |
| virtual void SetFastMethod(Bool_t fast=kTRUE) {fFastMethod = fast;} | | virtual void SetFastMethod(Bool_t fast=kTRUE) {fFastMethod = fast;} | |
| virtual void SetNotrees(Bool_t notrees=kFALSE) {fNoTrees = notrees;} | | virtual void SetNotrees(Bool_t notrees=kFALSE) {fNoTrees = notrees;} | |
| virtual void RecursiveRemove(TObject *obj); | | virtual void RecursiveRemove(TObject *obj); | |
| | | | |
|
| ClassDef(TFileMerger,4) // File copying and merging services | | ClassDef(TFileMerger,5) // File copying and merging services | |
| }; | | }; | |
| | | | |
| #endif | | #endif | |
| | | | |
End of changes. 5 change blocks. |
| 6 lines changed or deleted | | 16 lines changed or added | |
|
| TFilePrefetch.h | | TFilePrefetch.h | |
|
| // @(#)root/io:$Id: TFilePrefetch.h 44763 2012-06-27 14:05:39Z pcanal $ | | // @(#)root/io:$Id: TFilePrefetch.h 48307 2013-01-16 16:21:00Z 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 84 | | skipping to change at line 84 | |
| 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 | |
| TCondition *fNewBlockAdded; // signal the addition of a new pending
block | | TCondition *fNewBlockAdded; // signal the addition of a new pending
block | |
| TCondition *fReadBlockAdded; // signal the addition of a new red bloc
k | | TCondition *fReadBlockAdded; // signal the addition of a new red bloc
k | |
| TCondition *fCondNextFile; // signal TChain that we can move to the
next file | | TCondition *fCondNextFile; // signal TChain that we can move to the
next file | |
| TSemaphore *fSemMasterWorker; // semaphore used to kill the consumer t
hread | | TSemaphore *fSemMasterWorker; // semaphore used to kill the consumer t
hread | |
| TSemaphore *fSemWorkerMaster; // semaphore used to notify the master t
hat worker is killed | | 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) | |
|
| | | Bool_t fThreadJoined; // mark if async thread was joined | |
| | | | |
| 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&); | |
| void ReadListOfBlocks(); | | void ReadListOfBlocks(); | |
| | | | |
| | | | |
| skipping to change at line 117 | | skipping to change at line 118 | |
| 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*); | |
| TCondition* GetCondNextFile() const { return fCondNextFile; }; | | TCondition* GetCondNextFile() const { return fCondNextFile; }; | |
|
| | | void WaitFinishPrefetch(); | |
| | | | |
| ClassDef(TFilePrefetch, 0); // File block prefetcher | | ClassDef(TFilePrefetch, 0); // File block prefetcher | |
| }; | | }; | |
| | | | |
| #endif | | #endif | |
| | | | |
End of changes. 3 change blocks. |
| 1 lines changed or deleted | | 3 lines changed or added | |
|
| TMath.h | | TMath.h | |
|
| // @(#)root/mathcore:$Id: TMath.h 47076 2012-11-06 17:16:13Z moneta $ | | // @(#)root/mathcore:$Id: TMath.h 48567 2013-02-14 08:59:17Z moneta $ | |
| // Authors: Rene Brun, Anna Kreshuk, Eddy Offermann, Fons Rademakers 29/0
7/95 | | // Authors: Rene Brun, Anna Kreshuk, Eddy Offermann, Fons Rademakers 29/0
7/95 | |
| | | | |
| /************************************************************************* | | /************************************************************************* | |
| * 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 303 | | skipping to change at line 303 | |
| template <typename T> Double_t Mean(Long64_t n, const T *a, const Double
_t *w=0); | | template <typename T> Double_t Mean(Long64_t n, const T *a, const Double
_t *w=0); | |
| template <typename Iterator> Double_t Mean(Iterator first, Iterator last
); | | template <typename Iterator> Double_t Mean(Iterator first, Iterator last
); | |
| template <typename Iterator, typename WeightIterator> Double_t Mean(Iter
ator first, Iterator last, WeightIterator w); | | template <typename Iterator, typename WeightIterator> Double_t Mean(Iter
ator first, Iterator last, WeightIterator w); | |
| | | | |
| template <typename T> Double_t GeomMean(Long64_t n, const T *a); | | template <typename T> Double_t GeomMean(Long64_t n, const T *a); | |
| template <typename Iterator> Double_t GeomMean(Iterator first, Iterator
last); | | template <typename Iterator> Double_t GeomMean(Iterator first, Iterator
last); | |
| | | | |
| template <typename T> Double_t RMS(Long64_t n, const T *a); | | template <typename T> Double_t RMS(Long64_t n, const T *a); | |
| template <typename Iterator> Double_t RMS(Iterator first, Iterator last)
; | | template <typename Iterator> Double_t RMS(Iterator first, Iterator last)
; | |
| | | | |
|
| | | template <typename T> Double_t StdDev(Long64_t n, const T *a) { return R | |
| | | MS<T>(n,a); } | |
| | | template <typename Iterator> Double_t StdDev(Iterator first, Iterator la | |
| | | st) { return RMS<Iterator>(first,last); } | |
| | | | |
| template <typename T> Double_t Median(Long64_t n, const T *a, const Dou
ble_t *w=0, Long64_t *work=0); | | template <typename T> Double_t Median(Long64_t n, const T *a, const Dou
ble_t *w=0, Long64_t *work=0); | |
| | | | |
| //k-th order statistic | | //k-th order statistic | |
| template <class Element, typename Size> Element KOrdStat(Size n, const E
lement *a, Size k, Size *work = 0); | | template <class Element, typename Size> Element KOrdStat(Size n, const E
lement *a, Size k, Size *work = 0); | |
| | | | |
| /* ******************* */ | | /* ******************* */ | |
| /* * Special Functions */ | | /* * Special Functions */ | |
| /* ******************* */ | | /* ******************* */ | |
| | | | |
| Double_t Beta(Double_t p, Double_t q); | | Double_t Beta(Double_t p, Double_t q); | |
| | | | |
End of changes. 2 change blocks. |
| 1 lines changed or deleted | | 6 lines changed or added | |
|
| TMinuitMinimizer.h | | TMinuitMinimizer.h | |
|
| // @(#)root/minuit:$Id: TMinuitMinimizer.h 43086 2012-02-22 13:41:34Z monet
a $ | | // @(#)root/minuit:$Id: TMinuitMinimizer.h 48272 2013-01-11 16:52:41Z monet
a $ | |
| // Author: L. Moneta Wed Oct 25 16:28:55 2006 | | // Author: L. Moneta Wed Oct 25 16:28:55 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 TMinuitMinimizer | | // Header file for class TMinuitMinimizer | |
| | | | |
| skipping to change at line 92 | | skipping to change at line 92 | |
| | | | |
| /// set the function to minimize | | /// set the function to minimize | |
| virtual void SetFunction(const ROOT::Math::IMultiGradFunction & func); | | virtual void SetFunction(const ROOT::Math::IMultiGradFunction & func); | |
| | | | |
| /// set free variable | | /// set free variable | |
| virtual bool SetVariable(unsigned int ivar, const std::string & name, do
uble val, double step); | | virtual bool SetVariable(unsigned int ivar, const std::string & name, do
uble val, double step); | |
| | | | |
| /// set upper/lower limited variable (override if minimizer supports the
m ) | | /// set upper/lower limited variable (override if minimizer supports the
m ) | |
| virtual bool SetLimitedVariable(unsigned int ivar , const std::string &
name , double val , double step , double /* lower */, double /* upper */); | | virtual bool SetLimitedVariable(unsigned int ivar , const std::string &
name , double val , double step , double /* lower */, double /* upper */); | |
| | | | |
|
| #ifdef LATER | | | |
| /// set lower limit variable (override if minimizer supports them ) | | /// set lower limit variable (override if minimizer supports them ) | |
| virtual bool SetLowerLimitedVariable(unsigned int ivar , const std::str
ing & name , double val , double step , double lower ); | | virtual bool SetLowerLimitedVariable(unsigned int ivar , const std::str
ing & name , double val , double step , double lower ); | |
|
| | | | |
| /// set upper limit variable (override if minimizer supports them ) | | /// set upper limit variable (override if minimizer supports them ) | |
| virtual bool SetUpperLimitedVariable(unsigned int ivar , const std::stri
ng & name , double val , double step , double upper ); | | virtual bool SetUpperLimitedVariable(unsigned int ivar , const std::stri
ng & name , double val , double step , double upper ); | |
|
| #endif | | | |
| | | | |
| /// set fixed variable (override if minimizer supports them ) | | /// set fixed variable (override if minimizer supports them ) | |
| virtual bool SetFixedVariable(unsigned int /* ivar */, const std::string
& /* name */, double /* val */); | | virtual bool SetFixedVariable(unsigned int /* ivar */, const std::string
& /* name */, double /* val */); | |
| | | | |
| /// set the value of an existing variable | | /// set the value of an existing variable | |
| virtual bool SetVariableValue(unsigned int , double ); | | virtual bool SetVariableValue(unsigned int , double ); | |
| | | | |
| /// method to perform the minimization | | /// method to perform the minimization | |
| virtual bool Minimize(); | | virtual bool Minimize(); | |
| | | | |
| | | | |
End of changes. 4 change blocks. |
| 3 lines changed or deleted | | 2 lines changed or added | |
|
| TProof.h | | TProof.h | |
|
| // @(#)root/proof:$Id: TProof.h 48061 2012-12-15 19:46:14Z ganis $ | | // @(#)root/proof:$Id: TProof.h 48276 2013-01-12 11:38:52Z 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 142 | | skipping to change at line 142 | |
| // package download, dataset caching | | // package download, dataset caching | |
| // 28 -> 29: Support for config parameters in EnablePackage, idle-timeout | | // 28 -> 29: Support for config parameters in EnablePackage, idle-timeout | |
| // 29 -> 30: Add information about data dir in TSlaveInfo | | // 29 -> 30: Add information about data dir in TSlaveInfo | |
| // 30 -> 31: Development cycle 5.29 | | // 30 -> 31: Development cycle 5.29 | |
| // 31 -> 32: New log path trasmission | | // 31 -> 32: New log path trasmission | |
| // 32 -> 33: Development cycle 5.29/04 (fixed worker activation, new startu
p technology, ...) | | // 32 -> 33: Development cycle 5.29/04 (fixed worker activation, new startu
p technology, ...) | |
| // 33 -> 34: Development cycle 5.33/02 (fix load issue, ...) | | // 33 -> 34: Development cycle 5.33/02 (fix load issue, ...) | |
| // 34 -> 35: Development cycle 5.99/01 (PLite on workers, staging requests
in separate dsmgr...) | | // 34 -> 35: Development cycle 5.99/01 (PLite on workers, staging requests
in separate dsmgr...) | |
| | | | |
| // PROOF magic constants | | // PROOF magic constants | |
|
| const Int_t kPROOF_Protocol = 34; // protocol versi
on number | | const Int_t kPROOF_Protocol = 35; // 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 | |
| | | | |
End of changes. 2 change blocks. |
| 2 lines changed or deleted | | 2 lines changed or added | |
|
| TWebFile.h | | TWebFile.h | |
|
| // @(#)root/net:$Id: TWebFile.h 40671 2011-08-23 12:18:37Z rdm $ | | // @(#)root/net:$Id: TWebFile.h 48446 2013-01-30 16:42:31Z rdm $ | |
| // Author: Fons Rademakers 17/01/97 | | // Author: Fons Rademakers 17/01/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 73 | | skipping to change at line 73 | |
| virtual TString BasicAuthentication(); | | virtual TString BasicAuthentication(); | |
| virtual Int_t GetHead(); | | virtual Int_t GetHead(); | |
| virtual Int_t GetLine(TSocket *s, char *line, Int_t maxsize); | | virtual Int_t GetLine(TSocket *s, char *line, Int_t maxsize); | |
| virtual Int_t GetHunk(TSocket *s, char *hunk, Int_t maxsize); | | virtual Int_t GetHunk(TSocket *s, char *hunk, Int_t maxsize); | |
| virtual const char *HttpTerminator(const char *start, const char *peeked
, Int_t peeklen); | | virtual const char *HttpTerminator(const char *start, const char *peeked
, Int_t peeklen); | |
| virtual Int_t GetFromWeb(char *buf, Int_t len, const TString &msg)
; | | virtual Int_t GetFromWeb(char *buf, Int_t len, const TString &msg)
; | |
| virtual Int_t GetFromWeb10(char *buf, Int_t len, const TString &ms
g); | | virtual Int_t GetFromWeb10(char *buf, Int_t len, const TString &ms
g); | |
| virtual Bool_t ReadBuffer10(char *buf, Int_t len); | | virtual Bool_t ReadBuffer10(char *buf, Int_t len); | |
| virtual Bool_t ReadBuffers10(char *buf, Long64_t *pos, Int_t *len,
Int_t nbuf); | | virtual Bool_t ReadBuffers10(char *buf, Long64_t *pos, Int_t *len,
Int_t nbuf); | |
| virtual void SetMsgReadBuffer10(const char *redirectLocation = 0,
Bool_t tempRedirect = kFALSE); | | virtual void SetMsgReadBuffer10(const char *redirectLocation = 0,
Bool_t tempRedirect = kFALSE); | |
|
| | | virtual void ProcessHttpHeader(const TString& headerLine); | |
| | | | |
| public: | | public: | |
| TWebFile(const char *url, Option_t *opt=""); | | TWebFile(const char *url, Option_t *opt=""); | |
| TWebFile(TUrl url, Option_t *opt=""); | | TWebFile(TUrl url, Option_t *opt=""); | |
| virtual ~TWebFile(); | | virtual ~TWebFile(); | |
| | | | |
| virtual Long64_t GetSize() const; | | virtual Long64_t GetSize() const; | |
| virtual Bool_t IsOpen() const; | | virtual Bool_t IsOpen() const; | |
| virtual Int_t ReOpen(Option_t *mode); | | virtual Int_t ReOpen(Option_t *mode); | |
| virtual Bool_t ReadBuffer(char *buf, Int_t len); | | virtual Bool_t ReadBuffer(char *buf, Int_t len); | |
| | | | |
End of changes. 2 change blocks. |
| 1 lines changed or deleted | | 2 lines changed or added | |
|