• Main Page
  • Related Pages
  • Namespaces
  • Data Structures
  • Files
  • File List
  • Globals

beamtime/gsi-aug12/get4v10/go4/SCALERS/TScalersProc.h (r4864/r3846)

Go to the documentation of this file.
00001 #ifndef TSCALERSPROC_H
00002 #define TSCALERSPROC_H
00003 
00004 #include "TGsiAug12Analysis.h"
00005 #include "TCBMBeamtimeProc.h"
00006 #include "MBSUNPACK/TMbsCrateEvent.h"
00007 #include "TTriglogEvent.h"
00008 #include "TScalersEvent.h"
00009 #include "TScalersParam.h"
00010 
00011 #include "TGo4Picture.h"
00012 #include "TH1.h"
00013 #include "TH2.h"
00014 #include "TProfile.h"
00015 
00016 class TGo4EventElement;
00017 class TGo4MbsSubEvent;
00018 
00019 class TScalersProc : public TCBMBeamtimeProc {
00020   //  friend class TCBMBeamtimeProc; 
00021    public:
00022       TScalersProc(const char* name = 0);
00023       virtual ~TScalersProc();
00024 
00025       virtual void InitEvent(TGo4EventElement*);
00026 
00027       virtual void FinalizeEvent();
00028    private:
00029       
00030 
00031    protected:
00032       TScalersParam * fPar;
00033       TMbsCrateEvent * fCrateInputEvent;
00034       TTriglogEvent* fTriglogInputEvent;
00035 
00036       TScalersEvent * fOutputEvent;
00037 
00038       /* Triglog */
00039       TProfile*      fScalerRate[NUM_SCALERS][N_SCALERS_CH];
00040 
00041       /* ScalOrMu */
00042       TProfile*      fScalOrMuRate[SCALORMU_NB_SCAL];
00043 
00044       /* Both */
00045 #if SCALORMU_NB_SCAL != 16
00046       TH1 * fReferenceClockComparison;
00047       TH1 * fTriglogRefClockEvolution;
00048       TH1 * fScalOrMuRefClockEvolution;
00049 #endif
00050 
00051    private:
00052       Int_t          iScalerBinNb;
00053       Double_t       dScalerBinMax;
00054 
00055       TH1* fTriggerPattern;
00056 
00057       /* Reference */
00058       UInt_t         uInitialMbsTime;
00059       UInt_t         uInitialMilliTime;
00060       UInt_t         uLastMbsTime;
00061       UInt_t         uLastMbsMilliTime;
00062 #if SCALORMU_NB_SCAL == 16
00063       // Oct 12
00064       UInt_t         uInitialScalerRef;                        // Initial scaler value of the reference clock
00065       Double_t       dInitialCycleSize;                        // Time from initial value of reference clock to first cycle
00066       UInt_t         uScalerRefCycle;
00067       UInt_t         uLastScalerRefAll;
00068 #else
00069       // Starting Nov 12
00070       UInt_t         uInitialScalerRefTriglog;    // Initial scaler value of the reference clock in Triglog Board
00071       Double_t       dInitialCycleSizeTriglog;    // Time from initial value of reference clock  in Triglog to first cycle
00072       UInt_t         uScalerRefCycleTriglog;      // Current number of cycles of the reference clock in Triglog Board
00073       UInt_t         uLastScalerRefAllTriglog;    // Scaler value of reference clock in Triglog Board in last event
00074       UInt_t         uInitialScalerRefScalOrMu; // Initial scaler value of the reference clock in ScalOrMu Board
00075       Double_t       dInitialCycleSizeScalOrMu; // Time from initial value of reference clock  in ScalOrMu to first cycle
00076       UInt_t         uScalerRefCycleScalOrMu;   // Current number of cycles of the reference clock in ScalOrMu Board
00077       UInt_t         uLastScalerRefAllScalOrMu; // Scaler value of reference clock in ScalOrMu Board in last event
00078 #endif
00079 
00080       /* Triglog */
00081       UInt_t         uLastScalerTriglog[NUM_SCALERS][N_SCALERS_CH];   // Last    scaler value of each Triglog channel
00082       UInt_t         uLastScalerRefTriglog[NUM_SCALERS][N_SCALERS_CH];// Last reference scaler value for each Triglog channel
00083       Double_t       dDtIntegralTriglog[NUM_SCALERS][N_SCALERS_CH];   // Time since last bin filling in rate histogram
00084       ULong64_t      ulScalerIntegral[NUM_SCALERS][N_SCALERS_CH];     // Integrated scaler value of each Triglog channel since last bin filling in rate histogram
00085 
00086       /* ScalOrMu */
00087       UInt_t         uLastScalerScalOrMu[SCALORMU_NB_SCAL];     // Last    scaler value of each ScalOrMu channel
00088       UInt_t         uLastScalerRefScalOrMu[SCALORMU_NB_SCAL];  // Last reference scaler value for each ScalOrMu channel
00089       Double_t       dDtIntegralScalOrMu[SCALORMU_NB_SCAL];     // Time since last bin filling in rate histogram
00090       ULong64_t      ulScalerScalOrMuIntegral[SCALORMU_NB_SCAL];// Integrated scaler value for each ScalOrMu channel since last bin filling in rate histogram
00091 
00092       ClassDef(TScalersProc,1)
00093 };
00094 
00095 #endif //TSCALERSPROC_H
00096 

Generated on Tue Dec 10 2013 04:52:21 for ROCsoft by  doxygen 1.7.1