]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/QA/tasks/AliAnalysisTaskHLTCentralBarrel.h
- access the run number and respective date from the HLT tree
[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
16 // forward declarations
17 class TList;
18 class TText;
19 class TString;
20 class AliESDEvent;
21 class AliCentrality;
22
23 #include "THnSparse.h"
24 #include "AliAnalysisTaskSE.h"
25
26 class AliAnalysisTaskHLTCentralBarrel : public AliAnalysisTaskSE {
27  
28   public: 
29
30     AliAnalysisTaskHLTCentralBarrel();
31     AliAnalysisTaskHLTCentralBarrel(const char *name);
32     virtual ~AliAnalysisTaskHLTCentralBarrel();
33     
34     virtual void  UserCreateOutputObjects();
35     virtual void  UserExec(Option_t *option);
36     virtual void  Terminate(Option_t *);
37
38     // function to select only HLT triggered events
39     //void SetUseHLTTriggerDecision(Bool_t useHLT = kFALSE) { fUseHLTTrigger = useHLT;        }
40     // function to set the beam type
41     void SetBeamType(TString beamType) {  fBeamType = beamType; }    
42     // function to create the THnSparse and name the axis
43     THnSparseF* CreateEventTHnSparse(const char* name, Int_t size, const int* bins, double* min, double* max);
44     // function to create the THnSparse and name the axis
45     THnSparseF* CreateTrackTHnSparse(const char* name, Int_t size, const int* bins, double* min, double* max);
46     // options for filling HLT or OFF properties, or event and track properties
47     void SetOptions(TString options) { fOptions = options; }
48     //function to fill the THnSparse
49     //void Fill(AliESDevent *esd, THnSparseF* thn);
50     
51  private:
52
53     /** copy constructor */
54     AliAnalysisTaskHLTCentralBarrel(const AliAnalysisTaskHLTCentralBarrel&); 
55     /** assignment operator */
56     AliAnalysisTaskHLTCentralBarrel& operator=(const AliAnalysisTaskHLTCentralBarrel&); 
57                 
58     Bool_t fUseHLTTrigger;       // Use HLT Trigger Decision
59     AliCentrality *fCentrality;  // Centrality holder
60     TString fBeamType;           // beam type: p-p, Pb-Pb, No beam
61     
62     TList *fOutputList;  // list of output THnSparse objects
63     
64     THnSparse *fEventOFF; //! offline event properties
65     THnSparse *fEventHLT; //! HLT event properties
66
67     THnSparse *fTrackOFF; //! offline track properties
68     THnSparse *fTrackHLT; //! HLT track properties
69     
70     TString fOptions; //! options for filling event and/or track properties for hlt and/or offline
71     TText *fTextBox;  //! TText box containing run number info and date
72     Bool_t fSwitch;   //! boolean used to execute parts of the code in the UserExec only once, although
73                       // the function is called once per event
74     
75     ClassDef(AliAnalysisTaskHLTCentralBarrel, 0);
76 };
77 #endif