AliRoot Core  edcc906 (edcc906)
AliFMDGainDA.h
Go to the documentation of this file.
1 #ifndef ALIFMDGAINDA_H
2 #define ALIFMDGAINDA_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights
4  * reserved.
5  *
6  * See cxx source for full Copyright notice
7  */
8 // This class implements the Gain detector algorithm (DA) for the FMD.
9 // The gain is the response of the VA chips to a known pulse and has to be
10 // calculated strip-by-strip, pulse-by-pulse.
11 
12 
13 #include "AliFMDBaseDA.h"
14 #include "TH1F.h"
15 #include "TObjArray.h"
16 // #include "TGraphErrors.h"
17 class TGraphErrors;
18 class TH1S;
19 
20 class AliFMDGainDA: public AliFMDBaseDA
21 {
22 public:
28  AliFMDGainDA() ;
34  AliFMDGainDA(const AliFMDGainDA & gainDA) ;
40  AliFMDGainDA& operator=(const AliFMDGainDA&) { return *this; }
45  virtual ~AliFMDGainDA();
66  Bool_t OpenFiles(Bool_t appendRun=false);
71  void Init();
77  void SetMaxPulse(Int_t highPulse = 256) {fHighPulse = highPulse; }
83  void SetNumberOfStrips(Int_t nStrips) {fNumberOfStripsPerChip = nStrips;}
84 
85 protected:
95  void AddChannelContainer(Array* sectorArray,
96  UShort_t det, Char_t ring,
97  UShort_t sec, UShort_t strip);
107  virtual void AddSectorSummary(Array* secArray, UShort_t det,
108  Char_t ring, UShort_t sector,
109  UShort_t nStrip);
115  void FillChannels(AliFMDDigit* digit);
125  void Analyse(UShort_t det, Char_t ring, UShort_t sec, UShort_t strip);
129  void WriteHeaderToFile();
138  void UpdatePulseAndADC(UShort_t det,
139  Char_t ring,
140  UShort_t sec,
141  UShort_t strip);
151  void FinishEvent();
157  void Terminate(TFile* dummy);
163  virtual void InitContainer(TDirectory* dir);
164 
165 private:
176  TH1S* GetChannelHistogram(UShort_t det, Char_t ring, UShort_t sec,
177  UShort_t va);
188  TGraphErrors* GetChannel(UShort_t det, Char_t ring,
189  UShort_t sec, UShort_t strip);
200  TH1F* GetSectorSummary(UShort_t det, Char_t ring, UShort_t sec);
201  Int_t fHighPulse; // Highest pulse
202  TArrayS fEventsPerChannel; // # of events per pulse step
203  TArrayS fCurrentPulse; // The current pulse size
204  TArrayS fCurrentChannel; // The current strip number
205  Int_t fNumberOfStripsPerChip; // Number of strips
206 
207  TH1F fSummaryGains; // Summary histogram
208  Int_t fCurrentSummaryStrip; // Current strip for summary
209 
210  void MakeSummary(UShort_t det, Char_t ring);
211 
212  TH2* fGainFMD1i; // AMORE DQM histogram
213  TH2* fGainFMD2i; // AMORE DQM histogram
214  TH2* fGainFMD2o; // AMORE DQM histogram
215  TH2* fGainFMD3i; // AMORE DQM histogram
216  TH2* fGainFMD3o; // AMORE DQM histogram
217  TH2* fChi2FMD1i; // AMORE DQM histogram
218  TH2* fChi2FMD2i; // AMORE DQM histogram
219  TH2* fChi2FMD2o; // AMORE DQM histogram
220  TH2* fChi2FMD3i; // AMORE DQM histogram
221  TH2* fChi2FMD3o; // AMORE DQM histogram
222 
223  ClassDef(AliFMDGainDA,0) // Detector algorithm for gain runs
224 
225 };
226 #endif
227 // Local Variables:
228 // mode: C++
229 // End:
class for digits
Definition: AliFMDDigit.h:28
Bool_t OpenFiles(Bool_t appendRun=false)
void SetNumberOfStrips(Int_t nStrips)
Definition: AliFMDGainDA.h:83
virtual ~AliFMDGainDA()
void Terminate(TFile *dummy)
void FillChannels(AliFMDDigit *digit)
TH2 * fGainFMD2o
Definition: AliFMDGainDA.h:214
virtual void AddSectorSummary(Array *secArray, UShort_t det, Char_t ring, UShort_t sector, UShort_t nStrip)
TH1F fSummaryGains
Definition: AliFMDGainDA.h:207
TH2 * fChi2FMD3o
Definition: AliFMDGainDA.h:221
virtual void InitContainer(TDirectory *dir)
TArrayS fEventsPerChannel
Definition: AliFMDGainDA.h:202
void SetMaxPulse(Int_t highPulse=256)
Definition: AliFMDGainDA.h:77
void FinishEvent()
TObjArray Array
Definition: AliFMDBaseDA.h:62
void MakeSummary(UShort_t det, Char_t ring)
void WriteHeaderToFile()
Int_t fHighPulse
Definition: AliFMDGainDA.h:201
void ResetPulseAndUpdateChannel()
TH2 * fChi2FMD1i
Definition: AliFMDGainDA.h:217
void Analyse(UShort_t det, Char_t ring, UShort_t sec, UShort_t strip)
void AddChannelContainer(Array *sectorArray, UShort_t det, Char_t ring, UShort_t sec, UShort_t strip)
TH2 * fGainFMD2i
Definition: AliFMDGainDA.h:213
TGraphErrors * GetChannel(UShort_t det, Char_t ring, UShort_t sec, UShort_t strip)
TH1F * GetSectorSummary(UShort_t det, Char_t ring, UShort_t sec)
TH2 * fChi2FMD2i
Definition: AliFMDGainDA.h:218
void UpdatePulseAndADC(UShort_t det, Char_t ring, UShort_t sec, UShort_t strip)
TH2 * fGainFMD3i
Definition: AliFMDGainDA.h:215
TH2 * fChi2FMD3i
Definition: AliFMDGainDA.h:220
TH2 * fGainFMD1i
Definition: AliFMDGainDA.h:212
Int_t fNumberOfStripsPerChip
Definition: AliFMDGainDA.h:205
Int_t fCurrentSummaryStrip
Definition: AliFMDGainDA.h:208
AliFMDBaseDA::Array Array
Definition: AliFMDGainDA.h:23
TH2 * fGainFMD3o
Definition: AliFMDGainDA.h:216
TH2 * fChi2FMD2o
Definition: AliFMDGainDA.h:219
TH1S * GetChannelHistogram(UShort_t det, Char_t ring, UShort_t sec, UShort_t va)
TArrayS fCurrentPulse
Definition: AliFMDGainDA.h:203
TArrayS fCurrentChannel
Definition: AliFMDGainDA.h:204
AliFMDGainDA & operator=(const AliFMDGainDA &)
Definition: AliFMDGainDA.h:40