]>
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 | ||
43032ce2 | 33 | void ExecOnce() ; |
079b4732 | 34 | Bool_t FillHistograms() ; |
26516bb5 | 35 | void FillEventQAHisto(Float_t cent, Float_t cent2, Float_t cent3, Float_t v0a, Float_t v0c, Float_t ep, Float_t rho, |
36 | Int_t ntracks, Int_t nclusters, Int_t ncells, Int_t njets, | |
7cd832c7 | 37 | Float_t maxTrackPt, Float_t maxTrackEta, Float_t maxTrackPhi, |
38 | Float_t maxClusterE, Float_t maxClusterEta, Float_t maxClusterPhi, | |
39 | Float_t maxJetPt, Float_t maxJetEta, Float_t maxJetPhi); | |
079b4732 | 40 | Bool_t RetrieveEventObjects() ; |
41 | Int_t DoCellLoop(Float_t &sum, Float_t &sum_cut) ; | |
7cd832c7 | 42 | Int_t DoTrackLoop(Float_t &sum, AliVParticle* &leading) ; |
43 | Int_t DoClusterLoop(Float_t &sum, AliVCluster* &leading) ; | |
44 | Int_t DoJetLoop(AliEmcalJet* &leading) ; | |
59f16b27 | 45 | Double_t GetFcross(AliVCluster *cluster, AliVCaloCells *cells) ; |
e2b76953 | 46 | Double_t GetCellEnergySum(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 |
4358e58a | 67 | TH1 *fHistTrNegativeLabels; //!Percentage of negative label tracks |
68 | TH1 *fHistTrZeroLabels; //!Percentage of tracks with label=0 | |
56bd3193 | 69 | TH3 *fHistTrPhiEtaPt[4][4]; //!Phi-Eta-Pt distribution of tracks |
43032ce2 | 70 | TH2 *fHistTrPhiEtaZeroLab[4]; //!Phi-Eta distribution of tracks with label=0 |
71 | TH1 *fHistTrPtZeroLab[4]; //!Pt distribution of tracks with label=0 | |
56bd3193 | 72 | TH2 *fHistTrEmcPhiEta[4]; //!Phi-Eta emcal propagated distribution of tracks |
43032ce2 | 73 | TH1 *fHistTrEmcPt[4]; //!Pt emcal propagated distribution of tracks |
56bd3193 | 74 | TH2 *fHistTrPhiEtaNonProp[4]; //!Phi-Eta distribution of non emcal propagated tracks |
43032ce2 | 75 | TH1 *fHistTrPtNonProp[4]; //!Pt distribution of non emcal propagated tracks |
56bd3193 | 76 | TH2 *fHistDeltaEtaPt[4]; //!Eta-EtaProp vs. Pt |
77 | TH2 *fHistDeltaPhiPt[4]; //!Phi-PhiProp vs. Pt | |
e2b76953 | 78 | TH2 *fHistDeltaPtvsPt[4]; //!Pt-PtProp vs. Pt |
a487deae | 79 | |
3e951e32 | 80 | // Clusters |
56bd3193 | 81 | TH3 *fHistClusPhiEtaEnergy[4]; //!Phi-Eta-Energy distribution of clusters |
e2b76953 | 82 | TH2 *fHistClusDeltaPhiEPEnergy[4];//!DeltaPhi EP vs Energy of clusters |
56bd3193 | 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 | |
8d3d1996 | 86 | TH1 *fHistClusMCEnergyFraction[4];//!MC energy fraction (embedding) |
e2b76953 | 87 | TH2 *fHistClusEnergyMinusCellEnergy;//!Cluster energy - sum(cell_energy) vs cluster energy |
a487deae | 88 | |
3e951e32 | 89 | // EMCAL Cells |
56bd3193 | 90 | TH2 *fHistCellsAbsIdEnergy; //!Energy spectrum of cells |
a487deae | 91 | |
3e951e32 | 92 | // Had corr QA |
56bd3193 | 93 | TH2 *fHistChVSneCells; //!Charged vs. neutral (cells) energy |
94 | TH2 *fHistChVSneClus; //!Charged vs. neutral (clusters) energy | |
95 | TH2 *fHistChVSneCorrCells; //!Charged vs. neutral (corrected cells) energy | |
a487deae | 96 | |
e2b76953 | 97 | // Jets |
98 | TH2 *fHistJetsPhiEta[4]; //!Phi-Eta distribution of jets | |
99 | TH2 *fHistJetsPtArea[4]; //!Pt vs. area of jets | |
100 | ||
c3ba2d3d | 101 | private: |
102 | AliAnalysisTaskSAQA(const AliAnalysisTaskSAQA&); // not implemented | |
103 | AliAnalysisTaskSAQA &operator=(const AliAnalysisTaskSAQA&); // not implemented | |
104 | ||
7cd832c7 | 105 | ClassDef(AliAnalysisTaskSAQA, 23) // Quality task for Emcal analysis |
c3ba2d3d | 106 | }; |
107 | #endif |