]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskPtEMCalTrigger.h
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / UserTasks / AliAnalysisTaskPtEMCalTrigger.h
CommitLineData
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
14class TArrayD;
15class Axis;
16class AliESDtrack;
5bdebc68 17class AliVTrack;
46f589c2 18
19namespace EMCalTriggerPtAnalysis {
20class AliEMCalHistoContainer;
21
22class AliAnalysisTaskPtEMCalTrigger : public AliAnalysisTaskSE {
23public:
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
44private:
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