MDetermineHeaterProperties.hh

Go to the documentation of this file.
00001 
00052 #ifndef __MDETHEATERPROP__
00053 #define __MDETHEATERPROP__
00054 
00055 #include "QModule.hh"
00056 #include "QCuore.hh"
00057 #include <vector>
00058 #include "QVector.hh"
00059 #include "QOutputFileHandler.hh"
00060 #include "ChannelManager.hh"
00061 class TH1F;
00062 
00063 class MDetermineHeaterProperties: public QModule {
00064 
00065         public:
00070         MDetermineHeaterProperties(QSequence*);
00071         /*
00072          *
00073          *@ brief Destructor
00074          *
00075          */
00076         virtual ~MDetermineHeaterProperties();
00081         virtual void Init();
00086         virtual QEvent* Do(QEvent*);
00087         /* 
00088          * brief Done method:  
00089          * 
00090          */
00091         virtual void Done();
00092 
00093         private:
00094 
00095 
00096         TH1F* Get1DHistoFromVector(QVector&v, double mean, double rms);
00097 
00105         std::string fHeaterType;
00106         /*
00107          * @brief vectors whose content are the amplitudes of the heater pulse
00108          * for a given channel
00109          *
00110          */
00111         std::vector<QVector> fNonStabAmplitudes;
00112         /*
00113          * @brief vectors whose content are the stabilized amplitudes of the heater pulse
00114          * for a given channel
00115          *
00116          */
00117         std::vector<QVector> fStabAmplitudes;
00118 
00119 
00120         void CreateHistograms();
00121 
00122         void SaveHistograms();
00123 
00124         void DeleteHistograms();
00125 
00126         void CreateReference();
00127         void SetReference(char * VariableName, const QVector & VariableValue);
00128         double TruncatedRMS(const QVector & vector, double KeepRMS);
00129         QOutputFileHandler* fOutputHandler;
00130 
00131         bool fFirstEvent;
00132 
00133         std::string fOutRootFileName;
00134         std::string fOutReferenceDir;
00135         double fChiNDFMax;
00136         double fRisWarning;
00137         double fMinLHAmplitude;
00138         double fWarningLevel;
00139         int fExpectedNbHighHeaters;
00140         int fExpectedNbStabHeaters;
00141         ChannelManager* fChannelManager;
00142         TH1F* fAverageHighHeater;
00143         TH1F* fAverageLowHeater;
00144         TH1F* fAverageStabHeater;
00145         TH1F* fRMSHighHeater;
00146         TH1F* fRMSLowHeater;
00147         TH1F* fRMSStabHeater;
00148         TH1F* fAverageHighHeaterStabilized;
00149         TH1F* fAverageLowHeaterStabilized;
00150         TH1F* fAverageStabHeaterStabilized;
00151         TH1F* fRMSHighHeaterStabilized;
00152         TH1F* fRMSLowHeaterStabilized;
00153         TH1F* fRMSStabHeaterStabilized;
00154         int fLastChannel;
00155         QVector fStabRMSHeater;  
00156         QVector fStabAverageHeater;
00157         QVector fNonStabAverageHeater;
00158         int fRun;
00159 
00160 };
00161 
00162 #endif
00163 

Generated on Tue Nov 16 10:49:58 2010 for CUORE Software by  doxygen 1.5.6