18#ifndef O2_MCH_INSPECTMODEL_H_
19#define O2_MCH_INSPECTMODEL_H_
24#include <gsl/gsl_blas.h>
25#include <gsl/gsl_multifit_nlin.h>
26#include <gsl/gsl_vector.h>
58 std::chrono::time_point<std::chrono::high_resolution_clock>
startTime[3];
107int collectPixels(
int which,
int N,
double* xyDxy,
double* q);
115 gsl_vector* residual);
119 double* thetaInit,
int K,
int N,
120 double* thetaFinal,
double* khi2);
Clustering and fifting parameters.
Definition of a class to reconstruct clusters with the MLEM algorithm.
void collectProjectedPads(double *xyDxy, double *chA, double *chB)
void saveThetaEMInGroupList(const double *thetaEM, int K)
void collectThetaExtra(double *thetaExtra, int K)
void inspectSavePixels(int which, o2::mch::Pads &pixels)
void InspectModelChrono(int type, bool end)
int getNbrProjectedPads()
int collectProjGroups(o2::mch::Groups_t *projPadToGrp)
void finalizeInspectModel()
void saveThetaExtraInGroupList(const double *thetaExtra, int K)
void savePadsOfSubCluster(const double *xyDxy, const double *q, int n)
int getNbrOfPadsInGroups()
void saveProjPadToGroups(o2::mch::Groups_t *projPadToGrp, int N)
void inspectOverWriteQ(int which, const double *qPixels)
void collectResidual(double *residual, int N)
void collectPadToCathGroup(o2::mch::Mask_t *padToMGrp, int nPads)
void savePadToCathGroup(const o2::mch::Groups_t *cath0Grp, const o2::mch::PadIdx_t *mapCath1PadIdxToPadIdx, int nCath0, const o2::mch::Groups_t *cath1Grp, const o2::mch::PadIdx_t *mapCath0PadIdxToPadIdx, int nCath1)
void fitMathiesonMag(const double *xyDxDy, const double *q, const o2::mch::Mask_t *cath, const o2::mch::Mask_t *sat, int chId, double *thetaInit, int K, int N, double *thetaFinal, double *khi2)
void collectThetaInit(double *thetai, int N)
int getNbrOfThetaEMFinal()
void collectThetaEMFinal(double *thetaEM, int K)
struct dummyPad_t InspectPadProcessing_t
struct dummy_t InspectModel
int collectPixels(int which, int N, double *xyDxy, double *q)
void collectTheta(double *theta, o2::mch::Groups_t *thetaToGroup, int K)
int f_ChargeIntegralMag(const gsl_vector *gslParams, void *data, gsl_vector *residual)
void setNbrProjectedPads(int n)
void collectPadsAndCharges(double *xyDxy, double *z, o2::mch::Groups_t *padToGroup, int N)
???
void saveProjectedPads(const o2::mch::Pads *pads, double *qProj)
void saveThetaFitInGroupList(const double *thetaFit, int K)
GLint GLint GLsizei GLint GLenum GLenum type
GLint GLint GLsizei GLint GLenum GLenum const void * pixels
GLdouble GLdouble GLdouble z
std::vector< o2::mch::DataBlock_t > xyDxyQPixels[nPixelStorage]
static const int nPixelStorage
std::vector< o2::mch::DataBlock_t > subClusterPadList
std::vector< o2::mch::DataBlock_t > subClusterChargeList
o2::mch::Groups_t * projGroups
std::vector< o2::mch::DataBlock_t > subClusterThetaEMFinal
int totalNbrOfSubClusterThetaEMFinal
std::vector< o2::mch::DataBlock_t > subClusterThetaExtra
int totalNbrOfSubClusterPads
std::chrono::time_point< std::chrono::high_resolution_clock > startTime[3]
int totalNbrOfSubClusterThetaExtra
std::vector< o2::mch::DataBlock_t > subClusterThetaFitList