Changed and of line style
[u/mrichter/AliRoot.git] / PWGJE / FlavourJetTasks / AliAnalysisTaskFlavourJetCorrelations.h
CommitLineData
92d9c9cb 1#ifndef ALIANALYSISTASKFLAVOURJETCORRELATIONS_H\r
2#define ALIANALYSISTASKFLAVOURJETCORRELATIONS_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 "AliAnalysisTaskEmcalJet.h"\r
29\r
30class TH3F;\r
31class TParticle ;\r
32class TClonesArray ;\r
33class AliMCParticle;\r
34class AliAODMCParticle;\r
35class AliRDHFCuts;\r
36class AliEmcalJet;\r
37class AliAODRecoDecayHF;\r
38class AliAODRecoCascadeHF;\r
39class AliAODEvent;\r
40\r
41class AliAnalysisTaskFlavourJetCorrelations : public AliAnalysisTaskEmcalJet \r
42{\r
43\r
44 public:\r
45\r
46 enum ECandidateType{ kD0toKpi, kDstartoKpipi };\r
47\r
48 AliAnalysisTaskFlavourJetCorrelations();\r
49 AliAnalysisTaskFlavourJetCorrelations(const Char_t* name,AliRDHFCuts* cuts, ECandidateType candtype);\r
50 virtual ~AliAnalysisTaskFlavourJetCorrelations();\r
51\r
52 virtual void UserCreateOutputObjects();\r
53 virtual void UserExec(Option_t *option);\r
54 virtual void Terminate(Option_t *);\r
55 virtual void Init();\r
56 virtual void LocalInit() {Init();}\r
57\r
58 // inizializations\r
59 Bool_t DefineHistoForAnalysis(); \r
60\r
61 // set MC usage\r
62 void SetMC(Bool_t theMCon) {fUseMCInfo = theMCon;}\r
63 Bool_t GetMC() const {return fUseMCInfo;}\r
64 // set usage of reconstructed tracks\r
65 void SetUseReco(Bool_t reco) {fUseReco=reco;}\r
66 Bool_t GetUseReco() {return fUseReco;}\r
67 \r
68 \r
69 void SetMassLimits(Double_t range, Int_t pdg);\r
70 void SetMassLimits(Double_t lowlimit, Double_t uplimit);\r
71\r
72 //jet reconstruction algorithm\r
73 void SetJetArrayName(TString jetArrName) {fJetArrName=jetArrName;};\r
74 TString GetJetArrayName() const {return fJetArrName;};\r
75\r
76 // trigger on jet events\r
77 void SetTriggerOnLeadingJet(Bool_t triggerOnLeadingJet) {fLeadingJetOnly=triggerOnLeadingJet;};\r
78 Bool_t GetTriggerOnLeadingJet() const {return fLeadingJetOnly;}\r
79\r
80\r
81 // Array of D0 width for the Dstar\r
82 Bool_t SetD0WidthForDStar(Int_t nptbins,Float_t* width);\r
83\r
84 //Bool_t FillMCDJetInfo(AliPicoTrack *jetTrk,AliEmcalJet* jet, TClonesArray *mcArray,Double_t ptjet);\r
85 void FillHistogramsRecoJetCorr(AliVParticle* candidate, AliEmcalJet *jet);\r
86 void FillHistogramsD0JetCorr(AliAODRecoDecayHF* candidate, Double_t dPhi, Double_t z, Double_t ptD, Double_t ptj, Double_t deltaR, AliAODEvent* aodEvent);\r
87\r
88 void FillHistogramsDstarJetCorr(AliAODRecoCascadeHF* dstar, Double_t dPhi, Double_t z, Double_t ptD, Double_t ptj,Double_t deltaR);\r
b770538f 89 void FillHistogramsMCGenDJetCorr(Double_t dPhi, Double_t z,Double_t ptD,Double_t ptjet,Double_t deltaR);\r
92d9c9cb 90 void SideBandBackground(AliAODRecoCascadeHF *candDstar, AliEmcalJet *jet);\r
91 void MCBackground(AliAODRecoDecayHF *candbg, AliEmcalJet *jet);\r
92 void FillMassHistograms(Double_t mass,Double_t ptD, Double_t deltaR);\r
93 void FlagFlavour(AliVParticle* charm, AliEmcalJet* jet);\r
25094cd7 94 Int_t IsDzeroSideBand(AliAODRecoCascadeHF *candDstar);
95\r
92d9c9cb 96 private:\r
97 \r
98 AliAnalysisTaskFlavourJetCorrelations(const AliAnalysisTaskFlavourJetCorrelations &source);\r
99 AliAnalysisTaskFlavourJetCorrelations& operator=(const AliAnalysisTaskFlavourJetCorrelations& source); \r
100\r
101 Double_t Z(AliVParticle* part,AliEmcalJet* jet) const;\r
102 Float_t DeltaR(AliVParticle *p1, AliVParticle *p2) const;\r
103\r
104\r
105 Bool_t fUseMCInfo; // Use MC info\r
106 Bool_t fUseReco; // use reconstructed tracks when running on MC\r
107 Int_t fCandidateType; // Dstar or D0\r
108 Int_t fPDGmother; // PDG code of D meson\r
109 Int_t fNProngs; // number of prong of the decay channel \r
110 Int_t fPDGdaughters[4]; // PDG codes of daughters\r
111 Float_t fSigmaD0[30]; //\r
112 TString fBranchName; // AOD branch name\r
113 TList *fmyOutput; //! user output\r
114 AliRDHFCuts *fCuts; // Cuts \r
115\r
116 Double_t fMinMass; // mass lower limit histogram\r
117 Double_t fMaxMass; // mass upper limit histogram\r
118\r
119 TString fJetArrName; // name of the jet array, taken from the task running the jet finder\r
120 TString fCandArrName; // string which correspond to the candidate type\r
121 Bool_t fLeadingJetOnly; // use only the leading jet in the event to make the correlations\r
122 Double_t fJetRadius; // jet radius (filled from the JetContainer)\r
123\r
124 ClassDef(AliAnalysisTaskFlavourJetCorrelations,2); // class for charm-jet correlations\r
125};\r
126\r
127#endif\r