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