LauSimFitCoordinator.cc
Go to the documentation of this file.
116 //initialise socket connection, then accept a connection and return a full-duplex communication socket.
151 * OLD VERSION THAT JUST GETS THE NAMES - COULD HAVE A SERIES OF EXCHANGES TO GET THE NAMES, INIT VALUES, RANGES, ETC. INSTEAD OF PASSING PARAMETERS
152 * THIS INCREASES THE GENERALITY OF THE CODE, I.E. THERE IS NO NEED FOR THE TASKS TO KNOW ANY LAURA++ CLASS BUT THIS ONE, BUT MAKES IT RATHER MORE DENSE
153 * FOR THE MOMENT I WILL STICK WITH THE METHOD OF PASSING LAUPARAMETER OBJECTS AROUND AND CONSIDER GOING BACK TO THIS GENERAL METHOD ONCE EVERYTHING IS WORKING
170 std::cerr << "ERROR in LauSimFitCoordinator::getParametersFromTasksFirstTime : Received message from a different task than expected!" << std::endl;
176 TObjArray * objarray = dynamic_cast<TObjArray*>( messageFromTask_->ReadObject( messageFromTask_->GetClass() ) );
178 std::cerr << "ERROR in LauSimFitCoordinator::getParametersFromTasksFirstTime : Error reading parameter names from task" << std::endl;
186 std::cerr << "ERROR in LauSimFitCoordinator::getParametersFromTasksFirstTime : Error reading parameter names from task" << std::endl;
246 std::cerr << "ERROR in LauSimFitCoordinator::updateParametersFromTasks : Received message from a different task than expected!"
256 std::cerr << "ERROR in LauSimFitCoordinator::updateParametersFromTasks : Error reading parameter names from task"
266 std::cerr << "ERROR in LauSimFitCoordinator::updateParametersFromTasks : Unexpected number of parameters received from task"
274 std::cerr << "ERROR in LauSimFitCoordinator::updateParametersFromTasks : Error reading parameter from task"
284 std::cerr << "ERROR in LauSimFitCoordinator::updateParametersFromTasks : Unexpected parameter name received from task"
291 std::cerr << "ERROR in LauSimFitCoordinator::updateParametersFromTasks : Unexpected parameter received from task"
330 std::cerr << "ERROR in LauSimFitCoordinator::getParametersFromTasksFirstTime : Received message from a different task than expected!"
340 std::cerr << "ERROR in LauSimFitCoordinator::getParametersFromTasksFirstTime : Error reading parameters from task"
352 std::cerr << "ERROR in LauSimFitCoordinator::getParametersFromTasksFirstTime : Error reading parameter from task"
403 std::cerr << "ERROR in LauSimFitCoordinator::printParInfo : Discrepancy in parameter name and value records, this is very strange!!"
424 std::cerr << "ERROR in LauSimFitCoordinator::checkParameter : Parameter name is different!! This shouldn't happen!!"
434 std::cerr << "WARNING in LauSimFitCoordinator::checkParameter : Minimum allowed value for parameter "
440 std::cerr << "WARNING in LauSimFitCoordinator::checkParameter : Maximum allowed value for parameter "
446 std::cerr << "WARNING in LauSimFitCoordinator::checkParameter : Fixed/floating property of parameter "
451 std::cerr << "WARNING in LauSimFitCoordinator::checkParameter : Second stage property of parameter "
508 std::cerr << "ERROR in LauSimFitCoordinator::runSimFit : One or more tasks reported problems with reading data for experiment "
561 // Construct a message, informing the tasks whether or not we are now within the asymmetric error calculation
701 // Instruct the tasks to update initial fit parameters if required (e.g. if using random numbers).
722 std::cerr << "ERROR in LauSimFitCoordinator:fitExpt : Not running second stage fit since first stage failed."
752 std::cerr << "ERROR in LauSimFitCoordinator::setParsFromMinuit : Unexpected number of free parameters: "
832 std::cerr << "WARNING in LauSimFitCoordinator::getTotNegLogLikelihood : Strange NLL value returned by one or more tasks\n";
867 std::cout << "INFO in LauSimFitCoordinator::addConParameters : Added Gaussian constraint to parameter "
886 std::cerr << "WARNING in LauSimFitCoordinator::addConParameters: Could not find parameters to constrain in the formula... skipping"
897 std::cout << "INFO in LauSimFitCoordinator::addConParameters : Added Gaussian constraint to formula\n";
914 std::cerr << "ERROR in LauSimFitCoordinator::addConParameters: parameter in n-dimensional constraint already has a 1d constraint applied"
923 std::cerr << "Error in LauSimFitCoordinator::addConParameters : Could not match parameter names for n-dimensional constraint"
1033 std::cerr << "ERROR in LauSimFitCoordinator::finalise : Error reading finalised parameters from task"
Bool_t finalise() Return the final parameters to the tasks and instruct them to perform their finalisation. Definition: LauSimFitCoordinator.cc:930 virtual void setParsFromMinuit(Double_t *par, Int_t npar) This function sets the parameter values from Minuit. Definition: LauSimFitCoordinator.cc:742 File containing declaration of LauFitter class. std::vector< TMatrixD > covMatrices_ The covariance sub-matrices for each task. Definition: LauSimFitCoordinator.hh:176 File containing declaration of LauAbsFitter class. void printParInfo() const Print information on the parameters. Definition: LauSimFitCoordinator.cc:390 File containing declaration of LauParamFixed class. std::vector< std::vector< UInt_t > > taskFreeIndices_ Lists of indices of free parameters for each task. Definition: LauSimFitCoordinator.hh:209 File containing declaration of LauParameter class. File containing declaration of LauFitNtuple class. Bool_t useAsymmFitErrors() const Report whether or not calculation of asymmetric errors is enabled. Definition: LauFitObject.hh:60 Bool_t readData() Instruct the tasks to read the input data for the given experiment. Definition: LauSimFitCoordinator.cc:596 static LauAbsFitter & fitter() Method that provides access to the singleton fitter. Definition: LauFitter.cc:75 void storeFitStatus(const LauAbsFitter::FitStatus &status, const TMatrixD &covMatrix) Store fit status information. Definition: LauFitObject.cc:93 const std::set< TString > & multiDimConstrainedPars() const Const access to the parameter names used in ND constraints. Definition: LauFitObject.hh:286 Double_t minValue() const The minimum value allowed for the parameter. Definition: LauParameter.hh:217 virtual Bool_t useAsymmFitErrors() const =0 Determine whether calculation of asymmetric errors is enabled. const std::vector< MultiDimConstraint > & multiDimConstraints() const Const access to the ND constraints store. Definition: LauFitObject.hh:271 std::vector< std::vector< UInt_t > > taskIndices_ Lists of indices for each task. Definition: LauSimFitCoordinator.hh:206 void initSockets() Initialise socket connections for the tasks. Definition: LauSimFitCoordinator.cc:108 void getParametersFromTasksFirstTime() Determine the parameter names and initial values from all tasks. Definition: LauSimFitCoordinator.cc:309 void storeCorrMatrix(const UInt_t iExpt, const LauAbsFitter::FitStatus &fitStatus, const TMatrixD &covMatrix) Store the correlation matrix and other fit information. Definition: LauFitNtuple.cc:76 const LauAbsFitter::FitStatus & fitStatus() const Access the fit status information. Definition: LauFitObject.hh:333 Bool_t secondStage() const Check whether the parameter should be floated only in the second stage of a two stage fit. Definition: LauParameter.hh:241 virtual Bool_t twoStageFit() const =0 Determine whether the two-stage fit is enabled. Bool_t cacheInputData() Instruct the tasks to perform the caching. Definition: LauSimFitCoordinator.cc:646 void generateConstraintMeans(std::vector< LauAbsRValue * > &conVars) Generate per-experiment mean for each Gaussian constraint. Definition: LauFitObject.cc:154 TMessage * messageFromTask_ Message from tasks to the coordinator. Definition: LauSimFitCoordinator.hh:188 virtual const FitStatus & minimise()=0 Perform the minimisation of the fit function. const std::vector< FormulaConstraint > & formulaConstraints() const Const access to the formula constraints store. Definition: LauFitObject.hh:265 virtual const TMatrixD & covarianceMatrix() const =0 Retrieve the fit covariance matrix. Bool_t withinAsymErrorCalc() const Query whether the fit is calculating the asymmetric errors. Definition: LauFitObject.hh:94 void getParametersFromTasks() Determine/update the parameter initial values from all tasks. Definition: LauSimFitCoordinator.cc:212 LauSimFitCoordinator(UInt_t numTasks, UInt_t port=9090) Constructor. Definition: LauSimFitCoordinator.cc:52 Double_t maxValue() const The maximum value allowed for the parameter. Definition: LauParameter.hh:223 void addConParameters() Add parameters to the list of Gaussian constrained parameters. Definition: LauSimFitCoordinator.cc:859 std::vector< Double_t * > vectorPar_ Parameter values to send to the tasks. Definition: LauSimFitCoordinator.hh:212 void checkParameter(const LauParameter *param, UInt_t index) const Check for compatibility between two same-named parameters, which should therefore be identical. Definition: LauSimFitCoordinator.cc:418 std::vector< Double_t > vectorRes_ Likelihood values returned from the tasks. Definition: LauSimFitCoordinator.hh:215 Pure abstract base class for defining a parameter containing an R value. Definition: LauAbsRValue.hh:45 void runSimFit(const TString &fitNtupleFileName, const Bool_t useAsymmErrors=kFALSE, const Bool_t doTwoStageFit=kFALSE) Run the fit. Definition: LauSimFitCoordinator.cc:462 Predicate to allow counting of the number of fixed parameters. Definition: LauParamFixed.hh:38 void startNewFit(const UInt_t nPars, const UInt_t nFreePars) Indicate the start of a new fit. Definition: LauFitObject.cc:83 void storeParsAndErrors(const std::vector< LauParameter * > &fitVars, const std::set< TString > &constrainedVars, const std::vector< LauParameter > &extraVars) Store parameters and their errors. Definition: LauFitNtuple.cc:216 virtual Double_t getTotNegLogLikelihood() Calculate the new value of the negative log likelihood. Definition: LauSimFitCoordinator.cc:775 const TMatrixD & covarianceMatrix() const Access the fit covariance matrix. Definition: LauFitObject.hh:345 void checkInitFitParams() Instruct the tasks to update the initial fit parameter values, if required. Definition: LauSimFitCoordinator.cc:691 void updateParametersFromTasks() Update and verify the parameter initial values from all tasks. Definition: LauSimFitCoordinator.cc:230 Double_t getLogLikelihoodPenalty() Calculate the penalty terms to the log likelihood from Gaussian constraints. Definition: LauSimFitCoordinator.cc:843 virtual void initialise(LauFitObject *fitObj, const std::vector< LauParameter * > ¶meters)=0 Initialise the fitter, setting the information on the parameters. Bool_t twoStageFit() const Report whether the two-stage fit is enabled. Definition: LauFitObject.hh:76 File containing declaration of LauFormulaPar class. std::vector< TSocket * > socketTasks_ Sockets for each of the tasks. Definition: LauSimFitCoordinator.hh:182 std::map< UInt_t, TString > parNames_ Reverse map of index in the values vector to parameter names. Definition: LauSimFitCoordinator.hh:194 File containing declaration of LauSimFitCoordinator class. void setCurrentExperiment(const UInt_t curExpt) Set the ID of the current experiment. Definition: LauFitObject.hh:298 Bool_t writeOutResults() Instruct the tasks to write out the fit results. Definition: LauSimFitCoordinator.cc:1109 virtual void releaseSecondStageParameters()=0 Release parameters marked as "second stage". std::map< TString, UInt_t > parIndices_ Map of parameter names to index in the values vector. Definition: LauSimFitCoordinator.hh:191 virtual void updateParameters()=0 Update the values and errors of the parameters based on the fit minimum. Double_t worstLogLike() const Access the worst log likelihood found so far. Definition: LauFitObject.hh:311 Generated by ![]() |