CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC2/src/CalibCalorimetry/EcalLaserAnalyzer/interface/TMatacq.h

Go to the documentation of this file.
00001 #ifndef TMatacq_H
00002 #define TMatacq_H
00003 
00004 #include "TObject.h"
00005 
00006 #define NMAXSAMP 100
00007 #define NSPARAB  16
00008 
00009 class TMatacq: public TObject 
00010 {
00011 
00012  private:       
00013 
00014   int fNsamples;
00015   int fNum_samp_bef_max;
00016   int fNum_samp_aft_max;
00017 
00018   int firstsample,lastsample,samplemax,presample,endsample;
00019   int bing[101];
00020   double nsigcut;
00021   double level1,level2,level3;
00022   double bong[NMAXSAMP];
00023   double t[NSPARAB],val[NSPARAB];
00024   double fv1[NSPARAB],fv2[NSPARAB],fv3[NSPARAB];
00025   double bl,sigbl,val_max;
00026   double ampl,timeatmax;
00027   double pkval,sigpkval;
00028   double trise;
00029   double width20, width50, width80;
00030   double meantrise,sigtrise;
00031 
00032   int nevmtq0,nevmtq1,nevlasers;
00033   int status[1200];
00034   double comp_trise[1200],comp_peak[1200];
00035   double slidingmean;
00036   int nslide;
00037 
00038   double interpolate(double);
00039 
00040  public:
00041   // Default Constructor, mainly for Root
00042   TMatacq(int,int,int,int,int,int,int,int,int,int,int);
00043 
00044   // Destructor: Does nothing
00045   virtual ~TMatacq();
00046 
00047   // Initialize 
00048   void init();
00049 
00050   int rawPulseAnalysis(Int_t, Double_t*); // GHM
00051   int findPeak();
00052   int doFit();
00053   int compute_trise();
00054 
00055   void enterdata(Int_t);
00056   int countBadPulses(Int_t);
00057   void printmatacqData(Int_t,Int_t,Int_t);
00058   void printitermatacqData(Int_t,Int_t,Int_t);
00059 
00060   int getPt1() {return firstsample;}
00061   int getPt2() {return lastsample;}
00062   int getPtm() {return samplemax;}
00063 
00064   double getBaseLine() {return bl;}
00065   double getsigBaseLine() {return sigbl;}
00066 
00067   double getTimpeak() {return pkval;}
00068   double getsigTimpeak() {return sigpkval;}
00069 
00070   double getAmpl() {return ampl;}
00071   double getTimax() {return timeatmax;}
00072 
00073   double getTrise() {return trise;}
00074   double getFwhm() {return width50;}
00075   double getWidth20() {return width20;}
00076   double getWidth80() {return width80;}
00077   double getSlide() {return slidingmean;}
00078 
00079   //  ClassDef(TMatacq,1)
00080 };
00081 
00082 #endif
00083 
00084 
00085