]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/CaloCalib/AliAnalysisTaskPHOSPi0CalibSelection.h
set geometry matrices if not yet set
[u/mrichter/AliRoot.git] / PWG4 / CaloCalib / AliAnalysisTaskPHOSPi0CalibSelection.h
1 #ifndef ALIANALYSISTASKPHOSPI0CALIBSELECTION_H
2 #define ALIANALYSISTASKPHOSPI0CALIBSELECTION_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 // Fill histograms with two-cluster invariant mass                           //
9 // using calibration coefficients of the previous iteration.                 //
10 //---------------------------------------------------------------------------//
11
12 // Root includes
13 #include "TH1.h"
14
15 // AliRoot includes
16 #include "AliAnalysisTaskSE.h"
17 #include "AliPHOSGeometry.h"
18 #include "AliAODCaloCluster.h"
19 #include "AliAODCaloCells.h"
20 #include "AliPHOSCalibData.h"
21
22 class AliAnalysisTaskPHOSPi0CalibSelection : public AliAnalysisTaskSE
23 {
24 public:
25
26   AliAnalysisTaskPHOSPi0CalibSelection();
27   AliAnalysisTaskPHOSPi0CalibSelection(const char* name);
28   AliAnalysisTaskPHOSPi0CalibSelection(const AliAnalysisTaskPHOSPi0CalibSelection&); 
29   AliAnalysisTaskPHOSPi0CalibSelection& operator=(const AliAnalysisTaskPHOSPi0CalibSelection&); 
30   virtual ~AliAnalysisTaskPHOSPi0CalibSelection();
31
32   // Implementation of interface methods
33   virtual void UserCreateOutputObjects();
34   virtual void UserExec(Option_t * opt);
35   
36   void SetClusterMinEnergy(Float_t emin) {fEmin=emin;}
37   void SetLogWeight(Float_t weight) {fLogWeight=weight;}
38   void SetCalibCorrections(AliPHOSCalibData* cdata);
39   void CreateAODFromESD();
40   void CreateAODFromAOD();      
41
42   void CopyAOD(Bool_t copy)   { fCopyAOD = copy ; }
43   Bool_t IsAODCopied() const { return fCopyAOD ; }
44
45 private:
46
47   void MaxEnergyCellPos(AliAODCaloCells *cells, AliAODCaloCluster* clu, Int_t& maxId);
48
49 private:
50
51   TList* fOutputContainer;
52   TH1F*  fHmpi0[5][64][56];// two-cluster inv. mass assigned to each cell.
53
54   AliPHOSGeometry * fPhosGeo;   // PHOS geometry
55   AliPHOSCalibData* fCalibData; // corrections to CC from the previous iteration
56         
57   TH1F*   fHmgg; //two-cluster inv.mass
58   Float_t fEmin; // min. cluster energy
59   Float_t fLogWeight; // log weight used in cluster recalibration
60   Bool_t  fCopyAOD; // Copy calo information only to AOD?
61         
62   ClassDef(AliAnalysisTaskPHOSPi0CalibSelection,3);
63
64 };
65
66 #endif //ALIANALYSISTASKPHOSPI0CALIBSELECTION_H