1 #ifndef AliAnalysisTaskV0sInJets_cxx 2 #define AliAnalysisTaskV0sInJets_cxx 17 #include "AliAnalysisTaskSE.h" 18 #include "THnSparse.h" 64 static bool CompareClusters(
const std::vector<Double_t> cluster1,
const std::vector<Double_t> cluster2);
static const Int_t fgkiNQAIndeces
TH1D * fh1V0ALambdaPtMCRecFalse[fgkiNBinsCent]
void SetJetBranchName(char *line)
Bool_t IsParticleInCone(const AliVParticle *part1, const AliVParticle *part2, Double_t dRMax) const
THnSparseD * fhnV0ALambdaInJetsMCFD[fgkiNBinsCent]
TH1D * fh1V0CandPerEventCentALambda[fgkiNBinsCent]
TList * fOutputListMC
Output list for checking cuts.
THnSparse * fh3V0ALambdaEtaPtMassMCRec[fgkiNBinsCent]
TH1D * fh1V0AXiPtMCGen[fgkiNBinsCent]
TH1D * fh1QAV0R[fgkiNQAIndeces]
cosine of pointing angle (CPA)
Int_t GetCentralityBinIndex(Double_t centrality)
THnSparse * fh3V0K0sInJetPtMassMCRec[fgkiNBinsCent]
pt spectrum of generated K0s in jet
THnSparse * fhnV0OutJetK0s[fgkiNBinsCent]
V0 invariant mass vs V0 pt vs jet pt, in centrality bins.
THnSparse * fhnV0ALambdaInclDaughterEtaPtPtMCRec[fgkiNBinsCent]
TH1D * fh1NMedConeCent
random cone eta-pT
TH1D * fh1DCAOutALambda[fgkiNBinsCent]
THnSparse * fhnV0InPerpK0s[fgkiNBinsCent]
V0 invariant mass vs V0 pt vs jet pt, in centrality bins.
TH2D * fh2V0LambdaPtMassMCRec[fgkiNBinsCent]
TH2D * fh2QAV0EtaPtALambdaPeak[fgkiNQAIndeces]
THnSparse * fhnV0InJetK0s[fgkiNBinsCent]
V0 inv mass vs pt before and after cuts, in centrality bins.
static const Int_t fgkiNBinsPtV0Init
THnSparse * fhnV0K0sInJetsDaughterEtaPtPtMCRec[fgkiNBinsCent]
mass-eta-pt spectrum of successfully reconstructed K0s in jet
static const Int_t fgkiNBinsMassK0s
THnSparse * fhnV0InRndALambda[fgkiNBinsCent]
THnSparse * fh3CCMassCorrelKNotL
mass correlation of candidates
TH1D * fh1V0K0sPtMCGen[fgkiNBinsCent]
DCA between daughters of V0 outside jets, in centrality bins.
TH2D * fh2QAV0PtRows[fgkiNQAIndeces]
pseudorapidity vs TPC rows
AliAODEvent * fAODOut
Input AOD event.
TH1D * fh1V0CounterCentALambda[fgkiNBinsCent]
virtual void Terminate(Option_t *)
TH1D * fh1DCAInLambda[fgkiNBinsCent]
TH1D * fh1V0LambdaPtMCRecFalse[fgkiNBinsCent]
THnSparse * fhnV0InMedLambda[fgkiNBinsCent]
TH1D * fh1PhiJet[fgkiNBinsCent]
jet eta-pT
void SetCutNTauMax(Double_t val=5.)
void SetCutNSigmadEdxMax(Double_t val=3.)
void SetJetRadius(Double_t r=0.4)
TList * fOutputListStd
Output AOD event.
static const Double_t fgkdBinsPtJet[2]
virtual void UserExec(Option_t *option)
TH2D * fh2ArmPodALambda[fgkiNQAIndeces]
TH1D * fh1V0CandPerEventCentLambda[fgkiNBinsCent]
static const Int_t fgkiNBinsPtV0
THnSparse * fh3V0LambdaEtaPtMassMCRec[fgkiNBinsCent]
TList * fOutputListQA
Output list for standard analysis results.
static bool CompareClusters(const std::vector< Double_t > cluster1, const std::vector< Double_t > cluster2)
TH1D * fh1NJetPerEvent[fgkiNBinsCent]
jet phi
THnSparse * fh3V0K0sInJetEtaPtMCGen[fgkiNBinsCent]
mass-pt spectrum of successfully reconstructed K0s in jet
static const Double_t fgkdMassK0sMax
Bool_t OverlapWithJets(const TClonesArray *array, const AliVParticle *cone, Double_t dDistance) const
TH1D * fh1QAV0Pt[fgkiNQAIndeces]
TH1D * fh1V0ALambdaPtMCRec[fgkiNBinsCent]
THnSparseD * fhnV0ALambdaBulkMCFD[fgkiNBinsCent]
THnSparse * fh4V0ALambdaInJetEtaPtMassMCRec[fgkiNBinsCent]
static const Int_t fgkiNBinsMassLambda
static const Double_t fgkdMassLambdaMax
TH1D * fh1V0InvMassLambdaCent[fgkiNBinsCent]
TH1D * fh1QAV0TPCFindable[fgkiNQAIndeces]
crossed TPC pad rows
THnSparseD * fhnV0LambdaInclMCFD[fgkiNBinsCent]
TH2D * fh2CCLambda
K0s candidates in Lambda peak.
TH1D * fh1V0InvMassK0sAll[fgkiNCategV0]
number of K0s candidates after various cuts
TH2D * fh2V0PtJetAngleLambda[fgkiNBinsCent]
AliAODJet * GetRandomCone(const TClonesArray *array, Double_t dEtaConeMax, Double_t dDistance) const
TH1D * fh1EventCent
number of events for different selection steps and different centralities
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 * fh2V0ALambdaInJetPtMCRec[fgkiNBinsCent]
TH1D * fh1QAV0DCAVtx[fgkiNQAIndeces]
charge
TH2D * fh2ArmPodLambda[fgkiNQAIndeces]
Double_t fdCutVertexZ
random-number generator
THnSparse * fhnV0InRndK0s[fgkiNBinsCent]
V0 invariant mass vs V0 pt vs jet pt, in centrality bins.
THnSparseD * fhnV0LambdaInJetsMCFD[fgkiNBinsCent]
THnSparse * fh3V0LambdaInJetEtaPtMCGen[fgkiNBinsCent]
TH1D * fh1QAV0Status[fgkiNQAIndeces]
TH1D * fh1DCAOutLambda[fgkiNBinsCent]
THnSparse * fh3CCMassCorrelLNotK
mass correlation of candidates
TH1D * fh1V0ALambdaPtMCGen[fgkiNBinsCent]
THnSparse * fhnV0InJetLambda[fgkiNBinsCent]
THnSparse * fhnV0NoJetALambda[fgkiNBinsCent]
void SetCutCPAMin(Double_t val=0.998)
TH1D * fh1VtxZ[fgkiNBinsCent]
number of tracks vs centrality
TH1D * fh1V0InvMassLambdaAll[fgkiNCategV0]
number of Lambda candidates after various cuts
static const Int_t fgkiNBinsCent
TH2D * fh2V0ALambdaInJetPtMCGen[fgkiNBinsCent]
eta_daughter-pt_daughter-pt_V0 reconstructed
TH2D * fh2QAV0PtPtK0sPeak[fgkiNQAIndeces]
V0 rapidity.
Double_t AreaCircSegment(Double_t dRadius, Double_t dDistance) const
TH1D * fh1PtJet[fgkiNBinsCent]
number of V0 cand per event
TH1D * fh1V0CandPerEventCentK0s[fgkiNBinsCent]
Armenteros-Podolanski.
TH2D * fh2QAV0NClRows[fgkiNQAIndeces]
azimuth vs TPC rows
TH2D * fh2V0K0sMCPtGenPtRec[fgkiNBinsCent]
K0s mass resolution vs pt.
TH2D * fh2V0K0sPtMassMCRec[fgkiNBinsCent]
pt spectrum of all generated K0s in event
THnSparse * fhnV0OutJetALambda[fgkiNBinsCent]
THnSparse * fh4V0LambdaInJetEtaPtMassMCRec[fgkiNBinsCent]
static const Int_t fgkiNBinsPtJet
TH1D * fh1DCAInK0s[fgkiNBinsCent]
pt jet vs angle V0-jet, in centrality bins
static const Int_t fgkiNCategV0
area of excluded cones for outside-cones V0s
TH2D * fh2V0K0sInJetPtMCGen[fgkiNBinsCent]
eta_daughter-pt_daughter-pt_V0 reconstructed
THnSparse * fhnV0InclusiveK0s[fgkiNBinsCent]
V0 invariant mass, in centrality bins.
void SetCuts(Double_t z=10, Double_t r=1, Double_t cL=0, Double_t cH=80)
THnSparse * fhnV0InclusiveLambda[fgkiNBinsCent]
TH2D * fh2EtaPhiRndCone[fgkiNBinsCent]
number of generated random cones in centrality bins
TH2D * fh2V0ALambdaPtMassMCRec[fgkiNBinsCent]
TH1D * fh1V0ALambdaPt[fgkiNBinsCent]
Double_t fdCutDCAToPrimVtxMin
virtual void UserCreateOutputObjects()
TH1D * fh1V0XiPtMCGen[fgkiNBinsCent]
THnSparse * fhnV0InMedALambda[fgkiNBinsCent]
TH1D * fh1QAV0RapALambda[fgkiNQAIndeces]
THnSparse * fh3CCMassCorrelBoth
Lambda candidates in K0s peak.
TH1D * fh1QACTau3D[fgkiNQAIndeces]
lifetime calculated in xy
TH1D * fh1NRndConeCent
number of jets per event
Double_t fdCutDCADaughtersMax
TH2D * fh2QAV0PtPtALambdaPeak[fgkiNQAIndeces]
THnSparse * fhnV0InPerpALambda[fgkiNBinsCent]
TH2D * fh2ArmPod[fgkiNQAIndeces]
lifetime calculated in xyz
TH2D * fh2V0K0sMCResolMPt[fgkiNBinsCent]
eta_daughter-pt_daughter-pt_V0 reconstructed
void SetJetSelection(Bool_t select=kTRUE)
THnSparse * fhnV0LambdaInclDaughterEtaPtPtMCRec[fgkiNBinsCent]
void SetIsPbPb(Bool_t val=1)
TH2D * fh2QAV0EtaEtaK0s[fgkiNQAIndeces]
daughters pseudorapidity vs V0 pt, in mass peak
THnSparse * fhnV0InclusiveALambda[fgkiNBinsCent]
THnSparse * fhnV0InPerpLambda[fgkiNBinsCent]
THnSparse * fhnV0OutJetLambda[fgkiNBinsCent]
void SetPtTrackMin(Double_t ptMin=0)
TH1D * fh1QACTau2D[fgkiNQAIndeces]
radial distance between prim vtx and decay vertex
TH2D * fh2QAV0PtPtLambdaPeak[fgkiNQAIndeces]
TH2D * fh2EtaPtJet[fgkiNBinsCent]
jet eta
void SetCutDCADaughtersMax(Double_t val=1.)
void SetMCAnalysis(Bool_t select=kTRUE)
TH1D * fh1AreaExcluded
median-cluster cone eta-phi
TH2D * fh2QAV0PhiRows[fgkiNQAIndeces]
pt vs TPC rows
Int_t fiAODAnalysis
Output list for MC related results.
THnSparse * fhnV0NoJetK0s[fgkiNBinsCent]
V0 invariant mass vs V0 pt, in centrality bins.
void SetPtJetMin(Double_t ptMin=0)
THnSparse * fh4V0K0sInJetEtaPtMassMCRec[fgkiNBinsCent]
eta-pt spectrum of generated K0s in jet
virtual ~AliAnalysisTaskV0sInJets()
Double_t fdCutNSigmadEdxMax
TH2D * fh2V0LambdaEtaPtMCGen[fgkiNBinsCent]
THnSparse * fhnV0LambdaInJetsDaughterEtaPtPtMCRec[fgkiNBinsCent]
static const Int_t fgkiCentBinRanges[fgkiNBinsCent]
TH2D * fh2QAV0EtaEtaALambda[fgkiNQAIndeces]
void SetJetRadiusBg(Double_t r=0.4)
THnSparse * fhnV0NoJetLambda[fgkiNBinsCent]
TH1D * fh1QAV0DCAV0[fgkiNQAIndeces]
DCA of daughters to prim vtx.
void SetJetBgBranchName(char *line)
THnSparseD * fhnV0LambdaBulkMCFD[fgkiNBinsCent]
TH2D * fh2V0LambdaInJetPtMCGen[fgkiNBinsCent]
eta_daughter-pt_daughter-pt_V0 reconstructed
TH1D * fh1QAV0RapLambda[fgkiNQAIndeces]
TH2D * fh2QAV0PhiPhiLambda[fgkiNQAIndeces]
TH1D * fh1QAV0Cos[fgkiNQAIndeces]
DCA between daughters.
TH2D * fh2V0PtJetAngleK0s[fgkiNBinsCent]
V0 invariant mass vs V0 pt, in centrality bins.
TH2D * fh2EtaPhiMedCone[fgkiNBinsCent]
number of found median-cluster cones in centrality bins
TH2D * fh2QAV0EtaEtaLambda[fgkiNQAIndeces]
THnSparse * fhnV0InJetALambda[fgkiNBinsCent]
TH2D * fh2V0PtJetAngleALambda[fgkiNBinsCent]
TH1D * fh1V0CandPerEvent
xy coordinates of the primary vertex
TH1D * fh1DCAOutK0s[fgkiNBinsCent]
DCA between daughters of V0 inside jets, in centrality bins.
TH2D * fh2QAV0PhiPhiALambda[fgkiNQAIndeces]
static const Double_t fgkdBinsPtV0[2]
TH1D * fh1V0LambdaPtMCGen[fgkiNBinsCent]
TH1D * fh1EventCent2Jets
number of events for different centralities
AliAnalysisTaskV0sInJets()
Double_t MassPeakSigmaOld(Double_t pt, Int_t particle)
THnSparse * fhnV0InMedK0s[fgkiNBinsCent]
V0 invariant mass vs V0 pt vs jet pt, in centrality bins.
TH1D * fh1EtaJet[fgkiNBinsCent]
pt spectra of jets for normalisation of in-jet V0 spectra
TH1D * fh1QAV0TPCRowsFind[fgkiNQAIndeces]
findable clusters
TH1D * fh1EventCent2NoJets
number of events for different centralities
TH1D * fh1V0InvMassALambdaAll[fgkiNCategV0]
number of ALambda candidates after various cuts
void SetTypeAOD(Int_t type=1)
TH1D * fh1QAV0RapK0s[fgkiNQAIndeces]
daughters azimuth vs azimuth
TH1D * fh1V0InvMassK0sCent[fgkiNBinsCent]
number of K0s candidates per event, in centrality bins
TString GetCentBinLabel(Int_t index)
THnSparse * fh3V0LambdaInJetPtMassMCRec[fgkiNBinsCent]
TH2D * fh2CCK0s
Armenteros-Podolanski.
static const Double_t fgkdMassK0sMin
TH1D * fh1V0K0sPtMCRecFalse[fgkiNBinsCent]
pt-mass spectrum of successfully reconstructed K0s in event
Int_t GetCentralityBinEdge(Int_t index)
TList * fOutputListCuts
Output list for quality assurance.
TH2D * fh2V0ALambdaMCResolMPt[fgkiNBinsCent]
eta_daughter-pt_daughter-pt_V0 reconstructed
TH2D * fh2ArmPodK0s[fgkiNQAIndeces]
daughters pt vs pt, in mass peak
void FillQAHistogramV0(AliAODVertex *vtx, const AliAODv0 *vZero, Int_t iIndexHisto, Bool_t IsCandK0s, Bool_t IsCandLambda, Bool_t IsInPeakK0s, Bool_t IsInPeakLambda)
TH2D * fh2QAV0EtaPtK0sPeak[fgkiNQAIndeces]
V0 invariant mass, selection steps.
THnSparse * fhnV0K0sInclDaughterEtaPtPtMCRec[fgkiNBinsCent]
eta-pt-mass spectrum of successfully reconstructed K0s in event
TH1D * fh1V0CounterCentLambda[fgkiNBinsCent]
K0s generated pt vs reconstructed pt.
THnSparseD * fhnV0ALambdaInclMCFD[fgkiNBinsCent]
TH2D * fh2VtxXY[fgkiNBinsCent]
z coordinate of the primary vertex
TString fsJetBgBranchName
THnSparse * fh3V0ALambdaInJetEtaPtMCGen[fgkiNBinsCent]
TH2D * fh2V0ALambdaEtaPtMCGen[fgkiNBinsCent]
THnSparse * fhnV0ALambdaInJetsDaughterEtaPtPtMCRec[fgkiNBinsCent]
TH1D * fh1QAV0Eta[fgkiNQAIndeces]
ratio rows/clusters
TH1D * fh1V0CounterCentK0s[fgkiNBinsCent]
pseudorapidity vs clusters
AliAODJet * GetMedianCluster(const TClonesArray *array, Double_t dEtaConeMax) const
TH2D * fh2V0LambdaMCPtGenPtRec[fgkiNBinsCent]
TH1D * fh1V0InvMassALambdaCent[fgkiNBinsCent]
THnSparse * fhnV0InRndLambda[fgkiNBinsCent]
TH1D * fh1EventCounterCut
TH2D * fh2V0ALambdaMCPtGenPtRec[fgkiNBinsCent]
TH1D * fh1QAV0Charge[fgkiNQAIndeces]
pt
TH2D * fh2QAV0EtaNCl[fgkiNQAIndeces]
clusters vs TPC rows
TH1D * fh1QAV0TPCRefit[fgkiNQAIndeces]
online vs offline reconstructed V0 candidates
TH1D * fh1EventCounterCutCent[fgkiNBinsCent]
number of events for different selection steps
TH1D * fh1QAV0TPCRows[fgkiNQAIndeces]
TPC refit on vs off.
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.)
static const Double_t fgkdMassLambdaMin
THnSparse * fh3V0K0sEtaPtMassMCRec[fgkiNBinsCent]
eta-pt spectrum of all generated K0s in event
TH2D * fh2QAV0EtaRows[fgkiNQAIndeces]
pseudorapidity
TH1D * fh1EventCent2
number of events for different centralities
TH2D * fh2QAV0PhiPhiK0s[fgkiNQAIndeces]
daughters pseudorapidity vs pseudorapidity
static const Int_t fgkiNBinsPtJetInit
TH1D * fh1DCAInALambda[fgkiNBinsCent]
TH2D * fh2V0LambdaMCResolMPt[fgkiNBinsCent]
eta_daughter-pt_daughter-pt_V0 reconstructed
TH2D * fh2QAV0EtaPtLambdaPeak[fgkiNQAIndeces]
TH2D * fh2V0K0sEtaPtMCGen[fgkiNBinsCent]
pt spectrum of false reconstructed K0s in event
AliAnalysisTaskV0sInJets & operator=(const AliAnalysisTaskV0sInJets &)
TH2D * fh2EventCentTracks
number of events for different centralities
void SetCutDCAToPrimVtxMin(Double_t val=0.1)
THnSparse * fh3V0ALambdaInJetPtMassMCRec[fgkiNBinsCent]