/** container with all attributes and histograms of a pixel. * * #include "XX.h"
* -llib * * A longer description. * * @see something */ #ifndef PIXEL_H #define PIXEL_H // SYSTEM INCLUDES // // PROJECT INCLUDES #include #include #include #include #include #include #include #include #include "TCanvas.h" #include "TObjArray.h" // //#include "rootfilehandler.h" //#include "rootfilehandler.C" // LOCAL INCLUDES // // FORWARD REFERENCES // class Pixel { public: // LIFECYCLE /** Default constructor. */ Pixel( int pixelID, int maxPulsorder, int verbosityLevel, bool stats, TString options, int pixelOverlayXaxisLeft, int pixelOverlayXaxisRight, float bSLMean, float gainMean, TFile* filename, TFile* outfilename ); Pixel( int pixelID, int maxPulsorder, int verbosityLevel, bool stats, TString options, int pixelOverlayXaxisLeft, int pixelOverlayXaxisRight, float bSLMean, float gainMean ); // /** Copy constructor. // * // * @param from The value to copy to this object. // */ /** Destructor. */ ~Pixel(); // OPERATORS // /** Assignment operator. // * // * @param from THe value to assign to this object. // * // * @return A reference to this object. // */ // XX& operator=(const XX& from); // OPERATIONS //Histogram Booking protected: void BookPixelHistos(); void BookDistributionHistos(); void BookTemplateHistos(); void BookEdgeTemplateHistos(); //Histogram deletion void DeletePixelHistos(); void DeleteDistributionHistos(); void DeleteTemplateHistos(); void DeleteEdgeTemplateHistos(); //Histogram Manipulation void SetRangeUser(float xMin, float xMax, int order); void NormalizeSamplesTH2F(TH2F *histo); void Normalize2Dhistos(int order); //Histogram appeareance void MakeTH1Pretty( TH1* histo, TString histName, TString histTitle, int order ); void MakeTH2Pretty( TH2* histo, TString histName, TString histTitle, int order ); void MakeTProfilePretty( TProfile* histo, TString histName, TString histTitle, int order ); public: //Histogram Drawing void DrawOverlayHistograms( TCanvas **pixelCanvas, //Array of Canvases int *histoFrameNR //Array with Canvas Frame numbers ); void DrawDistributionHistograms( TCanvas **pixelCanvas, //Array of Canvases int *histoFrameNr //Array with Canvas Frame numbers ); void DrawTemplateHistograms( TCanvas **pixelCanvas, //Array of Canvases int *histoFrameNr //Array with Canvas Frame numbers ); void DrawEdgeTemplateHistograms( TCanvas **pixelCanvas, //Array of Canvases int *histoFrameNr //Array with Canvas Frame numbers ); //File Handling void SavePixelHistograms( TString loc_fname, bool); protected: void LoadPulseHistos( ); public: //File Handling Service Functions TString HistoTitle(TString, int ); TString HistoName(TString, int); TString ChooseCycleNumber(TString , int); virtual TString CsvFileName(TString, TString, int ); //fit funcitons // void FitFallingEdge( // TString histoType, //Max or Edge // double , // double , // TH1F* hMaximumTemp // ); // double // PolExp(double* x, double* par); //shifting void ShiftHistoInY(TH1*, float); // ACCESS // INQUIRY int mChid; bool mStats; int mMaxPulseOrder; int mVerbosityLevel; int mPixelOverlayXaxisLeft; int mPixelOverlayXaxisRight; float mBSLMean; float mGainMean; int mMarkerStyle; TString mOptions; //Pixel Histos TH2F** hMaxOverlay; //histogrammm for overlay of detected Peaks TH2F** hEdgeOverlay; TProfile** hMaxProfile; //histogrammm for Profile of detected Peaks TProfile** hEdgeProfile; //histogrammm for Profile of detected Peaks //Distribution Histos TH1F** hSlopeRisingEdge; TH1I** hRisingEdgeToMax; TH1I** hPosOfMax; TH1F** hChi2EdgetoMax; TH1F* hMaxPos; TH1F* hEdgePos; TH1F* hEdgeSlope; TH1F* hMaxEdgeSlope; TH1F* hIntercept; TH1F* hEdgeLength; TH1F* hPulseLength; TH1F* hPulseLengthAPcutoff; TH1F* hPulseLengthTLcutoff; TH1F* hMaxAmpl; TProfile* hDiscartedPulses; TH2F* hAfterPulses; //Max Overlay Template Histos TH1F** hPixelMax; TH1F** hPixelMedian; TH1F** hPixelMean; //Edge OverlayTemplate Histos TH1F** hPixelEdgeMax; TH1F** hPixelEdgeMedian; TH1F** hPixelEdgeMean; //Lists TList* hList; TList* hMemberlist; TFile* mRootFile; TFile* mOutRootFile; TDirectory* mDirectory; protected: int mConstructorType; //0 delete distributions, 1 delete TemplateHistos private: }; #endif // _PIXEL_H_