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