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