TRD module
[u/mrichter/AliRoot.git] / TRD / TRDqaAnalysis / 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 TH3F;
22 class TProfile;
23 class TProfile2D;
24
25 class AliAnalysisTaskTRDmon : public AliAnalysisTask {
26  public:
27     AliAnalysisTaskTRDmon(const char * name = "Data analysis");
28     AliAnalysisTaskTRDmon(const AliAnalysisTaskTRDmon &task);
29     ~AliAnalysisTaskTRDmon(){};
30
31     AliAnalysisTaskTRDmon& operator=(const AliAnalysisTaskTRDmon &task);    
32
33     virtual void ConnectInputData(Option_t *);
34     virtual void CreateOutputObjects();
35     virtual void Exec(Option_t *);
36     virtual void Terminate(Option_t *);
37     //    Bool_t IsRunningTerminate() const { return TestBit(kIsRunningTerminate); };
38     //    void SetRunTerminate(Bool_t runTerminate) {SetBit(kIsRunningTerminate, runTerminate); };
39     void SetTriggerName(const Char_t* triggerName) {fEventTriggerName=triggerName;}
40     void SetIsCollisionEvent(Bool_t flag=kTRUE) {fIsCollisionEvent=flag;}
41     const TString& GetTriggerName() const {return fEventTriggerName;}
42     Bool_t GetIsCollisionEvent() const {return fIsCollisionEvent;}
43
44  private:
45     //    enum{kIsRunningTerminate = BIT(14)};   // not less
46     AliESDEvent *fESD;               //!
47     AliESDfriend *fESDfriend;        //!
48     TString fEventTriggerName;       //  trigger class for the events to be analyzed (all events analyzed if empty string)
49     Bool_t fIsCollisionEvent;        //  flag to determine if analyzed events are collisions or not
50     TObjArray *fOutStorage;          //!
51     TH1F *fHzvert1;                  //!
52     TH1F *fHzvert2;                  //!
53     TH1F *fHntracks;                 //!
54     TH1F *fHntracks2;                //!
55     TH1F *fHntracks3;                //!
56     TH1F *fHdca;                     //!
57     TH1F *fHdcaz;                    //!
58     TH1F *fHpt;                      //!
59     TH1F *fHpt2;                     //!
60     TH1F *fHpt3;                     //!
61     TH1F *fHpt3n;                    //!
62     TH1F *fHpt4;                     //!
63     TH1F *fHpt4n;                    //!
64     TH1F *fHtheta;                   //!
65     TH1F *fHphi;                     //!
66     TH1F *fHtpccl;                   //!
67     TH1F *fHtpccl2;                  //!
68     TH2F *fHdedxp;                   //! dEdx-p TPC
69     TH2F *fHetaphi;                  //! eta-phi tracks TPC
70     TH2F *fHetancl;                  //! eta-Nclusters TPC
71     TH2F *fHphincl;                  //! phi-Nclusters TPC
72     TH1F *fHtrdtr;                   //!
73     TH1F *fHtrdtr2;                  //!
74     TProfile *fHph;                  //! <PH>
75     TH2F *fHph2d;                    //! PH 2d
76     TH1F *fHncltrkl;                 //!
77     TH1F *fHntrkl;                   //!
78     TH2F *fHntrklVsP;                //! Ntracklets vs P
79     TH1F *fHsm;                      //!
80     TH2F *fHetantr;                  //! Ntracklets-eta
81     TH2F *fHphintr;                  //! Ntracklets-phi
82     TH1F *fHcltime;                  //!
83     TH1F *fHcldiff;                  //!
84     TH2F *fHxyA;                     //! x-y side A (TPC)
85     TH2F *fHxyC;                     //! x-y side C (TPC)
86     TH2F *fHPropagXY;                //! x-y of the point propagated to TRD entrance
87     TH2F *fHPropagRZ;                //! r-z of the point propagated to TRD entrance
88     TH1F *fHnFriendTracks;           //!
89     TH1F *fHnCalibObjects;           //!
90     TH2F *fHTpcEtaPhiLocaln;         //!  eta-phiLocal map of neg TPC tracks
91     TH2F *fHTrdEtaPhiLocaln;         //!  eta-phiLocal map of neg TRD tracks
92     TH2F *fHTpcEtaPhiLocalp;         //!  eta-phiLocal map of pos TPC tracks
93     TH2F *fHTrdEtaPhiLocalp;         //!  eta-phiLocal map of pos TRD tracks
94     TH2F *fHTpcEtaPhiSagitan;        //!  eta-phiSagita map of neg TPC tracks
95     TH2F *fHTrdEtaPhiSagitan;        //!  eta-phiSagita map of neg TRD tracks
96     TH2F *fHTpcEtaPhiSagitap;        //!  eta-phiSagita map of pos TPC tracks
97     TH2F *fHTrdEtaPhiSagitap;        //!  eta-phiSagita map of pos TRD tracks
98     TH2F *fHTpcEtaPhiDeltan;         //!  eta-phiDelta map of neg TPC tracks
99     TH2F *fHTrdEtaPhiDeltan;         //!  eta-phiDelta map of neg TRD tracks
100     TH2F *fHTpcEtaPhiDeltap;         //!  eta-phiDelta map of pos TPC tracks
101     TH2F *fHTrdEtaPhiDeltap;         //!  eta-phiDelta map of pos TRD tracks
102     TH2F *fHTpcEtaPhin;              //!  eta-phi map of neg TPC tracks
103     TH2F *fHTrdEtaPhin;              //!  eta-phi map of neg TRD tracks
104     TH2F *fHTpcEtaPhip;              //!  eta-phi map of pos TPC tracks
105     TH2F *fHTrdEtaPhip;              //!  eta-phi map of pos TRD tracks
106     TH3F *fHTpcRef3Dpos;             //!  eta-phiSagita-pt map of pos TPC tracks
107     TH3F *fHTpcRef3Dneg;             //!  eta-phiSagita-pt map of neg TPC tracks
108     TH3F *fHTrdRef3Dpos;             //!  eta-phiSagita-pt map of pos TRD tracks
109     TH3F *fHTrdRef3Dneg;             //!  eta-phiSagita-pt map of neg TRD tracks
110     TProfile2D *fHTrdEtaPhiLocalNTracklets;  //!  eta-phiLocal map of ntracklets from TRD tracks
111     TProfile2D *fHTrdEtaPhiSagitaNTracklets; //!  eta-phiSagita map of ntracklets from TRD tracks
112     TProfile2D *fHTrdEtaPhiDeltaNTracklets;  //!  eta-phiDelta map of ntracklets from TRD tracks
113     TProfile2D *fHTrdEtaPhiNTracklets;       //!  eta-phi map of ntracklets from TRD tracks
114
115     ClassDef(AliAnalysisTaskTRDmon, 1)
116 };
117 #endif
118