1 #ifndef AliAnalysisTaskDStarCorrelations_H
2 #define AliAnalysisTaskDStarCorrelations_H
4 /**************************************************************************
5 * Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *
7 * Author: The ALICE Off-line Project. *
8 * Contributors are mentioned in the code where appropriate. *
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 **************************************************************************/
21 //-----------------------------------------------------------------------
24 // Author S.Bjelogrlic
26 // sandro.bjelogrlic@cern.ch
28 //-----------------------------------------------------------------------
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"
44 class AliAODMCParticle;
48 class AliEventPoolManager;
53 class AliAnalysisTaskDStarCorrelations : public AliAnalysisTaskSE
57 AliAnalysisTaskDStarCorrelations();
58 AliAnalysisTaskDStarCorrelations(const Char_t* name,AliRDHFCutsDStartoKpipi* cuts, AliHFAssociatedTrackCuts *AsscCuts);
59 virtual ~AliAnalysisTaskDStarCorrelations();
63 // Implementation of interface methods
64 virtual void UserCreateOutputObjects();
66 virtual void LocalInit() {Init();}
67 virtual void UserExec(Option_t *option);
68 virtual void Terminate(Option_t *option);
71 void DefineHistoForAnalysis();
74 void FillMCTagCorrelations(Double_t ptTrig, Double_t DelPhi, Double_t DelEta, Double_t ptTrack, Int_t mcSource);
76 void SetMonteCarlo(Bool_t k) {fmontecarlo = k;}
77 void SetUseMixing (Bool_t j) {fmixing = j;}
78 void SetCorrelator(Int_t l) {fselect = l;} // select 1 for hadrons, 2 for Kaons, 3 for Kzeros
79 void SetUseDisplacement(Int_t m) {fDisplacement=m;} // select 0 for no displ, 1 for abs displ, 2 for d0/sigma_d0
80 void SetRunPbPb(Bool_t system){fSystem=system;} // select between pp (kFALSE) or PbPb (kTRUE)
86 AliAnalysisTaskDStarCorrelations(const AliAnalysisTaskDStarCorrelations &source);
87 AliAnalysisTaskDStarCorrelations& operator=(const AliAnalysisTaskDStarCorrelations& source);
89 TObject* fhandler; //! Analysis Handler
90 // AliEventPoolManager* fPoolMgr; //! event pool manager
91 TClonesArray* fmcArray; //mcarray
92 AliNormalizationCounter *fCounter; // counter
93 AliHFCorrelator * fCorrelator; // object for correlations
97 Int_t fselect; // select what to correlate with a D* 1-chargedtracks,2-chargedkaons,3-k0s
98 Bool_t fmontecarlo;//switch for MC
99 Bool_t fmixing;// switch for event mixing
100 Bool_t fSystem; // pp or PbPb
101 Int_t fEvents; //! number of event
102 Int_t fDebug; //! debug level
103 Int_t fDisplacement; // set 0 for no displacement cut, 1 for absolute d0, 2 for d0/sigma_d0
106 TList *fOutput; //! user output data
107 AliRDHFCutsDStartoKpipi *fCuts; // Cuts D*
108 AliHFAssociatedTrackCuts *fCuts2; // cuts for associated
110 ClassDef(AliAnalysisTaskDStarCorrelations,2); // class for D meson correlations