AliPhysics  608b256 (608b256)
AliAnalysisTaskV0sInJetsEmcal.h
Go to the documentation of this file.
1 #ifndef AliAnalysisTaskV0sInJetsEmcal_cxx
2 #define AliAnalysisTaskV0sInJetsEmcal_cxx
3 
4 //-------------------------------------------------------------------------
5 // task for analysis of V0s (K0S, (anti-)Lambda) in charged jets
6 // fork of AliAnalysisTaskV0sInJets for the EMCal framework
7 // Author: Vit Kucera (vit.kucera@cern.ch)
8 //-------------------------------------------------------------------------
9 
10 class TH1D;
11 class TH2D;
12 class THnSparse;
13 class TClonesArray;
14 class TRandom;
15 
16 class AliAODv0;
17 class AliAODVertex;
18 class AliAODJet;
19 
20 class AliJetContainer;
23 
24 class AliEventPoolManager;
25 class AliEventCuts;
26 
28 
30 {
31 public:
32  AliAnalysisTaskV0sInJetsEmcal(); // Default constructor
33  AliAnalysisTaskV0sInJetsEmcal(const char* name); // Constructor
34  virtual ~AliAnalysisTaskV0sInJetsEmcal(); // Destructor
36  void Terminate(Option_t*) {}
37 
38  // data selection
39  void SetIsPbPb(Bool_t val = 1) {fbIsPbPb = val;}
40  void SetMCAnalysis(Bool_t select = kTRUE) {fbMCAnalysis = select;}
42  Bool_t IsFromGoodGenerator(Int_t index); // True if the MC particle with the given index comes from the selected generator
43 
44  // event selection
45  void SetEventCuts(Double_t z = 10, Double_t r = 1, Double_t cL = 0, Double_t cH = 80, Double_t dZ = 0.1, Int_t iNC = 1) {fdCutVertexZ = z; fdCutVertexR2 = r * r; fdCutCentLow = cL; fdCutCentHigh = cH; fdCutDeltaZMax = dZ; fiNContribMin = iNC;}
46  void SetUseMultiplicity(Bool_t val = kTRUE) {fbUseMultiplicity = val;}
47  void SetUseIonutCut(Bool_t val = kTRUE) {fbUseIonutCut = val;}
48 
49  // mixed events
50  void SetCorrelations(Bool_t val = kTRUE) {fbCorrelations = val;}
51  void SetPoolParam(Int_t sizepool = 1000, Int_t jetsperpool = 1, Float_t fractionmin = 1., Int_t neventsmin = 0) {fiSizePool = sizepool; fiNJetsPerPool = jetsperpool; ffFractionMin = fractionmin; fiNEventsMin = neventsmin;}
52  void SetDeltaEtaMax(Double_t val = kTRUE) {fdDeltaEtaMax = val;}
53 
54  // jet selection
55  void SetJetSelection(Bool_t select = kTRUE) {fbJetSelection = select;}
60  void SetBgSubtraction(Int_t val = 1) {fiBgSubtraction = val;}
61 
62  // pt correlations of jets with trigger tracks
64 
65  void FillQAHistogramV0(AliAODVertex* vtx, const AliAODv0* vZero, Int_t iIndexHisto, Bool_t IsCandK0s, Bool_t IsCandLambda, Bool_t IsCandALambda, Bool_t IsInPeakK0s, Bool_t IsInPeakLambda, Bool_t IsInPeakALambda);
66  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);
67  Bool_t IsParticleInCone(const AliVParticle* part1, const AliVParticle* part2, Double_t dRMax) const; // decides whether a particle is inside a jet cone
68  Bool_t OverlapWithJets(const TClonesArray* array, const AliVParticle* cone, Double_t dDistance) const; // decides whether a cone overlaps with other jets
69  AliAODJet* GetRandomCone(const TClonesArray* array, Double_t dEtaConeMax, Double_t dDistance) const; // generate a random cone which does not overlap with selected jets
70  AliEmcalJet* GetMedianCluster(AliJetContainer* cont, Double_t dEtaConeMax) const; // get median kt cluster
71  Double_t AreaCircSegment(Double_t dRadius, Double_t dDistance) const; // area of circular segment
72  Double_t GetD(const AliVParticle* part1, const AliVParticle* part2) const; // returns distance between two particles
73 
74  // V0 selection
75  void SetCutTPCRefit(Bool_t val = kTRUE) {fbTPCRefit = val;}
76  void SetCutRejectKinks(Bool_t val = kTRUE) {fbRejectKinks = val;}
81  void SetCutPtDaughterMin(Double_t val = 0.150) {fdCutPtDaughterMin = val;}
87  void SetOnFly(Bool_t val = 0) {fbOnFly = val;}
88  void SetCutCPAKMin(Double_t val = 0.998) {fdCutCPAKMin = val;}
89  void SetCutCPALMin(Double_t val = 0.998) {fdCutCPALMin = val;}
92  void SetCutEtaV0Max(Double_t val = 0.7) {fdCutEtaV0Max = val;}
93  void SetCutRapV0Max(Double_t val = 0.75) {fdCutRapV0Max = val;}
94  void SetCutNTauKMax(Double_t val = 5.0) {fdCutNTauKMax = val;}
95  void SetCutNTauLMax(Double_t val = 5.0) {fdCutNTauLMax = val;}
96  void SetCutArmPod(Bool_t val = kTRUE) {fbCutArmPod = val;}
97  void SetCutCross(Bool_t val = kTRUE) {fbCutCross = val;}
98 
103  Double_t MassPeakSigmaOld(Double_t pt, Int_t particle);
104  static bool CompareClusters(const std::vector<Double_t> cluster1, const std::vector<Double_t> cluster2); // compare clusters by their pt/area
105  Double_t GetNormalPhi(Double_t phi) {while(phi >= fgkdDeltaPhiMax) phi -= TMath::TwoPi(); while(phi < fgkdDeltaPhiMin) phi += TMath::TwoPi(); return phi;} // restrict azimuth to desired range
106 
107  // upper edges of centrality bins
108  static const Int_t fgkiNBinsCent = 1; // number of centrality bins
109  static const Int_t fgkiCentBinRanges[fgkiNBinsCent]; // upper edges of centrality bins
110  // centrality bins for event mixing
111  static const Int_t fgkiNBinsCentMix = 2; // number of centrality bins for event mixing
112  static Double_t fgkiCentMixBinRanges[fgkiNBinsCentMix + 1]; // edges of centrality bins for event mixing
113  // z_vtx bins for event mixing
114  static const Int_t fgkiNBinsZVtxMix = 10; // number of z_vtx bins for event mixing
115  static Double_t fgkiZVtxMixBinRanges[fgkiNBinsZVtxMix + 1]; // edges of z_vtx bins for event mixing
116  // axis: pT of V0
117  static const Double_t fgkdBinsPtV0[2]; // [GeV/c] minimum and maximum or desired binning of the axis (intended for the rebinned axis)
118  static const Int_t fgkiNBinsPtV0; // number of bins (intended for the rebinned axis)
119  static const Int_t fgkiNBinsPtV0Init; // initial number of bins (uniform binning)
120  static const Int_t fgkiNBinsPtV0InitInJet; // initial number of bins for V0s in jets (uniform binning)
121  // axis: pT of jets
122  static const Double_t fgkdBinsPtJet[2]; // [GeV/c] minimum and maximum or desired binning of the axis (intended for the rebinned axis)
123  static const Int_t fgkiNBinsPtJet; // number of bins (intended for the rebinned axis)
124  static const Int_t fgkiNBinsPtJetInit; // initial number of bins (uniform binning)
125  // axis: K0S invariant mass
126  static const Int_t fgkiNBinsMassK0s; // number of bins (uniform binning)
127  static const Double_t fgkdMassK0sMin; // minimum K0S mass
128  static const Double_t fgkdMassK0sMax; // maximum K0S mass
129  // axis: Lambda invariant mass
130  static const Int_t fgkiNBinsMassLambda; // number of bins (uniform binning)
131  static const Double_t fgkdMassLambdaMin; // minimum Lambda mass
132  static const Double_t fgkdMassLambdaMax; // maximum Lambda mass
133  // delta phi range
134  static const Double_t fgkdDeltaPhiMin; // minimum delta-phi_V0-jet
135  static const Double_t fgkdDeltaPhiMax; // maximum delta-phi_V0-jet
136 
137 protected:
138  void ExecOnce();
140  Bool_t Run();
141 
142 private:
145  AliMCEvent* fEventMC;
146  TRandom* fRandom;
147  AliEventPoolManager* fPoolMgr;
153 
154  // Data selection
155  Bool_t fbIsPbPb; // switch: Pb+Pb / p+p collisions
156  Bool_t fbMCAnalysis; // switch: simulated / real data
157  TString fsGeneratorName; // pattern for selecting only V0s from a specific MC generator
158 
159  // Event selection
160  Double_t fdCutVertexZ; // [cm] maximum |z| of primary vertex
161  Double_t fdCutVertexR2; // [cm^2] maximum r^2 of primary vertex
162  Double_t fdCutCentLow; // [%] minimum centrality
163  Double_t fdCutCentHigh; // [%] maximum centrality
164  Double_t fdCutDeltaZMax; // [cm] maximum |Delta z| between nominal prim vtx and SPD vtx
165  Int_t fiNContribMin; // minimum number of prim vtx contributors
167  Bool_t fbUseMultiplicity; // switch for getting centrality from AliMultSelection instead of from AliCentrality
168  Bool_t fbUseIonutCut; // Ionut's cut on the correlation between event variables
169 
170  // Mixed events parameters
171  Bool_t fbCorrelations; // switch for V0-jet correlations
172  Int_t fiSizePool; // available number of events per pool, currently ignored in AliEventPoolManager
173  Int_t fiNJetsPerPool; // required number of jets available in each pool
174  Float_t ffFractionMin; // minimum fraction of fiNJetsPerPool at which pool is ready (default: 1.0)
175  Int_t fiNEventsMin; // if non-zero: number of filled events after which pool is ready regardless of fiNJetsPerPool (default: 0)
176  Double_t fdDeltaEtaMax; // maximum delta-eta_V0-jet for angular correlations
177 
178  // V0 selection
179  // Daughter tracks
180  Bool_t fbTPCRefit; // (yes) TPC refit for daughter tracks
181  Bool_t fbRejectKinks; // (no) reject kink-like production vertices of daughter tracks
182  Bool_t fbFindableClusters; // (no) require positive number of findable clusters
183  Double_t fdCutNCrossedRowsTPCMin; // (70.) min number of crossed TPC rows
184  Double_t fdCutCrossedRowsOverFindMin; // (0.8) min ratio crossed rows / findable clusters
185  Double_t fdCutCrossedRowsOverFindMax; // (1e3) max ratio crossed rows / findable clusters
186  Double_t fdCutPtDaughterMin; // (0.150) [GeV/c] min transverse momentum of daughter tracks, to reject primaries which do not make it to the TPC
187  Double_t fdCutDCAToPrimVtxMin; // (0.1) [cm] min DCA of daughters to the prim vtx
188  Double_t fdCutDCADaughtersMax; // (1.) [sigma of TPC tracking] max DCA between daughters
189  Double_t fdCutEtaDaughterMax; // (0.8) max |pseudorapidity| of daughter tracks, historical reasons: tracking in MC for 2010 was restricted to 0.7
190  Double_t fdCutNSigmadEdxMax; // (3.) [sigma dE/dx] max difference between measured and expected signal of dE/dx in the TPC
191  Double_t fdPtProtonPIDMax; // (1.) [GeV/c] maxium pT of proton for applying PID cut in Pb-Pb
192  // V0 candidate
193  Bool_t fbOnFly; // (0) on-the-fly (yes) or offline (no) reconstructed
194  Double_t fdCutCPAKMin; // (0.998) min cosine of the pointing angle, K0S
195  Double_t fdCutCPALMin; // (0.998) min cosine of the pointing angle, Lambda
196  Double_t fdCutRadiusDecayMin; // (5.) [cm] min radial distance of the decay vertex
197  Double_t fdCutRadiusDecayMax; // (100.) [cm] max radial distance of the decay vertex
198  Double_t fdCutEtaV0Max; // (0.7) max |pseudorapidity| of V0
199  Double_t fdCutRapV0Max; // (0.75) max |rapidity| of V0 (turned off)
200  Double_t fdCutNTauKMax; // (5.0) [tau] max proper lifetime in multiples of the mean lifetime, K0S
201  Double_t fdCutNTauLMax; // (5.0) [tau] max proper lifetime in multiples of the mean lifetime, Lambda
202  Bool_t fbCutArmPod; // (yes) Armenteros-Podolanski for K0S
203  Bool_t fbCutCross; // (no) cross-contamination
204 
205  // Jet selection
206  Bool_t fbJetSelection; // (yes) switch for the analysis of V0s in jets
207  Double_t fdCutPtJetMin; // [GeV/c] minimum jet pt
208  Double_t fdCutPtTrackJetMin; // [GeV/c] minimum pt of leading jet-track
209  Double_t fdCutAreaPercJetMin; // [pi*R^2] minimum jet area with respect to the expected value
210  Double_t fdDistanceV0JetMax; // (R) D - maximum distance between V0 and jet axis used for finding V0s in the jet cone
211  Int_t fiBgSubtraction; // subtraction of rho from jet pt, 0 - no subtraction, 1 - scalar subtraction, 2 - vector subtraction
212 
213  // Correlations of pt_jet with pt_trigger-track
214  Bool_t fbCompareTriggers; // switch for pt correlations of jets with trigger tracks
215 
216  // EMCal containers
220 
221  // event histograms
234 
235  // jet histograms
253 
254  static const Int_t fgkiNCategV0 = 18; // number of V0 selection steps
255 
256  // QA histograms
257  static const Int_t fgkiNQAIndeces = 2; // 0 - before cuts, 1 - after cuts
271 
272  // K0s
283  // K0s Inclusive
285  // K0s Cones
292 
294 
295  // K0S correlations
298 
300  // MC histograms
301  // inclusive
305  // inclusive eta-pT efficiency
308  // MC daughter eta inclusive
310  // in jets
313  // in jets eta-pT efficiency
316  // MC daughter eta in JC
318 
319  // resolution
322 
323  // Lambda
334  // Lambda Inclusive
336  // Lambda Cones
343 
345 
346  // Lambda correlations
349 
351  // MC histograms
352  // inclusive
356  // inclusive eta-pT efficiency
359  // MC daughter eta inclusive
361  // in jets
364  // in jets eta-pT efficiency
367  // MC daughter eta in JC
369 
370  // resolution
373  // feed-down
378 
379  // ALambda
390  // ALambda Inclusive
392  // ALambda Cones
399 
401 
403  // MC histograms
404  // inclusive
408  // inclusive eta-pT efficiency
411  // MC daughter eta inclusive
413  // in jets
416  // in jets eta-pT efficiency
419  // MC daughter eta in JC
421 
422  // resolution
425  // feed-down
430 
445  THnSparse* fh3CCMassCorrelBoth;
446  THnSparse* fh3CCMassCorrelKNotL;
447  THnSparse* fh3CCMassCorrelLNotK;
448 
449  // Cut tuning
450  // crossed/findable, daughter pt, dca, cpa, r, pseudorapidity, y, decay length, PID sigma
451  /*
452  TH2D* fh2CutTPCRowsK0s[fgkiNQAIndeces]; //! inv mass vs TPC rows
453  TH2D* fh2CutTPCRowsLambda[fgkiNQAIndeces]; //!
454  TH2D* fh2CutPtPosK0s[fgkiNQAIndeces]; //! inv mass vs pt of positive daughter
455  TH2D* fh2CutPtNegK0s[fgkiNQAIndeces]; //! inv mass vs pt of negative daughter
456  TH2D* fh2CutPtPosLambda[fgkiNQAIndeces]; //!
457  TH2D* fh2CutPtNegLambda[fgkiNQAIndeces]; //!
458  TH2D* fh2CutDCAVtx[fgkiNQAIndeces]; //! inv mass vs DCA of daughters to prim vtx
459  TH2D* fh2CutDCAV0[fgkiNQAIndeces]; //! inv mass vs DCA between daughters
460  TH2D* fh2CutCos[fgkiNQAIndeces]; //! inv mass vs CPA
461  TH2D* fh2CutR[fgkiNQAIndeces]; //! inv mass vs R
462  TH2D* fh2CutEtaK0s[fgkiNQAIndeces]; //! inv mass vs pseudorapidity
463  TH2D* fh2CutEtaLambda[fgkiNQAIndeces]; //!
464  TH2D* fh2CutRapK0s[fgkiNQAIndeces]; //! inv mass vs rapidity
465  TH2D* fh2CutRapLambda[fgkiNQAIndeces]; //!
466  TH2D* fh2CutCTauK0s[fgkiNQAIndeces]; //! inv mass vs lifetime
467  TH2D* fh2CutCTauLambda[fgkiNQAIndeces]; //!
468  TH2D* fh2CutPIDPosK0s[fgkiNQAIndeces]; //! inv mass vs number of dE/dx sigmas for positive daughter
469  TH2D* fh2CutPIDNegK0s[fgkiNQAIndeces]; //! inv mass vs number of dE/dx sigmas for negative daughter
470  TH2D* fh2CutPIDPosLambda[fgkiNQAIndeces]; //!
471  TH2D* fh2CutPIDNegLambda[fgkiNQAIndeces]; //!
472 
473  TH2D* fh2Tau3DVs2D[fgkiNQAIndeces]; //! pt vs ratio 3D lifetime / 2D lifetime
474  */
475 
478 
479  ClassDef(AliAnalysisTaskV0sInJetsEmcal, 23) // task for analysis of V0s (K0S, (anti-)Lambda) in charged jets
480 };
481 
482 #endif
THnSparse * fhnV0InJetK0s[fgkiNBinsCent]
V0 inclusive, in a centrality bin, m_V0; pt_V0; eta_V0.
THnSparse * fhnV0InRndALambda[fgkiNBinsCent]
THnSparse * fh3V0LambdaInJetPtMassMCRec[fgkiNBinsCent]
TH1D * fh1DistanceV0JetsALambda[fgkiNBinsCent]
distance in eta-phi between V0 and the closest jet
TH2D * fh2QAV0PtChi[fgkiNQAIndeces]
pt vs TPC clusters
AliEmcalJet * GetMedianCluster(AliJetContainer *cont, Double_t dEtaConeMax) const
TH2D * fh2QAV0PhiPtLambdaPeak[fgkiNQAIndeces]
K0S candidate in peak: azimuth; pt.
TH1D * fh1V0InvMassALambdaAll[fgkiNCategV0]
number of ALambda candidates after various cuts
double Double_t
Definition: External.C:58
TList * fOutputListMC
Output list for checking cuts.
THnSparse * fhnPtDaughterK0s[fgkiNBinsCent]
V0 in no-jet events, in a centrality bin, m_V0; pt_V0; eta_V0.
TH1D * fh1QAV0TPCRows[fgkiNQAIndeces]
TPC refit on vs off.
TH2D * fh2QAV0NClRows[fgkiNQAIndeces]
azimuth vs TPC rows
THnSparse * fh3V0K0sInJetPtMassMCRec[fgkiNBinsCent]
pt spectrum of generated K0s in jet
TH2D * fh2PtJetPtTrackLeading[fgkiNBinsCent]
jet phi
THnSparse * fhnV0ALambdaBulkMCFD[fgkiNBinsCent]
THnSparse * fh3V0K0sInJetEtaPtMCGen[fgkiNBinsCent]
mass-pt spectrum of successfully reconstructed K0s in jet
AliEventCuts fEventCutsStrictAntipileup
event pool manager
THnSparse * fh3CCMassCorrelKNotL
mass correlation of candidates
TH1D * fh1V0K0sPtMCGen[fgkiNBinsCent]
pt jet vs angle V0-jet, in centrality bins
Container with name, TClonesArray and cuts for particles.
THnSparse * fhnV0InMedLambda[fgkiNBinsCent]
TH2D * fh2V0LambdaMCResolMPt[fgkiNBinsCent]
V0 in jets, reconstructed: charge_daughter; eta_daughter; pt_daughter; eta_V0; pt_V0; pt_jet...
THnSparse * fh3CCMassCorrelBoth
Lambda candidates in K0s peak.
TH1D * fh1QACTau2D[fgkiNQAIndeces]
radial distance between prim vtx and decay vertex
centrality
TH1D * fh1EventCounterCutCent[fgkiNBinsCent]
number of events for different selection steps
Double_t GetD(const AliVParticle *part1, const AliVParticle *part2) const
void ExecOnce()
Perform steps needed to initialize the analysis.
TH1D * fh1V0InvMassK0sCent[fgkiNBinsCent]
number of K0s candidates per event, in centrality bins
THnSparse * fhnV0OutJetLambda[fgkiNBinsCent]
THnSparse * fhnV0InPerpK0s[fgkiNBinsCent]
V0 in jet cones, in a centrality bin, m_V0; pt_V0; eta_V0; pt_jet.
TH2D * fh2VtxXY[fgkiNBinsCent]
z coordinate of the primary vertex for events used in mixed events
TH1D * fh1V0CandPerEventCentK0s[fgkiNBinsCent]
Armenteros-Podolanski.
TH2D * fh2V0K0sPtMassMCRec[fgkiNBinsCent]
pt spectrum of all generated K0s in event
TH1D * fh1EtaJet[fgkiNBinsCent]
pt spectra of jets for normalisation of in-jet V0 spectra
TH2D * fh2V0PtJetAngleALambda[fgkiNBinsCent]
pt correlations, in a centrality bin, pt_neg-daughter;pt_pos-daughter;pt_V0;pt_jet;pt_leading-track ...
TH1D * fh1V0CounterCentK0s[fgkiNBinsCent]
pseudorapidity vs clusters
TH2D * fh2EventCentMult
number of tracks vs centrality
Double_t ptMin
THnSparse * fhnV0ALambdaInJetsDaughterEtaPtPtMCRec[fgkiNBinsCent]
THnSparse * fh3CCMassCorrelLNotK
mass correlation of candidates
THnSparse * fhnV0ALambdaInJetsMCFD[fgkiNBinsCent]
TH2D * fh2V0LambdaInJetPtMCGen[fgkiNBinsCent]
V0 inclusive, reconstructed: charge_daughter; eta_daughter; pt_daughter; eta_V0; pt_V0; pt_jet...
TH1D * fh1VtxZME[fgkiNBinsCent]
z coordinate of the primary vertex
TList * fOutputListQA
Output list for standard analysis results.
THnSparse * fh3V0ALambdaEtaPtMassMCRec[fgkiNBinsCent]
THnSparse * fhnV0InJetLambda[fgkiNBinsCent]
TH2D * fh2CCK0s
Armenteros-Podolanski.
void SetEventCuts(Double_t z=10, Double_t r=1, Double_t cL=0, Double_t cH=80, Double_t dZ=0.1, Int_t iNC=1)
THnSparse * fhnV0NoJetK0s[fgkiNBinsCent]
V0 outside jet cones, in a centrality bin, m_V0; pt_V0; eta_V0.
TH2D * fh2QAV0PhiRows[fgkiNQAIndeces]
pt vs TPC rows
TH1D * fh1QAV0TPCRefit[fgkiNQAIndeces]
online vs offline reconstructed V0 candidates
THnSparse * fhnV0LambdaInJetsDaughterEtaPtPtMCRec[fgkiNBinsCent]
Container for particles within the EMCAL framework.
TH2D * fh2V0K0sEtaPtMCGen[fgkiNBinsCent]
pt spectrum of false reconstructed K0s in event
AliMCEvent * fEventMC
Output AOD event.
THnSparse * fhnV0InRndK0s[fgkiNBinsCent]
V0 in perpendicular cones, in a centrality bin, m_V0; pt_V0; eta_V0; pt_jet.
TH2D * fh2EtaPhiRndCone[fgkiNBinsCent]
number of generated random cones in centrality bins
TH1D * fh1V0InvMassK0sAll[fgkiNCategV0]
number of K0s candidates after various cuts
THnSparse * fhnV0K0sInJetsDaughterEtaPtPtMCRec[fgkiNBinsCent]
mass-eta-pt spectrum of successfully reconstructed K0s in jet
static Double_t fgkiCentMixBinRanges[fgkiNBinsCentMix+1]
THnSparse * fhnV0InPerpLambda[fgkiNBinsCent]
AliAODJet * GetRandomCone(const TClonesArray *array, Double_t dEtaConeMax, Double_t dDistance) const
AliAODEvent * fAODOut
Input AOD event.
TH1D * fh1AreaExcluded
median-cluster cone eta-phi
TH1D * fh1QAV0RapK0s[fgkiNQAIndeces]
daughters azimuth vs azimuth
Bool_t fbIsPbPb
Output list for MC related results.
Int_t cH
Definition: Combine.C:26
static const Int_t fgkiNCategV0
distance in eta-phi between V0 and the closest jet
AliEventPoolManager * fPoolMgr
random-number generator
TH1D * fh1VtxZ[fgkiNBinsCent]
reference multiplicity vs centrality
THnSparse * fhnV0CorrelSELambda[fgkiNBinsCent]
pt correlations, in a centrality bin, pt_neg-daughter;pt_pos-daughter;pt_V0;pt_jet;pt_leading-track ...
TH1D * fh1V0K0sPtMCRecFalse[fgkiNBinsCent]
pt-mass spectrum of successfully reconstructed K0s in event
int Int_t
Definition: External.C:63
TH1D * fh1DistanceV0JetsK0s[fgkiNBinsCent]
distance in eta-phi between jets within events
TH1D * fh1V0CandPerEvent
xy coordinates of the primary vertex
AliAnalysisTaskV0sInJetsEmcal & operator=(const AliAnalysisTaskV0sInJetsEmcal &)
TH2D * fh2ArmPodK0s[fgkiNQAIndeces]
daughters pt vs pt, in mass peak
TH1D * fh1EventCent
number of events for different selection steps and different centralities
THnSparse * fhnV0InclusiveLambda[fgkiNBinsCent]
float Float_t
Definition: External.C:68
THnSparse * fh3V0ALambdaInJetPtMassMCRec[fgkiNBinsCent]
THnSparse * fhnV0LambdaInclDaughterEtaPtPtMCRec[fgkiNBinsCent]
TH2D * fh2ArmPod[fgkiNQAIndeces]
lifetime calculated in xyz
TH2D * fh2V0K0sMCResolMPt[fgkiNBinsCent]
V0 in jets, reconstructed: charge_daughter; eta_daughter; pt_daughter; eta_V0; pt_V0; pt_jet...
TH1D * fh1DistanceV0JetsLambda[fgkiNBinsCent]
distance in eta-phi between V0 and the closest jet
TH1D * fh1QAV0DCAVtx[fgkiNQAIndeces]
charge
TH1D * fh1NJetPerEvent[fgkiNBinsCent]
pt of trigger track
THnSparse * fhnV0InRndLambda[fgkiNBinsCent]
THnSparse * fh3V0LambdaInJetEtaPtMCGen[fgkiNBinsCent]
TH2D * fh2EtaPtJet[fgkiNBinsCent]
jet eta
Definition: External.C:228
Definition: External.C:212
TH1D * fh1QAV0Charge[fgkiNQAIndeces]
pt daughter
static const Int_t fgkiCentBinRanges[fgkiNBinsCent]
THnSparse * fh3V0LambdaEtaPtMassMCRec[fgkiNBinsCent]
TH1D * fh1PhiJet[fgkiNBinsCent]
jet eta-pT
THnSparse * fh4V0LambdaInJetEtaPtMassMCRec[fgkiNBinsCent]
void FillQAHistogramV0(AliAODVertex *vtx, const AliAODv0 *vZero, Int_t iIndexHisto, Bool_t IsCandK0s, Bool_t IsCandLambda, Bool_t IsCandALambda, Bool_t IsInPeakK0s, Bool_t IsInPeakLambda, Bool_t IsInPeakALambda)
THnSparse * fhnV0NoJetALambda[fgkiNBinsCent]
TH1D * fh1DistanceJets[fgkiNBinsCent]
area of excluded cones for outside-cones V0s
TH1D * fh1QAV0DCAV0[fgkiNQAIndeces]
DCA of daughters to prim vtx.
THnSparse * fh4V0K0sInJetEtaPtMassMCRec[fgkiNBinsCent]
eta-pt spectrum of generated K0s in jet
AliJetContainer * fJetsBgCont
Signal Jets.
TH1D * fh1EventCent2Jets
number of events for different centralities
TH1D * fh1NRndConeCent
number of jets per event
TList * fOutputListCuts
Output list for quality assurance.
TH2D * fh2V0ALambdaMCResolMPt[fgkiNBinsCent]
V0 in jets, reconstructed: charge_daughter; eta_daughter; pt_daughter; eta_V0; pt_V0; pt_jet...
THnSparse * fhnV0LambdaBulkMCFD[fgkiNBinsCent]
TH2D * fh2V0K0sMCPtGenPtRec[fgkiNBinsCent]
K0s mass resolution vs pt.
THnSparse * fhnV0InPerpALambda[fgkiNBinsCent]
Bool_t Run()
Run function. This is the core function of the analysis and contains the user code. Therefore users have to implement this function.
TH1D * fh1V0CounterCentLambda[fgkiNBinsCent]
K0s generated pt vs reconstructed pt.
TH1D * fh1EventCent2NoJets
number of events for different centralities
THnSparse * fhnV0InMedALambda[fgkiNBinsCent]
THnSparse * fhnV0OutJetALambda[fgkiNBinsCent]
THnSparse * fhnV0CorrelMEK0s[fgkiNBinsCent]
V0-jet phi,eta correlations in same events, in a centrality bin, m_V0; pt_V0; eta_V0; pt_jet; delta-p...
TH2D * fh2V0ALambdaInJetPtMCGen[fgkiNBinsCent]
V0 inclusive, reconstructed: charge_daughter; eta_daughter; pt_daughter; eta_V0; pt_V0; pt_jet...
THnSparse * fhnV0InclusiveALambda[fgkiNBinsCent]
THnSparse * fhnV0InclusiveK0s[fgkiNBinsCent]
V0 invariant mass, in centrality bins.
TH2D * fh2QAV0EtaPtK0sPeak[fgkiNQAIndeces]
V0 invariant mass for each selection steps.
TH1D * fh1QAV0TPCRowsFind[fgkiNQAIndeces]
pt vs Chi2/ndf
TH1D * fh1PtJet[fgkiNBinsCent]
number of V0 cand per event
TH2D * fh2PtJetPtTrigger[fgkiNBinsCent]
pt_jet; pt of leading jet track
THnSparse * fhnV0CorrelSEK0s[fgkiNBinsCent]
pt correlations, in a centrality bin, pt_neg-daughter;pt_pos-daughter;pt_V0;pt_jet;pt_leading-track ...
TH2D * fh2QAV0EtaNCl[fgkiNQAIndeces]
clusters vs TPC rows
TH1D * fh1V0InvMassLambdaAll[fgkiNCategV0]
number of Lambda candidates after various cuts
TH1D * fh1PtTrigger[fgkiNBinsCent]
pt_jet; pt of trigger track
static Double_t fgkiZVtxMixBinRanges[fgkiNBinsZVtxMix+1]
Double_t MassPeakSigmaOld(Double_t pt, Int_t particle)
TH1D * fh1EventCent2
number of events for different centralities
Int_t GetCentralityBinIndex(Double_t centrality)
THnSparse * fhnV0K0sInclDaughterEtaPtPtMCRec[fgkiNBinsCent]
eta-pt-mass spectrum of successfully reconstructed K0s in event
TH2D * fh2QAV0PtRows[fgkiNQAIndeces]
pseudorapidity vs TPC rows
TH1D * fh1QACTau3D[fgkiNQAIndeces]
lifetime calculated in xy
THnSparse * fh3V0ALambdaInJetEtaPtMCGen[fgkiNBinsCent]
AliTrackContainer * fTracksCont
Background Jets.
THnSparse * fhnV0NoJetLambda[fgkiNBinsCent]
TH2D * fh2QAV0PtPtK0sPeak[fgkiNQAIndeces]
V0 rapidity.
TH2D * fh2V0PtJetAngleK0s[fgkiNBinsCent]
V0-jet phi,eta correlations in mixed events, in a centrality bin, m_V0; pt_V0; eta_V0; pt_jet; delta-...
void SetPoolParam(Int_t sizepool=1000, Int_t jetsperpool=1, Float_t fractionmin=1., Int_t neventsmin=0)
Base task in the EMCAL jet framework.
Represent a jet reconstructed using the EMCal jet framework.
Definition: AliEmcalJet.h:51
TH2D * fh2EventCentTracks
number of events for different centralities
TH2D * fh2QAV0EtaRows[fgkiNQAIndeces]
pseudorapidity
TH2D * fh2EtaPhiMedCone[fgkiNBinsCent]
number of found median-cluster cones in centrality bins
THnSparse * fhnV0InMedK0s[fgkiNBinsCent]
V0 in random cones, in a centrality bin, m_V0; pt_V0; eta_V0.
THnSparse * fhnV0CorrelMELambda[fgkiNBinsCent]
const char Option_t
Definition: External.C:48
THnSparse * fhnV0ALambdaInclDaughterEtaPtPtMCRec[fgkiNBinsCent]
TH2D * fh2CCLambda
K0s candidates in Lambda peak.
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)
TH2D * fh2QAV0EtaEtaK0s[fgkiNQAIndeces]
daughters pseudorapidity vs V0 pt, in mass peak
Bool_t FillHistograms()
Function filling histograms.
Bool_t OverlapWithJets(const TClonesArray *array, const AliVParticle *cone, Double_t dDistance) const
void SetCutCrossedRowsOverFindMax(Double_t val=1e3)
THnSparse * fhnV0ALambdaInclMCFD[fgkiNBinsCent]
void SetCutCrossedRowsOverFindMin(Double_t val=0.8)
bool Bool_t
Definition: External.C:53
void SetCutPtDaughterMin(Double_t val=0.150)
Container structure for EMCAL clusters.
THnSparse * fhnV0InJetALambda[fgkiNBinsCent]
THnSparse * fh4V0ALambdaInJetEtaPtMassMCRec[fgkiNBinsCent]
TH2D * fh2QAV0PhiPhiK0s[fgkiNQAIndeces]
daughters pseudorapidity vs pseudorapidity
TH1D * fh1QAV0Cos[fgkiNQAIndeces]
DCA between daughters.
THnSparse * fhnPtDaughterALambda[fgkiNBinsCent]
Double_t AreaCircSegment(Double_t dRadius, Double_t dDistance) const
TH2D * fh2QAV0PtNCls[fgkiNQAIndeces]
findable clusters
Container for jet within the EMCAL jet framework.
Bool_t IsParticleInCone(const AliVParticle *part1, const AliVParticle *part2, Double_t dRMax) const
THnSparse * fhnV0LambdaInJetsMCFD[fgkiNBinsCent]
TH2D * fh2QAV0PhiPtALambdaPeak[fgkiNQAIndeces]
Lambda candidate in peak: azimuth; pt.
TH1D * fh1QAV0Pt[fgkiNQAIndeces]
anti-Lambda candidate in peak: azimuth; pt
static bool CompareClusters(const std::vector< Double_t > cluster1, const std::vector< Double_t > cluster2)
TH1D * fh1QAV0R[fgkiNQAIndeces]
cosine of pointing angle (CPA)
THnSparse * fh3V0K0sEtaPtMassMCRec[fgkiNBinsCent]
eta-pt spectrum of all generated K0s in event
TH2D * fh2V0K0sInJetPtMCGen[fgkiNBinsCent]
V0 inclusive, reconstructed: charge_daughter; eta_daughter; pt_daughter; eta_V0; pt_V0; pt_jet...
THnSparse * fhnPtDaughterLambda[fgkiNBinsCent]
THnSparse * fhnV0LambdaInclMCFD[fgkiNBinsCent]
TH1D * fh1QAV0Eta[fgkiNQAIndeces]
ratio rows/clusters
THnSparse * fhnV0OutJetK0s[fgkiNBinsCent]
V0 in medium cones, in a centrality bin, m_V0; pt_V0; eta_V0.
TH1D * fh1QAV0TPCFindable[fgkiNQAIndeces]
crossed TPC pad rows