3 //* This file is property of and copyright by the ALICE HLT Project *
4 //* ALICE Experiment at CERN, All rights reserved. *
5 //* See cxx source for full Copyright notice *
7 #ifndef ALIANALYSISTASKHLT_H
8 #define ALIANALYSISTASKHLT_H
10 /** @file AliAnalysisTaskHLT.h
11 @author Kalliopi Kanaki, Hege Erdal
13 @brief An analysis task to compare the offline and HLT esd trees
16 // forward declarations
22 #include "AliAnalysisTaskSE.h"
24 class AliAnalysisTaskHLT : public AliAnalysisTaskSE {
28 AliAnalysisTaskHLT(const char *name, float eta=2, float pt=0, float DCAr=20, float DCAz=20);
29 virtual ~AliAnalysisTaskHLT() {}
31 virtual void UserCreateOutputObjects();
32 virtual void UserExec(Option_t *option);
33 virtual void Terminate(Option_t *);
35 //Use only triggered events
36 void SetUseHLTTriggerDecision(Bool_t useHLT = kFALSE) { fUseHLTTrigger = useHLT; }
37 // function to set the beam type
38 void SetBeamType(TString beamType) { fBeamType = beamType; }
42 /** copy constructor */
43 AliAnalysisTaskHLT(const AliAnalysisTaskHLT&);
44 /** assignment operator */
45 AliAnalysisTaskHLT& operator=(const AliAnalysisTaskHLT&);
47 //void SetupESDtrackCuts();
49 Bool_t fUseHLTTrigger; // use HLT Trigger Decision
51 //AliESDtrackCuts *fESDOfftrackCuts; //! ESD cuts
52 //AliESDtrackCuts *fESDHLTtrackCuts; //! ESD cuts - on HLT object
54 TList *fOutputList; // list of output histograms
55 //TH1F *fHistTrigger; //! trigger counters
57 TH1F *fChargeOff; //! Charge distribution
58 TH1F *fMomentumOff; //! momentum
59 TH1F *fDCArOff; //! track DCAr
60 TH1F *fDCAzOff; //! track DCAz
61 TH1F *fNclusterOff; //! #clusters per track
62 TH1F *fNITSclusterOff; //! # ITS clusters per track
63 TH1F *fPhiOff; //! azimuthal angle distribution
64 TH1F *fEtaOff; //! pseudorapidity
65 TH1F *fMultOff; //! track multiplicity of the event
66 TH1F *fXvertexOff; //! X primary vertex distribution
67 TH1F *fYvertexOff; //! Y primary vertex distribution
68 TH1F *fZvertexOff; //! Z primary vertex distribution
69 TH1F *fSPDXvertexOff; //! SPD X primary vertex distribution
70 TH1F *fSPDYvertexOff; //! SPD Y primary vertex distribution
71 TH1F *fSPDZvertexOff; //! SPD Z primary vertex distribution
72 TH1F *fEventSpecieOff; //! Event Specie Offline
73 TH1F *fV0cent; //! V0 centrality information
74 TH1F *fNcontOff; //! # of contributors to the vertex estimate
76 //---------------------------------//
78 TH1F *fChargeHLT; //! Charge distribution
79 TH1F *fMomentumHLT; //! momentum
80 TH1F *fDCArHLT; //! track DCAr to beam line
81 TH1F *fDCAzHLT; //! track DCAz to beam line
82 TH1F *fNclusterHLT; //! #clusters per track
83 TH1F *fNITSclusterHLT; //! # ITS clusters per track
84 TH1F *fPhiHLT; //! azimuthal angle distribution
85 TH1F *fEtaHLT; //! pseudorapidity
87 TH1F *fChargeHLTcut; //! Charge distribution with cuts for selecting primary tracks
88 TH1F *fMomentumHLTcut; //! momentum
89 TH1F *fDCArHLTcut; //! track DCAr
90 TH1F *fDCAzHLTcut; //! track DCAz
91 TH1F *fNclusterHLTcut; //! #clusters per track
92 TH1F *fNITSclusterHLTcut; //! # ITS clusters per track
93 TH1F *fPhiHLTcut; //! azimuthal angle distribution
94 TH1F *fEtaHLTcut; //! pseudorapidity
96 TH1F *fMultHLT; //! track multiplicity of the event
97 TH1F *fXvertexHLT; //! X primary vertex distribution
98 TH1F *fYvertexHLT; //! Y primary vertex distribution
99 TH1F *fZvertexHLT; //! Z primary vertex distribution
100 TH1F *fSPDXvertexHLT; //! SPD X primary vertex distribution
101 TH1F *fSPDYvertexHLT; //! SPD Y primary vertex distribution
102 TH1F *fSPDZvertexHLT; //! SPD Z primary vertex distribution
103 TH1F *fEventSpecieHLT; //! Event Specie HLT
104 TH1F *fNcontHLT; //! # of contributors to the vertex estimate
106 TString fBeamType; //! beam type: p-p, Pb-Pb, No beam
107 TText *fTextBox; //! TText box containing run number info and date
108 TText *fCuts; //! TText box containing the cuts
109 Bool_t fSwitch; //! boolean used to execute parts of the code in the UserExec only once, although
110 // the function is called once per event
111 AliCentrality *fCentrality;//! Centrality holder
112 Float_t fEta; //! cut value
113 Float_t fPt; //! cut value
114 Float_t fDCAr; //! cut value
115 Float_t fDCAz; //! cut value
117 ClassDef(AliAnalysisTaskHLT, 0);