]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/CaloCalib/AliAnalysisTaskEMCALPi0PbPb.h
coverity fix
[u/mrichter/AliRoot.git] / PWG4 / CaloCalib / AliAnalysisTaskEMCALPi0PbPb.h
CommitLineData
ea3fd2d5 1#ifndef AliAnalysisTaskEMCALPi0PbPb_cxx
2#define AliAnalysisTaskEMCALPi0PbPb_cxx
3
4// $Id$
5
fa443410 6class TAxis;
f5d4ab70 7class TClonesArray;
ea3fd2d5 8class TH1F;
9class TH2F;
f5d4ab70 10class TNtuple;
717fe7de 11class TObjArray;
12class AliAODCaloCells;
13class AliAODCaloCluster;
ea3fd2d5 14class AliAODEvent;
d595acbb 15class AliEMCALGeoUtils;
717fe7de 16class AliESDCaloCells;
ea3fd2d5 17class AliESDCaloCluster;
717fe7de 18class AliESDEvent;
ea3fd2d5 19
20#include "AliAnalysisTaskSE.h"
21
22class AliAnalysisTaskEMCALPi0PbPb : public AliAnalysisTaskSE {
23 public:
d595acbb 24 AliAnalysisTaskEMCALPi0PbPb(const char *name=0);
ea3fd2d5 25 virtual ~AliAnalysisTaskEMCALPi0PbPb();
26
286b47a5 27 void UserCreateOutputObjects();
28 void UserExec(Option_t *option);
29 void Terminate(Option_t *);
717fe7de 30
d595acbb 31 void SetAsymMax(Double_t asymMax) { fAsymMax = asymMax; }
286b47a5 32 void SetCentrality(const char *name) { fCentVar = name; }
33 void SetCentralityRange(Double_t from, Double_t to) { fCentFrom=from; fCentTo=to; }
34 void SetClusName(const char *name) { fClusName = name; }
a49742b5 35 void SetDoAfterburner(Bool_t b) { fDoAfterburner = b; }
f5d4ab70 36 void SetFillNtuple(Bool_t b) { fDoNtuple = b; }
a49742b5 37 void SetNminCells(Int_t n) { fNminCells = n; }
76332037 38 void SetUseQualFlag(Bool_t b) { fUseQualFlag = b; }
d595acbb 39 void SetVertexRange(Double_t z1, Double_t z2) { fVtxZMin=z1; fVtxZMax=z2; }
717fe7de 40
41 protected:
76332037 42 virtual void FillCellHists();
43 virtual void FillClusHists();
44 virtual void FillPionHists();
6eb6260e 45 virtual void ClusterAfterburner();
f5d4ab70 46
90d5b88b 47 Double_t GetMaxCellEnergy(AliVCluster *c);
6eb6260e 48 void GetSigma(AliVCluster *c, Double_t &sigmaMax, Double_t &sigmaMin);
286b47a5 49
717fe7de 50 // input members
6eb6260e 51 Double_t fAsymMax; // energy asymmetry max (def=1)
52 TString fCentVar; // variable for centrality determination
53 Double_t fCentFrom; // min centrality (def=0)
54 Double_t fCentTo; // max centrality (def=100)
55 Double_t fVtxZMin; // min primary vertex z (def=-10cm)
56 Double_t fVtxZMax; // max primary vertex z (def=+10cm)
57 Bool_t fUseQualFlag; // if true use quality flag for centrality
58 TString fClusName; // cluster branch name (def="")
59 Bool_t fDoNtuple; // if true write out ntuple
a49742b5 60 Bool_t fDoAfterburner; // if true run after burner
61 Int_t fNminCells; // minimum number of cells attached to cluster
f5d4ab70 62 // derived members (ie with ! after //)
6eb6260e 63 AliEMCALGeoUtils *fGeom; //! geometry utils
64 TList *fOutput; //!container of output histograms
65 AliESDEvent *fEsdEv; //!pointer to input esd event
66 AliAODEvent *fAodEv; //!pointer to input aod event
67 TObjArray *fRecPoints; //!pointer to rec points (AliAnalysisTaskEMCALClusterizeFast)
68 TObjArray *fEsdClusters; //!pointer to esd clusters
69 AliESDCaloCells *fEsdCells; //!pointer to esd cells
70 TObjArray *fAodClusters; //!pointer to aod clusters
71 AliAODCaloCells *fAodCells; //!pointer to aod cells
72 TAxis *fPtRanges; //!pointer to pt ranges
73 TNtuple *fNtuple; //!pointer to ntuple
717fe7de 74 // histograms
6eb6260e 75 TH1F *fHCuts; //!histo for cuts
76 TH1F *fHVertexZ; //!histo for vtxz
77 TH1F *fHVertexZ2; //!histo for vtxz after vtx cuts
78 TH1F *fHCent; //!histo for cent
79 TH1F *fHCentQual; //!histo for cent after quality flag cut
d595acbb 80 // histograms for cells
6eb6260e 81 TH2F **fHColuRow; //!histo for cell column and row
82 TH2F **fHColuRowE; //!histo for cell column and row weight energy
83 TH1F **fHCellMult; //!histo for cell multiplicity in module
84 TH1F *fHCellE; //!histo for cell energy
85 TH1F *fHCellH; //!histo for highest cell energy
a49742b5 86 TH1F *fHCellM; //!histo for mean cell energy (normalized to hit cells)
87 TH1F *fHCellM2; //!histo for mean cell energy (normalized to all cells)
fa443410 88 // histograms for clusters
6eb6260e 89 TH1F *fHClustEccentricity; //!histo for cluster eccentricity
90 TH2F *fHClustEtaPhi; //!histo for cluster eta vs. phi
91 TH2F *fHClustEnergyPt; //!histo for cluster energy vs. pT
92 TH2F *fHClustEnergySigma; //!histo for cluster energy vs. variance over long axis
93 TH2F *fHClustSigmaSigma; //!histo for sigma vs. lambda_0 comparison
94 TH2F *fHClustNCellEnergyRatio; //!histo for cluster n tow vs. energy ratio
fa443410 95 // histograms for pion candidates
6eb6260e 96 TH2F *fHPionEtaPhi; //!histo for pion eta vs. phi
97 TH2F *fHPionMggPt; //!histo for pion mass vs. pT
98 TH2F *fHPionMggAsym; //!histo for pion mass vs. asym
99 TH2F *fHPionMggDgg; //!histo for pion mass vs. opening angle
100 TH1F *fHPionInvMasses[20]; //!histos for invariant mass plots
ea3fd2d5 101
ea3fd2d5 102 private:
717fe7de 103 AliAnalysisTaskEMCALPi0PbPb(const AliAnalysisTaskEMCALPi0PbPb&); // not implemented
104 AliAnalysisTaskEMCALPi0PbPb &operator=(const AliAnalysisTaskEMCALPi0PbPb&); // not implemented
ea3fd2d5 105
717fe7de 106 ClassDef(AliAnalysisTaskEMCALPi0PbPb, 1); // Analysis task for neutral pions in Pb+Pb
ea3fd2d5 107};
ea3fd2d5 108#endif