Add TRD monitoring task by Ionut
[u/mrichter/AliRoot.git] / TRD / qaAnalysis / AliAnalysisTaskTRDmon.h
1 //
2 //
3 // Analysis task used for TRD monitoring
4 // 
5 // Authors:    
6 //         Anton Andronic <A.Andronic@gsi.de>
7 //         Ionut Arsene   <I.C.Arsene@gsi.de>
8
9
10 #ifndef ALIANALYSISTASKTRDMON_H
11 #define ALIANALYSISTASKTRDMON_H
12
13 #include "AliAnalysisTask.h"
14
15 class AliESDEvent;
16 class AliESDfriend;
17 class AliMCEvent;
18 class TList;
19 class TH1F;
20 class TH2F;
21 class TProfile;
22
23 class AliAnalysisTaskTRDmon : public AliAnalysisTask {
24  public:
25     AliAnalysisTaskTRDmon(const char * name = "Data analysis");
26     AliAnalysisTaskTRDmon(const AliAnalysisTaskTRDmon &task);
27     ~AliAnalysisTaskTRDmon(){};
28
29     AliAnalysisTaskTRDmon& operator=(const AliAnalysisTaskTRDmon &task);    
30
31     virtual void ConnectInputData(Option_t *);
32     virtual void CreateOutputObjects();
33     virtual void Exec(Option_t *);
34     virtual void Terminate(Option_t *);
35     //    Bool_t IsRunningTerminate() const { return TestBit(kIsRunningTerminate); };
36     //    void SetRunTerminate(Bool_t runTerminate) {SetBit(kIsRunningTerminate, runTerminate); };
37     void SetTriggerName(const Char_t* triggerName) {fEventTriggerName=triggerName;}
38     void SetIsCollisionEvent(Bool_t flag=kTRUE) {fIsCollisionEvent=flag;}
39     const TString& GetTriggerName() const {return fEventTriggerName;}
40     Bool_t GetIsCollisionEvent() const {return fIsCollisionEvent;}
41
42  private:
43     //    enum{kIsRunningTerminate = BIT(14)};   // not less
44     AliESDEvent *fESD;               //!
45     AliESDfriend *fESDfriend;        //!
46     TString fEventTriggerName;       //  trigger class for the events to be analyzed (all events analyzed if empty string)
47     Bool_t fIsCollisionEvent;        //  flag to determine if analyzed events are collisions or not
48     TObjArray *fOutStorage;          //!
49     TH1F *fHzvert1;                  //!
50     TH1F *fHzvert2;                  //!
51     TH1F *fHntracks;                 //!
52     TH1F *fHntracks2;                //!
53     TH1F *fHntracks3;                //!
54     TH1F *fHdca;                     //!
55     TH1F *fHdcaz;                    //!
56     TH1F *fHpt;                      //!
57     TH1F *fHpt2;                     //!
58     TH1F *fHpt3;                     //!
59     TH1F *fHpt3n;                    //!
60     TH1F *fHpt4;                     //!
61     TH1F *fHpt4n;                    //!
62     TH1F *fHtheta;                   //!
63     TH1F *fHphi;                     //!
64     TH1F *fHtpccl;                   //!
65     TH1F *fHtpccl2;                  //!
66     TH2F *fHdedxp;                   //! dEdx-p TPC
67     TH2F *fHetaphi;                  //! eta-phi tracks TPC
68     TH2F *fHetancl;                  //! eta-Nclusters TPC
69     TH2F *fHphincl;                  //! phi-Nclusters TPC
70     TH1F *fHtrdtr;                   //!
71     TH1F *fHtrdtr2;                  //!
72     TProfile *fHph;                  //! <PH>
73     TH2F *fHph2d;                    //! PH 2d
74     TH1F *fHncltrkl;                 //!
75     TH1F *fHntrkl;                   //!
76     TH1F *fHsm;                      //!
77     TH2F *fHetantr;                  //! Ntracklets-eta
78     TH2F *fHphintr;                  //! Ntracklets-phi
79     TH1F *fHcltime;                  //!
80     TH1F *fHcldiff;                  //!
81     TH2F *fHxyA;                     //! x-y side A (TPC)
82     TH2F *fHxyC;                     //! x-y side C (TPC)
83     TH1F *fHnFriendTracks;           //!
84     TH1F *fHnCalibObjects;           //!
85
86     ClassDef(AliAnalysisTaskTRDmon, 1)
87 };
88 #endif
89