]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGHF/correlationHF/AliAnalysisTaskDStarCorrelations.h
cleanup
[u/mrichter/AliRoot.git] / PWGHF / correlationHF / AliAnalysisTaskDStarCorrelations.h
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"
40 #include "AliHFCorrelator.h"
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         
70
71         void DefineHistoForAnalysis();
72         
73         // correlators
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); 
78         // setters
79         void SetMonteCarlo(Bool_t k) {fmontecarlo = k;}
80         void SetUseMixing (Bool_t j) {fmixing = j;}
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)
84     void SetLevelOfDebug(Int_t debug){fDebugLevel=debug;} // set debug level
85         void SetUseReconstruction(Bool_t reco){fReco = reco;}
86
87         
88
89
90         private:
91
92         AliAnalysisTaskDStarCorrelations(const AliAnalysisTaskDStarCorrelations &source);
93         AliAnalysisTaskDStarCorrelations& operator=(const AliAnalysisTaskDStarCorrelations& source); 
94
95         TObject* fhandler; //! Analysis Handler
96         TClonesArray* fmcArray; //mcarray
97         AliNormalizationCounter *fCounter; // counter
98     AliHFCorrelator * fCorrelator; // object for correlations
99
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
105         Bool_t fSystem; // pp or PbPb
106         Bool_t fReco; // use reconstruction or MC truth
107         
108         Int_t fEvents; //! number of event
109         Int_t fDebugLevel; //! debug level
110         Int_t fDisplacement; // set 0 for no displacement cut, 1 for absolute d0, 2 for d0/sigma_d0
111         
112         
113         TList *fOutput;                  //! user output data
114         TList *fOutputMC;                //! outpu for MC
115         AliRDHFCutsDStartoKpipi *fCuts;  // Cuts D*
116         AliHFAssociatedTrackCuts *fCuts2; // cuts for associated 
117                                           
118         ClassDef(AliAnalysisTaskDStarCorrelations,3); // class for D meson correlations                           
119 };
120
121 #endif