]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/QA/tasks/AliAnalysisTaskHLTCentralBarrel.h
Fixed warnings [-Wunused-but-set-variable] from GCC 4.6 -
[u/mrichter/AliRoot.git] / HLT / QA / tasks / AliAnalysisTaskHLTCentralBarrel.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 ALIANALYSISTASKHLTCENTRALBARREL_H
8 #define ALIANALYSISTASKHLTCENTRALBARREL_H
9
10 /** @file AliAnalysisTaskHLTCentralBarrel.h
11     @author Per Ivar Lønne, Hege Erdal, Kalliopi Kanaki
12     @date   
13     @brief An analysis task to compare the offline and HLT esd trees
14   
15     After the task has been run, HLT/QA/tasks/macros/drawTHnSparse.C 
16     can be used to visualize the contents of the THnSparse objects stored
17     in the output file. Documentation about how to run it is included 
18     in the macro.
19 */
20
21 // forward declarations
22 class TList;
23 class TText;
24 class TString;
25 class AliESDEvent;
26 class AliCentrality;
27
28 #include "THnSparse.h"
29 #include "AliAnalysisTaskSE.h"
30
31 class AliAnalysisTaskHLTCentralBarrel : public AliAnalysisTaskSE {
32  
33   public: 
34
35     AliAnalysisTaskHLTCentralBarrel();
36     AliAnalysisTaskHLTCentralBarrel(const char *name);
37     virtual ~AliAnalysisTaskHLTCentralBarrel();
38     
39     virtual void  UserCreateOutputObjects();
40     virtual void  UserExec(Option_t *option);
41     virtual void  Terminate(Option_t *);
42
43     // function to select only HLT triggered events
44     //void SetUseHLTTriggerDecision(Bool_t useHLT = kFALSE) { fUseHLTTrigger = useHLT;        }
45     // function to set the beam type
46     void SetBeamType(TString beamType) {  fBeamType = beamType; }    
47     // function to create the THnSparse and name the axis
48     THnSparseF* CreateEventTHnSparse(const char* name, Int_t size, const int* bins, double* min, double* max);
49     // function to create the THnSparse and name the axis
50     THnSparseF* CreateTrackTHnSparse(const char* name, Int_t size, const int* bins, double* min, double* max);
51     // options for filling HLT or OFF properties, or event and track properties
52     void SetOptions(TString options) { fOptions = options; }
53     //function to fill the THnSparse
54     //void Fill(AliESDevent *esd, THnSparseF* thn);
55     
56  private:
57
58     /** copy constructor */
59     AliAnalysisTaskHLTCentralBarrel(const AliAnalysisTaskHLTCentralBarrel&); 
60     /** assignment operator */
61     AliAnalysisTaskHLTCentralBarrel& operator=(const AliAnalysisTaskHLTCentralBarrel&); 
62                 
63     Bool_t fUseHLTTrigger;       // Use HLT Trigger Decision
64     AliCentrality *fCentrality;  // Centrality holder
65     TString fBeamType;           // beam type: p-p, Pb-Pb, No beam
66     
67     TList *fOutputList;  // list of output THnSparse objects
68     
69     THnSparse *fEventOFF; //! offline event properties
70     THnSparse *fEventHLT; //! HLT event properties
71
72     THnSparse *fTrackOFF; //! offline track properties
73     THnSparse *fTrackHLT; //! HLT track properties
74     
75     TString fOptions; //! options for filling event and/or track properties for hlt and/or offline
76     TText *fTextBox;  //! TText box containing run number info and date
77     Bool_t fSwitch;   //! boolean used to execute parts of the code in the UserExec only once, although
78                       // the function is called once per event
79     
80     ClassDef(AliAnalysisTaskHLTCentralBarrel, 0);
81 };
82 #endif