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 ALIANALYSISTASKHLTCENTRALBARREL_H
8 #define ALIANALYSISTASKHLTCENTRALBARREL_H
10 /** @file AliAnalysisTaskHLTCentralBarrel.h
11 @author Per Ivar Lønne, Hege Erdal, Kalliopi Kanaki
13 @brief An analysis task to compare the offline and HLT esd trees
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
21 // forward declarations
28 #include "THnSparse.h"
29 #include "AliAnalysisTaskSE.h"
31 class AliAnalysisTaskHLTCentralBarrel : public AliAnalysisTaskSE {
35 AliAnalysisTaskHLTCentralBarrel();
36 AliAnalysisTaskHLTCentralBarrel(const char *name);
37 virtual ~AliAnalysisTaskHLTCentralBarrel();
39 virtual void UserCreateOutputObjects();
40 virtual void UserExec(Option_t *option);
41 virtual void Terminate(Option_t *);
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);
58 /** copy constructor */
59 AliAnalysisTaskHLTCentralBarrel(const AliAnalysisTaskHLTCentralBarrel&);
60 /** assignment operator */
61 AliAnalysisTaskHLTCentralBarrel& operator=(const AliAnalysisTaskHLTCentralBarrel&);
63 Bool_t fUseHLTTrigger; // Use HLT Trigger Decision
64 AliCentrality *fCentrality; // Centrality holder
65 TString fBeamType; // beam type: p-p, Pb-Pb, No beam
67 TList *fOutputList; // list of output THnSparse objects
69 THnSparse *fEventOFF; //! offline event properties
70 THnSparse *fEventHLT; //! HLT event properties
72 THnSparse *fTrackOFF; //! offline track properties
73 THnSparse *fTrackHLT; //! HLT track properties
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
80 ClassDef(AliAnalysisTaskHLTCentralBarrel, 0);