1 #ifndef ALIVERTEXINGHFUTILS_H
2 #define ALIVERTEXINGHFUTILS_H
19 #include "AliAODTrack.h"
20 #include "AliAODRecoDecay.h"
25 class AliAODMCParticle;
27 class AliGenEventHeader;
43 static void ComputeSignificance(Double_t signal, Double_t errsignal, Double_t background, Double_t errbackground, Double_t &significance,Double_t &errsignificance);
53 Double_t
Pol(Double_t x)
const {
return Pol(x,
fK);}
56 static Double_t
FindChi(Double_t res, Int_t k=1);
57 static Double_t
Pol(Double_t x, Int_t k);
58 static Double_t
ResolK1(Double_t x);
60 if(hSubEvCorr)
return TMath::Sqrt(hSubEvCorr->GetMean());
64 if(hSubEvCorr)
return TMath::Sqrt(hSubEvCorr->GetMean()-hSubEvCorr->GetMeanError());
68 if(hSubEvCorr)
return TMath::Sqrt(hSubEvCorr->GetMean()+hSubEvCorr->GetMeanError());
75 static TString
GetGenerator(Int_t label, AliAODMCHeader* header);
76 Bool_t
IsTrackInjected(AliAODTrack *track,AliAODMCHeader *header,TClonesArray *arrayMC);
98 static void AveragePt(Float_t& averagePt, Float_t& errorPt, Float_t
ptmin, Float_t
ptmax, TH2F* hMassD, Float_t massFromFit, Float_t sigmaFromFit, TF1* funcB2, Float_t sigmaRangeForSig=2.5, Float_t sigmaRangeForBkg=4.5, Float_t
minMass=0., Float_t
maxMass=3., Int_t
rebin=1);
107 static Double_t
GetCorrectedNtracklets(TProfile* estimatorAvg, Double_t uncorrectedNacc, Double_t vtxZ, Double_t refMult);
109 static Int_t
CheckOrigin(TClonesArray* arrayMC, AliAODMCParticle *mcPart, Bool_t searchUpToQuark=kTRUE);
110 static Int_t
CheckOrigin(AliStack* stack, TParticle *mcPart, Bool_t searchUpToQuark=kTRUE);
111 static Double_t
GetBeautyMotherPt(TClonesArray* arrayMC, AliAODMCParticle *mcPart);
112 static Int_t
CheckD0Decay(AliStack* stack, Int_t label, Int_t* arrayDauLab);
113 static Int_t
CheckD0Decay(TClonesArray* arrayMC, AliAODMCParticle *mcPart, Int_t* arrayDauLab);
114 static Int_t
CheckDplusDecay(AliStack* stack, Int_t label, Int_t* arrayDauLab);
115 static Int_t
CheckDplusDecay(TClonesArray* arrayMC, AliAODMCParticle *mcPart, Int_t* arrayDauLab);
118 static Int_t
CheckDsDecay(AliStack* stack, Int_t label, Int_t* arrayDauLab);
119 static Int_t
CheckDsDecay(TClonesArray* arrayMC, AliAODMCParticle *mcPart, Int_t* arrayDauLab);
120 static Int_t
CheckDsK0sKDecay(AliStack* stack, Int_t label, Int_t* arrayDauLab);
121 static Int_t
CheckDstarDecay(AliStack* stack, Int_t label, Int_t* arrayDauLab);
122 static Int_t
CheckDstarDecay(TClonesArray* arrayMC, AliAODMCParticle *mcPart, Int_t* arrayDauLab);
123 static Int_t
CheckLcpKpiDecay(AliStack* stack, Int_t label, Int_t* arrayDauLab);
static void AveragePt(Float_t &averagePt, Float_t &errorPt, Float_t ptmin, Float_t ptmax, TH2F *hMassD, Float_t massFromFit, Float_t sigmaFromFit, TF1 *funcB2, Float_t sigmaRangeForSig=2.5, Float_t sigmaRangeForBkg=4.5, Float_t minMass=0., Float_t maxMass=3., Int_t rebin=1)
Functions for computing average pt.
static Int_t CheckDplusDecay(AliStack *stack, Int_t label, Int_t *arrayDauLab)
void SetSubEventHisto(const TH1F *hSub)
static Int_t CheckDstarDecay(AliStack *stack, Int_t label, Int_t *arrayDauLab)
static TString GetGenerator(Int_t label, AliAODMCHeader *header)
static Int_t CheckDsDecay(AliStack *stack, Int_t label, Int_t *arrayDauLab)
Int_t GetNumberOfTrackletsInEtaRange(AliAODEvent *ev) const
Double_t Pol(Double_t x) const
static Int_t CheckLcpKpiDecay(AliStack *stack, Int_t label, Int_t *arrayDauLab)
static Double_t GetFullEvResolLowLim(const TH1F *hSubEvCorr, Int_t k=1)
void SetK(Int_t k)
Functions for Event plane resolution.
static Int_t CheckOrigin(TClonesArray *arrayMC, AliAODMCParticle *mcPart, Bool_t searchUpToQuark=kTRUE)
void GetTrackPrimaryGenerator(AliAODTrack *track, AliAODMCHeader *header, TClonesArray *arrayMC, TString &nameGen)
Double_t fMinEtaForTracklets
sub-event resolution = sqrt(<cos[n(phiA-phiB)] >)
virtual ~AliVertexingHFUtils()
Double_t fSubRes
ratio of measured harmonic to event plane harmonic
static Int_t CheckXicXipipiDecay(AliStack *stack, Int_t label, Int_t *arrayDauLab)
Double_t fMaxEtaForTracklets
min eta for counting tracklets
static Double_t GetVZEROCEqualizedMultiplicity(AliAODEvent *ev)
static Int_t CheckLcV0bachelorDecay(AliStack *stack, Int_t label, Int_t *arrayDauLab)
static Double_t GetFullEvResolHighLim(const TH1F *hSubEvCorr, Int_t k=1)
static Double_t ResolK1(Double_t x)
static Int_t GetNumberOfTrackletsInEtaRange(AliAODEvent *ev, Double_t mineta, Double_t maxeta)
Double_t GetFullEvResol() const
static Bool_t CheckT0TriggerFired(AliAODEvent *aodEv)
Functions for processing trigger information.
static Int_t CheckD0Decay(AliStack *stack, Int_t label, Int_t *arrayDauLab)
static Int_t CheckDsK0sKDecay(AliStack *stack, Int_t label, Int_t *arrayDauLab)
static Double_t GetSubEvResolLowLim(const TH1F *hSubEvCorr)
static Int_t CheckDplusKKpiDecay(AliStack *stack, Int_t label, Int_t *arrayDauLab)
Bool_t HasCascadeCandidateAnyDaughInjected(AliAODRecoCascadeHF *cand, AliAODMCHeader *header, TClonesArray *arrayMC)
Bool_t IsCandidateInjected(AliAODRecoDecayHF *cand, AliAODMCHeader *header, TClonesArray *arrayMC)
static Double_t GetSubEvResol(const TH1F *hSubEvCorr)
static Int_t CheckDplusK0spiDecay(AliStack *stack, Int_t label, Int_t *arrayDauLab)
static Double_t GetBeautyMotherPt(TClonesArray *arrayMC, AliAODMCParticle *mcPart)
static void ComputeSignificance(Double_t signal, Double_t errsignal, Double_t background, Double_t errbackground, Double_t &significance, Double_t &errsignificance)
Significance calculator.
static Double_t GetCorrectedNtracklets(TProfile *estimatorAvg, Double_t uncorrectedNacc, Double_t vtxZ, Double_t refMult)
void SetSubEvResol(Double_t res)
Double_t GetSubEvResol() const
Bool_t IsTrackInjected(AliAODTrack *track, AliAODMCHeader *header, TClonesArray *arrayMC)
static Int_t GetGeneratedPhysicalPrimariesInEtaRange(TClonesArray *arrayMC, Double_t mineta, Double_t maxeta)
static Double_t GetVZEROAEqualizedMultiplicity(AliAODEvent *ev)
Utilities for V0 multiplicity checks.
static Double_t GetTrueImpactParameterDzero(AliAODMCHeader *mcHeader, TClonesArray *arrayMC, AliAODMCParticle *partDp)
Functions for computing true impact parameter of D meson.
void SetEtaRangeForTracklets(Double_t mineta, Double_t maxeta)
Functions for tracklet multiplcity calculation.
static Double_t GetSubEvResolHighLim(const TH1F *hSubEvCorr)
static Double_t GetTrueImpactParameterDplus(AliAODMCHeader *mcHeader, TClonesArray *arrayMC, AliAODMCParticle *partDp)
static Int_t GetGeneratedMultiplicityInEtaRange(TClonesArray *arrayMC, Double_t mineta, Double_t maxeta)
static Int_t GetGeneratedPrimariesInEtaRange(TClonesArray *arrayMC, Double_t mineta, Double_t maxeta)
Class with functions useful for different D2H analyses //.