1 #ifndef ALIANALYSISTASKSEDMESONSFILTERCJ_H
2 #define ALIANALYSISTASKSEDMESONSFILTERCJ_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 **************************************************************************/
19 //-----------------------------------------------------------------------
20 // Author : A. Grelli, Utrecht University
21 // C. Bianchin, Utrecht University
23 //-----------------------------------------------------------------------
27 #include "AliAODEvent.h"
28 #include "AliPicoTrack.h"
29 #include "AliAnalysisTaskSE.h"
36 class AliAODMCParticle;
38 class AliAODRecoCascadeHF;
40 class AliAnalysisTaskSEDmesonsFilterCJ : public AliAnalysisTaskSE
45 enum ECandidateType{ kD0toKpi, kDstartoKpipi };
47 AliAnalysisTaskSEDmesonsFilterCJ();
48 AliAnalysisTaskSEDmesonsFilterCJ(const Char_t* name,AliRDHFCuts* cuts,ECandidateType candtype);
49 virtual ~AliAnalysisTaskSEDmesonsFilterCJ();
51 virtual void UserCreateOutputObjects();
52 virtual void UserExec(Option_t *option);
53 virtual void Terminate(Option_t *);
55 virtual void LocalInit() { Init(); }
58 Bool_t DefineHistoForAnalysis();
61 void SetMC(Bool_t theMCon) { fUseMCInfo = theMCon; }
62 Bool_t GetMC() const { return fUseMCInfo; }
64 void SetMassLimits(Double_t range, Int_t pdg);
65 void SetMassLimits(Double_t lowlimit, Double_t uplimit);
67 // Array of D0 width for the Dstar
68 Bool_t SetD0WidthForDStar(Int_t nptbins, Float_t *width);
72 AliAnalysisTaskSEDmesonsFilterCJ(const AliAnalysisTaskSEDmesonsFilterCJ &source);
73 AliAnalysisTaskSEDmesonsFilterCJ& operator=(const AliAnalysisTaskSEDmesonsFilterCJ& source);
75 Bool_t fUseMCInfo; // Use MC info
77 UInt_t fCandidateType; // Dstar or D0
78 TString fCandidateName; // Dstar or D0
80 Int_t fPDGmother; // PDG code of D meson
81 Int_t fNProngs; // number of prong of the decay channel
82 Int_t fPDGdaughters[4]; // PDG codes of daughters
83 Float_t fSigmaD0[30]; // D0 sigma for Dstar
85 TString fBranchName; // AOD branch name
86 TList *fOutput; //! user output
87 //TList *fOutputCandidates; //! output of array of candidates (kExchange)
89 AliRDHFCuts *fCuts; //! Cuts
90 Double_t fMinMass; // mass lower limit histogram
91 Double_t fMaxMass; // mass upper limit histogram
93 TClonesArray *fCandidateArray; //! contains candidates selected by AliRDHFCuts
94 //TClonesArray *fIsSelectedArray; //! contains result of IsSelected for candidates which pass the cuts (needed for D0)
96 ClassDef(AliAnalysisTaskSEDmesonsFilterCJ,1); // class for charm-jet correlations