]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGHF/hfe/AliAnalysisTaskHFEemcQA.h
some updates for e v2 by TPC+EMCal EP
[u/mrichter/AliRoot.git] / PWGHF / hfe / AliAnalysisTaskHFEemcQA.h
1 #ifndef AliAnalysisTaskHFEemcQA_cxx
2 #define AliAnalysisTaskHFEemcQA_cxx
3
4 //QA task for EMCAL electron analysis 
5
6 class TH1F;
7 class THnSparse;
8 class AliESDEvent;
9 class AliAODEvent;
10 class AliHFEcontainer;
11 class AliHFEcuts;
12 class AliHFEpid;
13 class AliHFEpidQAmanager;
14 class AliCFManager;
15
16 #include "AliAnalysisTaskSE.h"
17
18 class AliAnalysisTaskHFEemcQA : public AliAnalysisTaskSE {
19  public:
20   AliAnalysisTaskHFEemcQA();
21   AliAnalysisTaskHFEemcQA(const char *name);
22   virtual ~AliAnalysisTaskHFEemcQA();
23   
24   virtual void   UserCreateOutputObjects();
25   virtual void   UserExec(Option_t *option);
26   virtual void   Terminate(Option_t *);
27
28   void SetAODAnalysis() { SetBit(kAODanalysis, kTRUE); };
29   void SetESDAnalysis() { SetBit(kAODanalysis, kFALSE); };
30   Bool_t IsAODanalysis() const { return TestBit(kAODanalysis); };
31
32   Bool_t GetElecIDsparse() {return fFlagSparse;};
33   void SetElecIDsparse(Bool_t flagelecIDsparse){fFlagSparse = flagelecIDsparse;};
34
35  private:
36   enum{
37     kAODanalysis = BIT(20),
38   };
39
40   AliVEvent   *fVevent;  //!event object
41   AliESDEvent *fESD;    //!ESD object
42   AliAODEvent *fAOD;    //!AOD object
43   AliPIDResponse *fpidResponse; //!pid response
44
45   Bool_t      fFlagSparse;// switch to THnspare
46
47   TList       *fOutputList; //!Output list
48   TH1F        *fNevents;//! no of events
49   TH1F        *fVtxZ;//!Vertex z 
50   TH1F        *fVtxX;//!Vertex x 
51   TH1F        *fVtxY;//!Vertex y 
52   TH2F        *fTrigMulti;//!trigger multiplicity 
53   TH1F        *fHistClustE;//!cluster energy
54   TH2F        *fEMCClsEtaPhi;//! EMC cluster eta and phi 
55   TH1F        *fNegTrkIDPt;//!neg track ID
56   TH1F        *fTrkPt;//!track pt
57   TH1F        *fTrketa;//!track eta
58   TH1F        *fTrkphi;//!track phi 
59   TH2F        *fdEdx;//!dedx vs pt
60   TH2F        *fTPCNpts;//!TPC Npoints used for dedx
61   TH2F        *fTPCnsig;//!TPC Nsigma
62   TH1F        *fHistPtMatch;//!tracks matched to EMCAL 
63   TH2F        *fEMCTrkMatch;//!Distance of EMC cluster to closest track in phi and z
64   TH1F        *fEMCTrkPt;//!tracks with EMCAL cluster
65   TH1F        *fEMCTrketa;//!EMC trk eta
66   TH1F        *fEMCTrkphi;//!EMC trk phi
67   TH2F        *fEMCdEdx;//!EMC trk dedx
68   TH2F        *fEMCTPCnsig;//! EMC trk nsig
69   TH2F        *fEMCTPCNpts;//!EMC Npoints used for dedx
70   TH2F        *fHistdEdxEop;//!E/p vs dedx
71   TH2F        *fHistNsigEop;//!E/p vs dedx
72   TH2F        *fHistEop;//!pt vs E/p
73   TH2F        *fEleCanTPCNpts;//!ele cand TPC Npoints used for dedx
74   TH2F        *fEleCanTPCNCls;//!ele cand TPC N clusters
75   TH2F        *fEleCanITSNCls;//!ele cand ITS N clusters
76   TH1F        *fEleCanITShit;//!ele cand ITS hit map
77   TH2F        *fEleCanSPD1;//!ele cand hit SPD layer 1
78   TH2F        *fEleCanSPD2;//!ele cand hit SPD layer 2
79   TH2F        *fEleCanSPDBoth;//!ele cand SPD both layer
80   TH2F        *fEleCanSPDOr;//!ele cand SPD or
81
82   THnSparse  *fSparseElectron;//!Electron info 
83   Double_t *fvalueElectron;//!Electron info
84
85   AliAnalysisTaskHFEemcQA(const AliAnalysisTaskHFEemcQA&); // not implemented
86   AliAnalysisTaskHFEemcQA& operator=(const AliAnalysisTaskHFEemcQA&); // not implemented
87
88   ClassDef(AliAnalysisTaskHFEemcQA, 1); // example of analysis
89 };
90
91 #endif
92
93