5 #ifndef AliAnalysisTaskJetV3_H
6 #define AliAnalysisTaskJetV3_H
17 #include <AliVEvent.h>
18 #include <AliVParticle.h>
19 #include <AliVCluster.h>
20 #include <TClonesArray.h>
55 Bool_t baseClassHistos = kFALSE);
65 TH2F*
BookTH2F(
const char* name,
const char* x,
const char* y,
Int_t binsx,
Double_t minx,
Double_t maxx,
Int_t binsy,
Double_t miny,
Double_t maxy,
Int_t c = -1,
Bool_t append = kTRUE);
66 TH3F*
BookTH3F(
const char* name,
const char* x,
const char* y,
const char* z,
Int_t binsx,
Double_t minx,
Double_t maxx,
Int_t binsy,
Double_t miny,
Double_t maxy,
Int_t binsz,
Double_t minz,
Double_t maxz,
Int_t c = -1,
Bool_t append = kTRUE);
68 while (x>=TMath::TwoPi())x-=TMath::TwoPi();
69 while (x<0.)x+=TMath::TwoPi();
73 if(TMath::Nint(n)==2)
while (x>TMath::Pi()) x-=TMath::Pi();
74 if(TMath::Nint(n)==3) {
75 if(x>2.*TMath::TwoPi()/n) x = TMath::TwoPi() - x;
76 if(x>TMath::TwoPi()/n) x = TMath::TwoPi()-(x+TMath::TwoPi()/n);
80 return (dPhi < -1.*TMath::Pi()/4. || dPhi > TMath::Pi()/4.); }
82 Double_t n(ndf/2.), denom(TMath::Power(2, n)*TMath::Gamma(n));
83 if (denom!=0)
return ((1./denom)*TMath::Power(x, n-1)*TMath::Exp(-x/2.));
90 for(
Int_t i(0); i < histo.GetXaxis()->GetNbins(); i++) {
91 if(histo.GetBinContent(i+1) <= 0.)
continue;
92 chi2 += TMath::Power((histo.GetBinContent(i+1)-func->Eval(histo.GetXaxis()->GetBinCenter(1+i))), 2)/histo.GetBinContent(i+1);
static Double_t ChiSquareCDF(Int_t ndf, Double_t x)
collisionType fCollisionType
void SetModulationFitType(fitModulationType type)
Double_t fSemiGoodJetMinPhi
TH2F * fHistRunnumbersPhi
QA profile of centralty vs multiplicity.
Float_t fMeanQ[9][2][2]
event plane dependence of jet pt vs rho_0
Int_t fRunNumberCaliInfo
current runnumber (for QA and jet, track selection)
void CalculateQvectorCombinedVZERO(Double_t Q2[2], Double_t Q3[2]) const
static Double_t CalculateEventPlaneChi(Double_t res)
AliLocalRhoParameter * GetLocalRhoParameter() const
TH1 * fMQ[2][2][2]
recentering
AliRhoParameter * fCachedRho
TProfile * GetResolutionParameters(Int_t h, Int_t c) const
TList * fOutputListGood
output list
TH2F * fHistDeltaPtDeltaPhi3[10]
rcpt
void SetUsePtWeight(Bool_t w)
TH2F * fHistJetEtaRho[10]
jet pt versus number of constituents
TH2F * fHistLeadingJetBackground[10]
correlation of event planes
Double_t fSemiGoodTrackMinPhi
TH2F * fHistRhoAVsMult
rho veruss centrality
void SetExcludeJetsWithTrackPt(Float_t n)
TH1F * GetResolutionFromOutputFile(detectorType detector, Int_t h=2, TArrayD *c=0x0)
TF1 * fFitModulation
centrality bin
analysisType fAnalysisType
TH2F * fHistRhoStatusCent
p value vs kolmogorov value
void SetMaxNoRandomCones(Int_t m)
TH2F * fHistTriggerQAIn[10]
eta phi emcal clusters, pt weighted
Int_t fMappedRunNumber
runnumber of the cached calibration info
void SetSigma3VZEROA(TArrayD *a)
void SetModulationFit(TF1 *fit)
Float_t fReduceBinsXByFactor
AliVParticle * GetLeadingTrack(AliEmcalJet *jet)
TH2F * fHistChi2ROOTCent
p value versus centrlaity from root
Bool_t fAcceptanceWeights
Bool_t PassesCuts(AliVParticle *track) const
AliJetContainer * GetJetContainer(Int_t i=0) const
void FillAnalysisSummaryHistogram() const
void SetFillHistograms(Bool_t b)
TH2F * fHistPvalueCDFROOTCent
pdf value of chisquare p
Double_t CalculateQC2(Int_t harm)
void SetNoEventWeightsForQC(Bool_t e)
TH2F * fHistJetEtaPhi[10]
jet pt before area cut
TH2F * fHistClusterEtaPhiWeighted[10]
eta phi emcal clusters
TH1F * fHistVertexz
centrality versus perc lost
void ReadVZEROCalibration2011h()
Bool_t CorrectRho(Double_t psi2, Double_t psi3)
void FillWeightedClusterHistograms() const
void ReadVZEROCalibration2010h()
void SetReferenceDetector(detectorType type)
Bool_t fUsePtWeightErrorPropagation
TH1F * fHistJetPtRaw[10]
dpt vs dphi, excl leading jet, rho_0
static void DoSimpleSimulation(Int_t nEvents=100000, Float_t v2=0.02, Float_t v3=0.04, Float_t v4=0.03)
Container with name, TClonesArray and cuts for particles.
void SetUse2DIntegration(Bool_t k)
TH1F * fHistPvalueCDFROOT
calibration info per runnumber
void SetAnalysisType(analysisType type)
TProfile * fProfV2
swap histogram
void FillQAHistograms(AliVTrack *vtrack) const
TH1F * fEventPlaneWeights[10]
TH2F * fHistJetPtConstituents[10]
jet pt versus eta (temp control)
Bool_t fAttachToEvent
is the analysis initialized?
TH2F * fHistRhoVsRCPt[10]
random cone eta and phi
TH2F * fHistPsiVZEROATRK
psi 2 from tpc
Bool_t PassesCuts(AliEmcalJet *jet)
void SetRunModeType(runModeType type)
void SetCentralityClasses(TArrayD *c)
AliEmcalJet * GetLeadingJet(AliLocalRhoParameter *localRho=0x0)
Bool_t fNoEventWeightsForQC
TH2F * fHistClusterEtaPhi[10]
pt emcal clusters
void SetMinDistanceRctoLJ(Float_t m)
Bool_t AcceptCluster(AliVCluster *clus, Int_t c=0) const
Int_t fInCentralitySelection
mapped runnumer (for QA)
virtual ~AliAnalysisTaskJetV3()
TH1F * fHistUndeterminedRunQA
status of rho as function of centrality
TH1F * fHistEPBC
fHistMultVsCellBC
void FillWeightedQAHistograms(AliVTrack *vtrack) const
static void NumericalOverlap(Double_t x1, Double_t x2, Double_t psi2, Double_t &percIn, Double_t &percOut, Double_t &percLost)
Float_t fExcludeJetsWithTrackPt
TH2F * fHistDeltaPtDeltaPhi3ExLJRho0[10]
dpt vs dphi, excl leading jet
TH1F * BookTH1F(const char *name, const char *x, Int_t bins, Double_t min, Double_t max, Int_t c=-1, Bool_t append=kTRUE)
void SetOutputList(TList *l)
TH2F * fHistPKolmogorov
KolmogorovTest value, centrality correlation.
TH2F * fHistKolmogorovTestCent
KolmogorovTest value.
TH1F * fHistJetPt[10]
jet pt - no background subtraction
static Double_t ChiSquare(TH1 &histo, TF1 *func)
TH2F * fHistRhoVsCent
rho versus multiplicity
TH2F * fHistPvalueCDFCent
cdf value of chisquare p
void CalculateEventPlaneTPC(Double_t *tpc)
static void PrintTriggerSummary(UInt_t trigger)
static Bool_t IsInPlane(Double_t dPhi)
void FillWeightedTrackHistograms() const
TProfile * fProfV3Cumulant
extracted v3
void SetEventPlaneWeights(TH1F *ep, Int_t c)
void CalculateEventPlaneVZERO(Double_t vzero[2][2]) const
void SetSemiGoodJetMinMaxPhi(Double_t a, Double_t b)
void SetChi3VZEROA(TArrayD *a)
void CalculateEventPlaneResolution(Double_t vzero[2][2], Double_t *vzeroComb, Double_t *tpc)
void SetSaveThisPercentageOfFits(Float_t p)
TH2F * fHistRCPhiEta[10]
rho vs eta before cuts
static Double_t PhaseShift(Double_t x)
TH2F * fHistRhoAVsCent
rho * A vs multiplicity for all jets
TH1I * fHistRunnumbersCaliInfo
run numbers averaged eta
void SetChi3VZEROC(TArrayD *a)
TH2F * fHistEPCorrAvSigma[10]
ep corr
TH2F * fHistDeltaPtDeltaPhi3ExLJ[10]
rcpt, excl leading jet
void SetIntegratedFlow(TH1F *i, TH1F *j)
TH1F * fHistSwap
analysis summary
TH2F * fHistMultCorAfterCuts
accepted verte
void SetUseControlFit(Bool_t c)
TProfile * fHistCentralityPercOut
centrality versus perc in
TH2F * fHistPicoCat1[10]
multiplicity of accepted pico tracks
TH2F * fHistJetPsi3Pt[10]
jet eta versus rho
TString fLocalRhoName
name for local rho
static TH1F * GetEventPlaneWeights(TH1F *hist, Int_t c)
void SetEPWeightForVZERO(EPweightType type)
void SetGoodnessTest(fitGoodnessTest test)
TH3F * fHistPsiTPCLeadingJet[10]
same qa lot
Double_t GetWDist(const AliVVertex *v0, const AliVVertex *v1)
void ReadVZEROCalibration2015o()
TH3F * fHistEPCorrelations[10]
psi 2 from tpc
void FillWeightedTriggerQA(Double_t dPhi, Double_t pt, UInt_t trigger)
TH2F * fHistPsiVZEROTRK
psi 2 from vzero c
virtual Bool_t AcceptParticle(Int_t i, UInt_t &rejectionReason) const
TH3F * fHistPsi3Correlation[10]
correlation vzerocomb EP, LJ pt
void SetRunToyMC(Bool_t t)
TH2F * fHistRunnumbersEta
run numbers averaged phi
Float_t fWidthQ[9][2][2]
recentering
void FillWeightedRhoHistograms()
AliAnalysisTaskJetV3 & operator=(const AliAnalysisTaskJetV3 &)
ClassDef(AliAnalysisTaskJetV3, 1)
Bool_t QCnRecovery(Double_t psi2, Double_t psi3)
void SetCollisionType(collisionType type)
void QCnQnk(Int_t n, Int_t k, Double_t &reQ, Double_t &imQ)
Float_t fReduceBinsYByFactor
TArrayI * fExpectedSemiGoodRuns
TH2F * fHistRhoVsRCPtExLJ[10]
random cone eta and phi, excl leading jet
void SetQCnRecoveryType(qcRecovery type)
Int_t fNAcceptedTracksQCn
number of accepted tracks
void SetUsePtWeightErrorPropagation(Bool_t w)
Float_t fVZEROApol
equalization histo
void SetAcceptanceWeights(Bool_t w)
void SetExpectedSemiGoodRuns(TArrayI *r)
AliEmcalJet * fLeadingJetAfterSub
leading jet
TH2F * fHistIntegralCorrelations[10]
ep corr
TH1F * CorrectForResolutionDiff(TH1F *v, detectorType detector, TArrayD *cen, Int_t c, Int_t h=2)
AliAnalysisTaskJetV3 * ReturnMe()
TH2F * fHistQyV0c
qx v0a before cuts
TH2F * fHistJetPtArea[10]
eta and phi correlation before cuts
EPweightType fWeightForVZERO
TH1F * fHistPicoTrackPt[10]
resolution parameters for v3
TH1F * fHistRCPt[10]
rho * A vs rcpt
TString GetLocalRhoName() const
void CalculateEventPlaneCombinedVZERO(Double_t *comb) const
fitGoodnessTest fFitGoodnessTest
TProfile * fProfV2Cumulant
extracted v2
TH2F * fHistJetEtaPhiBC[10]
eta and phi correlation
Float_t GetCentrality(const char *estimator) const
Float_t fWidthQv3[9][2][2]
recentering
TH2F * fHistMultvsCentr
QA profile global and tpc multiplicity after outlier cut.
Double_t MaxTrackPt() const
void SetSigma3VZEROC(TArrayD *a)
Float_t fSoftTrackMinPt
temp cache for rho pointer
TProfile * fHistCentralityPercIn
accepted centrality
static Double_t ChiSquarePDF(Int_t ndf, Double_t x)
TArrayD * fChi2A
calibration info per disc
TH2F * fHistQxV0cBC
qx v0a before cuts
void SetSigma2VZEROA(TArrayD *a)
TH2F * fHistQyV0cBC
qx v0a before cuts
TH2F * fHistPChi2
reduced chi2, centrlaity correlation
TProfile * fProfIntegralCorrelations[10]
correlate polar or local integral
AliLocalRhoParameter * fLocalRho
! local event rho
TH1F * fHistKolmogorovTest
correlation p value and reduced chi2
TH1F * fHistPicoTrackMult[10]
pt of all charged tracks
TH2F * fHistRhoVsMult
background
TH2F * fHistPsiVZEROCTRK
psi 2 from vzero a
static Double_t PhaseShift(Double_t x, Double_t n)
TH1 * fWQ[2][2][2]
recentering
TH3F * fHistPsiVZEROCombLeadingJet[10]
correlation vzeroc EP, LJ pt
TH2F * fHistTriggerQAOut[10]
trigger qa in plane
void SetOnTheFlyResCorrection(TH1F *r2, TH1F *r3)
void SetNameRhoSmall(TString name)
TProfile * fProfV3
resolution parameters for v2
TH3F * fHistPsiVZEROALeadingJet[10]
correlation tpc EP, LJ pt
TH2F * fHistEPCorrChiSigma[10]
ep corr
TH2F * fHistPsiTPCTRK
psi 2 from combined vzero
void FillWeightedJetHistograms(Double_t psi3)
Float_t fVZEROCpol
calibration info per disc
void SetExcludeLeadingJetsFromFit(Float_t n)
void FillWeightedDeltaPtHistograms(Double_t psi3) const
TH2F * fHistMultVsCellBC
qx v0a before cuts
TProfile * fProfV2Resolution[10]
v2 cumulant
void FillHistogramsAfterSubtraction(Double_t psi3, Double_t vzero[2][2], Double_t *vzeroComb, Double_t *tpc)
TH1F * fHistRCPtExLJ[10]
rho * A vs rcpt, excl leading jet
void SetSoftTrackMinMaxPt(Float_t min, Float_t max)
TH1F * fHistRhoPackage[10]
geometric correlation of leading jet w/wo bkg subtraction
TProfile * fProfV3Resolution[10]
v3 cumulant
TH2F * fHistRCPhiEtaExLJ[10]
dpt vs dphi, rho_0
Double_t KolmogorovTest() const
TH2F * fHistPChi2Root
reduced chi2 from ROOT, centrality correlation
void SetSigma2VZEROC(TArrayD *a)
Bool_t PassesSimpleCuts(AliEmcalJet *jet)
Bool_t PassesCuts(AliVCluster *clus) const
void SetAttachToEvent(Bool_t b)
Double_t fSemiGoodJetMaxPhi
TH1F * fHistRho[10]
rho as estimated by emcal jet package
TString GetJetsName() const
TH2F * fHistDeltaPtDeltaPhi3Rho0[10]
dpt vs dphi (psi2 - phi)
Double_t fSemiGoodTrackMaxPhi
TH2F * fHistJetPtEta[10]
jet pt versus area before cuts
Float_t GetJetRadius() const
void SetChi2VZEROC(TArrayD *a)
void SetChi2VZEROA(TArrayD *a)
void FillWeightedEventPlaneHistograms(Double_t vzero[2][2], Double_t *vzeroComb, Double_t *tpc) const
virtual void Terminate(Option_t *option)
Int_t fNAcceptedTracks
leading jet after background subtraction
virtual void Exec(Option_t *)
TH2F * fHistPsiVZEROCV0M
psi 2 from vzero a
Float_t fMeanQv3[9][2][2]
recentering
void SetExpectedRuns(TArrayI *r)
TH2F * fHistRhoEtaBC[10]
rho * A vs centrality for all jets
Float_t fEventPlaneWeight
TH2F * fHistPicoCat3[10]
pico tracks wo spd hit w refit, constrained
TH2F * fHistChi2Cent
p value vs centrality
Bool_t fRebinSwapHistoOnTheFly
void SetReduceBinsXYByFactor(Float_t x, Float_t y)
AliTrackContainer * GetTrackContainer(Int_t i=0) const
Float_t fExcludeLeadingJetsFromFit
Float_t fPercentageOfFits
Bool_t PassesExperimentalHighLumiCuts(AliAODEvent *event)
TList * fOutputListBad
output list for local analysis
TH2F * fHistMultVsCell
fHistEP
void SetModulationFitMinMaxP(Float_t m, Float_t n)
detectorType fDetectorType
fitModulationType fFitModulationType
accepted tracks for QCn
Base task in the EMCAL jet framework.
Represent a jet reconstructed using the EMCal jet framework.
TH2F * fHistJetPsi3PtRho0[10]
ratio of leading track v2 to jet v2
TString GetTracksName() const
Int_t GetVZEROCentralityBin() const
TH2F * fHistPsiTPCV0M
psi 2 from combined vzero
void CalculateRandomCone(Float_t &pt, Float_t &eta, Float_t &phi, AliTrackContainer *tracksCont, AliClusterContainer *clusterCont=0x0, AliEmcalJet *jet=0x0) const
TH1F * GetDifferentialQC(TProfile *refCumulants, TProfile *diffCumlants, TArrayD *ptBins, Int_t h)
TString fFitModulationOptions
TH2F * fHistQxV0a
qx v0a before cuts
TH1F * CorrectForResolutionInt(TH1F *v, detectorType detector, TArrayD *cen, Int_t h=2)
TH2F * fHistEPCorrAvChi[10]
ep correlations
TH3F * fHistPsiVZEROCLeadingJet[10]
correlation vzeroa EP, LJ pt
TH2F * fHistPicoCat2[10]
pico tracks spd hit and refit
virtual Bool_t AcceptJet(AliEmcalJet *jet, Int_t c=0)
AliJetContainer * fJetsCont
cluster container
void QCnDiffentialFlowVectors(TClonesArray *pois, TArrayD *ptBins, Bool_t vpart, Double_t *repn, Double_t *impn, Double_t *mp, Double_t *reqn, Double_t *imqn, Double_t *mq, Int_t n)
TList * GetOutputList() const
TH2F * BookTH2F(const char *name, const char *x, const char *y, Int_t binsx, Double_t minx, Double_t maxx, Int_t binsy, Double_t miny, Double_t maxy, Int_t c=-1, Bool_t append=kTRUE)
TH3F * fHistJetLJPsi3PtRatio[10]
event plane dependence of jet pt and leading track pt
virtual void UserCreateOutputObjects()
TH2F * fHistPsiVZEROAV0M
trigger qa out of plane
TProfile * fHistCentralityPercLost
centrality versus perc out
TH1F * fHistClusterPt[10]
pico tracks wo spd hit wo refit, constrained
TH1F * fHistJetPtBC[10]
pt of found jets (background subtracted)
Double_t QCnS(Int_t i, Int_t j)
void SetFillQAHistograms(Bool_t qa)
Bool_t InitializeAnalysis()
TH2F * fHistQxV0c
qx v0a before cuts
TH3F * fHistJetLJPsi3Pt[10]
event plane dependence of jet pt
TH1 * fVZEROgainEqualization
recentering
Container structure for EMCAL clusters.
void SetRandomSeed(TRandom3 *r)
TH3F * BookTH3F(const char *name, const char *x, const char *y, const char *z, Int_t binsx, Double_t minx, Double_t maxx, Int_t binsy, Double_t miny, Double_t maxy, Int_t binsz, Double_t minz, Double_t maxz, Int_t c=-1, Bool_t append=kTRUE)
AliClusterContainer * fClusterCont
tracks
TH2F * fHistPsiVZEROVV0M
psi 2 from vzero c
void SetSemiGoodTrackMinMaxPhi(Double_t a, Double_t b)
TH2F * fHistQyV0aBC
qx v0a before cuts
Float_t fMinDisanceRCtoLJ
undetermined run QA
TH2F * fHistJetPtAreaBC[10]
jet pt versus area
TArrayD * fCentralityClasses
TArrayD * GetCentralityClasses() const
Container for jet within the EMCAL jet framework.
Double_t GetJetRadius() const
TH1F * fHistAnalysisSummary
output list for local analysis
Bool_t MultiVertexer(const AliAODEvent *event)
Double_t CalculateQC4(Int_t harm)
AliEmcalJet * fLeadingJet
jets
TH2F * fHistQyV0a
qx v0a before cuts
TH1F * fHistPvalueCDF
correlation p value and reduced chi2
void SetModulationFitOptions(TString opt)
AliTrackContainer * fTracksCont
the actual weight of an event
void CalculateQvectorVZERO(Double_t Qa2[2], Double_t Qc2[2], Double_t Qa3[2], Double_t Qc3[2]) const
void SetRebinSwapHistoOnTheFly(Bool_t r)
static Int_t OverlapsWithPlane(Double_t x1, Double_t x2, Double_t a, Double_t b, Double_t c, Double_t d, Double_t e, Double_t phi)