1 #ifndef ALIANALYSISTASKSAQA_H
2 #define ALIANALYSISTASKSAQA_H
12 #include "AliAnalysisTaskEmcalJet.h"
14 class AliAnalysisTaskSAQA : public AliAnalysisTaskEmcalJet {
16 AliAnalysisTaskSAQA();
17 AliAnalysisTaskSAQA(const char *name);
18 virtual ~AliAnalysisTaskSAQA();
20 void UserCreateOutputObjects();
22 void SetCellEnergyCut(Float_t cut) { fCellEnergyCut = cut ; }
23 void SetParticleLevel(Bool_t s) { fParticleLevel = s ; }
24 void SetMC(Bool_t m) { fIsMC = m ; }
25 void SetAdditionalCentEst(const char* meth2, const char* meth3="") { fCentMethod2 = meth2; fCentMethod3 = meth3; }
26 void SetDoV0QA(Int_t b) { fDoV0QA = b ; }
27 void SetDoEPQA(Int_t b) { fDoEPQA = b ; }
28 void SetMaxCellsInCluster(Int_t b) { fMaxCellsInCluster = b ; }
29 void SetDoLeadingObjectPosition(Int_t b) { fDoLeadingObjectPosition = b ; }
33 void AllocateHistogramArrays() ;
35 Bool_t FillHistograms() ;
36 void FillEventQAHisto(Float_t cent, Float_t cent2, Float_t cent3, Float_t v0a, Float_t v0c, Float_t ep, Float_t rho,
37 Int_t ntracks, Int_t nclusters, Int_t ncells, Int_t njets,
38 Float_t maxTrackPt, Float_t maxTrackEta, Float_t maxTrackPhi,
39 Float_t maxClusterE, Float_t maxClusterEta, Float_t maxClusterPhi,
40 Float_t maxJetPt, Float_t maxJetEta, Float_t maxJetPhi);
41 Bool_t RetrieveEventObjects() ;
42 Int_t DoCellLoop(Float_t &sum) ;
43 Int_t DoTrackLoop(Float_t &sum, AliVParticle* &leading) ;
44 Int_t DoClusterLoop(Float_t &sum, AliVCluster* &leading) ;
45 Int_t DoJetLoop(AliEmcalJet* &leading) ;
46 Double_t GetFcross(AliVCluster *cluster, AliVCaloCells *cells) ;
48 Float_t fCellEnergyCut; // Energy cell cut
49 Bool_t fParticleLevel; // Set particle level analysis
50 Bool_t fIsMC; // Trigger, MC analysis
51 TString fCentMethod2; // Centrality method 2
52 TString fCentMethod3; // Centrality method 3
53 Int_t fDoV0QA; // Add V0 QA histograms
54 Int_t fDoEPQA; // Add event plane QA histograms
55 Int_t fDoLeadingObjectPosition; // Add axis for leading object position (eta-phi)
56 Int_t fMaxCellsInCluster; // Maximum number (approx) of cells in a cluster
57 Double_t fCent2; //!Event centrality with method 2
58 Double_t fCent3; //!Event centrality with method 3
59 AliVVZERO *fVZERO; //!Event V0 object
60 Double_t fV0ATotMult; //!Event V0A total multiplicity
61 Double_t fV0CTotMult; //!Event V0C total multiplicity
64 THnSparse *fHistEventQA; //!Event-wise QA observables
67 TH1 **fHistTrNegativeLabels; //!Percentage of negative label tracks
68 TH1 **fHistTrZeroLabels; //!Percentage of tracks with label=0
69 TH3 ***fHistTrPhiEtaPt; //!Phi-Eta-Pt distribution of tracks
70 TH2 **fHistTrPhiEtaZeroLab; //!Phi-Eta distribution of tracks with label=0
71 TH1 **fHistTrPtZeroLab; //!Pt distribution of tracks with label=0
72 TH2 **fHistTrEmcPhiEta; //!Phi-Eta emcal propagated distribution of tracks
73 TH1 **fHistTrEmcPt; //!Pt emcal propagated distribution of tracks
74 TH2 **fHistTrPhiEtaNonProp; //!Phi-Eta distribution of non emcal propagated tracks
75 TH1 **fHistTrPtNonProp; //!Pt distribution of non emcal propagated tracks
76 TH2 **fHistDeltaEtaPt; //!Eta-EtaProp vs. Pt
77 TH2 **fHistDeltaPhiPt; //!Phi-PhiProp vs. Pt
78 TH2 **fHistDeltaPtvsPt; //!Pt-PtProp vs. Pt
81 TH3 **fHistClusPhiEtaEnergy; //!Phi-Eta-Energy distribution of clusters
82 TH2 **fHistClusDeltaPhiEPEnergy; //!DeltaPhi EP vs Energy of clusters
83 TH2 **fHistNCellsEnergy; //!Number of cells vs. energy of cluster
84 TH2 **fHistFcrossEnergy; //!Fcross vs. energy of cluster
85 TH2 **fHistClusTimeEnergy; //!Time vs. energy of cluster
86 TH1 **fHistClusMCEnergyFraction; //!MC energy fraction (embedding)
89 TH2 **fHistCellsAbsIdEnergy; //!Energy spectrum of cells
92 TH2 **fHistJetsPhiEta; //!Phi-Eta distribution of jets
93 TH2 **fHistJetsPtArea; //!Pt vs. area of jets
96 AliAnalysisTaskSAQA(const AliAnalysisTaskSAQA&); // not implemented
97 AliAnalysisTaskSAQA &operator=(const AliAnalysisTaskSAQA&); // not implemented
99 ClassDef(AliAnalysisTaskSAQA, 23) // Quality task for Emcal analysis