]>
Commit | Line | Data |
---|---|---|
46f589c2 | 1 | #ifndef ALIANALYSISTASKPTEMCALTRIGGER_H_ |
2 | #define ALIANALYSISTASKPTEMCALTRIGGER_H_ | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | // Author: Markus Fasel | |
7 | ||
8 | #include "AliAnalysisTaskSE.h" | |
9 | #include "AliCutValueRange.h" | |
10 | #include "AliESDtrackCuts.h" | |
5bdebc68 | 11 | #include <TClonesArray.h> |
46f589c2 | 12 | #include <TList.h> |
13 | ||
14 | class TArrayD; | |
15 | class Axis; | |
16 | class AliESDtrack; | |
5bdebc68 | 17 | class AliVTrack; |
46f589c2 | 18 | |
19 | namespace EMCalTriggerPtAnalysis { | |
20 | class AliEMCalHistoContainer; | |
21 | ||
22 | class AliAnalysisTaskPtEMCalTrigger : public AliAnalysisTaskSE { | |
23 | public: | |
24 | enum EEMCalTriggerType_t{ | |
25 | kEMCalJetLow = 0, | |
26 | kEMCalJetHigh = 1, | |
27 | kEMCalGammaLow = 2, | |
28 | kEMCalGammaHigh = 3 | |
29 | }; | |
30 | AliAnalysisTaskPtEMCalTrigger(); | |
31 | AliAnalysisTaskPtEMCalTrigger(const char *name); | |
32 | ~AliAnalysisTaskPtEMCalTrigger(); | |
33 | ||
34 | void UserCreateOutputObjects(); | |
35 | void UserExec(Option_t* /*option*/); | |
36 | void Terminate(Option_t * /*option*/) {} | |
37 | ||
38 | void AddTrackCuts(AliESDtrackCuts *trackCuts) { fListTrackCuts->Add(trackCuts); } | |
39 | void SetEtaRange(double etamin, double etamax) { fEtaRange.SetLimits(etamin, etamax); } | |
bf9501c1 | 40 | void SetPtRange(double ptmin, double ptmax) { fPtRange.SetLimits(ptmin, ptmax); } |
5bdebc68 | 41 | void SetTrackContainerName(const char *name) { fNameTrackContainer = name; } |
710e1b95 | 42 | void SetSwapEta() { fSwapEta = kTRUE; } |
46f589c2 | 43 | |
44 | private: | |
45 | AliAnalysisTaskPtEMCalTrigger(const AliAnalysisTaskPtEMCalTrigger &); | |
46 | AliAnalysisTaskPtEMCalTrigger &operator=(const AliAnalysisTaskPtEMCalTrigger &); | |
47 | void CreateDefaultPtBinning(TArrayD &binning) const; | |
48 | void CreateDefaultZVertexBinning(TArrayD &binning) const; | |
49 | void CreateDefaultEtaBinning(TArrayD &binning) const; | |
50 | void DefineAxis(TAxis &axis, const char *name, const char *title, const TArrayD &binning, const char **labels = NULL); | |
51 | void DefineAxis(TAxis &axis, const char *name, const char *title, int nbins, double min, double max, const char **labels = NULL); | |
52 | void FillEventHist(const char *trigger, double vz, bool isPileup); | |
53 | void FillTrackHist(const char *trigger, const AliESDtrack *track, double vz, bool isPileup, int cut); | |
bf1cb6ad | 54 | void FillClusterHist(const char *trigger, const AliVCluster *clust, bool isCalibrated, double vz, bool isPileup); |
5bdebc68 | 55 | TObjArray *GetAcceptedTracks(const TClonesArray * const inputlist, AliESDtrackCuts *const cuts); |
46f589c2 | 56 | |
5bdebc68 | 57 | TClonesArray *fCalibratedClusters; //! container of recalibrated EMCal clusters |
58 | TClonesArray *fMatchedTracks; //! container of tracks used for track matching | |
46f589c2 | 59 | TList *fResults; //! container for results |
60 | AliEMCalHistoContainer *fHistos; //! Histogram container for the task | |
61 | TList *fListTrackCuts; // List of track cuts | |
62 | ||
63 | // Cuts | |
64 | AliCutValueRange<double> fEtaRange; // Eta Selection Range | |
bf9501c1 | 65 | AliCutValueRange<double> fPtRange; // Pt Selection Range |
710e1b95 | 66 | Bool_t fSwapEta; // Allow swapping of the eta sign in asymmetric collision systems |
5bdebc68 | 67 | TString fNameTrackContainer; // Name of the Track container |
46f589c2 | 68 | |
69 | ClassDef(AliAnalysisTaskPtEMCalTrigger, 1); // Analysis of EMCal triggered events | |
70 | }; | |
71 | ||
72 | } | |
73 | #endif |