]>
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 | ||
cdc26d91 | 8 | #include "AliAnalysisTaskEmcal.h" |
46f589c2 | 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; |
cdc26d91 | 18 | class AliVParticle; |
46f589c2 | 19 | |
20 | namespace EMCalTriggerPtAnalysis { | |
21 | class AliEMCalHistoContainer; | |
22 | ||
cdc26d91 | 23 | class AliAnalysisTaskPtEMCalTrigger : public AliAnalysisTaskEmcal { |
46f589c2 | 24 | public: |
25 | enum EEMCalTriggerType_t{ | |
26 | kEMCalJetLow = 0, | |
27 | kEMCalJetHigh = 1, | |
28 | kEMCalGammaLow = 2, | |
29 | kEMCalGammaHigh = 3 | |
30 | }; | |
31 | AliAnalysisTaskPtEMCalTrigger(); | |
32 | AliAnalysisTaskPtEMCalTrigger(const char *name); | |
33 | ~AliAnalysisTaskPtEMCalTrigger(); | |
34 | ||
cdc26d91 | 35 | virtual void UserCreateOutputObjects(); |
36 | virtual Bool_t Run(); | |
46f589c2 | 37 | |
cdc26d91 | 38 | void AddESDTrackCuts(AliESDtrackCuts *trackCuts); |
009a14cb | 39 | void AddCutsForAOD(AliESDtrackCuts *trackCuts, UInt_t filterBits); |
46f589c2 | 40 | void SetEtaRange(double etamin, double etamax) { fEtaRange.SetLimits(etamin, etamax); } |
bf9501c1 | 41 | void SetPtRange(double ptmin, double ptmax) { fPtRange.SetLimits(ptmin, ptmax); } |
710e1b95 | 42 | void SetSwapEta() { fSwapEta = kTRUE; } |
cdc26d91 | 43 | void UseTriggersFromTriggerMaker() { fUseTriggersFromTriggerMaker = kTRUE; } |
46f589c2 | 44 | |
45 | private: | |
46 | AliAnalysisTaskPtEMCalTrigger(const AliAnalysisTaskPtEMCalTrigger &); | |
47 | AliAnalysisTaskPtEMCalTrigger &operator=(const AliAnalysisTaskPtEMCalTrigger &); | |
48 | void CreateDefaultPtBinning(TArrayD &binning) const; | |
49 | void CreateDefaultZVertexBinning(TArrayD &binning) const; | |
50 | void CreateDefaultEtaBinning(TArrayD &binning) const; | |
51 | void DefineAxis(TAxis &axis, const char *name, const char *title, const TArrayD &binning, const char **labels = NULL); | |
52 | void DefineAxis(TAxis &axis, const char *name, const char *title, int nbins, double min, double max, const char **labels = NULL); | |
53 | void FillEventHist(const char *trigger, double vz, bool isPileup); | |
8738a2f4 | 54 | void FillTrackHist(const char *trigger, const AliVTrack *track, double vz, bool isPileup, int cut, bool isMinBias); |
55 | void FillClusterHist(const char *trigger, const AliVCluster *clust, bool isCalibrated, double vz, bool isPileup, bool isMinBias); | |
3631aeac | 56 | void FillMCParticleHist(const AliVParticle * const part, double vz, bool isPileup); |
cdc26d91 | 57 | bool IsTrueTrack(const AliVTrack *const) const; |
58 | TString BuildTriggerString(); | |
59 | const AliVVertex *GetSPDVertex() const; | |
46f589c2 | 60 | |
46f589c2 | 61 | AliEMCalHistoContainer *fHistos; //! Histogram container for the task |
62 | TList *fListTrackCuts; // List of track cuts | |
63 | ||
64 | // Cuts | |
65 | AliCutValueRange<double> fEtaRange; // Eta Selection Range | |
bf9501c1 | 66 | AliCutValueRange<double> fPtRange; // Pt Selection Range |
710e1b95 | 67 | Bool_t fSwapEta; // Allow swapping of the eta sign in asymmetric collision systems |
cdc26d91 | 68 | Bool_t fUseTriggersFromTriggerMaker; // Use trigger classes from trigger maker |
46f589c2 | 69 | |
70 | ClassDef(AliAnalysisTaskPtEMCalTrigger, 1); // Analysis of EMCal triggered events | |
71 | }; | |
72 | ||
73 | } | |
74 | #endif |