Updates provided by Magali Estienne
[u/mrichter/AliRoot.git] / JETAN / AliJetAODFillUnitArrayEMCalDigits.h
1 #ifndef ALIJETAODFILLUNITARRAYEMCALDIGITS_H
2 #define ALIJETAODFILLUNITARRAYEMCALDIGITS_H
3  
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6  
7 //---------------------------------------------------------------------
8 // Jet Fill Unit Array 
9 // Called by ESD Reader for jet analysis
10 // Author: Magali Estienne (magali.estienne@subatech.in2p3.fr)
11 //---------------------------------------------------------------------
12
13 #include "AliJetFillUnitArray.h"
14
15 class AliESDCaloCluster;
16 class AliJetReader;
17 class AliJetAODReader;
18
19 class AliJetAODFillUnitArrayEMCalDigits : public AliJetFillUnitArray
20 {
21  public: 
22   AliJetAODFillUnitArrayEMCalDigits();
23   AliJetAODFillUnitArrayEMCalDigits(AliAODEvent *fAOD);
24   virtual ~AliJetAODFillUnitArrayEMCalDigits();
25   
26   // Setter
27   void SetApplyElectronCorrection(Int_t flag = 1)     {fApplyElectronCorrection = flag;}
28   void SetApplyFractionHadronicCorrection(Bool_t val) {fApplyFractionHadronicCorrection = val;}
29   void SetFractionHadronicCorrection(Double_t val)    {fFractionHadronicCorrection = val;}
30   void SetAOD(AliAODEvent* const aod)                 {fAOD = aod;}
31   void SetInitMult(Int_t mult)                        {fNDigitEmcal = mult;}
32   void SetInitMultCut(Int_t multcut)                  {fNDigitEmcalCut = multcut;}
33
34   // Getter
35   Int_t         GetMult()      const {return fNDigitEmcal;}
36   Int_t         GetMultCut()   const {return fNDigitEmcalCut;}
37
38   // For calibration 
39   //  virtual Float_t Calibrate(Int_t amp, Int_t cellId) ;  // Tranforms Amp to energy
40
41   // Other
42   void Exec(Option_t* const option);
43
44  protected:
45   AliAODEvent  *fAOD;                 // ESD
46   Int_t        fNIn;                  // Number of Array filled in UnitArray
47   Int_t        fCluster;              // Use all cells or cells in clusters for jet finding 
48   Int_t        fNCEMCAL;              // Number of clusters in EMCAL
49   Int_t        fNCPHOS;               // Number of clusters in PHOS
50   Int_t        fNCCalo;               // Number of cluster in EMCAL + PHOS calorimeters
51
52   Bool_t       fApplyElectronCorrection;          // Electron correction flag
53   Bool_t       fApplyFractionHadronicCorrection;  // Fraction hadronic correction flag
54   Bool_t       fFractionHadronicCorrection;       // Fraction hadronic correction 
55
56   
57   // geometry info
58   AliESDCaloCluster *fClus;           //! 
59   Int_t fNDigitEmcal;                 //!
60   Int_t fNDigitEmcalCut;              //!
61   //Calibration parameters... to be replaced by database
62 //  AliEMCALCalibData *fCalibData;     //! Calibration database if aval
63 //  Float_t            fADCchannelECA; // width of one ADC channel for EC section (GeV)
64 //  Float_t            fADCpedestalECA;// pedestal of ADC for EC section (GeV)
65
66
67  private:
68   AliJetAODFillUnitArrayEMCalDigits(const AliJetAODFillUnitArrayEMCalDigits &det);
69   AliJetAODFillUnitArrayEMCalDigits &operator=(const AliJetAODFillUnitArrayEMCalDigits &det);
70
71 //  void    GetCalibrationParameters(void) ;
72   
73   ClassDef(AliJetAODFillUnitArrayEMCalDigits,1) // Fill Unit Array with tpc and/or emcal information
74 };
75
76 #endif