]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGHF/hfe/AliAnalysisTaskHFEemcQA.h
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[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     Bool_t GetTenderSwitch() {return fUseTender;};
36     void SetTenderSwitch(Bool_t usetender){fUseTender = usetender;};
37
38   private:
39     enum{
40       kAODanalysis = BIT(20),
41     };
42
43     AliVEvent   *fVevent;  //!event object
44     AliESDEvent *fESD;    //!ESD object
45     AliAODEvent *fAOD;    //!AOD object
46     AliPIDResponse *fpidResponse; //!pid response
47
48     Bool_t      fFlagSparse;// switch to THnspare
49     Bool_t       fUseTender;// switch to add tender
50     
51     TClonesArray  *fTracks_tender;
52     TClonesArray  *fCaloClusters_tender;
53
54     TList       *fOutputList; //!Output list
55     TH1F        *fNevents;//! no of events
56     TH1F        *fVtxZ;//!Vertex z 
57     TH1F        *fVtxX;//!Vertex x 
58     TH1F        *fVtxY;//!Vertex y 
59     TH2F        *fTrigMulti;//!trigger multiplicity 
60     TH1F        *fHistClustE;//!cluster energy
61     TH2F        *fEMCClsEtaPhi;//! EMC cluster eta and phi 
62     TH1F        *fNegTrkIDPt;//!neg track ID
63     TH1F        *fTrkPt;//!track pt
64     TH1F        *fTrketa;//!track eta
65     TH1F        *fTrkphi;//!track phi 
66     TH2F        *fdEdx;//!dedx vs pt
67     TH2F        *fTPCNpts;//!TPC Npoints used for dedx
68     TH2F        *fTPCnsig;//!TPC Nsigma
69     TH1F        *fHistPtMatch;//!tracks matched to EMCAL 
70     TH2F        *fEMCTrkMatch;//!Distance of EMC cluster to closest track in phi and z
71     TH1F        *fEMCTrkPt;//!tracks with EMCAL cluster
72     TH1F        *fEMCTrketa;//!EMC trk eta
73     TH1F        *fEMCTrkphi;//!EMC trk phi
74     TH2F        *fEMCdEdx;//!EMC trk dedx
75     TH2F        *fEMCTPCnsig;//! EMC trk nsig
76     TH2F        *fEMCTPCNpts;//!EMC Npoints used for dedx
77     TH2F        *fHistdEdxEop;//!E/p vs dedx
78     TH2F        *fHistNsigEop;//!E/p vs dedx
79     TH2F        *fHistEop;//!pt vs E/p
80     TH2F        *fM20;//!M20 vs pt
81     TH2F        *fM02;//!M20 vs pt
82     TH2F        *fM20EovP;//!M20 vs E/p
83     TH2F        *fM02EovP;//!M20 vs E/p
84     TH2F        *fEleCanTPCNpts;//!ele cand TPC Npoints used for dedx
85     TH2F        *fEleCanTPCNCls;//!ele cand TPC N clusters
86     TH2F        *fEleCanITSNCls;//!ele cand ITS N clusters
87     TH1F        *fEleCanITShit;//!ele cand ITS hit map
88     TH2F        *fEleCanSPD1;//!ele cand hit SPD layer 1
89     TH2F        *fEleCanSPD2;//!ele cand hit SPD layer 2
90     TH2F        *fEleCanSPDBoth;//!ele cand SPD both layer
91     TH2F        *fEleCanSPDOr;//!ele cand SPD or
92
93     THnSparse  *fSparseElectron;//!Electron info 
94     Double_t *fvalueElectron;//!Electron info
95
96     AliAnalysisTaskHFEemcQA(const AliAnalysisTaskHFEemcQA&); // not implemented
97     AliAnalysisTaskHFEemcQA& operator=(const AliAnalysisTaskHFEemcQA&); // not implemented
98
99     ClassDef(AliAnalysisTaskHFEemcQA, 1); // example of analysis
100 };
101
102 #endif
103
104