end-of-line normalization
[u/mrichter/AliRoot.git] / HLT / QA / tasks / AliAnalysisTaskHLTCalo.h
1 // $Id: AliAnalysisTaskHLTCalo.h 40285 2010-04-09 14:04:51Z kkanaki $
2
3 #ifndef ALIANALYSISTASKHLTCALO_H
4 #define ALIANALYSISTASKHLTCALO_H
5
6 //* This file is property of and copyright by the ALICE HLT Project *
7 //* ALICE Experiment at CERN, All rights reserved.                  *
8 //* See cxx source for full Copyright notice                        *
9
10 /** @file AliAnalysisTaskHLTTPC.h
11     @author Zhongbao Yin, Kalliopi Kanaki
12     @date
13     @brief An analysis task to compare the offline and HLT esd trees
14 */
15
16
17 // forward declarations
18 class TH1F;
19 class TH2F;
20 class TList;
21 class AliESDEvent;
22 class AliESDtrack;
23 class AliESDRun;
24 class TObjArray;
25 class TRefArray;
26
27 #include "AliAnalysisTaskSE.h"
28
29 class AliAnalysisTaskHLTCalo : public AliAnalysisTaskSE {
30  
31 public:  
32
33   AliAnalysisTaskHLTCalo();
34   AliAnalysisTaskHLTCalo(const char *name);
35   virtual ~AliAnalysisTaskHLTCalo() {}
36   virtual void   UserCreateOutputObjects();
37   virtual void   UserExec(Option_t *option);
38   virtual void   Terminate(Option_t *);
39   //virtual Bool_t Notify();
40   virtual void NotifyRun();
41
42   virtual void DoSpecificStuff(const AliESDEvent * /*evESD*/, const AliESDEvent * /*evHLTESD*/) {return;}
43   virtual void CreateSpecificStuff(const TList * /*fOutputList*/) {return;}
44   virtual Bool_t IsThisDetector(AliESDCaloCluster * cluster) { return cluster->IsPHOS(); }
45   virtual Int_t GetClusters(AliESDEvent * event, TRefArray * clusters) { return event->GetPHOSClusters(clusters); }
46  
47   //Use only triggered events
48   void SetUseHLTTriggerDecision(Bool_t useHLT = kFALSE) {fUseHLTTrigger = useHLT;}
49
50 private:
51   Bool_t fUseHLTTrigger; // boolean to enable the HLT triggered events
52   AliESDRun *fESDRun;  //!Transient, pointer to esds
53   TList *fOutputList;  //List of histograms to be stored
54   
55   TH1F *fHistOfflResiduals; //histogram
56   TH1F *fHistOnlResiduals; //histogram
57   TH1F *fHistOfflDz; //histogram
58   TH1F *fHistOnlDz; //histogram
59   TH1F *fHistOfflDxy; //histogram
60   TH1F *fHistOnlDxy; //histogram
61
62
63   TH1F *fHistOfflResidualsPos; //histogram
64   TH1F *fHistOnlResidualsPos; //histogram
65   TH1F *fHistOfflDzPos; //histogram
66   TH1F *fHistOnlDzPos; //histogram
67   TH1F *fHistOfflDxyPos; //histogram
68   TH1F *fHistOnlDxyPos; //histogram
69
70
71   TH1F *fHistOfflResidualsNeg; //histogram
72   TH1F *fHistOnlResidualsNeg; //histogram
73   TH1F *fHistOfflDzNeg; //histogram
74   TH1F *fHistOnlDzNeg; //histogram
75   TH1F *fHistOfflDxyNeg; //histogram
76   TH1F *fHistOnlDxyNeg; //histogram
77
78   TH2F * fHistNclvsNcl; //histogram
79   TH2F * fHistTotEVsTotE;//histogram
80
81   
82   Int_t fNevt; //Number of events
83   TObjArray *fTrgClsArray; //Trigger cluster array
84   
85   TObjArray * fGlobalHistoProdArrOff; //!transient array of histogram producer classes 
86   TObjArray * fGlobalHistoProdArrOn; //!transient array of histogram producer classes 
87
88   TRefArray * fClustersArray; //!transient Array to contain calo clusters
89
90   TString fCaloName; //!transient PHOS or EMCAL
91
92   /** copy constructor */
93   AliAnalysisTaskHLTCalo(const AliAnalysisTaskHLTCalo&); 
94   /** assignment operator */
95   AliAnalysisTaskHLTCalo& operator=(const AliAnalysisTaskHLTCalo&); 
96
97   ClassDef(AliAnalysisTaskHLTCalo, 1);
98 };
99
100 #endif