-#ifndef AliT0DataDCS_H
-#define AliT0DataDCS_H
+#ifndef ALIT0DATADCS_H
+#define ALIT0DATADCS_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
* See cxx source for full Copyright notice */
#include <TMap.h>
-#include <TClonesArray.h>
-#include <TGraph.h>
+//#include <TClonesArray.h>
+//#include <TGraph.h>
+#include <TObject.h>
+class TString;
// AliT0DataDCS class
// fetching T0 data points from DCS, calculating mean values for the run
class AliT0DataDCS : public TObject {
public:
- enum {kNAliases=191, kHV=12, kLV=2, kCFD=12, kScalers=32, kTRM=10, kDRM=5, kAtten=1}; // 191 T0 aliases
+ enum {kNAliases=201, kHV=12, kLV=2, kCFD=12, kScalers=32, kTRM=20, kDRM=5, kAtten=1}; // 201 T0 aliases
AliT0DataDCS();
AliT0DataDCS(Int_t nRun, UInt_t startTime, UInt_t endTime, UInt_t startTimeDCSQuery, UInt_t endTimeDCSQuery);
AliT0DataDCS(const AliT0DataDCS & data);
AliT0DataDCS& operator=(const AliT0DataDCS & data);
- ~AliT0DataDCS();
+ ~AliT0DataDCS();
void SetRun(Int_t run) {fRun = run;}
void SetStartTime(Int_t startTime) {fStartTime = startTime;}
void SetEndTime(Int_t endTime) {fEndTime = endTime;}
void SetStartTimeDCSQuery(Int_t startTimeDCSQuery) {fStartTimeDCSQuery = startTimeDCSQuery;}
void SetEndTimeDCSQuery(Int_t endTimeDCSQuery) {fEndTimeDCSQuery = endTimeDCSQuery;}
- Int_t GetRun() const {return fRun;}
+
+
+ Int_t GetRun() const {return fRun;}
Int_t GetStartTime() const {return fStartTime;}
Int_t GetEndTime() const {return fEndTime;}
Int_t GetStartTimeDCSQuery() const {return fStartTimeDCSQuery;}
Int_t GetEndTimeDCSQuery() const {return fEndTimeDCSQuery;}
+ Int_t GetTVDCtop() const {return fTVDCtop;}
+ Int_t GetTVDCbottom() const {return fTVDCbottom;}
+
+ Float_t GetMeanPMTCurrentASide(Int_t pmt) const {return fHViA[pmt];}
+ Float_t GetMeanPMTVoltageASide(Int_t pmt) const {return fHVvA[pmt];}
+ Float_t GetMeanLVCurrentASide (Int_t index) const {return fLViA[index];}
+ Float_t GetMeanLVVoltageASide (Int_t index) const {return fLVvA[index];}
+
+ Float_t GetMeanPMTCurrentCSide(Int_t pmt) const {return fHViC[pmt];}
+ Float_t GetMeanPMTVoltageCSide(Int_t pmt) const {return fHVvC[pmt];}
+ Float_t GetMeanLVCurrentCSide (Int_t index) const {return fLViC[index];}
+ Float_t GetMeanLVVoltageCSide (Int_t index) const {return fLVvC[index];}
+
+ Float_t GetMeanCFDThresholdASide(Int_t pmt) const{return fCFDtA[pmt];}
+ Float_t GetMeanCFDWalkASide (Int_t pmt) const{return fCFDwA[pmt];}
+ Float_t GetMeanCFDThresholdCSide(Int_t pmt) const{return fCFDtC[pmt];}
+ Float_t GetMeanCFDWalkCSide (Int_t pmt) const{return fCFDwC[pmt];}
+
+ UInt_t GetMeanValueOfT0ScalerFromEntireRun(Int_t scaler) const{return fScalerMean[scaler];}
+ UInt_t GetMeanValueOfT0ScalerPerSecond (Int_t scaler) const{return fScalerSecMean[scaler];}
+
+ Float_t GetMeanTemperatureTRM (Int_t trm) const {return fTRM[trm];}
+ Float_t GetMeanTemperatureDRM (Int_t drm) const {return fDRM[drm];}
+ Float_t GetLaserAmplitude() const { return fAtten;}
+ Int_t GetMultDiscriminatorCentralASide() const {return fMPDcentA;}
+ Int_t GetMultDiscriminatorCentralCSide() const {return fMPDcentC;}
+ Int_t GetMultDiscriminatorSemiCentralASide() const {return fMPDsemiCentA;}
+ Int_t GetMultDiscriminatorSemiCentralCSide() const {return fMPDsemiCentC;}
+ Int_t GetMultDiscriminatorMode() const {return fMPDmode;}
+
+
Bool_t ProcessData(TMap& aliasMap);
const char* GetAliasName(Int_t pos) const {return pos<kNAliases ? fAliasNames[pos].Data() : 0;}
+
+ void PrintT0Data() const;
+
private:
void Init();
void Introduce(UInt_t numAlias, const TObjArray* aliasArr)const;
+ void PrintfArray(const char *label, const Float_t *array, Int_t numElements) const;
Int_t fRun; // Run number
UInt_t fStartTime; // Start time
Float_t fCFDwA[kCFD]; // Mean walk on CFD in V on A-side
Float_t fCFDtC[kCFD]; // Mean threshold on CFD in V on C-side
Float_t fCFDwC[kCFD]; // Mean walk on CFD in V on C-side
- Float_t fScalerMean[kScalers]; // Mean value of T0 scaler counts from the entire run
- Float_t fScalerSecMean[kScalers]; // Mean value of T0 scaler counts per second
+ UInt_t fScalerMean[kScalers]; // Mean value of T0 scaler counts from the entire run
+ UInt_t fScalerSecMean[kScalers]; // Mean value of T0 scaler counts per second
Float_t fTRM[kTRM]; // Mean temperature on TRM in degrees of Celsius
Float_t fDRM[kDRM]; // Mean temperature on DRM in degrees of Celsius
Float_t fAtten; // Laser amplitude in MIPs
Int_t fMPDmode; // Multiplicity Discriminator on C-side only, A-side only, or both sides
TString fAliasNames[kNAliases]; // T0 data points aliases
Bool_t fIsProcessed; // status - was processing data successful
- ClassDef(AliT0DataDCS, 3);
+ ClassDef(AliT0DataDCS, 2)
protected:
};