]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGHF/vertexingHF/AliAnalysisTaskSEDvsMultiplicity.h
Update
[u/mrichter/AliRoot.git] / PWGHF / vertexingHF / AliAnalysisTaskSEDvsMultiplicity.h
CommitLineData
43093cfa 1#ifndef ALIANALYSISTASKSEDVSMULTIPLICITY_H
2#define ALIANALYSISTASKSEDVSMULTIPLICITY_H
3
4/* Copyright(c) 1998-2008, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7/* $Id$ */
8
9//*************************************************************************
10// Class AliAnalysisTaskSEDvsMultiplicity
11// AliAnalysisTaskSE for the D meson vs. multiplcity analysis
12// Authors: Renu Bala, Zaida Conesa del Valle, Francesco Prino
13//*************************************************************************
14
15#include <TROOT.h>
16#include <TSystem.h>
17#include <TH1F.h>
18#include <TH2F.h>
19#include <TH3F.h>
20#include <TArrayD.h>
21#include <TFile.h>
22#include <TRandom.h>
23#include <TProfile.h>
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"
32
33
34
35class AliAnalysisTaskSEDvsMultiplicity : public AliAnalysisTaskSE
36{
37 public:
38
39 AliAnalysisTaskSEDvsMultiplicity();
7826c36d 40 AliAnalysisTaskSEDvsMultiplicity(const char *name, Int_t pdgMeson, AliRDHFCuts* cuts);
43093cfa 41 virtual ~AliAnalysisTaskSEDvsMultiplicity();
42
43093cfa 43
7826c36d 44 void SetMassLimits(Double_t lowlimit, Double_t uplimit);
45 void SetMassLimits(Int_t pdg, Double_t range);
46 Double_t GetUpperMassLimit() const {return fUpmasslimit;}
47 Double_t GetLowerMassLimit() const {return fLowmasslimit;}
48 void SetNMassBins(Int_t nbins){fNMassBins=nbins;}
49 Int_t GetNMassBins() const{return fNMassBins;}
43093cfa 50
7826c36d 51 void SetImpactParameterBinning(Int_t nbins, Double_t dmin, Double_t dmax){
43093cfa 52 fNImpParBins=nbins;
53 fLowerImpPar=dmin;
54 fHigherImpPar=dmax;
55 }
56
7826c36d 57 void SetReadMC(Bool_t readMC=kTRUE){fReadMC=readMC;}
43093cfa 58 void SetUseBit(Bool_t use=kTRUE){fUseBit=use;}
59 void SetDoImpactParameterHistos(Bool_t doImp=kTRUE){fDoImpPar=doImp;}
60
61
62 void SetMultiplVsZProfileLHC10b(TProfile* hprof){
2d11aff8 63 if(fMultEstimatorAvg[0]) delete fMultEstimatorAvg[0];
64 fMultEstimatorAvg[0]=new TProfile(*hprof);
43093cfa 65 }
66 void SetMultiplVsZProfileLHC10c(TProfile* hprof){
2d11aff8 67 if(fMultEstimatorAvg[1]) delete fMultEstimatorAvg[1];
68 fMultEstimatorAvg[1]=new TProfile(*hprof);
43093cfa 69 }
70 void SetMultiplVsZProfileLHC10d(TProfile* hprof){
2d11aff8 71 if(fMultEstimatorAvg[2]) delete fMultEstimatorAvg[2];
72 fMultEstimatorAvg[2]=new TProfile(*hprof);
43093cfa 73 }
74 void SetMultiplVsZProfileLHC10e(TProfile* hprof){
2d11aff8 75 if(fMultEstimatorAvg[3]) delete fMultEstimatorAvg[3];
76 fMultEstimatorAvg[3]=new TProfile(*hprof);
43093cfa 77 }
78
79
80 Int_t CheckOrigin(TClonesArray* arrayMC, AliAODMCParticle *mcPartCandidate) const;
81
82 // Implementation of interface methods
83 virtual void UserCreateOutputObjects();
84 virtual void Init();
85 virtual void LocalInit() {Init();}
86 virtual void UserExec(Option_t *option);
87 virtual void Terminate(Option_t *option);
88
89 private:
90
91 AliAnalysisTaskSEDvsMultiplicity(const AliAnalysisTaskSEDvsMultiplicity &source);
92 AliAnalysisTaskSEDvsMultiplicity& operator=(const AliAnalysisTaskSEDvsMultiplicity& source);
93
94 TProfile* GetEstimatorHistogram(const AliVEvent *event);
95 void CreateImpactParameterHistos();
96
97
98 TList *fOutput; //! list send on output slot 1
99 TList *fListCuts; //list of cuts
100 TList *fOutputCounters; //! list send on output slot 3
6c06d0fe 101 TList *fListProfiles; //list of profile histos for z-vtx correction
43093cfa 102
c1a78ad6 103 TH1F *fHistNEvents; //!hist. for No. of events
104
105 TH2F* fHistNtrEta16vsNtrEta1; //!hist. for Ntracklets in eta<1.6 vs. eta<1.
106 TH2F* fHistNtrCorrEta1vsNtrRawEta1; //!hist. for Ntracklets in eta<1 with and w/o corrections
107 TH2F* fHistNtrVsZvtx; //! hist of ntracklets vs Zvertex
108 TH2F* fHistNtrCorrVsZvtx; //! hist of ntracklets vs Zvertex
109
11457f09 110 TH2F* fHistNtrVsNchMC; //! hist of ntracklets vs Nch (Generated)
111 TH2F* fHistNtrCorrVsNchMC; //! hist of ntracklets vs Nch (Generated)
112 TH2F* fHistNtrVsNchMCPrimary; //! hist of ntracklets vs Nch (Primary)
113 TH2F* fHistNtrCorrVsNchMCPrimary; //! hist of ntracklets vs Nch (Primary)
114 TH2F* fHistNtrVsNchMCPhysicalPrimary; //! hist of ntracklets vs Nch (Physical Primary)
115 TH2F* fHistNtrCorrVsNchMCPhysicalPrimary; //! hist of ntracklets vs Nch (Physical Primary)
116
c1a78ad6 117 TH1F* fHistNtrCorrEvSel; //! hist. of ntracklets for selected events
118 TH1F* fHistNtrCorrEvWithCand; //! hist. of ntracklets for evnts with a candidate
119 TH1F* fHistNtrCorrEvWithD;//! hist. of ntracklets for evnts with a candidate in D mass peak
120
43093cfa 121 TH3F *fPtVsMassVsMult; //! hist. of Pt vs Mult vs. mass (
122 TH3F *fPtVsMassVsMultNoPid; //! hist. of Pt vs Mult vs. mass (no pid)
123 TH3F *fPtVsMassVsMultUncorr; //! hist. of Pt vs Mult vs. mass (raw mult)
124 TH3F *fPtVsMassVsMultPart; //! hist. of Pt vs Mult vs. mass (particle)
125 TH3F *fPtVsMassVsMultAntiPart; //! hist. of Pt vs Mult vs. mass (antiparticle)
126
127 THnSparseF *fHistMassPtImpPar[5];//! histograms for impact paramter studies
128
7826c36d 129 Double_t fUpmasslimit; //upper inv mass limit for histos
130 Double_t fLowmasslimit; //lower inv mass limit for histos
131 Int_t fNMassBins; // nbins for invariant mass histos
43093cfa 132
133 AliRDHFCuts *fRDCutsAnalysis; // Cuts for Analysis
134 AliNormalizationCounter *fCounter; //!Counter for normalization
135 AliNormalizationCounter *fCounterU; //!Counter for normalization, uncorr mult
136
137 Bool_t fDoImpPar; //swicth for D impact parameter THnSparse
138 Int_t fNImpParBins; // nunber of bins in impact parameter histos
7826c36d 139 Double_t fLowerImpPar; // lower limit in impact parameter (um)
140 Double_t fHigherImpPar; // higher limit in impact parameter (um)
43093cfa 141
142 Bool_t fReadMC; //flag for access to MC
143 Int_t fMCOption; // 0=keep all cand, 1=keep only signal, 2= keep only back
144 Bool_t fUseBit; // flag to use bitmask
145
146 TProfile* fMultEstimatorAvg[4]; // TProfile with mult vs. Z per period
147 Double_t fRefMult; // refrence multiplcity (period b)
148 Int_t fPdgMeson; // pdg code of analyzed meson
149
150
11457f09 151 ClassDef(AliAnalysisTaskSEDvsMultiplicity,3); // D vs. mult task
43093cfa 152};
153
154#endif