/* * TpcClusterCalibDataset.h * * Created on: Apr 24, 2015 * Author: mberger */ #ifndef TPCCLUSTERCALIBDATASET_H_ #define TPCCLUSTERCALIBDATASET_H_ #include "TH1.h" #include "TH2.h" class TpcClusterCalibDataset { public: TpcClusterCalibDataset(int nbinsZ, double startZ, double endZ); TpcClusterCalibDataset(int nbinsZ, double startZ, double endZ,int nbinsTheta, double startTheta, double endTheta); TpcClusterCalibDataset(const TpcClusterCalibDataset& ); ~TpcClusterCalibDataset(); void Reset(TString opt); void Add(const TpcClusterCalibDataset& other); void setTheta(int nbinsTheta, double startTheta, double endTheta); void Fill(int iset,double zpos,double pull); void FillTheta(int iset, double theta, double pull); void FillZTheta(int iset, double zpos, double theta, double pull); TH1D ProjectionY(int iset, TString name, int firstBin, int lastBin); std::vector* getZbinData(int iset, int ibin); double getRMS(int iset, int firstBin,int lastBin, double mean=-99999); double getRMS20N(int iset, int firstBin,int lastBin); double getMean(int iset, int firstBin,int lastBin); double getRMSError(int iset, int firstBin,int lastBin); double getMeanError(int iset, int firstBin,int lastBin); int getEventsInBin(int firstBin,int lastBin); void getMeanRMS2N(double& mean1, double& mean2, double& rms2n1, double&rms2n2, double& rms02n1,double& rms02n2, double& resSum1, double& resSum2, int* nentries, int firstBin, int lastBin); void getMeanRMS2N_Theta(double& mean1, double& mean2, double& rms2n1, double&rms2n2, double& rms02n1,double& rms02n2, double& resSum1, double& resSum2, int* nentries, int firstBin, int lastBin); void getMeanRMS2N_ZTheta(double& mean1, double& mean2, double& rms2n1, double&rms2n2, double& rms02n1,double& rms02n2, double& resSum1, double& resSum2, int* nentries, int firstBinZ, int lastBinZ, int firstBinT, int lastBinT); int getNCluster(){return fnCluster;} TH2D getHist(int iset); double getmaxZ() const {return fmaxZ;} double getminZ() const {return fminZ;} int getnZbins() const {return fnZbins;} double getmaxTheta() const {return fmaxTheta;} double getminTheta() const {return fminTheta;} int getnThetabins() const {return fnThetabins;} private: //TH2D* hpullsA1; //TH2D* hpullsA2; int fnZbins; int fnCluster; double fminZ; double fmaxZ; double fbinWidth; bool fuseTheta; int fnThetabins; int fnClusterTheta; double fminTheta; double fmaxTheta; double fbinWidthTheta; std::vector* fDataA1; std::vector* fDataA2; std::vector* fDataThetaA1; std::vector* fDataThetaA2; std::vector* fDataZThetaA1; std::vector* fDataZThetaA2; }; #endif /* TPCCLUSTERCALIBDATASET_H_ */