1 #ifndef AliTRDDataDCS_H
2 #define AliTRDDAtaDCS_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
9 ////////////////////////////////////////////////////////////////////////////
11 // Extracts the DCS information //
13 ////////////////////////////////////////////////////////////////////////////
16 #include <TObjArray.h>
24 class AliTRDDataDCS : public TNamed
32 Bool_t ExtractDCS (TMap * aliDCS);
37 UInt_t GetNAlias () const {return fNAlias;}
38 TString GetAmandaStr (UInt_t iAlias) const;
39 UInt_t GetNChannel (UInt_t iAlias) const;
41 TGraph * GetGraph (UInt_t iAlias, UInt_t iChannel = 0) const;
42 AliSplineFit * GetFit (UInt_t iAlias, UInt_t iChannel = 0) const;
45 TGraph * GetGraphChamberByteStatus (UInt_t iSensor) const {return GetGraph (chamberByteStatus, iSensor);}
46 TGraph * GetGraphPreTrigger () const {return GetGraph (preTrigger);}
47 TGraph * GetGraphGoofyHv () const {return GetGraph (goofyHv);}
48 TGraph * GetGraphGoofyPeakPos (UInt_t iSensor) const {return GetGraph (goofyPeakPos, iSensor);}
49 TGraph * GetGraphGoofyPeakArea (UInt_t iSensor) const {return GetGraph (goofyPeakArea, iSensor);}
50 TGraph * GetGraphGoofyTemp (UInt_t iSensor) const {return GetGraph (goofyTemp, iSensor);}
51 TGraph * GetGraphGoofyPressure () const {return GetGraph (goofyPressure);}
52 TGraph * GetGraphGoofyVelocity () const {return GetGraph (goofyVelocity);}
53 TGraph * GetGraphGoofyGain (UInt_t iSensor) const {return GetGraph (goofyGain, iSensor);}
54 TGraph * GetGraphGoofyCO2 () const {return GetGraph (goofyCO2);}
55 TGraph * GetGraphGoofyN2 () const {return GetGraph (goofyN2);}
56 TGraph * GetGraphGasO2 () const {return GetGraph (gasO2);}
57 TGraph * GetGraphGasOverpressure () const {return GetGraph (gasOverpressure);}
58 TGraph * GetGraphEnvTemp (UInt_t iSensor) const {return GetGraph (envTemp, iSensor);}
59 TGraph * GetGraphHvAnodeImon (UInt_t iSensor) const {return GetGraph (hvAnodeImon, iSensor);}
60 TGraph * GetGraphHvDriftImon (UInt_t iSensor) const {return GetGraph (hvDriftImon, iSensor);}
61 TGraph * GetGraphHvAnodeUmon (UInt_t iSensor) const {return GetGraph (hvAnodeUmon, iSensor);}
62 TGraph * GetGraphHvDriftUmon (UInt_t iSensor) const {return GetGraph (hvDriftUmon, iSensor);}
63 TGraph * GetGraphAdcClkPhase () const {return GetGraph (adcClkPhase);}
64 TGraph * GetGraphAtmPressure () const {return GetGraph (atmPressure);}
65 TGraph * GetGraphLuminosity () const {return GetGraph (luminosity);}
66 TGraph * GetGraphMagneticField () const {return GetGraph (magneticField);}
68 AliSplineFit * GetFitChamberByteStatus (UInt_t iSensor) const {return GetFit (chamberByteStatus, iSensor);}
69 AliSplineFit * GetFitPreTrigger () const {return GetFit (preTrigger);}
70 AliSplineFit * GetFitGoofyHv () const {return GetFit (goofyHv);}
71 AliSplineFit * GetFitGoofyPeakPos (UInt_t iSensor) const {return GetFit (goofyPeakPos, iSensor);}
72 AliSplineFit * GetFitGoofyPeakArea (UInt_t iSensor) const {return GetFit (goofyPeakArea, iSensor);}
73 AliSplineFit * GetFitGoofyTemp (UInt_t iSensor) const {return GetFit (goofyTemp, iSensor);}
74 AliSplineFit * GetFitGoofyPressure () const {return GetFit (goofyPressure);}
75 AliSplineFit * GetFitGoofyVelocity () const {return GetFit (goofyVelocity);}
76 AliSplineFit * GetFitGoofyGain (UInt_t iSensor) const {return GetFit (goofyGain, iSensor);}
77 AliSplineFit * GetFitGoofyCO2 () const {return GetFit (goofyCO2);}
78 AliSplineFit * GetFitGoofyN2 () const {return GetFit (goofyN2);}
79 AliSplineFit * GetFitGasO2 () const {return GetFit (gasO2);}
80 AliSplineFit * GetFitGasOverpressure () const {return GetFit (gasOverpressure);}
81 AliSplineFit * GetFitEnvTemp (UInt_t iSensor) const {return GetFit (envTemp, iSensor);}
82 AliSplineFit * GetFitHvAnodeImon (UInt_t iSensor) const {return GetFit (hvAnodeImon, iSensor);}
83 AliSplineFit * GetFitHvDriftImon (UInt_t iSensor) const {return GetFit (hvDriftImon, iSensor);}
84 AliSplineFit * GetFitHvAnodeUmon (UInt_t iSensor) const {return GetFit (hvAnodeUmon, iSensor);}
85 AliSplineFit * GetFitHvDriftUmon (UInt_t iSensor) const {return GetFit (hvDriftUmon, iSensor);}
86 AliSplineFit * GetFitAdcClkPhase () const {return GetFit (adcClkPhase);}
87 AliSplineFit * GetFitAtmPressure () const {return GetFit (atmPressure);}
88 AliSplineFit * GetFitLuminosity () const {return GetFit (luminosity);}
89 AliSplineFit * GetFitMagneticField () const {return GetFit (magneticField);}
91 void Print (Option_t* option = "") const;
96 const UInt_t chamberByteStatus;
97 const UInt_t preTrigger;
99 const UInt_t goofyPeakPos;
100 const UInt_t goofyPeakArea;
101 const UInt_t goofyTemp;
102 const UInt_t goofyPressure;
103 const UInt_t goofyVelocity;
104 const UInt_t goofyGain;
105 const UInt_t goofyCO2;
106 const UInt_t goofyN2;
108 const UInt_t gasOverpressure;
109 const UInt_t envTemp ;
110 const UInt_t hvAnodeImon;
111 const UInt_t hvDriftImon;
112 const UInt_t hvAnodeUmon;
113 const UInt_t hvDriftUmon;
114 const UInt_t adcClkPhase;
115 const UInt_t atmPressure;
116 const UInt_t luminosity;
117 const UInt_t magneticField;
118 const UInt_t fNAlias;
126 TGraph * FindAndMakeGraph (TMap * dcsMap, const char * amandaStr,
128 AliSplineFit * Fit (TGraph * graph,
129 Int_t kMinPoints, Int_t kIter,
130 Double_t kMaxDelta, Int_t kFitReq);
136 void SetConf (UInt_t iAlias, const char * amanda, char dataType, UInt_t nChannel,
137 Bool_t enableGraph, Bool_t enableFit, Int_t kMinPoints,
138 Int_t kIter, Double_t kMaxDelta, Int_t kFitReq);
146 TObjArray fit; // array of AliSplineFit
147 TObjArray graph; // array of TGraph
151 TString amanda; // amanda string
152 char dataType; // 'c' for char, 'f' for float
153 UInt_t nChannel; // number of channel
154 Bool_t enableGraph; // will be converted in TGraph
155 Bool_t enableFit; // will be converted in AliSplineFit
156 Int_t kMinPoints; // minimum number of points per knot in fit
157 Int_t kIter; // number of iterations for spline fit
158 Double_t kMaxDelta; // precision parameter for spline fit
159 Int_t kFitReq; // fit requirement, 2 = continuous 2nd derivative
165 ClassDef(AliTRDDataDCS,1) // TRD calibration class