1 #ifndef ALIANALYSISTASKSAQA_H
2 #define ALIANALYSISTASKSAQA_H
12 #include "AliAnalysisTaskEmcalJetDev.h"
14 class AliAnalysisTaskSAQA : public AliAnalysisTaskEmcalJetDev {
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 ; }
33 Bool_t FillHistograms() ;
34 void FillEventQAHisto(Float_t cent, Float_t cent2, Float_t cent3, Float_t v0a, Float_t v0c, Float_t ep, Float_t rho,
35 Int_t ntracks, Int_t nclusters, Int_t ncells, Int_t njets,
36 Float_t maxtrack, Float_t maxcluster, Float_t maxjet);
37 Bool_t RetrieveEventObjects() ;
38 Int_t DoCellLoop(Float_t &sum, Float_t &sum_cut) ;
39 Int_t DoTrackLoop(Float_t &sum, Float_t &leading) ;
40 Int_t DoClusterLoop(Float_t &sum, Float_t &leading) ;
41 Int_t DoJetLoop(Float_t &leading) ;
42 Double_t GetFcross(AliVCluster *cluster, AliVCaloCells *cells) ;
44 Float_t fCellEnergyCut; // Energy cell cut
45 Bool_t fParticleLevel; // Set particle level analysis
46 Bool_t fIsMC; // Trigger, MC analysis
47 TString fCentMethod2; // Centrality method 2
48 TString fCentMethod3; // Centrality method 3
49 Int_t fDoV0QA; // Add V0 QA histograms
50 Int_t fDoEPQA; // Add event plane QA histograms
51 Int_t fMaxCellsInCluster; // Maximum number (approx) of cells in a cluster
52 Double_t fCent2; //!Event centrality with method 2
53 Double_t fCent3; //!Event centrality with method 3
54 AliVVZERO *fVZERO; //!Event V0 object
55 Double_t fV0ATotMult; //!Event V0A total multiplicity
56 Double_t fV0CTotMult; //!Event V0C total multiplicity
59 THnSparse *fHistEventQA; //!Event-wise QA observables
62 TH1 *fHistTrNegativeLabels; //!Percentage of negative label tracks
63 TH1 *fHistTrZeroLabels; //!Percentage of tracks with label=0
64 TH3 *fHistTrPhiEtaPt[4][4]; //!Phi-Eta-Pt distribution of tracks
65 TH2 *fHistTrPhiEtaZeroLab[4]; //!Phi-Eta distribution of tracks with label=0
66 TH1 *fHistTrPtZeroLab[4]; //!Pt distribution of tracks with label=0
67 TH2 *fHistTrEmcPhiEta[4]; //!Phi-Eta emcal propagated distribution of tracks
68 TH1 *fHistTrEmcPt[4]; //!Pt emcal propagated distribution of tracks
69 TH2 *fHistTrPhiEtaNonProp[4]; //!Phi-Eta distribution of non emcal propagated tracks
70 TH1 *fHistTrPtNonProp[4]; //!Pt distribution of non emcal propagated tracks
71 TH2 *fHistDeltaEtaPt[4]; //!Eta-EtaProp vs. Pt
72 TH2 *fHistDeltaPhiPt[4]; //!Phi-PhiProp vs. Pt
73 TH3 *fHistDeltaPtvsPtvsMass[4]; //!Pt-PtProp vs. Pt vs. mass
76 TH3 *fHistClusPhiEtaEnergy[4]; //!Phi-Eta-Energy distribution of clusters
77 TH2 *fHistNCellsEnergy; //!Number of cells vs. energy of cluster
78 TH2 *fHistFcrossEnergy; //!Fcross vs. energy of cluster
79 TH2 *fHistClusTimeEnergy; //!Time vs. energy of cluster
80 TH1 *fHistClusMCEnergyFraction[4];//!MC energy fraction (embedding)
83 TH2 *fHistJetsPhiEta[4]; //!Phi-Eta distribution of jets
84 TH2 *fHistJetsPtArea[4]; //!Pt vs. area of jets
87 TH2 *fHistCellsAbsIdEnergy; //!Energy spectrum of cells
90 TH2 *fHistChVSneCells; //!Charged vs. neutral (cells) energy
91 TH2 *fHistChVSneClus; //!Charged vs. neutral (clusters) energy
92 TH2 *fHistChVSneCorrCells; //!Charged vs. neutral (corrected cells) energy
95 AliAnalysisTaskSAQA(const AliAnalysisTaskSAQA&); // not implemented
96 AliAnalysisTaskSAQA &operator=(const AliAnalysisTaskSAQA&); // not implemented
98 ClassDef(AliAnalysisTaskSAQA, 22) // Quality task for Emcal analysis