]>
Commit | Line | Data |
---|---|---|
815e6bab | 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 | ||
19 | /* $Id$ */ | |
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" | |
bce70c96 | 40 | #include "AliHFCorrelator.h" |
815e6bab | 41 | |
42 | class TParticle ; | |
43 | class TClonesArray ; | |
44 | class AliAODMCParticle; | |
45 | class AliAODEvent; | |
46 | class AliVParticle; | |
47 | class TObjArray; | |
48 | class AliEventPoolManager; | |
49 | class AliESDEvent; | |
50 | ||
51 | ||
52 | ||
53 | class AliAnalysisTaskDStarCorrelations : public AliAnalysisTaskSE | |
54 | { | |
55 | ||
56 | public : | |
57 | AliAnalysisTaskDStarCorrelations(); | |
58 | AliAnalysisTaskDStarCorrelations(const Char_t* name,AliRDHFCutsDStartoKpipi* cuts, AliHFAssociatedTrackCuts *AsscCuts); | |
59 | virtual ~AliAnalysisTaskDStarCorrelations(); | |
60 | ||
61 | ||
62 | ||
63 | // Implementation of interface methods | |
64 | virtual void UserCreateOutputObjects(); | |
65 | virtual void Init(); | |
66 | virtual void LocalInit() {Init();} | |
67 | virtual void UserExec(Option_t *option); | |
68 | virtual void Terminate(Option_t *option); | |
69 | ||
815e6bab | 70 | |
71 | void DefineHistoForAnalysis(); | |
72 | ||
73 | // correlators | |
53454b81 | 74 | void FillMCTagCorrelations(Double_t ptTrig, Double_t DelPhi, Double_t DelEta, Double_t ptTrack, Bool_t *mcSource); |
75 | void FillMCTagLeadingCorrelations(Double_t ptTrig, Double_t DelPhi, Double_t DelEta, Bool_t *mcSource); | |
76 | // checker for event mixing | |
77 | void EventMixingChecks(AliAODEvent * AOD); | |
815e6bab | 78 | // setters |
79 | void SetMonteCarlo(Bool_t k) {fmontecarlo = k;} | |
80 | void SetUseMixing (Bool_t j) {fmixing = j;} | |
bce70c96 | 81 | void SetCorrelator(Int_t l) {fselect = l;} // select 1 for hadrons, 2 for Kaons, 3 for Kzeros |
82 | void SetUseDisplacement(Int_t m) {fDisplacement=m;} // select 0 for no displ, 1 for abs displ, 2 for d0/sigma_d0 | |
83 | void SetRunPbPb(Bool_t system){fSystem=system;} // select between pp (kFALSE) or PbPb (kTRUE) | |
53454b81 | 84 | void SetLevelOfDebug(Int_t debug){fDebugLevel=debug;} // set debug level |
85 | void SetUseReconstruction(Bool_t reco){fReco = reco;} | |
86 | ||
815e6bab | 87 | |
88 | ||
89 | ||
90 | private: | |
91 | ||
92 | AliAnalysisTaskDStarCorrelations(const AliAnalysisTaskDStarCorrelations &source); | |
93 | AliAnalysisTaskDStarCorrelations& operator=(const AliAnalysisTaskDStarCorrelations& source); | |
94 | ||
95 | TObject* fhandler; //! Analysis Handler | |
815e6bab | 96 | TClonesArray* fmcArray; //mcarray |
97 | AliNormalizationCounter *fCounter; // counter | |
bce70c96 | 98 | AliHFCorrelator * fCorrelator; // object for correlations |
99 | ||
815e6bab | 100 | |
101 | ||
102 | Int_t fselect; // select what to correlate with a D* 1-chargedtracks,2-chargedkaons,3-k0s | |
103 | Bool_t fmontecarlo;//switch for MC | |
104 | Bool_t fmixing;// switch for event mixing | |
bce70c96 | 105 | Bool_t fSystem; // pp or PbPb |
53454b81 | 106 | Bool_t fReco; // use reconstruction or MC truth |
107 | ||
815e6bab | 108 | Int_t fEvents; //! number of event |
53454b81 | 109 | Int_t fDebugLevel; //! debug level |
bce70c96 | 110 | Int_t fDisplacement; // set 0 for no displacement cut, 1 for absolute d0, 2 for d0/sigma_d0 |
815e6bab | 111 | |
112 | ||
113 | TList *fOutput; //! user output data | |
53454b81 | 114 | TList *fOutputMC; //! outpu for MC |
815e6bab | 115 | AliRDHFCutsDStartoKpipi *fCuts; // Cuts D* |
116 | AliHFAssociatedTrackCuts *fCuts2; // cuts for associated | |
117 | ||
53454b81 | 118 | ClassDef(AliAnalysisTaskDStarCorrelations,3); // class for D meson correlations |
815e6bab | 119 | }; |
120 | ||
121 | #endif |