]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGGA/EMCALTasks/AliAnalysisTaskSATR.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGGA / EMCALTasks / AliAnalysisTaskSATR.h
1 #ifndef ALIANALYSISTASKSATR_H
2 #define ALIANALYSISTASKSATR_H
3
4 // $Id$
5
6 class TH1F;
7 class TH2F;
8 class TH1I;
9 class TH2I;
10 class TList;
11 class AliCaloCalibPedestal;
12 class AliAnalysisTaskEMCALClusterizeFast;
13 class AliEMCALGeometry;
14
15 #include "AliAnalysisTaskSE.h"
16
17 class AliAnalysisTaskSATR : public AliAnalysisTaskSE {
18 public:
19   AliAnalysisTaskSATR();
20   AliAnalysisTaskSATR(const char *name);
21   virtual ~AliAnalysisTaskSATR();
22   
23   virtual void     UserCreateOutputObjects();
24   virtual void     UserExec(Option_t *option);
25   virtual void     Terminate(Option_t *);
26   virtual void     Init();
27   
28   Bool_t                  GetCheckDeadClusters()                                      const { return fCheckDeadClusters;                        }
29   AliCaloCalibPedestal*   GetPedestal()                                               const { return fPedestal;                                 }
30   Bool_t                  GetTimeCutOn()                                              const { return fTimeCutOn;                                }
31   
32   void                    SetCheckDeadClusters(Bool_t c)                                    { fCheckDeadClusters = c;                           }
33   void                    SetPedestal(AliCaloCalibPedestal *pds)                            { fPedestal = pds;                                  }
34   void                    SetCaloClustersName(TString name)                                 { fCaloClustersName = name;                         }
35   void                    SetTriggerClustersName(TString name)                              { fTriggerClustersName = name;                      }
36   void                    SetTimeCutOn(Bool_t yes)                                          { fTimeCutOn = yes;                                 }
37   void                    SetCutL0Amp(Float_t min = -1, Float_t max = 1000)                 { fMinCutL0Amp = min; fMaxCutL0Amp = max;           }
38   void                    SetCutClusEnergy(Float_t min = -1, Float_t max = 100)             { fMinCutClusEnergy = min; fMaxCutClusEnergy = max; }
39   void                    SetMinDistanceFromBadTower(Float_t d)                             { fMinDistanceFromBadTower = d;                     }
40   void                    SetClusterizer(AliAnalysisTaskEMCALClusterizeFast *c)             { fClusterizer = c;                                 }
41   void                    SetTriggerClusterizer(AliAnalysisTaskEMCALClusterizeFast *c)      { fTriggerClusterizer = c;                          }
42   void                    SetLoadPed(Bool_t yes)                                            { fLoadPed = yes;                                   }
43   void                    SetOCDBPath(const TString &path)                                  { fOCDBpath = path;                                 }
44   void                    SetL0TimeCut(Int_t min, Int_t max)                                { fMinL0Time = min; fMaxL0Time = max;               }
45   void                    SetClusTimeCut(Float_t min, Float_t max)                          { fMinClusTime = min; fMaxClusTime = max;           }
46   
47  protected:
48   AliVCluster*                           GetClusterFromId(TClonesArray *caloClusters, Int_t id);
49
50   Float_t                                fL0Calib                                    ; // L0 amplitude calibration  
51   TString                                fCaloClustersName                           ; // Calo cluster collection name
52   TString                                fTriggerClustersName                        ; // Trigger cluster collection name
53   Float_t                                fMinCutL0Amp                                ; // Min L0 amplitude
54   Float_t                                fMaxCutL0Amp                                ; // Max L0 amplitude
55   Float_t                                fMinCutClusEnergy                           ; // Min cluster energy
56   Float_t                                fMaxCutClusEnergy                           ; // Max cluster energy
57   Bool_t                                 fTimeCutOn                                  ; // True = time cut on
58   Int_t                                  fMinL0Time                                  ; // Min L0 time
59   Int_t                                  fMaxL0Time                                  ; // Max L0 time
60   Float_t                                fMinClusTime                                ; // Min clus time
61   Float_t                                fMaxClusTime                                ; // Max clus time
62   Bool_t                                 fCheckDeadClusters                          ; // True = check for dead clusters
63   AliCaloCalibPedestal                  *fPedestal                                   ; // Calo calib pedestal object
64   Bool_t                                 fLoadPed                                    ; // True = load pedesta
65   TString                                fOCDBpath                                   ; // Path with OCDB location
66   Float_t                                fMinDistanceFromBadTower                    ; // Min distance from bad tower
67   AliAnalysisTaskEMCALClusterizeFast    *fClusterizer                                ; // Clusterizer
68   AliAnalysisTaskEMCALClusterizeFast    *fTriggerClusterizer                         ; // Trigger clusterizer
69
70   AliEMCALGeometry                      *fGeom                                       ; //!Pointer to emcal geometry object
71   Int_t                                  fRun                                        ; //!Current run
72   TList                                 *fOutput                                     ; //!Output list
73   TH1F                                  *fHistEclus                                  ; //!Energy spectrum of clusters
74   TH1F                                  *fHistEmaxClus                               ; //!Energy of max cluster per event
75   TH2I                                  *fHistEtavsPhiMaxClus                        ; //!Position (eta-phi) of max cluster per event
76   TH2F                                  *fHistEtavsEmaxClus                          ; //!Eta vs. energy of max cluster per event
77   TH2F                                  *fHistPhivsEmaxClus                          ; //!Phi vs. energy of max cluster per event
78   TH2F                                  *fHistTOFvsEclus                             ; //!TOF vs. energy of clusters
79   TH2F                                  *fHistTOFvsEclusC                            ; //!Output histogram
80   TH2F                                  *fHistNcellsvsEclus                          ; //!Output histogram
81   
82   TH1F                                  *fHistAmpTClus                               ; //!Output histogram
83   TH1F                                  *fHistAmpMaxTClus                            ; //!Output histogram
84   TH2I                                  *fHistEtavsPhiMaxTClus                       ; //!Output histogram
85   
86   TH2F                                  *fHistEmaxClusvsAmpMaxTClus                  ; //!Output histogram
87   TH2F                                  *fHistEmaxClusvsAmpMatchedTClus              ; //!Output histogram
88   TH1F                                  *fHistEmaxClusNotMatchingTClus               ; //!Output histogram
89   TH2I                                  *fHistEtavsPhiMaxClusNotMatchingTClus        ; //!Output histogram
90   TH2F                                  *fHistEmatchedClusvsAmpMaxTClus              ; //!Output histogram
91   TH1F                                  *fHistAmpMaxTClusNotMatchingClus             ; //!Output histogram
92   TH2I                                  *fHistEtavsPhiMaxTClusNotMatchingClus        ; //!Output histogram
93   TH2I                                  *fHistIdxMaxClusvsIdxMaxTClus                ; //!Output histogram
94   TH2I                                  *fHistPhiMaxClusvsPhiMaxTClus                ; //!Output histogram
95   TH2I                                  *fHistEtaMaxClusvsEtaMaxTClus                ; //!Output histogram
96   TH2F                                  *fHistTOFmaxClusvsTimeMaxTClus               ; //!Output histogram
97   TH2F                                  *fHistEmatchedClusvsAmpMatchedTClus          ; //!Output histogram
98   TH1F                                  *fHistEmatchedClus                           ; //!Output histogram
99   TH1F                                  *fHistEmaxMatchedClus                        ; //!Output histogram
100         
101   TH1F                                  *fHistAmpL1TimeSum                           ; //!Output histogram
102   TH1F                                  *fHistAmpMaxL1TimeSum                        ; //!Output histogram
103   TH2F                                  *fHistAmpMaxL1TimeSumVScent                  ; //!Output histogram
104   
105   TH2F                                  *fHistAmpFastORvsAmpL1TimeSum                ; //!Output histogram
106   
107   TH1F                                  *fHistAmpFastOR                              ; //!Output histogram
108   TH1F                                  *fHistAmpMaxFastOR                           ; //!Output histogram
109   TH1F                                  *fHistTimeFastOR                             ; //!Output histogram
110   TH2I                                  *fHistEtavsPhiFastOR                         ; //!Output histogram
111   TH2I                                  *fHistEtavsPhiMaxFastOR                      ; //!Output histogram
112   TH1F                                  *fHistTimeDispFastOR                         ; //!Output histogram
113   TH2F                                  *fHistTimevsL0TimeFastOR                     ; //!Output histogram
114   TH1I                                  *fHistNtimesFastOR                           ; //!Output histogram
115
116   TH1F                                  *fHistEcells                                 ; //!Output histogram
117   TH1F                                  *fHistEmaxCell                               ; //!Output histogram
118   TH2F                                  *fHistTOFvsEcells                            ; //!Output histogram
119   TH2F                                  *fHistTOFvsEcellsC                           ; //!Output histogram
120   
121   TH2F                                  *fHistEmaxCellvsAmpFastOR                    ; //!Output histogram
122   
123 private:
124   
125   AliAnalysisTaskSATR (const AliAnalysisTaskSATR&);           // not implemented
126   AliAnalysisTaskSATR operator=(const AliAnalysisTaskSATR&);  // not implemented
127   
128   ClassDef(AliAnalysisTaskSATR, 2);
129 };
130
131 #endif
132