1 #ifndef ALIANALYSISTASKSEDVSMULTIPLICITY_H
2 #define ALIANALYSISTASKSEDVSMULTIPLICITY_H
4 /* Copyright(c) 1998-2008, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
9 //*************************************************************************
10 // Class AliAnalysisTaskSEDvsMultiplicity
11 // AliAnalysisTaskSE for the D meson vs. multiplcity analysis
12 // Authors: Renu Bala, Zaida Conesa del Valle, Francesco Prino
13 //*************************************************************************
24 #include "AliRDHFCutsDplustoKpipi.h"
25 #include "AliAnalysisTaskSE.h"
26 #include "AliAnalysisVertexingHF.h"
27 #include "AliNormalizationCounter.h"
28 #include "AliAODMCHeader.h"
29 #include "AliAODMCParticle.h"
30 #include "AliVertexingHFUtils.h"
31 #include "AliVEvent.h"
35 class AliAnalysisTaskSEDvsMultiplicity : public AliAnalysisTaskSE
39 AliAnalysisTaskSEDvsMultiplicity();
40 AliAnalysisTaskSEDvsMultiplicity(const char *name, AliRDHFCuts* cuts);
41 virtual ~AliAnalysisTaskSEDvsMultiplicity();
43 void SetReadMC(Bool_t readMC=kTRUE){fReadMC=readMC;}
45 void SetMassLimits(Float_t lowlimit, Float_t uplimit);
46 Float_t GetUpperMassLimit(){return fUpmasslimit;}
47 Float_t GetLowerMassLimit(){return fLowmasslimit;}
48 Int_t GetNMassBins() const;
50 void SetBinWidth(Float_t w);
51 Float_t GetBinWidth(){return fBinWidth;}
53 void SetImpactParameterBinning(Int_t nbins, Float_t dmin, Float_t dmax){
59 void SetUseBit(Bool_t use=kTRUE){fUseBit=use;}
60 void SetDoImpactParameterHistos(Bool_t doImp=kTRUE){fDoImpPar=doImp;}
63 void SetMultiplVsZProfileLHC10b(TProfile* hprof){
64 fMultEstimatorAvg[0]=hprof;
66 void SetMultiplVsZProfileLHC10c(TProfile* hprof){
67 fMultEstimatorAvg[1]=hprof;
69 void SetMultiplVsZProfileLHC10d(TProfile* hprof){
70 fMultEstimatorAvg[2]=hprof;
72 void SetMultiplVsZProfileLHC10e(TProfile* hprof){
73 fMultEstimatorAvg[3]=hprof;
77 Int_t CheckOrigin(TClonesArray* arrayMC, AliAODMCParticle *mcPartCandidate) const;
79 // Implementation of interface methods
80 virtual void UserCreateOutputObjects();
82 virtual void LocalInit() {Init();}
83 virtual void UserExec(Option_t *option);
84 virtual void Terminate(Option_t *option);
88 AliAnalysisTaskSEDvsMultiplicity(const AliAnalysisTaskSEDvsMultiplicity &source);
89 AliAnalysisTaskSEDvsMultiplicity& operator=(const AliAnalysisTaskSEDvsMultiplicity& source);
91 TProfile* GetEstimatorHistogram(const AliVEvent *event);
92 void CreateImpactParameterHistos();
95 TList *fOutput; //! list send on output slot 1
96 TList *fListCuts; //list of cuts
97 TList *fOutputCounters; //! list send on output slot 3
99 TH1F *fHistNEvents; //!hist. for No. of events
100 TH3F *fPtVsMassVsMult; //! hist. of Pt vs Mult vs. mass (
101 TH3F *fPtVsMassVsMultNoPid; //! hist. of Pt vs Mult vs. mass (no pid)
102 TH3F *fPtVsMassVsMultUncorr; //! hist. of Pt vs Mult vs. mass (raw mult)
103 TH3F *fPtVsMassVsMultPart; //! hist. of Pt vs Mult vs. mass (particle)
104 TH3F *fPtVsMassVsMultAntiPart; //! hist. of Pt vs Mult vs. mass (antiparticle)
106 THnSparseF *fHistMassPtImpPar[5];//! histograms for impact paramter studies
108 Float_t fUpmasslimit; //upper inv mass limit for histos
109 Float_t fLowmasslimit; //lower inv mass limit for histos
110 Float_t fBinWidth;//width of one bin in output histos
112 AliRDHFCuts *fRDCutsAnalysis; // Cuts for Analysis
113 AliNormalizationCounter *fCounter; //!Counter for normalization
114 AliNormalizationCounter *fCounterU; //!Counter for normalization, uncorr mult
116 Bool_t fDoImpPar; //swicth for D impact parameter THnSparse
117 Int_t fNImpParBins; // nunber of bins in impact parameter histos
118 Float_t fLowerImpPar; // lower limit in impact parameter (um)
119 Float_t fHigherImpPar; // higher limit in impact parameter (um)
121 Bool_t fReadMC; //flag for access to MC
122 Int_t fMCOption; // 0=keep all cand, 1=keep only signal, 2= keep only back
123 Bool_t fUseBit; // flag to use bitmask
125 TProfile* fMultEstimatorAvg[4]; // TProfile with mult vs. Z per period
126 Double_t fRefMult; // refrence multiplcity (period b)
127 Int_t fPdgMeson; // pdg code of analyzed meson
130 ClassDef(AliAnalysisTaskSEDvsMultiplicity,1); // AliAnalysisTaskSE for the MC association of heavy-flavour decay candidates