Adding calibration object for the sharing efficiency
[u/mrichter/AliRoot.git] / FMD / AliFMDGainDA.h
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 "TH1.h"
15 #include "TObjArray.h"
16 #include "TGraphErrors.h"
17
18 class AliFMDGainDA: public AliFMDBaseDA {
19   
20  public:
21   
22   AliFMDGainDA() ;
23   AliFMDGainDA(const AliFMDGainDA & gainDA) ;
24   //  AliFMDGainDA& operator = (const AliFMDGainDA & gainDA) ; 
25   virtual ~AliFMDGainDA();
26   void Init();
27   // void SetPulseSize(Int_t pulseSize = 32) {fPulseSize = pulseSize; }
28   void SetMaxPulse(Int_t highPulse = 256) {fHighPulse = highPulse; }
29   //  void SetPulseLength(Int_t pulseLength = 100) {fPulseLength = pulseLength; }
30   void SetNumberOfStrips(Int_t nStrips) {fNumberOfStripsPerChip = nStrips;}
31
32  protected:
33  
34   void AddChannelContainer(TObjArray* sectorArray, UShort_t det, Char_t ring, UShort_t sec, UShort_t strip);
35   void FillChannels(AliFMDDigit* digit);
36   void Analyse(UShort_t det, Char_t ring, UShort_t sec, UShort_t strip);
37   void WriteHeaderToFile();
38   void UpdatePulseAndADC(UShort_t det, Char_t ring, UShort_t sec, UShort_t strip);
39   void ResetPulseAndUpdateChannel();
40   void FinishEvent();
41   void Terminate(TFile* );
42   
43  private:
44   
45   TH1S* GetChannelHistogram(UShort_t det, Char_t ring, UShort_t sec, UShort_t strip);
46   TGraphErrors* GetChannel(UShort_t det, Char_t ring, UShort_t sec, UShort_t strip);
47   TObjArray fGainArray;
48   //  Int_t fPulseSize;
49   Int_t fHighPulse;
50   //Int_t fPulseLength;
51   TArrayS fEventsPerChannel;
52   TArrayS fCurrentPulse;
53   TArrayS fCurrentChannel;
54   Int_t fNumberOfStripsPerChip;
55   
56   TH1F fSummaryGains;
57   Int_t fCurrentSummaryStrip;
58   
59   ClassDef(AliFMDGainDA,0)
60
61 };
62 #endif