]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/FlavourJetTasks/AliAnalysisTaskSEDmesonsFilterCJ.h
Corrected end-of-line behavior
[u/mrichter/AliRoot.git] / PWGJE / FlavourJetTasks / AliAnalysisTaskSEDmesonsFilterCJ.h
CommitLineData
896d3200 1#ifndef ALIANALYSISTASKSEDMESONSFILTERCJ_H
2#define ALIANALYSISTASKSEDMESONSFILTERCJ_H
3/**************************************************************************
4 * Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *
5 * *
6 * Author: The ALICE Off-line Project. *
7 * Contributors are mentioned in the code where appropriate. *
8 * *
9 * Permission to use, copy, modify and distribute this software and its *
10 * documentation strictly for non-commercial purposes is hereby granted *
11 * without fee, provided that the above copyright notice appears in all *
12 * copies and that both the copyright notice and this permission notice *
13 * appear in the supporting documentation. The authors make no claims *
14 * about the suitability of this software for any purpose. It is *
15 * provided "as is" without express or implied warranty. *
16 **************************************************************************/
17
18//-----------------------------------------------------------------------
19// Author : A. Grelli, Utrecht University
20// C. Bianchin, Utrecht University
21// X. Zhang, LBNL
22//-----------------------------------------------------------------------
23
24
25#include <TH2F.h>
26#include "AliAODEvent.h"
27#include "AliPicoTrack.h"
28#include "AliAnalysisTaskSE.h"
29
30class TH3F;
31class TString;
32class TParticle ;
33class TClonesArray ;
34class AliMCParticle;
35class AliAODMCParticle;
36class AliRDHFCuts;
37class AliAODRecoCascadeHF;
38
39class AliAnalysisTaskSEDmesonsFilterCJ : public AliAnalysisTaskSE
40{
41
42 public :
43
44 enum ECandidateType{ kD0toKpi, kDstartoKpipi };
45
46 AliAnalysisTaskSEDmesonsFilterCJ();
47 AliAnalysisTaskSEDmesonsFilterCJ(const Char_t* name,AliRDHFCuts* cuts,ECandidateType candtype);
48 virtual ~AliAnalysisTaskSEDmesonsFilterCJ();
49
50 virtual void UserCreateOutputObjects();
51 virtual void UserExec(Option_t *option);
52 virtual void Terminate(Option_t *);
53 virtual void Init();
54 virtual void LocalInit() { Init(); }
55
56 // inizializations
57 Bool_t DefineHistoForAnalysis();
58
59 // set MC usage
60 void SetMC(Bool_t theMCon) { fUseMCInfo = theMCon; }
61 Bool_t GetMC() const { return fUseMCInfo; }
62
63 // set usage of generated or reconstucted quantities (relevant for MC)
64 void SetUseReco(Bool_t useReco=kTRUE) { fUseReco= useReco;}
65 Bool_t GetUseReco() const {return fUseReco;}
66
67 void SetMassLimits(Double_t range, Int_t pdg);
68 void SetMassLimits(Double_t lowlimit, Double_t uplimit);
69
70 // Array of D0 width for the Dstar
71 Bool_t SetD0WidthForDStar(Int_t nptbins, Float_t *width);
72
73 private :
74
75 AliAnalysisTaskSEDmesonsFilterCJ(const AliAnalysisTaskSEDmesonsFilterCJ &source);
76 AliAnalysisTaskSEDmesonsFilterCJ& operator=(const AliAnalysisTaskSEDmesonsFilterCJ& source);
77
78 Bool_t fUseMCInfo; // Use MC info
79 Bool_t fUseReco; // use reconstructed tracks when running on MC
80
81 UInt_t fCandidateType; // Dstar or D0
82 TString fCandidateName; // Dstar or D0
83
84 Int_t fPDGmother; // PDG code of D meson
85 Int_t fNProngs; // number of prong of the decay channel
86 Int_t fPDGdaughters[4]; // PDG codes of daughters
87 Float_t fSigmaD0[30]; // D0 sigma for Dstar
88
89 TString fBranchName; // AOD branch name
90 TList *fOutput; //! user output
91
92 AliRDHFCuts *fCuts; // Cuts
93 Double_t fMinMass; // mass lower limit histogram
94 Double_t fMaxMass; // mass upper limit histogram
95
96 TClonesArray *fCandidateArray; //! contains candidates selected by AliRDHFCuts
97 TClonesArray *fSideBandArray; //! contains candidates selected by AliRDHFCuts::IsSelected(kTracks), to be used for side bands (DStar case only!!)
98
99 ClassDef(AliAnalysisTaskSEDmesonsFilterCJ,2); // class for charm-jet correlations
100};
101
102#endif