]>
Commit | Line | Data |
---|---|---|
c3ba2d3d | 1 | #ifndef ALIANALYSISTASKSAQA_H |
2 | #define ALIANALYSISTASKSAQA_H | |
3 | ||
6e8d91c9 | 4 | // $Id$ |
c3ba2d3d | 5 | |
56bd3193 | 6 | class TH1; |
7 | class TH2; | |
8 | class TH3; | |
43032ce2 | 9 | class THnSparse; |
10 | class AliVVZERO; | |
c3ba2d3d | 11 | |
9239b066 | 12 | #include "AliAnalysisTaskEmcalJet.h" |
c3ba2d3d | 13 | |
9239b066 | 14 | class AliAnalysisTaskSAQA : public AliAnalysisTaskEmcalJet { |
c3ba2d3d | 15 | public: |
16 | AliAnalysisTaskSAQA(); | |
17 | AliAnalysisTaskSAQA(const char *name); | |
18 | virtual ~AliAnalysisTaskSAQA(); | |
19 | ||
20 | void UserCreateOutputObjects(); | |
c3ba2d3d | 21 | |
11d18b51 | 22 | void SetCellEnergyCut(Float_t cut) { fCellEnergyCut = cut ; } |
393ec2ad | 23 | void SetParticleLevel(Bool_t s) { fParticleLevel = s ; } |
5be3857d | 24 | void SetMC(Bool_t m) { fIsMC = m ; } |
43032ce2 | 25 | void SetAdditionalCentEst(const char* meth2, const char* meth3="") { fCentMethod2 = meth2; fCentMethod3 = meth3; } |
26 | void SetDoV0QA(Int_t b) { fDoV0QA = b ; } | |
3fe08cdb | 27 | void SetDoEPQA(Int_t b) { fDoEPQA = b ; } |
26516bb5 | 28 | void SetMaxCellsInCluster(Int_t b) { fMaxCellsInCluster = b ; } |
7cd832c7 | 29 | void SetDoLeadingObjectPosition(Int_t b) { fDoLeadingObjectPosition = b ; } |
c3ba2d3d | 30 | |
31 | protected: | |
32 | ||
ed062c95 | 33 | void AllocateHistogramArrays() ; |
43032ce2 | 34 | void ExecOnce() ; |
079b4732 | 35 | Bool_t FillHistograms() ; |
26516bb5 | 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, | |
7cd832c7 | 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); | |
079b4732 | 41 | Bool_t RetrieveEventObjects() ; |
5a025875 | 42 | Int_t DoCellLoop(Float_t &sum) ; |
7cd832c7 | 43 | Int_t DoTrackLoop(Float_t &sum, AliVParticle* &leading) ; |
44 | Int_t DoClusterLoop(Float_t &sum, AliVCluster* &leading) ; | |
45 | Int_t DoJetLoop(AliEmcalJet* &leading) ; | |
59f16b27 | 46 | Double_t GetFcross(AliVCluster *cluster, AliVCaloCells *cells) ; |
c3ba2d3d | 47 | |
3e951e32 | 48 | Float_t fCellEnergyCut; // Energy cell cut |
393ec2ad | 49 | Bool_t fParticleLevel; // Set particle level analysis |
5be3857d | 50 | Bool_t fIsMC; // Trigger, MC analysis |
43032ce2 | 51 | TString fCentMethod2; // Centrality method 2 |
52 | TString fCentMethod3; // Centrality method 3 | |
53 | Int_t fDoV0QA; // Add V0 QA histograms | |
3fe08cdb | 54 | Int_t fDoEPQA; // Add event plane QA histograms |
7cd832c7 | 55 | Int_t fDoLeadingObjectPosition; // Add axis for leading object position (eta-phi) |
26516bb5 | 56 | Int_t fMaxCellsInCluster; // Maximum number (approx) of cells in a cluster |
43032ce2 | 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 | |
7c1d624c | 62 | |
3e951e32 | 63 | // General histograms |
3fe08cdb | 64 | THnSparse *fHistEventQA; //!Event-wise QA observables |
a487deae | 65 | |
3e951e32 | 66 | // Tracks |
ed062c95 | 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 | |
a487deae | 79 | |
3e951e32 | 80 | // Clusters |
ed062c95 | 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) | |
a487deae | 87 | |
3e951e32 | 88 | // EMCAL Cells |
ed062c95 | 89 | TH2 **fHistCellsAbsIdEnergy; //!Energy spectrum of cells |
a487deae | 90 | |
e2b76953 | 91 | // Jets |
ed062c95 | 92 | TH2 **fHistJetsPhiEta; //!Phi-Eta distribution of jets |
93 | TH2 **fHistJetsPtArea; //!Pt vs. area of jets | |
e2b76953 | 94 | |
c3ba2d3d | 95 | private: |
96 | AliAnalysisTaskSAQA(const AliAnalysisTaskSAQA&); // not implemented | |
97 | AliAnalysisTaskSAQA &operator=(const AliAnalysisTaskSAQA&); // not implemented | |
98 | ||
7cd832c7 | 99 | ClassDef(AliAnalysisTaskSAQA, 23) // Quality task for Emcal analysis |
c3ba2d3d | 100 | }; |
101 | #endif |