![]() |
MaCh3
2.4.2
Reference Guide
|
EW: As ParameterHandlerBase is an abstract base class we have to do some gymnastics to get it to get it into python. More...
Public Member Functions | |
| double | GetLikelihood () override |
| Return CalcLikelihood if some params were thrown out of boundary return LARGE_LOGL More... | |
| void | ProposeStep () override |
| Generate a new proposed state. More... | |
| ParameterHandlerBase (const std::vector< std::string > &YAMLFile, std::string name, double threshold=-1, int FirstPCAdpar=-999, int LastPCAdpar=-999) | |
| ETA - constructor for a YAML file. More... | |
| ParameterHandlerBase (std::string name, std::string file, double threshold=-1, int FirstPCAdpar=-999, int LastPCAdpar=-999) | |
| "Usual" constructors from root file More... | |
Public Member Functions inherited from ParameterHandlerBase | |
| ParameterHandlerBase (const std::vector< std::string > &YAMLFile, std::string name, double threshold=-1, int FirstPCAdpar=-999, int LastPCAdpar=-999) | |
| ETA - constructor for a YAML file. More... | |
| ParameterHandlerBase (std::string name, std::string file, double threshold=-1, int FirstPCAdpar=-999, int LastPCAdpar=-999) | |
| "Usual" constructors from root file More... | |
| virtual | ~ParameterHandlerBase () |
| Destructor. More... | |
| void | SetCovMatrix (TMatrixDSym *cov) |
| Set covariance matrix. More... | |
| void | SetName (const std::string &name) |
| Set matrix name. More... | |
| void | SetParName (const int i, const std::string &name) |
| change parameter name More... | |
| void | SetSingleParameter (const int parNo, const double parVal) |
| Set value of single param to a given value. More... | |
| void | SetPar (const int i, const double val) |
| Set all the covariance matrix parameters to a user-defined value. More... | |
| void | SetParCurrProp (const int i, const double val) |
| Set current parameter value. More... | |
| void | SetParProp (const int i, const double val) |
| Set proposed parameter value. More... | |
| void | SetParameters (const std::vector< double > &pars={}) |
| Set parameter values using vector, it has to have same size as covariance class. More... | |
| void | SetFlatPrior (const int i, const bool eL) |
| Set if parameter should have flat prior or not. More... | |
| void | SetRandomThrow (const int i, const double rand) |
| Set random value useful for debugging/CI. More... | |
| double | GetRandomThrow (const int i) const |
| Get random value useful for debugging/CI. More... | |
| void | SetBranches (TTree &tree, const bool SaveProposal=false) |
| set branches for output file More... | |
| void | SetStepScale (const double scale, const bool verbose=true) |
| Set global step scale for covariance object. More... | |
| void | SetIndivStepScale (const int ParameterIndex, const double StepScale) |
| DB Function to set fIndivStepScale from a vector (Can be used from execs and inside covariance constructors) More... | |
| void | SetIndivStepScale (const std::vector< double > &stepscale) |
| DB Function to set fIndivStepScale from a vector (Can be used from execs and inside covariance constructors) More... | |
| void | SetPrintLength (const unsigned int PriLen) |
| KS: In case someone really want to change this. More... | |
| void | SaveUpdatedMatrixConfig () |
| KS: After step scale, prefit etc. value were modified save this modified config. More... | |
| void | ThrowParameters () |
| Throw the parameters according to the covariance matrix. This shouldn't be used in MCMC code ase it can break Detailed Balance;. More... | |
| void | RandomConfiguration () |
| Randomly throw the parameters in their 1 sigma range. More... | |
| int | CheckBounds () const _noexcept_ |
| Check if parameters were proposed outside physical boundary. More... | |
| double | CalcLikelihood () const _noexcept_ |
| Calc penalty term based on inverted covariance matrix. More... | |
| TMatrixDSym * | GetCovMatrix () const |
| Return covariance matrix. More... | |
| TMatrixDSym * | GetInvCovMatrix () const |
| Return inverted covariance matrix. More... | |
| double | GetInvCovMatrix (const int i, const int j) const |
| Return inverted covariance matrix. More... | |
| double | GetCorrThrows (const int i) const |
| Return correlated throws. More... | |
| bool | GetFlatPrior (const int i) const |
| Get if param has flat prior or not. More... | |
| std::string | GetName () const |
| Get name of covariance. More... | |
| std::string | GetParName (const int i) const |
| Get name of parameter. More... | |
| int | GetParIndex (const std::string &name) const |
| Get index based on name. More... | |
| std::string | GetParFancyName (const int i) const |
| Get fancy name of the Parameter. More... | |
| std::string | GetInputFile () const |
| Get name of input file. More... | |
| double | GetDiagonalError (const int i) const |
| Get diagonal error for ith parameter. More... | |
| double | GetError (const int i) const |
| Get the error for the ith parameter. More... | |
| void | ResetIndivStepScale () |
| Adaptive Step Tuning Stuff. More... | |
| void | SetIndivStepScaleForSkippedAdaptParams () |
| Set individual step scale for parameters which are skipped during adaption to initial values. More... | |
| void | InitialiseAdaption (const YAML::Node &adapt_manager) |
| Initialise adaptive MCMC. More... | |
| void | SaveAdaptiveToFile (const std::string &outFileName, const std::string &systematicName) |
| Save adaptive throw matrix to file. More... | |
| bool | GetDoAdaption () const |
| Do we adapt or not. More... | |
| void | SetThrowMatrix (TMatrixDSym *cov) |
| Use new throw matrix, used in adaptive MCMC. More... | |
| void | SetSubThrowMatrix (int first_index, int last_index, TMatrixDSym const &subcov) |
| void | UpdateThrowMatrix (TMatrixDSym *cov) |
| Replaces old throw matrix with new one. More... | |
| void | SetNumberOfSteps (const int nsteps) |
| Set number of MCMC step, when running adaptive MCMC it is updated with given frequency. We need number of steps to determine frequency. More... | |
| TMatrixDSym * | GetThrowMatrix () const |
| Get matrix used for step proposal. More... | |
| double | GetThrowMatrix (const int i, const int j) const |
| Get matrix used for step proposal. More... | |
| TH2D * | GetCorrelationMatrix () |
| KS: Convert covariance matrix to correlation matrix and return TH2D which can be used for fancy plotting. More... | |
| const double * | RetPointer (const int iParam) |
| DB Pointer return to param position. More... | |
| const std::vector< double > & | GetParPropVec () |
| Get a reference to the proposed parameter values Can be useful if you want to track these without having to copy values using getProposed() More... | |
| int | GetNumParams () const |
| Get total number of parameters. More... | |
| std::vector< double > | GetPreFitValues () const |
| Get the pre-fit values of the parameters. More... | |
| std::vector< double > | GetProposed () const |
| Get vector of all proposed parameter values. More... | |
| double | GetParProp (const int i) const |
| Get proposed parameter value. More... | |
| double | GetParCurr (const int i) const |
| Get current parameter value. More... | |
| const std::vector< double > & | GetParCurrVec () const |
| Get vector of current parameter values. More... | |
| double | GetParInit (const int i) const |
| Get prior parameter value. More... | |
| double | GetUpperBound (const int i) const |
| Get upper parameter bound in which it is physically valid. More... | |
| double | GetLowerBound (const int i) const |
| Get lower parameter bound in which it is physically valid. More... | |
| double | GetIndivStepScale (const int ParameterIndex) const |
| Get individual step scale for selected parameter. More... | |
| double | GetGlobalStepScale () const |
| Get global step scale for covariance object. More... | |
| int | GetNParameters () const |
| Get number of params which will be different depending if using Eigen decomposition or not. More... | |
| void | PrintNominal () const |
| Print prior value for every parameter. More... | |
| void | PrintNominalCurrProp () const |
| Print prior, current and proposed value for each parameter. More... | |
| void | PrintParameters () const |
| void | PrintIndivStepScale () const |
| Print step scale for each parameter. More... | |
| void | Randomize () _noexcept_ |
| "Randomize" the parameters in the covariance class for the proposed step. Used the proposal kernel and the current parameter value to set proposed step More... | |
| void | CorrelateSteps () _noexcept_ |
| Use Cholesky throw matrix for better step proposal. More... | |
| void | UpdateAdaptiveCovariance () |
| Method to update adaptive MCMC [13]. More... | |
| void | AcceptStep () _noexcept_ |
| Accepted this step. More... | |
| void | SetFixAllParameters () |
| Set all parameters to be fixed at prior values. More... | |
| void | SetFixParameter (const int i) |
| Set parameter to be fixed at prior value. More... | |
| void | SetFixParameter (const std::string &name) |
| Set parameter to be fixed at prior value. More... | |
| void | SetFreeAllParameters () |
| Set all parameters to be treated as free. More... | |
| void | SetFreeParameter (const int i) |
| Set parameter to be treated as free. More... | |
| void | SetFreeParameter (const std::string &name) |
| Set parameter to be treated as free. More... | |
| void | ToggleFixAllParameters () |
| Toggle fixing parameters at prior values. More... | |
| void | ToggleFixParameter (const int i) |
| Toggle fixing parameter at prior values. More... | |
| void | ToggleFixParameter (const std::string &name) |
| Toggle fixing parameter at prior values. More... | |
| bool | IsParameterFixed (const int i) const |
| Is parameter fixed or not. More... | |
| bool | IsParameterFixed (const std::string &name) const |
| Is parameter fixed or not. More... | |
| void | ConstructPCA (const double eigen_threshold, int FirstPCAdpar, int LastPCAdpar) |
| CW: Calculate eigen values, prepare transition matrices and remove param based on defined threshold. More... | |
| bool | IsPCA () const |
| is PCA, can use to query e.g. LLH scans More... | |
| YAML::Node | GetConfig () const |
| Getter to return a copy of the YAML node. More... | |
| adaptive_mcmc::AdaptiveMCMCHandler * | GetAdaptiveHandler () const |
| Get pointer for AdaptiveHandler. More... | |
| void | SetTune (const std::string &TuneName) |
| KS: Set proposed parameter values vector to be base on tune values, for example set proposed values to be of generated or maybe PostND. More... | |
| PCAHandler * | GetPCAHandler () const |
| Get pointer for PCAHandler. More... | |
| void | MatchMaCh3OutputBranches (TTree *PosteriorFile, std::vector< double > &BranchValues, std::vector< std::string > &BranchNames, const std::vector< std::string > &FancyNames={}) |
| Matches branches in a TTree to parameters in a systematic handler. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from ParameterHandlerBase | |
| void | Init (const std::string &name, const std::string &file) |
| Initialisation of the class using matrix from root file. More... | |
| void | Init (const std::vector< std::string > &YAMLFile) |
| Initialisation of the class using config. More... | |
| void | ReserveMemory (const int size) |
| Initialise vectors with parameters information. More... | |
| void | MakePosDef (TMatrixDSym *cov=nullptr) |
| Make matrix positive definite by adding small values to diagonal, necessary for inverting matrix. More... | |
| void | MakeClosestPosDef (TMatrixDSym *cov) |
| HW: Finds closest possible positive definite matrix in Frobenius Norm ||.||_frob Where ||X||_frob=sqrt[sum_ij(x_ij^2)] (basically just turns an n,n matrix into vector in n^2 space then does Euclidean norm) More... | |
| void | SetThrowMatrixFromFile (const std::string &matrix_file_name, const std::string &matrix_name, const std::string &means_name) |
| sets throw matrix from a file More... | |
| bool | AppliesToSample (const int SystIndex, const std::string &SampleName) const |
| Check if parameter is affecting given sample name. More... | |
| void | FlipParameterValue (const int index, const double FlipPoint) |
| KS: Flip parameter around given value, for example mass ordering around 0. More... | |
| void | CircularParBounds (const int i, const double LowBound, const double UpBound) |
| HW :: This method is a tad hacky but modular arithmetic gives me a headache. More... | |
| void | EnableSpecialProposal (const YAML::Node ¶m, const int Index) |
| Enable special proposal. More... | |
| void | SpecialStepProposal () |
| Perform Special Step Proposal. More... | |
Protected Attributes inherited from ParameterHandlerBase | |
| bool | doSpecialStepProposal |
| Check if any of special step proposal were enabled. More... | |
| const std::string | inputFile |
| The input root file we read in. More... | |
| std::string | matrixName |
| Name of cov matrix. More... | |
| TMatrixDSym * | covMatrix |
| The covariance matrix. More... | |
| TMatrixDSym * | invCovMatrix |
| The inverse covariance matrix. More... | |
| std::vector< std::vector< double > > | InvertCovMatrix |
| KS: Same as above but much faster as TMatrixDSym cache miss. More... | |
| std::vector< std::unique_ptr< TRandom3 > > | random_number |
| KS: Set Random numbers for each thread so each thread has different seed. More... | |
| double * | randParams |
| Random number taken from gaussian around prior error used for corr_throw. More... | |
| double * | corr_throw |
| Result of multiplication of Cholesky matrix and randParams. More... | |
| double | _fGlobalStepScale |
| Global step scale applied to all params in this class. More... | |
| int | PrintLength |
| KS: This is used when printing parameters, sometimes we have super long parameters name, we want to flexibly adjust couts. More... | |
| std::vector< std::string > | _fNames |
| ETA _fNames is set automatically in the covariance class to be something like param_i, this is currently to make things compatible with the Diagnostic tools. More... | |
| std::vector< std::string > | _fFancyNames |
| Fancy name for example rather than param_0 it is MAQE, useful for human reading. More... | |
| YAML::Node | _fYAMLDoc |
| Stores config describing systematics. More... | |
| int | _fNumPar |
| Number of systematic parameters. More... | |
| std::vector< double > | _fPreFitValue |
| Parameter value dictated by the prior model. Based on it penalty term is calculated. More... | |
| std::vector< double > | _fCurrVal |
| Current value of the parameter. More... | |
| std::vector< double > | _fPropVal |
| Proposed value of the parameter. More... | |
| std::vector< double > | _fError |
| Prior error on the parameter. More... | |
| std::vector< double > | _fLowBound |
| Lowest physical bound, parameter will not be able to go beyond it. More... | |
| std::vector< double > | _fUpBound |
| Upper physical bound, parameter will not be able to go beyond it. More... | |
| std::vector< double > | _fIndivStepScale |
| Individual step scale used by MCMC algorithm. More... | |
| std::vector< bool > | _fFlatPrior |
| Whether to apply flat prior or not. More... | |
| std::vector< std::vector< std::string > > | _fSampleNames |
| Tells to which samples object param should be applied. More... | |
| std::vector< double > | _fIndivStepScaleInitial |
| Backup of _fIndivStepScale for parameters which are skipped during adaption. More... | |
| double | _fGlobalStepScaleInitial |
| Backup of _fGlobalStepScale for parameters which are skipped during adaption. More... | |
| std::vector< bool > | param_skip_adapt_flags |
| Flags telling if parameter should be skipped during adaption. More... | |
| TMatrixDSym * | throwMatrix |
| Matrix which we use for step proposal before Cholesky decomposition (not actually used for step proposal) More... | |
| double ** | throwMatrixCholDecomp |
| Throw matrix that is being used in the fit, much faster as TMatrixDSym cache miss. More... | |
| bool | pca |
| perform PCA or not More... | |
| bool | use_adaptive |
| Are we using AMCMC? More... | |
| std::unique_ptr< PCAHandler > | PCAObj |
| Struct containing information about PCA. More... | |
| std::unique_ptr< adaptive_mcmc::AdaptiveMCMCHandler > | AdaptiveHandler |
| Struct containing information about adaption. More... | |
| std::unique_ptr< ParameterTunes > | Tunes |
| Struct containing information about adaption. More... | |
| std::vector< int > | FlipParameterIndex |
| Indices of parameters with flip symmetry. More... | |
| std::vector< double > | FlipParameterPoint |
| Central points around which parameters are flipped. More... | |
| std::vector< int > | CircularBoundsIndex |
| Indices of parameters with circular bounds. More... | |
| std::vector< std::pair< double, double > > | CircularBoundsValues |
| Circular bounds for each parameter (lower, upper) More... | |
EW: As ParameterHandlerBase is an abstract base class we have to do some gymnastics to get it to get it into python.
Definition at line 12 of file parameters.cpp.
|
inlineoverridevirtual |
Return CalcLikelihood if some params were thrown out of boundary return LARGE_LOGL
Reimplemented from ParameterHandlerBase.
Definition at line 18 of file parameters.cpp.
| ParameterHandlerBase::ParameterHandlerBase |
ETA - constructor for a YAML file.
| YAMLFile | A vector of strings representing the YAML files used for initialisation of matrix |
| name | Matrix name |
| threshold | PCA threshold from 0 to 1. Default is -1 and means no PCA |
| FirstPCAdpar | First PCA parameter that will be decomposed. |
| LastPCAdpar | First PCA parameter that will be decomposed. |
Definition at line 23 of file ParameterHandlerBase.cpp.
| ParameterHandlerBase::ParameterHandlerBase |
"Usual" constructors from root file
| name | Matrix name |
| file | Path to matrix root file |
Definition at line 27 of file ParameterHandlerBase.cpp.
|
inlineoverridevirtual |
Generate a new proposed state.
Reimplemented from ParameterHandlerBase.
Definition at line 27 of file parameters.cpp.