]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/QA/tasks/AliAnalysisTaskHLT.h
- included run number and date info in the output list
[u/mrichter/AliRoot.git] / HLT / QA / tasks / AliAnalysisTaskHLT.h
1 // $Id$
2 //-*- Mode: C++ -*-
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                        *
6
7 #ifndef ALIANALYSISTASKHLT_H
8 #define ALIANALYSISTASKHLT_H
9
10 /** @file AliAnalysisTaskHLT.h
11     @author Kalliopi Kanaki, Hege Erdal
12     @date   
13     @brief An analysis task to compare the offline and HLT esd trees
14 */
15
16 // forward declarations
17 class TH1F;
18 class TH2F;
19 class TList;
20 class TText;
21
22 #include "AliAnalysisTaskSE.h"
23
24 class AliAnalysisTaskHLT : public AliAnalysisTaskSE {
25  
26   public: 
27     AliAnalysisTaskHLT();
28     AliAnalysisTaskHLT(const char *name);
29     virtual ~AliAnalysisTaskHLT() {}
30
31     virtual void  UserCreateOutputObjects();
32     virtual void  UserExec(Option_t *option);
33     virtual void  Terminate(Option_t *);
34
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; }    
39  
40 private:
41
42     /** copy constructor */
43     AliAnalysisTaskHLT(const AliAnalysisTaskHLT&); 
44     /** assignment operator */
45     AliAnalysisTaskHLT& operator=(const AliAnalysisTaskHLT&); 
46
47     //void SetupESDtrackCuts();  
48
49     Bool_t fUseHLTTrigger;             // use HLT Trigger Decision
50
51     //AliESDtrackCuts *fESDOfftrackCuts;   //! ESD cuts  
52     //AliESDtrackCuts *fESDHLTtrackCuts;   //! ESD cuts - on HLT object 
53     
54     TList *fOutputList; // list of output histograms
55
56     TH1F *fHistTrigger; //! trigger counters 
57
58     TH1F  *fChargeOff;         //! Charge distribution      
59     TH1F  *fMomentumOff;       //! momentum     
60     TH1F  *fDCArOff;           //! track DCAr to beam line       
61     TH1F  *fDCAzOff;           //! track DCAz to beam line       
62     TH1F  *fNclusterOff;       //! #clusters per track
63     TH1F  *fNclusterOffwCut;   //! #clusters per track w cuts
64     TH1F  *fPhiOff;            //! azimuthal angle distribution
65     TH1F  *fMultOff;           //! track multiplicity of the event
66     TH2F  *fXYvertexOff;       //! XY primary vertex distribution
67     TH1F  *fXvertexOff;        //! X primary vertex distribution
68     TH1F  *fYvertexOff;        //! Y primary vertex distribution
69     TH1F  *fZvertexOff;        //! Z primary vertex distribution
70     TH1F  *fEtaOff;            //! pseudorapidity
71     TH1F  *fEtaMomentumcutOff;      //! pseudorapidity with DCA cut
72     TH2F  *fNclusVSphiOff;     //! clusters per track vs. azimuthal angle 
73     TH2F  *fNclusVSthetaOff;   //! clusters per track vs. polar angle 
74     TH1F  *fEventSpecieOff;    //! Event Specie Offline
75     
76     TH1F  *fChargeHLT;         //! Charge distribution 
77     TH1F  *fMomentumHLT;       //! momentum     
78     TH1F  *fDCArHLT;           //! track DCAr to beam line       
79     TH1F  *fDCAzHLT;           //! track DCAz to beam line       
80     TH1F  *fNclusterHLT;       //! #clusters per track
81     TH1F  *fNclusterHLTwCut;   //! #clusters per track with cuts
82     TH1F  *fPhiHLT;            //! azimuthal angle distribution
83     TH1F  *fMultHLT;           //! track multiplicity of the event   
84     TH2F  *fXYvertexHLT;       //! XY primary vertex distribution
85     TH1F  *fXvertexHLT;        //! X primary vertex distribution
86     TH1F  *fYvertexHLT;        //! Y primary vertex distribution
87     TH1F  *fZvertexHLT;        //! Z primary vertex distribution
88     TH1F  *fEtaHLT;            //! pseudorapidity
89     TH1F  *fEtaMomentumcutHLT;      //! pseudorapidity with DCA cut
90     TH2F  *fNclusVSphiHLT;     //! clusters per track vs. azimuthal angle 
91     TH2F  *fNclusVSthetaHLT;   //! clusters per track vs. polar angle 
92     TH1F  *fEventSpecieHLT;    //! Event Specie HLT
93         
94     TString fBeamType;         //! beam type: p-p, Pb-Pb, No beam
95     TText *fTextBox;           //! TText box containing run number info and date
96     Bool_t fSwitch;            //! boolean used to execute parts of the code in the UserExec only once, although
97                                // the function is called once per event
98
99     ClassDef(AliAnalysisTaskHLT, 0);
100 };
101
102 #endif