1 #ifndef ALIJETFILLUNITARRAYEMCALDIGITS_H
2 #define ALIJETFILLUNITARRAYEMCALDIGITS_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 //---------------------------------------------------------------------
9 // Called by ESD Reader for jet analysis
10 // Author: Magali Estienne (magali.estienne@subatech.in2p3.fr)
11 //---------------------------------------------------------------------
17 class AliEMCALGeometry;
19 class AliESDCaloCluster;
21 class AliJetESDReader;
24 class AliJetUnitArray;
27 class AliEMCALCalibData ;
29 class AliJetFillUnitArrayEMCalDigits : public TTask
32 AliJetFillUnitArrayEMCalDigits();
33 AliJetFillUnitArrayEMCalDigits(AliESDEvent *fESD);
34 virtual ~AliJetFillUnitArrayEMCalDigits();
37 void SetReaderHeader(AliJetReaderHeader *readerHeader) {fReaderHeader = readerHeader;}
38 void SetGeom(AliJetDummyGeo *geom) {fGeom = geom;}
39 void SetMomentumArray(TClonesArray *momentumArray) {fMomentumArray = momentumArray;}
40 void SetUnitArray(TClonesArray *unitArray) {fUnitArray = unitArray;}
41 void SetRefArray(TRefArray *refArray) {fRefArray = refArray;}
42 void SetTPCGrid(AliJetGrid *grid) {fTPCGrid = grid;}
43 void SetEMCalGrid(AliJetGrid *grid) {fEMCalGrid = grid;}
44 void SetEleCorrection(Int_t flag = 1) {fECorrection = flag;}
45 void SetESD(AliESDEvent *esd) {fESD = esd;}
46 void SetInitMult(Int_t mult) {fNDigitEmcal = mult;}
47 void SetInitMultCut(Int_t multcut) {fNDigitEmcalCut = multcut;}
48 void SetProcId(Bool_t id) {fProcId = id;}
51 TClonesArray* GetUnitArray() {return fUnitArray;}
52 TRefArray* GetRefArray() {return fRefArray;}
53 Int_t GetMult() {return fNDigitEmcal;}
54 Int_t GetMultCut() {return fNDigitEmcalCut;}
55 // For calibration => Under construction
56 // virtual Float_t Calibrate(Int_t amp, Int_t cellId) ; // Tranforms Amp to energy
60 Float_t EtaToTheta(Float_t arg);
63 AliESDEvent *fESD; // ESD
64 Int_t fNumUnits; // Number of units in the unit object array (same as num towers in EMCAL)
65 Float_t fEtaMinCal; // Define EMCAL acceptance in Eta
66 Float_t fEtaMaxCal; // Define EMCAL acceptance in Eta
67 Float_t fPhiMinCal; // Define EMCAL acceptance in Phi
68 Float_t fPhiMaxCal; // Define EMCAL acceptance in Phi
69 Int_t fNIn; // Number of Array filled in UnitArray
70 Int_t fOpt; // Detector to be used for jet reconstruction
71 Int_t fCluster; // Use all cells or cells in clusters for jet finding
72 Int_t fDebug; // Debug option
73 Int_t fNCEMCAL; // Number of clusters in EMCAL
74 Int_t fNCPHOS; // Number of clusters in PHOS
75 Int_t fNCCalo; // Number of cluster in EMCAL + PHOS calorimeters
77 AliJetGrid *fTPCGrid; // Define filled grid
78 AliJetGrid *fEMCalGrid; // Define filled grid
79 Int_t fECorrection; // Electron correction flag
81 AliJetReaderHeader *fReaderHeader; // ReaderHeader
82 TClonesArray *fMomentumArray; // MomentumArray
83 TClonesArray *fUnitArray; // UnitArray
84 TRefArray *fRefArray; // UnitArray
85 Bool_t fProcId; // Bool_t for TProcessID synchronization
86 AliJetDummyGeo *fGeom; // Set EMCal geometry
88 AliESDCaloCluster *fClus; //!
89 Int_t fNDigitEmcal; //!
90 Int_t fNDigitEmcalCut; //!
91 //Calibration parameters... to be replaced by database
92 AliEMCALCalibData *fCalibData; //! Calibration database if aval
93 Float_t fADCchannelECA; // width of one ADC channel for EC section (GeV)
94 Float_t fADCpedestalECA; // pedestal of ADC for EC section (GeV)
97 AliJetFillUnitArrayEMCalDigits(const AliJetFillUnitArrayEMCalDigits &det);
98 AliJetFillUnitArrayEMCalDigits &operator=(const AliJetFillUnitArrayEMCalDigits &det);
100 void InitParameters();
101 // Under construction
102 // void GetCalibrationParameters(void) ;
104 ClassDef(AliJetFillUnitArrayEMCalDigits,1) // Fill Unit Array with tpc and/or emcal information