]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGHF/correlationHF/AliAnalysisTaskDStarCorrelations.h
Improve error handling (M. Richter)
[u/mrichter/AliRoot.git] / PWGHF / correlationHF / AliAnalysisTaskDStarCorrelations.h
CommitLineData
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
42class TParticle ;
43class TClonesArray ;
44class AliAODMCParticle;
45class AliAODEvent;
46class AliVParticle;
47class TObjArray;
48class AliEventPoolManager;
49class AliESDEvent;
50
51
52
53class 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