]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGHF/correlationHF/AliAnalysisTaskDStarCorrelations.h
Revert "Nicer comments"
[u/mrichter/AliRoot.git] / PWGHF / correlationHF / AliAnalysisTaskDStarCorrelations.h
CommitLineData
5d3cf93b 1#ifndef AliAnalysisTaskDStarCorrelations_H
2#define AliAnalysisTaskDStarCorrelations_H
3
4/**************************************************************************
5 * Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *
6 * *
7 * Author: The ALICE Off-line Project. *
8 * Contributors are mentioned in the code where appropriate. *
9 * *
10 * Permission to use, copy, modify and distribute this software and its *
11 * documentation strictly for non-commercial purposes is hereby granted *
12 * without fee, provided that the above copyright notice appears in all *
13 * copies and that both the copyright notice and this permission notice *
14 * appear in the supporting documentation. The authors make no claims *
15 * about the suitability of this software for any purpose. It is *
16 * provided "as is" without express or implied warranty. *
17 **************************************************************************/
18
5d3b1a33 19/* $Id: AliAnalysisTaskDStarCorrelations.h 65139 2013-11-25 14:47:45Z fprino $ */
5d3cf93b 20
21//-----------------------------------------------------------------------
22//
23//
24// Author S.Bjelogrlic
25// Utrecht University
26// sandro.bjelogrlic@cern.ch
27//
28//-----------------------------------------------------------------------
29
30#include <TH2F.h>
31#include <TH1D.h>
32#include <TH3D.h>
33#include "AliAnalysisTaskSE.h"
34#include "AliAODEvent.h"
35#include "AliRDHFCutsDStartoKpipi.h"
36#include "AliEventPoolManager.h"
37#include "AliAODRecoCascadeHF.h"
38#include "AliHFAssociatedTrackCuts.h"
39#include "AliNormalizationCounter.h"
40#include "AliHFCorrelator.h"
41#include <THnSparse.h>
42#include "AliAnalysisUtils.h"
43#include "AliVertexingHFUtils.h"
44class TParticle ;
45class TClonesArray ;
46class AliAODMCParticle;
47class AliAODEvent;
48class AliVParticle;
49class TObjArray;
50class AliEventPoolManager;
51class AliESDEvent;
52
53
54
55class AliAnalysisTaskDStarCorrelations : public AliAnalysisTaskSE
56{
57
58 public :
59
60 enum CollSyst {pp,pA,AA};
5d3b1a33 61 enum DEffVariable{kNone,kMult,kCentr,kRapidity,kEta};
62 enum BkgMethod{kDZeroSB, kDStarSB};
5d3cf93b 63
64 AliAnalysisTaskDStarCorrelations();
65 AliAnalysisTaskDStarCorrelations(const Char_t* name,AliRDHFCutsDStartoKpipi* cuts, AliHFAssociatedTrackCuts *AsscCuts, AliAnalysisTaskDStarCorrelations::CollSyst syst,Bool_t mode);
66 virtual ~AliAnalysisTaskDStarCorrelations();
67
68
69
70 // Implementation of interface methods
71 virtual void UserCreateOutputObjects();
72 virtual void Init();
73 virtual void LocalInit() {Init();}
74 virtual void UserExec(Option_t *option);
75 virtual void Terminate(Option_t *option);
76
77 void DefineThNSparseForAnalysis();
78 void DefineHistoForAnalysis();
79 void EnlargeDZeroMassWindow();
80 Bool_t IsDDaughter(AliAODMCParticle* d, AliAODMCParticle* track) const ;
81
82 // checker for event mixing
83 void EventMixingChecks(AliAODEvent * AOD);
5d3b1a33 84
85 // setters
86 void SetCorrelator(Int_t l) {fselect = l;} // select 1 for hadrons, 2 for Kaons, 3 for Kzeros
87 void SetMonteCarlo(Bool_t k) {fmontecarlo = k;}
88 void SetUseMixing (Bool_t j) {fmixing = j;}
89 void SetUseFullMode (Bool_t j) {fFullmode = j;}
90 void SetCollSys(CollSyst system){fSystem=system;} // select between pp (kFALSE) or PbPb (kTRUE)
91 void SetEfficiencyVariable(DEffVariable var){fEfficiencyVariable = var;} // set the efficiency variable to use
92 void SetBkgEstimationMethod(BkgMethod var){fBkgMethod = var;} // set the efficiency variable to use
93 void SetUseReconstruction(Bool_t reco){fReco = reco;}
94 void SetUseEfficiencyCorrection(Bool_t correction){fUseEfficiencyCorrection = correction;} // setter for using the single track efficiency correction
95 void SetUseDmesonEfficiencyCorrection(Bool_t correction){fUseDmesonEfficiencyCorrection = correction;} // setter for using the single track efficiency correction
96 void SetUseCentrality (Bool_t j) {fUseCentrality = j;} // switch for centrality (kTRUE)/multiplicity(kFALSE)
97 void SetUseHadronicChannelAtKineLevel (Bool_t use){fUseHadronicChannelAtKineLevel = use;}
3f80f3f5 98 void SetUseRemoveMoreThanOneCDmesonCandidate (Bool_t use){fRemoveMoreThanOneDmesonCandidate = use;}
5d3b1a33 99
100
101 void SetNofPhiBins(Int_t nbins){fPhiBins = nbins;} // number of delta phi bins
102 void SetLevelOfDebug(Int_t debug){fDebugLevel=debug;} // set debug level
103 void SetUseDisplacement(Int_t m) {fDisplacement=m;} // select 0 for no displ, 1 for abs displ, 2 for d0/sigma_d0
104
105
106 void SetDim(){fDim = 4;
107 fDMesonSigmas = new Float_t[4];} // standard definedt = cannot be changed from outside
108
109 void SetMaxDStarEta(Double_t eta){fMaxEtaDStar = eta;} // maximum eta D*
110
111
5d3cf93b 112 void SetDMesonSigmas(Float_t DStarWin, Float_t D0Win, Float_t SBmin, Float_t SBmax){
113 fDMesonSigmas[0] = DStarWin;
114 fDMesonSigmas[1] = D0Win;
115 fDMesonSigmas[2] = SBmin;
116 fDMesonSigmas[3] = SBmax;
117
118 }
119
5d3b1a33 120
121
122
123
5d3cf93b 124 void SetDeffMapvsPt(TH1D * map){fDeffMapvsPt = map;}
125 void SetDeffMapvsPtvsMult(TH2D * map){fDeffMapvsPtvsMult = (TH2D*)map;}
126 void SetDeffMapvsPtvsMultvsEta(TH2D * map){fDeffMapvsPtvsEta = map;}
5d3b1a33 127
5d3cf93b 128
129
130
131private:
132
133 AliAnalysisTaskDStarCorrelations(const AliAnalysisTaskDStarCorrelations &source);
134 AliAnalysisTaskDStarCorrelations& operator=(const AliAnalysisTaskDStarCorrelations& source);
135
136 TObject* fhandler; //! Analysis Handler
137 TClonesArray* fmcArray; //mcarray
138 AliNormalizationCounter *fCounter; // counter
139 AliHFCorrelator * fCorrelator; // object for correlations
140
141
142
143 Int_t fselect; // select what to correlate with a D* 1-chargedtracks,2-chargedkaons,3-k0s
144 Bool_t fmontecarlo;//switch for MC
145 Bool_t fmixing;// switch for event mixing
146 Bool_t fFullmode;
147 CollSyst fSystem; // pp, pPb or PbPb
148 DEffVariable fEfficiencyVariable; // set second variable to study efficiency (mult, centr, y, eta)
5d3b1a33 149 BkgMethod fBkgMethod; // bkg estimation method (dstar or dzero sidebands)
5d3cf93b 150 Bool_t fReco; // use reconstruction or MC truth
151 Bool_t fUseEfficiencyCorrection; // boolean variable to use or not the efficiency correction
152 Bool_t fUseDmesonEfficiencyCorrection; // boolean flag for the use of Dmeson efficiency correction
153 Bool_t fUseCentrality;// boolean to switch in between centrality or multiplicity
154 Bool_t fUseHadronicChannelAtKineLevel; //
3f80f3f5 155 Bool_t fRemoveMoreThanOneDmesonCandidate; // flag to remove a second, 3rd etc candidate if there is any - useful in PbPb
5d3cf93b 156
157 Int_t fPhiBins;
158 Int_t fEvents; //! number of event
159 Int_t fDebugLevel; //! debug level
160 Int_t fDisplacement; // set 0 for no displacement cut, 1 for absolute d0, 2 for d0/sigma_d0
161 Int_t fDim;//
162 Int_t fNofPtBins;
163 Double_t fMaxEtaDStar;
164 Float_t *fDMesonSigmas;//[fDim]
165 Float_t * fD0Window; //[fNofPtBins]
166
167
168
169
170 TList *fOutput; //! user output data
5d3b1a33 171 TList *fDmesonOutput; //!output related to d meson
172 TList *fTracksOutput; //!output related to tracks
173 TList *fEMOutput; //! output with EM checks
174 TList *fCorrelationOutput; // ! output with correlation sparses
5d3cf93b 175 TList *fOutputMC; //! outpu for MC
176 AliRDHFCutsDStartoKpipi *fCuts; // Cuts D*
5d3b1a33 177 AliHFAssociatedTrackCuts *fAssocCuts; // cuts for associated
5d3cf93b 178 AliAnalysisUtils *fUtils;
179 AliAODTracklets * fTracklets; // AliAODtracklets
180
181 TH1D * fDeffMapvsPt; // histo for Deff mappin
182 TH2D * fDeffMapvsPtvsMult; // histo for Deff mappin
183 TH2D * fDeffMapvsPtvsEta; // histo for Deff mappin
184
3f80f3f5 185 ClassDef(AliAnalysisTaskDStarCorrelations,8); // class for D meson correlations
5d3cf93b 186
187};
188
189#endif