]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGCF/Correlations/DPhi/FourierDecomposition/AliDhcTask.h
coverity fixes
[u/mrichter/AliRoot.git] / PWGCF / Correlations / DPhi / FourierDecomposition / AliDhcTask.h
index 30946e4bd40ae446ac26f7d6269a4fee68af10d5..b5f870138961b8545bfc248e4bfc13e2dbff45aa 100644 (file)
@@ -5,9 +5,14 @@
 #ifndef AliDhcTask_cxx
 #define AliDhcTask_cxx
 
+#include "AliAnalysisTaskSE.h"
+#include "AliPool.h"
+#include "THn.h"
+
 class TFormula;
 class TH1;
 class TH2;
+class TH3;
 class TAxis;
 class TObjArray;
 class TObject;
@@ -15,24 +20,13 @@ class TProfile2D;
 class AliAODEvent;
 class AliESDEvent;
 class AliESDtrackCuts;
+class AliESDMuonTrack;
 class AliEvtPoolManager;
 
-#include "AliAnalysisTaskSE.h"
-#include "AliPool.h"
 
 class AliDhcTask : public AliAnalysisTaskSE {
  public:
-  AliDhcTask() : 
-    AliAnalysisTaskSE(), fVerbosity(0), fEtaMax(1), fZVtxMax(10), fPtMin(0.25), fPtMax(15),
-    fTrackDepth(0), fPoolSize(0), fTracksName(), fDoWeights(0),
-    fESD(0), fAOD(0), fOutputList(0), fHEvt(0), fHTrk(0), fHPtAss(0), 
-    fHPtTrg(0), fHPtTrg_Evt(0), fHCent(0), fHZvtx(0), fNbins(0), fHSs(0), fHMs(0), 
-    fHPts(0), fIndex(0), 
-    fCentrality(99), fZVertex(99), fEsdTPCOnly(0), fPoolMgr(0),
-    fCentMethod("V0M"), fNBdeta(20), fNBdphi(36),
-    fBPtT(0x0), fBPtA(0x0), fBCent(0x0), fBZvtx(0x0),
-    fMixBCent(0x0), fMixBZvtx(0x0) {}
-
+  AliDhcTask();
   AliDhcTask(const char *name);
   virtual ~AliDhcTask() {}
   
@@ -41,6 +35,7 @@ class AliDhcTask : public AliAnalysisTaskSE {
   void         SetCentMixBins(TAxis *bins)            { fMixBCent=bins;           }
   void         SetDEtaDPhiBins(Int_t nbe, Int_t nbp)  { fNBdeta=nbe; fNBdphi=nbp; }
   void         SetDoWeights(Bool_t b)                 { fDoWeights = b;           }
+  void         SetFillMuons(Bool_t b)                 { fFillMuons = b;           }
   void         SetEtaMax(Double_t eta)                { fEtaMax = eta;            }
   void         SetPoolSize(Int_t p)                   { fPoolSize = p;            }
   void         SetPtABins(TAxis *bins)                { fBPtA=bins;               }
@@ -52,6 +47,10 @@ class AliDhcTask : public AliAnalysisTaskSE {
   void         SetZVtxBins(TAxis *bins)               { fBZvtx=bins;              }
   void         SetZVtxMixBins(TAxis *bins)            { fMixBZvtx=bins;           }
   void         SetZvtx(Double_t zvtx)                 { fZVtxMax = zvtx;          }
+  void         SetHEffT(THnF *h)                      { fHEffT=h;                 }
+  void         SetHEffA(THnF *h)                      { fHEffA=h;                 }
+  void         SetAnaMode(Int_t iAna);
+  enum eAnaMode       {kHH, kMuH, kHMu, kMuMu, kPSide, kASide};
 
  protected:
   enum ePairingScheme {kSameEvt, kDiffEvt};
@@ -62,7 +61,8 @@ class AliDhcTask : public AliAnalysisTaskSE {
   void         GetESDTracks(MiniEvent*);
   void         GetAODTracks(MiniEvent*);
   Bool_t       VertexOk(TObject* obj) const;
-  Double_t     DeltaPhi(Double_t phia, Double_t phib, 
+  Bool_t       IsGoodMUONtrack(AliESDMuonTrack &track);
+  Double_t     DeltaPhi(Double_t phia, Double_t phib,
                        Double_t rangeMin = -TMath::Pi()/2, 
                        Double_t rangeMax = 3*TMath::Pi()/2) const;
   Int_t        Correlate(const MiniEvent &arr1, const MiniEvent &arr2, Int_t pairing = kSameEvt);
@@ -72,14 +72,19 @@ class AliDhcTask : public AliAnalysisTaskSE {
 
  private:
   Int_t              fVerbosity;       //  0 = silence
-  Double_t           fEtaMax;          //  Max |eta| cut (cm)
+  Double_t           fEtaMax;          //  Max |eta| cut for standard ESD or AOD analysis
   Double_t           fZVtxMax;         //  Max |z| cut (cm)
   Double_t           fPtMin;           //  Min pt cut
   Double_t           fPtMax;           //  Max pt cut
   Int_t              fTrackDepth;      //  #tracks to fill pool
   Int_t              fPoolSize;        //  Maximum number of events
   TString            fTracksName;      //  name of track collection
-  Bool_t             fDoWeights;       //  if true weight with 1/N per event 
+  Bool_t             fDoWeights;       //  if true weight with 1/N per event
+  Bool_t             fFillMuons;       //  fill the muon tracks into the mini event
+  Double_t           fEtaTLo;          //  Min eta for triggers
+  Double_t           fEtaTHi;          //  Max eta for triggers
+  Double_t           fEtaALo;          //  Min eta for associated
+  Double_t           fEtaAHi;          //  Max eta for associated
   AliESDEvent       *fESD;             //! ESD object
   AliAODEvent       *fAOD;             //! AOD object
   TList             *fOutputList;      //! Output list
@@ -87,7 +92,11 @@ class AliDhcTask : public AliAnalysisTaskSE {
   TH2               *fHTrk;            //! Phi vs Eta
   TH1               *fHPtAss;          //! Pt ass 
   TH1               *fHPtTrg;          //! Pt trg
-  TH1               *fHPtTrg_Evt;      //! Pt trg per event for weighting
+  TH1               *fHPtTrgEvt;       //! Pt trg per event for weighting
+  TH3               *fHPtTrgNorm1S;    //! Pt trg same events in cent. and zvtx bins, method 1
+  TH3               *fHPtTrgNorm1M;    //! Pt trg mixed events in cent. and zvtx bins, method 1
+  TH3               *fHPtTrgNorm2S;    //! Pt trg same events in cent. and zvtx bins, method 2
+  TH3               *fHPtTrgNorm2M;    //! Pt trg mixed events in cent. and zvtx bins, method 2
   TH1               *fHCent;           //! Centrality
   TH1               *fHZvtx;           //! Zvertex
   Int_t              fNbins;           //! Number of histogram bins
@@ -108,6 +117,8 @@ class AliDhcTask : public AliAnalysisTaskSE {
   TAxis             *fBZvtx;           //  zvtx binning
   TAxis             *fMixBCent;        //  centrality binning for mixing
   TAxis             *fMixBZvtx;        //  zvtx binning for mixing
+  THnF              *fHEffT;           //  efficiency for trigger particles
+  THnF              *fHEffA;           //  efficiency for associate particles
 
   AliDhcTask(const AliDhcTask&);            // not implemented
   AliDhcTask &operator=(const AliDhcTask&); // not implemented