]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/StrangenessInJets/AliAnalysisTaskV0sInJets.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGJE / StrangenessInJets / AliAnalysisTaskV0sInJets.h
CommitLineData
7729cc34 1#ifndef AliAnalysisTaskV0sInJets_cxx
2#define AliAnalysisTaskV0sInJets_cxx
3
4// task for analysis of V0s (K0S, (anti-)Lambda) in charged jets
5// Author: Vit Kucera (vit.kucera@cern.ch)
6
7class TH1D;
8class TH2D;
9class THnSparse;
10class TRandom;
11class TClonesArray;
12
13class AliAODv0;
14class AliAODVertex;
15class AliAODJet;
16
17#include "AliAnalysisTaskSE.h"
18#include "THnSparse.h"
19//#include "AuxFunctions.h"
20
21class AliAnalysisTaskV0sInJets : public AliAnalysisTaskSE
22{
23public:
24 AliAnalysisTaskV0sInJets(); // Default constructor
25 AliAnalysisTaskV0sInJets(const char* name); // Constructor
26 virtual ~AliAnalysisTaskV0sInJets(); // Destructor
27 virtual void UserCreateOutputObjects();
28 virtual void UserExec(Option_t* option);
7495a67b 29 virtual void Terminate(Option_t*) {}
7729cc34 30
31 void SetTypeAOD(Int_t type = 1) {fiAODAnalysis = type;}
7495a67b 32 void SetIsPbPb(Bool_t val = 1) {fbIsPbPb = val;}
33 void SetJetBranchName(char* line) {fsJetBranchName = line;}
34 void SetJetBgBranchName(char* line) {fsJetBgBranchName = line;}
35 void SetCuts(Double_t z = 10, Double_t r = 1, Double_t cL = 0, Double_t cH = 80) {fdCutVertexZ = z; fdCutVertexR2 = r * r; fdCutCentLow = cL; fdCutCentHigh = cH;}
36 void SetPtJetMin(Double_t ptMin = 0) {fdCutPtJetMin = ptMin;}
37 void SetPtTrackMin(Double_t ptMin = 0) {fdCutPtTrackMin = ptMin;}
38 void SetJetRadius(Double_t r = 0.4) {fdRadiusJet = r;}
39 void SetJetRadiusBg(Double_t r = 0.4) {fdRadiusJetBg = r;}
40 void SetJetSelection(Bool_t select = kTRUE) {fbJetSelection = select;}
41 void SetMCAnalysis(Bool_t select = kTRUE) {fbMCAnalysis = select;}
7729cc34 42// void SetTreeOutput(Bool_t select = kTRUE){fbTreeOutput = select;}
43 void FillQAHistogramV0(AliAODVertex* vtx, const AliAODv0* vZero, Int_t iIndexHisto, Bool_t IsCandK0s, Bool_t IsCandLambda, Bool_t IsInPeakK0s, Bool_t IsInPeakLambda);
44// virtual Double_t MassPeakSigma(Double_t pt, Int_t particle);
45// virtual Double_t MassPeakSigma(Int_t iCent, Double_t pt, Int_t particle);
46 void FillCandidates(Double_t mK, Double_t mL, Double_t mAL, Bool_t isK, Bool_t isL, Bool_t isAL, Int_t iCut, Int_t iCent);
47 Bool_t IsParticleInCone(const AliVParticle* part1, const AliVParticle* part2, Double_t dRMax) const; // decides whether a particle is inside a jet cone
48 Bool_t OverlapWithJets(const TClonesArray* array, const AliVParticle* cone, Double_t dDistance) const; // decides whether a cone overlaps with other jets
9706bde3 49 AliAODJet* GetRandomCone(const TClonesArray* array, Double_t dEtaConeMax, Double_t dDistance) const; // generate a random cone which does not overlap with selected jets
50 AliAODJet* GetMedianCluster(const TClonesArray* array, Double_t dEtaConeMax) const; // get median kt cluster
7729cc34 51 Double_t AreaCircSegment(Double_t dRadius, Double_t dDistance) const; // area of circular segment
52
7495a67b 53 void SetCutDCAToPrimVtxMin(Double_t val = 0.1) {fdCutDCAToPrimVtxMin = val;}
54 void SetCutDCADaughtersMax(Double_t val = 1.) {fdCutDCADaughtersMax = val;}
55 void SetCutNSigmadEdxMax(Double_t val = 3.) {fdCutNSigmadEdxMax = val;}
56 void SetCutCPAMin(Double_t val = 0.998) {fdCutCPAMin = val;}
57 void SetCutNTauMax(Double_t val = 5.) {fdCutNTauMax = val;}
7729cc34 58
7495a67b 59 Bool_t IsSelectedForJets(AliAODEvent* fAOD, Double_t dVtxZCut, Double_t dVtxR2Cut, Double_t dCentCutLo, Double_t dCentCutUp, Bool_t bCutDeltaZ = kFALSE, Double_t dDeltaZMax = 100.);
60 Int_t GetCentralityBinIndex(Double_t centrality);
61 Int_t GetCentralityBinEdge(Int_t index);
62 TString GetCentBinLabel(Int_t index);
63 Double_t MassPeakSigmaOld(Double_t pt, Int_t particle);
64 static bool CompareClusters(const std::vector<Double_t> cluster1, const std::vector<Double_t> cluster2); // compare clusters by their pt/area
7729cc34 65
66 // upper edges of centrality bins
9706bde3 67 static const Int_t fgkiNBinsCent = 1; // number of centrality bins
7729cc34 68 static const Int_t fgkiCentBinRanges[fgkiNBinsCent]; // upper edges of centrality bins
69 // axis: pT of V0
70 static const Double_t fgkdBinsPtV0[2]; // [GeV/c] minimum and maximum or desired binning of the axis (intended for the rebinned axis)
71 static const Int_t fgkiNBinsPtV0; // number of bins (intended for the rebinned axis)
72 static const Int_t fgkiNBinsPtV0Init; // initial number of bins (uniform binning)
73 // axis: pT of jets
74 static const Double_t fgkdBinsPtJet[2]; // [GeV/c] minimum and maximum or desired binning of the axis (intended for the rebinned axis)
75 static const Int_t fgkiNBinsPtJet; // number of bins (intended for the rebinned axis)
76 static const Int_t fgkiNBinsPtJetInit; // initial number of bins (uniform binning)
77 // axis: K0S invariant mass
78 static const Int_t fgkiNBinsMassK0s; // number of bins (uniform binning)
87e23d3e 79 static const Double_t fgkdMassK0sMin; // minimum
80 static const Double_t fgkdMassK0sMax; // maximum
7729cc34 81 // axis: Lambda invariant mass
82 static const Int_t fgkiNBinsMassLambda; // number of bins (uniform binning)
87e23d3e 83 static const Double_t fgkdMassLambdaMin; // minimum
84 static const Double_t fgkdMassLambdaMax; // maximum
7729cc34 85
86private:
7495a67b 87 AliAODEvent* fAODIn; //! Input AOD event
88 AliAODEvent* fAODOut; //! Output AOD event
89 TList* fOutputListStd; //! Output list for standard analysis results
90 TList* fOutputListQA; //! Output list for quality assurance
91 TList* fOutputListCuts; //! Output list for checking cuts
92 TList* fOutputListMC; //! Output list for MC related results
93// TTree* ftreeOut; //! output tree
7729cc34 94
7495a67b 95 Int_t fiAODAnalysis; // switch for input AOD/ESD
96 Bool_t fbIsPbPb; // switch Pb-Pb / p-p collisions
7729cc34 97
98 // V0 selection
99 Double_t fdCutDCAToPrimVtxMin; // [cm] min DCA of daughters to the prim vtx
100 Double_t fdCutDCADaughtersMax; // [sigma of TPC tracking] max DCA between daughters
101 Double_t fdCutNSigmadEdxMax; // [sigma dE/dx] max difference between measured and expected signal of dE/dx in the TPC
102 Double_t fdCutCPAMin; // min cosine of the pointing angle
103 Double_t fdCutNTauMax; // [tau] max proper lifetime in multiples of the mean lifetime
104 // jet selection
7495a67b 105 TString fsJetBranchName; // name of the branch with jets
106 TString fsJetBgBranchName; // name of the branch with kt clusters used for the rho calculation
107 Double_t fdCutPtJetMin; // [GeV/c] minimum jet pt
108 Double_t fdCutPtTrackMin; // [GeV/c] minimum pt of leading jet-track
109 Double_t fdRadiusJet; // R of jet finder used for finding V0s in the jet cone
110 Double_t fdRadiusJetBg; // R of kt jet finder used for reconstruction of bg clusters
111 Bool_t fbJetSelection; // switch for the analysis of V0s in jets
112
113 Bool_t fbMCAnalysis; // switch for the analysis of simulated data
114// Bool_t fbTreeOutput; // switch for the output tree
115 TRandom* fRandom; //! random-number generator
7729cc34 116
117 // event cuts
87e23d3e 118 Double_t fdCutVertexZ; // [cm] maximum |z| of primary vertex
119 Double_t fdCutVertexR2; // [cm^2] maximum r^2 of primary vertex
120 Double_t fdCutCentLow; // [%] minimum centrality
121 Double_t fdCutCentHigh; // [%] maximum centrality
7495a67b 122 /*
7729cc34 123 // output branches
9706bde3 124 TClonesArray* fBranchV0Rec; //! output branch for reconstructed V0s
125 TClonesArray* fBranchV0Gen; //! output branch for generated V0s
126 TClonesArray* fBranchJet; //! output branch for selected jets
127 AliEventInfoObject* fEventInfo; //! class to store info about events
7495a67b 128 */
9706bde3 129 Double_t fdCentrality; //!
7729cc34 130
131 // event histograms
7495a67b 132 TH1D* fh1EventCounterCut; //! number of events for different selection steps
133 TH1D* fh1EventCounterCutCent[fgkiNBinsCent]; //! number of events for different selection steps and different centralities
134 TH1D* fh1EventCent; //! number of events for different centralities
135 TH1D* fh1EventCent2; //! number of events for different centralities
136 TH1D* fh1EventCent2Jets; //! number of events for different centralities
137 TH1D* fh1EventCent2NoJets; //! number of events for different centralities
138 TH2D* fh2EventCentTracks; //! number of tracks vs centrality
139 TH1D* fh1VtxZ[fgkiNBinsCent]; //! z coordinate of the primary vertex
140 TH2D* fh2VtxXY[fgkiNBinsCent]; //! xy coordinates of the primary vertex
141 TH1D* fh1V0CandPerEvent; //! number of V0 cand per event
7729cc34 142
143 // jet histograms
7495a67b 144 TH1D* fh1PtJet[fgkiNBinsCent]; //! pt spectra of jets for normalisation of in-jet V0 spectra
145 TH1D* fh1EtaJet[fgkiNBinsCent]; //! jet eta
146 TH2D* fh2EtaPtJet[fgkiNBinsCent]; //! jet eta-pT
147 TH1D* fh1PhiJet[fgkiNBinsCent]; //! jet phi
148 TH1D* fh1NJetPerEvent[fgkiNBinsCent]; //! number of jets per event
149 TH1D* fh1NRndConeCent; //! number of generated random cones in centrality bins
150 TH2D* fh2EtaPhiRndCone[fgkiNBinsCent]; //! random cone eta-pT
151 TH1D* fh1NMedConeCent; //! number of found median-cluster cones in centrality bins
152 TH2D* fh2EtaPhiMedCone[fgkiNBinsCent]; //! median-cluster cone eta-phi
153 TH1D* fh1AreaExcluded; //! area of excluded cones for outside-cones V0s
7729cc34 154
155 static const Int_t fgkiNCategV0 = 17; // number of V0 selection steps
156
157 // QA histograms
158 static const Int_t fgkiNQAIndeces = 2; // 0 - before cuts, 1 - after cuts
9706bde3 159 TH1D* fh1QAV0Status[fgkiNQAIndeces]; //! online vs offline reconstructed V0 candidates
160 TH1D* fh1QAV0TPCRefit[fgkiNQAIndeces]; //! TPC refit on vs off
161 TH1D* fh1QAV0TPCRows[fgkiNQAIndeces]; //! crossed TPC pad rows
162 TH1D* fh1QAV0TPCFindable[fgkiNQAIndeces]; //! findable clusters
163 TH1D* fh1QAV0TPCRowsFind[fgkiNQAIndeces]; //! ratio rows/clusters
164 TH1D* fh1QAV0Eta[fgkiNQAIndeces]; //! pseudorapidity
165 TH2D* fh2QAV0EtaRows[fgkiNQAIndeces]; //! pseudorapidity vs TPC rows
166 TH2D* fh2QAV0PtRows[fgkiNQAIndeces]; //! pt vs TPC rows
167 TH2D* fh2QAV0PhiRows[fgkiNQAIndeces]; //! azimuth vs TPC rows
168 TH2D* fh2QAV0NClRows[fgkiNQAIndeces]; //! clusters vs TPC rows
169 TH2D* fh2QAV0EtaNCl[fgkiNQAIndeces]; //! pseudorapidity vs clusters
7729cc34 170
171 // K0s
9706bde3 172 TH1D* fh1V0CounterCentK0s[fgkiNBinsCent]; //! number of K0s candidates after various cuts
173 TH1D* fh1V0InvMassK0sAll[fgkiNCategV0]; //! V0 invariant mass, selection steps
174 TH2D* fh2QAV0EtaPtK0sPeak[fgkiNQAIndeces]; //! daughters pseudorapidity vs V0 pt, in mass peak
175 TH2D* fh2QAV0EtaEtaK0s[fgkiNQAIndeces]; //! daughters pseudorapidity vs pseudorapidity
176 TH2D* fh2QAV0PhiPhiK0s[fgkiNQAIndeces]; //! daughters azimuth vs azimuth
177 TH1D* fh1QAV0RapK0s[fgkiNQAIndeces]; //! V0 rapidity
178 TH2D* fh2QAV0PtPtK0sPeak[fgkiNQAIndeces]; //! daughters pt vs pt, in mass peak
179 TH2D* fh2ArmPodK0s[fgkiNQAIndeces]; //! Armenteros-Podolanski
180 TH1D* fh1V0CandPerEventCentK0s[fgkiNBinsCent]; //! number of K0s candidates per event, in centrality bins
181 TH1D* fh1V0InvMassK0sCent[fgkiNBinsCent]; //! V0 invariant mass, in centrality bins
7729cc34 182 // K0s Inclusive
9706bde3 183 THnSparse* fhnV0InclusiveK0s[fgkiNBinsCent]; //! V0 inv mass vs pt before and after cuts, in centrality bins
7729cc34 184 // K0s Cones
9706bde3 185 THnSparse* fhnV0InJetK0s[fgkiNBinsCent]; //! V0 invariant mass vs V0 pt vs jet pt, in centrality bins
186 THnSparse* fhnV0InPerpK0s[fgkiNBinsCent]; //! V0 invariant mass vs V0 pt vs jet pt, in centrality bins
187 THnSparse* fhnV0InRndK0s[fgkiNBinsCent]; //! V0 invariant mass vs V0 pt vs jet pt, in centrality bins
188 THnSparse* fhnV0InMedK0s[fgkiNBinsCent]; //! V0 invariant mass vs V0 pt vs jet pt, in centrality bins
189 THnSparse* fhnV0OutJetK0s[fgkiNBinsCent]; //! V0 invariant mass vs V0 pt, in centrality bins
190 THnSparse* fhnV0NoJetK0s[fgkiNBinsCent]; //! V0 invariant mass vs V0 pt, in centrality bins
191
192 TH2D* fh2V0PtJetAngleK0s[fgkiNBinsCent]; //! pt jet vs angle V0-jet, in centrality bins
193 TH1D* fh1DCAInK0s[fgkiNBinsCent]; //! DCA between daughters of V0 inside jets, in centrality bins
194 TH1D* fh1DCAOutK0s[fgkiNBinsCent]; //! DCA between daughters of V0 outside jets, in centrality bins
7495a67b 195// TH1D* fh1DeltaZK0s[fgkiNBinsCent]; //! z-distance between V0 vertex and primary vertex, in centrality bins
7729cc34 196 // MC histograms
197 // inclusive
9706bde3 198 TH1D* fh1V0K0sPtMCGen[fgkiNBinsCent]; //! pt spectrum of all generated K0s in event
199 TH2D* fh2V0K0sPtMassMCRec[fgkiNBinsCent]; //! pt-mass spectrum of successfully reconstructed K0s in event
200 TH1D* fh1V0K0sPtMCRecFalse[fgkiNBinsCent]; //! pt spectrum of false reconstructed K0s in event
7729cc34 201 // inclusive eta-pT efficiency
9706bde3 202 TH2D* fh2V0K0sEtaPtMCGen[fgkiNBinsCent]; //! eta-pt spectrum of all generated K0s in event
203 THnSparse* fh3V0K0sEtaPtMassMCRec[fgkiNBinsCent]; //! eta-pt-mass spectrum of successfully reconstructed K0s in event
7729cc34 204 // MC daughter eta inclusive
9706bde3 205// THnSparse* fhnV0K0sInclDaughterEtaPtPtMCGen[fgkiNBinsCent]; //! eta_daughter-pt_daughter-pt_V0 generated
206 THnSparse* fhnV0K0sInclDaughterEtaPtPtMCRec[fgkiNBinsCent]; //! eta_daughter-pt_daughter-pt_V0 reconstructed
7729cc34 207 // in jets
9706bde3 208 TH2D* fh2V0K0sInJetPtMCGen[fgkiNBinsCent]; //! pt spectrum of generated K0s in jet
209 THnSparse* fh3V0K0sInJetPtMassMCRec[fgkiNBinsCent]; //! mass-pt spectrum of successfully reconstructed K0s in jet
7729cc34 210 // in jets eta-pT efficiency
9706bde3 211 THnSparse* fh3V0K0sInJetEtaPtMCGen[fgkiNBinsCent]; //! eta-pt spectrum of generated K0s in jet
212 THnSparse* fh4V0K0sInJetEtaPtMassMCRec[fgkiNBinsCent]; //! mass-eta-pt spectrum of successfully reconstructed K0s in jet
7729cc34 213 // MC daughter eta in JC
9706bde3 214// THnSparse* fhnV0K0sInJetsDaughterEtaPtPtMCGen[fgkiNBinsCent]; //! eta_daughter-pt_daughter-pt_V0 generated
215 THnSparse* fhnV0K0sInJetsDaughterEtaPtPtMCRec[fgkiNBinsCent]; //! eta_daughter-pt_daughter-pt_V0 reconstructed
7729cc34 216
217 // resolution
9706bde3 218 TH2D* fh2V0K0sMCResolMPt[fgkiNBinsCent]; //! K0s mass resolution vs pt
219 TH2D* fh2V0K0sMCPtGenPtRec[fgkiNBinsCent]; //! K0s generated pt vs reconstructed pt
7729cc34 220
221 // Lambda
9706bde3 222 TH1D* fh1V0CounterCentLambda[fgkiNBinsCent]; //! number of Lambda candidates after various cuts
223 TH1D* fh1V0InvMassLambdaAll[fgkiNCategV0]; //!
224 TH2D* fh2QAV0EtaPtLambdaPeak[fgkiNQAIndeces]; //!
225 TH2D* fh2QAV0EtaEtaLambda[fgkiNQAIndeces]; //!
226 TH2D* fh2QAV0PhiPhiLambda[fgkiNQAIndeces]; //!
227 TH1D* fh1QAV0RapLambda[fgkiNQAIndeces]; //!
228 TH2D* fh2QAV0PtPtLambdaPeak[fgkiNQAIndeces]; //!
229 TH2D* fh2ArmPodLambda[fgkiNQAIndeces]; //!
230 TH1D* fh1V0CandPerEventCentLambda[fgkiNBinsCent]; //!
231 TH1D* fh1V0InvMassLambdaCent[fgkiNBinsCent]; //!
7729cc34 232 // Lambda Inclusive
9706bde3 233 THnSparse* fhnV0InclusiveLambda[fgkiNBinsCent]; //!
7729cc34 234 // Lambda Cones
9706bde3 235 THnSparse* fhnV0InJetLambda[fgkiNBinsCent]; //!
236 THnSparse* fhnV0InPerpLambda[fgkiNBinsCent]; //!
237 THnSparse* fhnV0InRndLambda[fgkiNBinsCent]; //!
238 THnSparse* fhnV0InMedLambda[fgkiNBinsCent]; //!
239 THnSparse* fhnV0OutJetLambda[fgkiNBinsCent]; //!
240 THnSparse* fhnV0NoJetLambda[fgkiNBinsCent]; //!
241
242 TH2D* fh2V0PtJetAngleLambda[fgkiNBinsCent]; //!
243 TH1D* fh1DCAInLambda[fgkiNBinsCent]; //!
244 TH1D* fh1DCAOutLambda[fgkiNBinsCent]; //!
7495a67b 245// TH1D* fh1DeltaZLambda[fgkiNBinsCent]; //!
7729cc34 246 // MC histograms
247 // inclusive
9706bde3 248 TH1D* fh1V0LambdaPtMCGen[fgkiNBinsCent]; //!
249 TH2D* fh2V0LambdaPtMassMCRec[fgkiNBinsCent]; //!
250 TH1D* fh1V0LambdaPtMCRecFalse[fgkiNBinsCent]; //!
7729cc34 251 // inclusive eta-pT efficiency
9706bde3 252 TH2D* fh2V0LambdaEtaPtMCGen[fgkiNBinsCent]; //!
253 THnSparse* fh3V0LambdaEtaPtMassMCRec[fgkiNBinsCent]; //!
7729cc34 254 // MC daughter eta inclusive
9706bde3 255// THnSparse* fhnV0LambdaInclDaughterEtaPtPtMCGen[fgkiNBinsCent]; //! eta_daughter-pt_daughter-pt_V0 generated
256 THnSparse* fhnV0LambdaInclDaughterEtaPtPtMCRec[fgkiNBinsCent]; //! eta_daughter-pt_daughter-pt_V0 reconstructed
7729cc34 257 // in jets
9706bde3 258 TH2D* fh2V0LambdaInJetPtMCGen[fgkiNBinsCent]; //!
259 THnSparse* fh3V0LambdaInJetPtMassMCRec[fgkiNBinsCent]; //!
7729cc34 260 // in jets eta-pT efficiency
9706bde3 261 THnSparse* fh3V0LambdaInJetEtaPtMCGen[fgkiNBinsCent]; //!
262 THnSparse* fh4V0LambdaInJetEtaPtMassMCRec[fgkiNBinsCent]; //!
7729cc34 263 // MC daughter eta in JC
9706bde3 264// THnSparse* fhnV0LambdaInJetsDaughterEtaPtPtMCGen[fgkiNBinsCent]; //! eta_daughter-pt_daughter-pt_V0 generated
265 THnSparse* fhnV0LambdaInJetsDaughterEtaPtPtMCRec[fgkiNBinsCent]; //! eta_daughter-pt_daughter-pt_V0 reconstructed
7729cc34 266
267 // resolution
9706bde3 268 TH2D* fh2V0LambdaMCResolMPt[fgkiNBinsCent]; //!
269 TH2D* fh2V0LambdaMCPtGenPtRec[fgkiNBinsCent]; //!
7729cc34 270 // feed-down
9706bde3 271 THnSparseD* fhnV0LambdaInclMCFD[fgkiNBinsCent]; //!
272 THnSparseD* fhnV0LambdaInJetsMCFD[fgkiNBinsCent]; //!
273 THnSparseD* fhnV0LambdaBulkMCFD[fgkiNBinsCent]; //!
274 TH1D* fh1V0XiPtMCGen[fgkiNBinsCent]; //!
7729cc34 275
276 // ALambda
9706bde3 277 TH1D* fh1V0CounterCentALambda[fgkiNBinsCent]; //! number of ALambda candidates after various cuts
278 TH1D* fh1V0InvMassALambdaAll[fgkiNCategV0]; //!
279 TH2D* fh2QAV0EtaPtALambdaPeak[fgkiNQAIndeces]; //!
280 TH2D* fh2QAV0EtaEtaALambda[fgkiNQAIndeces]; //!
281 TH2D* fh2QAV0PhiPhiALambda[fgkiNQAIndeces]; //!
282 TH1D* fh1QAV0RapALambda[fgkiNQAIndeces]; //!
283 TH2D* fh2QAV0PtPtALambdaPeak[fgkiNQAIndeces]; //!
284 TH2D* fh2ArmPodALambda[fgkiNQAIndeces]; //!
285 TH1D* fh1V0CandPerEventCentALambda[fgkiNBinsCent]; //!
286 TH1D* fh1V0InvMassALambdaCent[fgkiNBinsCent]; //!
287 TH1D* fh1V0ALambdaPt[fgkiNBinsCent]; //!
7729cc34 288 // ALambda Inclusive
9706bde3 289 THnSparse* fhnV0InclusiveALambda[fgkiNBinsCent]; //!
7729cc34 290 // ALambda Cones
9706bde3 291 THnSparse* fhnV0InJetALambda[fgkiNBinsCent]; //!
292 THnSparse* fhnV0InPerpALambda[fgkiNBinsCent]; //!
293 THnSparse* fhnV0InRndALambda[fgkiNBinsCent]; //!
294 THnSparse* fhnV0InMedALambda[fgkiNBinsCent]; //!
295 THnSparse* fhnV0OutJetALambda[fgkiNBinsCent]; //!
296 THnSparse* fhnV0NoJetALambda[fgkiNBinsCent]; //!
297
298 TH2D* fh2V0PtJetAngleALambda[fgkiNBinsCent]; //!
299 TH1D* fh1DCAInALambda[fgkiNBinsCent]; //!
300 TH1D* fh1DCAOutALambda[fgkiNBinsCent]; //!
7495a67b 301// TH1D* fh1DeltaZALambda[fgkiNBinsCent]; //!
7729cc34 302 // MC histograms
303 // inclusive
9706bde3 304 TH1D* fh1V0ALambdaPtMCGen[fgkiNBinsCent]; //!
305 TH1D* fh1V0ALambdaPtMCRec[fgkiNBinsCent]; //!
306 TH2D* fh2V0ALambdaPtMassMCRec[fgkiNBinsCent]; //!
307 TH1D* fh1V0ALambdaPtMCRecFalse[fgkiNBinsCent]; //!
7729cc34 308 // inclusive eta-pT efficiency
9706bde3 309 TH2D* fh2V0ALambdaEtaPtMCGen[fgkiNBinsCent]; //!
310 THnSparse* fh3V0ALambdaEtaPtMassMCRec[fgkiNBinsCent]; //!
7729cc34 311 // MC daughter eta inclusive
9706bde3 312// THnSparse* fhnV0ALambdaInclDaughterEtaPtPtMCGen[fgkiNBinsCent]; //! eta_daughter-pt_daughter-pt_V0 generated
313 THnSparse* fhnV0ALambdaInclDaughterEtaPtPtMCRec[fgkiNBinsCent]; //! eta_daughter-pt_daughter-pt_V0 reconstructed
7729cc34 314 // in jets
9706bde3 315 TH2D* fh2V0ALambdaInJetPtMCGen[fgkiNBinsCent]; //!
316 TH2D* fh2V0ALambdaInJetPtMCRec[fgkiNBinsCent]; //!
317 THnSparse* fh3V0ALambdaInJetPtMassMCRec[fgkiNBinsCent]; //!
7729cc34 318 // in jets eta-pT efficiency
9706bde3 319 THnSparse* fh3V0ALambdaInJetEtaPtMCGen[fgkiNBinsCent]; //!
320 THnSparse* fh4V0ALambdaInJetEtaPtMassMCRec[fgkiNBinsCent]; //!
7729cc34 321 // MC daughter eta in JC
9706bde3 322// THnSparse* fhnV0ALambdaInJetsDaughterEtaPtPtMCGen[fgkiNBinsCent]; //! eta_daughter-pt_daughter-pt_V0 generated
323 THnSparse* fhnV0ALambdaInJetsDaughterEtaPtPtMCRec[fgkiNBinsCent]; //! eta_daughter-pt_daughter-pt_V0 reconstructed
7729cc34 324
325 // resolution
9706bde3 326 TH2D* fh2V0ALambdaMCResolMPt[fgkiNBinsCent]; //!
327 TH2D* fh2V0ALambdaMCPtGenPtRec[fgkiNBinsCent]; //!
7729cc34 328 // feed-down
9706bde3 329 THnSparseD* fhnV0ALambdaInclMCFD[fgkiNBinsCent]; //!
330 THnSparseD* fhnV0ALambdaInJetsMCFD[fgkiNBinsCent]; //!
331 THnSparseD* fhnV0ALambdaBulkMCFD[fgkiNBinsCent]; //!
332 TH1D* fh1V0AXiPtMCGen[fgkiNBinsCent]; //!
333
334 TH1D* fh1QAV0Pt[fgkiNQAIndeces]; //! pt
335 TH1D* fh1QAV0Charge[fgkiNQAIndeces]; //! charge
336 TH1D* fh1QAV0DCAVtx[fgkiNQAIndeces]; //! DCA of daughters to prim vtx
337 TH1D* fh1QAV0DCAV0[fgkiNQAIndeces]; //! DCA between daughters
338 TH1D* fh1QAV0Cos[fgkiNQAIndeces]; //! cosine of pointing angle (CPA)
339 TH1D* fh1QAV0R[fgkiNQAIndeces]; //! radial distance between prim vtx and decay vertex
340 TH1D* fh1QACTau2D[fgkiNQAIndeces]; //! lifetime calculated in xy
341 TH1D* fh1QACTau3D[fgkiNQAIndeces]; //! lifetime calculated in xyz
342 TH2D* fh2ArmPod[fgkiNQAIndeces]; //! Armenteros-Podolanski
343 TH2D* fh2CCK0s; //! K0s candidates in Lambda peak
344 TH2D* fh2CCLambda; //! Lambda candidates in K0s peak
345 THnSparse* fh3CCMassCorrelBoth; //! mass correlation of candidates
346 THnSparse* fh3CCMassCorrelKNotL; //! mass correlation of candidates
347 THnSparse* fh3CCMassCorrelLNotK; //! mass correlation of candidates
7729cc34 348
349 // Cut tuning
350 // crossed/findable, daughter pt, dca, cpa, r, pseudorapidity, y, decay length, PID sigma
7495a67b 351 /*
9706bde3 352 TH2D* fh2CutTPCRowsK0s[fgkiNQAIndeces]; //! inv mass vs TPC rows
353 TH2D* fh2CutTPCRowsLambda[fgkiNQAIndeces]; //!
354 TH2D* fh2CutPtPosK0s[fgkiNQAIndeces]; //! inv mass vs pt of positive daughter
355 TH2D* fh2CutPtNegK0s[fgkiNQAIndeces]; //! inv mass vs pt of negative daughter
356 TH2D* fh2CutPtPosLambda[fgkiNQAIndeces]; //!
357 TH2D* fh2CutPtNegLambda[fgkiNQAIndeces]; //!
358 TH2D* fh2CutDCAVtx[fgkiNQAIndeces]; //! inv mass vs DCA of daughters to prim vtx
359 TH2D* fh2CutDCAV0[fgkiNQAIndeces]; //! inv mass vs DCA between daughters
360 TH2D* fh2CutCos[fgkiNQAIndeces]; //! inv mass vs CPA
361 TH2D* fh2CutR[fgkiNQAIndeces]; //! inv mass vs R
362 TH2D* fh2CutEtaK0s[fgkiNQAIndeces]; //! inv mass vs pseudorapidity
363 TH2D* fh2CutEtaLambda[fgkiNQAIndeces]; //!
364 TH2D* fh2CutRapK0s[fgkiNQAIndeces]; //! inv mass vs rapidity
365 TH2D* fh2CutRapLambda[fgkiNQAIndeces]; //!
366 TH2D* fh2CutCTauK0s[fgkiNQAIndeces]; //! inv mass vs lifetime
367 TH2D* fh2CutCTauLambda[fgkiNQAIndeces]; //!
368 TH2D* fh2CutPIDPosK0s[fgkiNQAIndeces]; //! inv mass vs number of dE/dx sigmas for positive daughter
369 TH2D* fh2CutPIDNegK0s[fgkiNQAIndeces]; //! inv mass vs number of dE/dx sigmas for negative daughter
370 TH2D* fh2CutPIDPosLambda[fgkiNQAIndeces]; //!
371 TH2D* fh2CutPIDNegLambda[fgkiNQAIndeces]; //!
372
373 TH2D* fh2Tau3DVs2D[fgkiNQAIndeces]; //! pt vs ratio 3D lifetime / 2D lifetime
7495a67b 374 */
7729cc34 375
376 AliAnalysisTaskV0sInJets(const AliAnalysisTaskV0sInJets&); // not implemented
377 AliAnalysisTaskV0sInJets& operator=(const AliAnalysisTaskV0sInJets&); // not implemented
378
379 ClassDef(AliAnalysisTaskV0sInJets, 3) // example of analysis
380};
381
382#endif