13 #ifndef STROOT_STFMSPOINTMAKER_STFMSCLUSTERFITTER_H_
14 #define STROOT_STFMSPOINTMAKER_STFMSCLUSTERFITTER_H_
26 namespace FMSCluster {
88 Double_t
fit(
const Double_t* par,
const Double_t* step,
89 const Double_t* low,
const Double_t* up,
PhotonList* photons);
108 const Double_t* low,
const Double_t* up,
155 Double_t& fval, Double_t* par,
163 Double_t& fval, Double_t* param,
173 #endif // STROOT_STFMSPOINTMAKER_STFMSCLUSTERFITTER_H_
static const Int_t kMaxNPhotons
Maximum number that can be fitted.
StFmsClusterFitter & operator=(const StFmsClusterFitter &)
static Double_t energyDepositionDistribution(Double_t *x, Double_t *par)
Double_t fit(const Double_t *par, const Double_t *step, const Double_t *low, const Double_t *up, PhotonList *photons)
static Double_t energyDepositionInTower(Double_t *x, Double_t *par)
TMinuit mMinuit
Minuit fitting interface.
void setTowers(StFmsTowerCluster::Towers *towers)
static int maxNFittedPhotons()
std::list< StFmsTower * > Towers
Shorthand for tower collection.
Double_t mSteps[3 *kMaxNPhotons+1]
Step size in each fit variable.
Declaration of StFmsTowerCluster, a cluster of FMS towers.
static Float_t mTowerWidthXY[2]
glass width X, Y in cm
Declaration of StFmsFittedPhoton, a photon fitted to an FMS cluster.
static void minimizationFunction2Photon(Int_t &nparam, Double_t *grad, Double_t &fval, Double_t *param, Int_t iflag)
TF2 * showerShapeFunction()
Int_t fit2PhotonCluster(const Double_t *para, const Double_t *step, const Double_t *low, const Double_t *up, PhotonList *photons)
std::list< StFmsFittedPhoton > PhotonList
Double_t mTowerWidth
width of one lead glass module
static void minimizationFunctionNPhoton(Int_t &npar, Double_t *grad, Double_t &fval, Double_t *par, Int_t iflag)
static StFmsTowerCluster::Towers * mTowers
List of towers to fit.