first DKS running version. Still a lot of testing needed. Currently only single histogram fitting with a limited number of functions is supported to run on the GPU.
This commit is contained in:
@@ -57,6 +57,7 @@ class PRunBase
|
||||
|
||||
virtual void CalcTheory() = 0; ///< pure virtual, i.e. needs to be implemented by the deriving class!!
|
||||
|
||||
virtual Double_t GetTimeResolution() { return fTimeResolution; } ///< returns the native raw data time resolution
|
||||
virtual UInt_t GetRunNo() { return fRunNo; } ///< returns the number of runs of the msr-file
|
||||
virtual PRunData* GetData() { return &fData; } ///< returns the data to be fitted
|
||||
virtual void CleanUp();
|
||||
|
||||
@@ -43,14 +43,23 @@ using namespace std;
|
||||
#include "PRunMuMinus.h"
|
||||
#include "PRunNonMusr.h"
|
||||
|
||||
//----------------------------------------------------------------------------------------------------------------
|
||||
/**
|
||||
*
|
||||
*/
|
||||
typedef struct {
|
||||
Bool_t fScaleN0AndBkg;
|
||||
Double_t fN0;
|
||||
Double_t fNbkg;
|
||||
Double_t fTau;
|
||||
Double_t fPackedTimeResolution;
|
||||
Double_t fStartTime;
|
||||
Int_t fNoOfFitBins;
|
||||
PDoubleVector fFun;
|
||||
PIntVector fMap;
|
||||
} PSingleHistoParams;
|
||||
|
||||
//----------------------------------------------------------------------------------------------------------------
|
||||
/**
|
||||
* <p>Handler class handling all processed data of an msr-file. All calls of minuit2 are going through this class.
|
||||
*/
|
||||
@@ -111,6 +120,8 @@ class PRunListCollection
|
||||
virtual Int_t GetNoOfParameters() { return fMsrInfo->GetNoOfParams(); }
|
||||
virtual Int_t GetNoOfFunctions() { return fMsrInfo->GetNoOfFuncs(); }
|
||||
virtual Int_t GetNoOfMaps() { return fMsrInfo->GetNoOfMaps(); }
|
||||
virtual Int_t GetStartTimeBin(UInt_t idx);
|
||||
virtual Int_t GetEndTimeBin(UInt_t idx);
|
||||
virtual Int_t GetSingleHistoParams(UInt_t idx, const std::vector<Double_t>& par, PSingleHistoParams &shp);
|
||||
|
||||
private:
|
||||
|
||||
@@ -53,6 +53,11 @@ class PRunSingleHisto : public PRunBase
|
||||
|
||||
virtual Double_t GetBackground() { return fBackground; }
|
||||
|
||||
virtual Int_t GetStartTimeBin() { return fStartTimeBin; }
|
||||
virtual Int_t GetEndTimeBin() { return fEndTimeBin; }
|
||||
virtual Int_t GetPacking() { return fPacking; }
|
||||
virtual Bool_t GetScaleN0AndBkg() { return fScaleN0AndBkg; }
|
||||
|
||||
protected:
|
||||
virtual void CalcNoOfFitBins();
|
||||
virtual Bool_t PrepareData();
|
||||
@@ -66,9 +71,12 @@ class PRunSingleHisto : public PRunBase
|
||||
Double_t fBackground; ///< needed if background range is given (units: 1/bin)
|
||||
Int_t fPacking; ///< packing for this particular run. Either given in the RUN- or GLOBAL-block.
|
||||
|
||||
Int_t fGoodBins[2]; ///< keep first/last good bins. 0=fgb, 1=lgb
|
||||
Int_t fGoodBins[2]; ///< keep first/last good bins. 0=fgb, 1=lgb
|
||||
|
||||
PDoubleVector fForward; ///< forward histo data
|
||||
PDoubleVector fForward; ///< forward histo data
|
||||
|
||||
Int_t fStartTimeBin; ///< bin at which the fit starts
|
||||
Int_t fEndTimeBin; ///< bin at which the fit ends
|
||||
|
||||
virtual Bool_t GetProperT0(PRawRunData* runData, PMsrGlobalBlock *globalBlock, PUIntVector &histoNo);
|
||||
virtual Bool_t GetProperDataRange();
|
||||
|
||||
Reference in New Issue
Block a user