1 #ifndef AliAnalysisTaskHFEemcQA_cxx
2 #define AliAnalysisTaskHFEemcQA_cxx
4 //QA task for EMCAL electron analysis
10 class AliHFEcontainer;
13 class AliHFEpidQAmanager;
16 #include "AliAnalysisTaskSE.h"
18 class AliAnalysisTaskHFEemcQA : public AliAnalysisTaskSE {
20 AliAnalysisTaskHFEemcQA();
21 AliAnalysisTaskHFEemcQA(const char *name);
22 virtual ~AliAnalysisTaskHFEemcQA();
24 virtual void UserCreateOutputObjects();
25 virtual void UserExec(Option_t *option);
26 virtual void Terminate(Option_t *);
28 void SetAODAnalysis() { SetBit(kAODanalysis, kTRUE); };
29 void SetESDAnalysis() { SetBit(kAODanalysis, kFALSE); };
30 Bool_t IsAODanalysis() const { return TestBit(kAODanalysis); };
32 Bool_t GetElecIDsparse() {return fFlagSparse;};
33 void SetElecIDsparse(Bool_t flagelecIDsparse){fFlagSparse = flagelecIDsparse;};
35 Bool_t GetTenderSwitch() {return fUseTender;};
36 void SetTenderSwitch(Bool_t usetender){fUseTender = usetender;};
40 kAODanalysis = BIT(20),
43 AliVEvent *fVevent; //!event object
44 AliESDEvent *fESD; //!ESD object
45 AliAODEvent *fAOD; //!AOD object
46 AliPIDResponse *fpidResponse; //!pid response
48 Bool_t fFlagSparse;// switch to THnspare
49 Bool_t fUseTender;// switch to add tender
51 TClonesArray *fTracks_tender;
52 TClonesArray *fCaloClusters_tender;
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
93 THnSparse *fSparseElectron;//!Electron info
94 Double_t *fvalueElectron;//!Electron info
96 AliAnalysisTaskHFEemcQA(const AliAnalysisTaskHFEemcQA&); // not implemented
97 AliAnalysisTaskHFEemcQA& operator=(const AliAnalysisTaskHFEemcQA&); // not implemented
99 ClassDef(AliAnalysisTaskHFEemcQA, 1); // example of analysis