AliPhysics  1811c8f (1811c8f)
AliAnalysisTaskJetV3.h
Go to the documentation of this file.
1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. */
2 /* See cxx source for full Copyright notice */
3 /* $Id$ */
4 
5 #ifndef AliAnalysisTaskJetV3_H
6 #define AliAnalysisTaskJetV3_H
7 
8 // uncomment or define externally to enable debug information
9 //
10 // flag for global and e-by-e debug info
11 // #define ALIANALYSISTASKJETV3_DEBUG_FLAG_1
12 // flag for debug statements that may be repeated multiple times per event
13 // #define ALIANALYSISTASKJETV3_DEBUG_FLAG_2
14 
16 #include <AliEmcalJet.h>
17 #include <AliVEvent.h>
18 #include <AliVParticle.h>
19 #include <AliVCluster.h>
20 #include <TClonesArray.h>
21 #include <TMath.h>
22 #include <TArrayD.h>
23 #include <TRandom3.h>
24 #include <AliJetContainer.h>
25 #include <AliTrackContainer.h>
26 
27 class TFile;
28 class TF1;
29 class TH1F;
30 class TH1I;
31 class TH2F;
32 class TH3F;
33 class TProfile;
36 class AliVTrack;
37 
39  public:
40  // enumerators
43  enum collisionType { kPbPb, kPythia, kPbPb10h, kPbPb11h, kJetFlowMC, kPbPb15o }; // collision type, kPbPb = 11h, kept for backward compatibilitiy
44  enum qcRecovery { kFixedRho, kNegativeVn, kTryFit }; // how to deal with negative cn value for qcn value
45  enum runModeType { kLocal, kGrid }; // run mode type
46  enum dataType { kESD, kAOD, kESDMC, kAODMC}; // data type
47  enum detectorType { kTPC, kVZEROA, kVZEROC, kVZEROComb, kFixedEP}; // detector that was used for event plane
48  enum EPweightType { kNone, kChi, kSigmaSquared}; // event plane weight type
49  enum analysisType { kCharged, kFull }; // analysis type
50  // constructors, destructor
53  const char *name, // task name
54  runModeType type, // grid or local mode
55  Bool_t baseClassHistos = kFALSE); // book framework histos
56  virtual ~AliAnalysisTaskJetV3();
57  // setting up the task and technical aspects
58  void ExecOnce();
59  virtual Bool_t Notify();
61  virtual void UserCreateOutputObjects();
62  virtual void Exec(Option_t *);
63  virtual Bool_t Run();
64  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);
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);
67  /* inline */ static Double_t PhaseShift(Double_t x) {
68  while (x>=TMath::TwoPi())x-=TMath::TwoPi();
69  while (x<0.)x+=TMath::TwoPi();
70  return x; }
71  /* inline */ static Double_t PhaseShift(Double_t x, Double_t n) {
72  x = PhaseShift(x);
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);
77  }
78  return x; }
79  /* inline */ static Bool_t IsInPlane(Double_t dPhi) {
80  return (dPhi < -1.*TMath::Pi()/4. || dPhi > TMath::Pi()/4.); }
81  /* inline */ static Double_t ChiSquarePDF(Int_t ndf, Double_t x) {
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.));
84  return -999; }
85  // note that the cdf of the chisquare distribution is the normalized lower incomplete gamma function
86  /* inline */ static Double_t ChiSquareCDF(Int_t ndf, Double_t x) { return TMath::Gamma(ndf/2., x/2.); }
87  /* inline */ static Double_t ChiSquare(TH1& histo, TF1* func) {
88  // evaluate the chi2 using a poissonian error estimate on bins
89  Double_t chi2(0.);
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);
93  }
94  return chi2;
95  }
96  /* inline */ Double_t KolmogorovTest(/*TH1F& histo, TF1* func*/) const {
97  // return the probability from a Kolmogorov test
98  return .5;
99  /* this test is disabeled as it eats a lot of resources but kept as a dummty to
100  * ensure compatibility of the output with offline macros
101  TH1F test(histo); // stack copy of test statistic
102  for(Int_t i(0); i < test.GetXaxis()->GetNbins(); i++) test.SetBinContent(i+1, func->Eval(test.GetXaxis()->GetBinCenter(1+i)));
103  if(fFitGoodnessTest == kKolmogorovTOY) return histo.TH1::KolmogorovTest((&test), "X");
104  return histo.TH1::KolmogorovTest((&test));
105  */
106  }
107 
108  // setters - analysis setup
109  void SetRunToyMC(Bool_t t) {fRunToyMC = t; }
119  void SetIntegratedFlow(TH1F* i, TH1F* j) {fUserSuppliedV2 = i;
120  fUserSuppliedV3 = j; }
121  void SetOnTheFlyResCorrection(TH1F* r2, TH1F* r3) {fUserSuppliedR2 = r2;
122  fUserSuppliedR3 = r3; }
123  void SetEventPlaneWeights(TH1F* ep, Int_t c) {fEventPlaneWeights[c] = ep; }
125  void SetNameRhoSmall(TString name) {fNameSmallRho = name; }
126  void SetRandomSeed(TRandom3* r) {if (fRandom) delete fRandom; fRandom = r; }
127  void SetModulationFit(TF1* fit);
128  void SetUseControlFit(Bool_t c);
138  fUsePtWeight = w;
149  void SetChi2VZEROA(TArrayD* a) { fChi2A = a;}
150  void SetChi2VZEROC(TArrayD* a) { fChi2C = a;}
151  void SetChi3VZEROA(TArrayD* a) { fChi3A = a;}
152  void SetChi3VZEROC(TArrayD* a) { fChi3C = a;}
158  // getters
159  TString GetJetsName() const {return GetJetContainer()->GetArrayName(); }
160  TString GetTracksName() const {return GetTrackContainer()->GetArrayName(); }
163 // Float_t GetCentrality() const;
164  TProfile* GetResolutionParameters(Int_t h, Int_t c) const {return (h==2) ? fProfV2Resolution[c] : fProfV3Resolution[c];}
165  TList* GetOutputList() const {return fOutputList;}
169  AliVParticle* GetLeadingTrack(AliEmcalJet* jet);
170  static TH1F* GetEventPlaneWeights(TH1F* hist, Int_t c);
171  static void PrintTriggerSummary(UInt_t trigger);
172  static void DoSimpleSimulation(Int_t nEvents = 100000, Float_t v2 = 0.02, Float_t v3 = 0.04, Float_t v4 = 0.03);
173  void ExecMe() {ExecOnce();}
174  AliAnalysisTaskJetV3* ReturnMe() {return this;}
175  // local cuts
179  // numerical evaluations
180  static void NumericalOverlap(Double_t x1, Double_t x2, Double_t psi2, Double_t &percIn, Double_t &percOut, Double_t &percLost);
181  static Int_t OverlapsWithPlane(Double_t x1, Double_t x2,
182  Double_t a, Double_t b, Double_t c, Double_t d, Double_t e, Double_t phi);
184  void CalculateEventPlaneVZERO(Double_t vzero[2][2]) const;
185  void CalculateEventPlaneCombinedVZERO(Double_t* comb) const;
186  void CalculateEventPlaneTPC(Double_t* tpc);
187  void CalculateEventPlaneResolution(Double_t vzero[2][2], Double_t* vzeroComb, Double_t* tpc);
188  void CalculateQvectorVZERO(Double_t Qa2[2], Double_t Qc2[2], Double_t Qa3[2], Double_t Qc3[2]) const;
189  void CalculateQvectorCombinedVZERO(Double_t Q2[2], Double_t Q3[2]) const;
190  void CalculateRandomCone(
191  Float_t &pt,
192  Float_t &eta,
193  Float_t &phi,
194  AliTrackContainer* tracksCont,
195  AliClusterContainer* clusterCont = 0x0,
196  AliEmcalJet* jet = 0x0
197  ) const;
200  // helper calculations for the q-cumulant analysis
201  void QCnQnk(Int_t n, Int_t k, Double_t &reQ, Double_t &imQ);
203  TClonesArray* pois, TArrayD* ptBins, Bool_t vpart, Double_t* repn, Double_t* impn,
204  Double_t *mp, Double_t *reqn, Double_t *imqn, Double_t* mq, Int_t n);
205  Double_t QCnS(Int_t i, Int_t j);
206  Double_t QCnM();
207  Double_t QCnM11();
208  Double_t QCnM1111();
209  Bool_t QCnRecovery(Double_t psi2, Double_t psi3);
210  // analysis details
211  Bool_t CorrectRho(Double_t psi2, Double_t psi3);
212  // event and track selection
213  /* inline */ Bool_t PassesCuts(AliVParticle* track) const { UInt_t rejectionReason = 0; return GetTrackContainer(0)->AcceptParticle(track, rejectionReason); }
214  /* inline */ Bool_t PassesCuts(AliEmcalJet* jet) {
215  if(jet->MaxTrackPt() > fExcludeJetsWithTrackPt) return kFALSE;
216  return AcceptJet(jet, 0);
217  }
218  /* inline */ Bool_t PassesCuts(AliVCluster* clus) const { return AcceptCluster(clus, 0); }
219  /* inline */ Bool_t PassesSimpleCuts(AliEmcalJet* jet) {
220  Float_t minPhi(GetJetContainer()->GetJetPhiMin()), maxPhi(GetJetContainer()->GetJetPhiMax());
221  Float_t minEta(GetJetContainer()->GetJetEtaMin()), maxEta(GetJetContainer()->GetJetEtaMax());
222  return (jet/* && jet->Pt() > 1.*/ && jet->Eta() > minEta && jet->Eta() < maxEta && jet->Phi() > minPhi && jet->Phi() < maxPhi && jet->Area() > .557*GetJetRadius()*GetJetRadius()*TMath::Pi());
223  }
224  Bool_t PassesCuts(AliVEvent* event);
226  Bool_t MultiVertexer(const AliAODEvent* event);
227  Double_t GetWDist(const AliVVertex* v0, const AliVVertex* v1);
228  Bool_t PassesCuts(const AliVCluster* track) const;
229  // filling histograms
230  void FillHistogramsAfterSubtraction(Double_t psi3, Double_t vzero[2][2], Double_t* vzeroComb, Double_t* tpc);
231  void FillQAHistograms(AliVTrack* vtrack) const;
232  void FillQAHistograms(AliVEvent* vevent);
233  void FillWeightedTrackHistograms() const;
234  void FillWeightedClusterHistograms() const;
235  void FillWeightedEventPlaneHistograms(Double_t vzero[2][2], Double_t* vzeroComb, Double_t* tpc) const;
237  void FillWeightedDeltaPtHistograms(Double_t psi3) const;
239  void FillWeightedQAHistograms(AliVTrack* vtrack) const;
240  void FillWeightedQAHistograms(AliVEvent* vevent);
241  void FillWeightedTriggerQA(Double_t dPhi, Double_t pt, UInt_t trigger);
242  void FillAnalysisSummaryHistogram() const;
243  virtual void Terminate(Option_t* option);
244  // interface methods for the output file
246  TH1F* GetResolutionFromOutputFile(detectorType detector, Int_t h = 2, TArrayD* c = 0x0);
247  TH1F* CorrectForResolutionDiff(TH1F* v, detectorType detector, TArrayD* cen, Int_t c, Int_t h = 2);
248  TH1F* CorrectForResolutionInt(TH1F* v, detectorType detector, TArrayD* cen, Int_t h = 2);
249  TH1F* GetDifferentialQC(TProfile* refCumulants, TProfile* diffCumlants, TArrayD* ptBins, Int_t h);
254  Float_t GetCentrality(const char* estimator) const;
255  private:
256  // analysis flags and settings
257  Bool_t fRunToyMC; // run toy mc for fit routine
259  Bool_t fAttachToEvent; // attach local rho to the event
260  Bool_t fFillHistograms; // fill histograms
261  Bool_t fFillQAHistograms; // fill qa histograms
262  Float_t fReduceBinsXByFactor; // reduce the bins on x-axis of histo's by this much
263  Float_t fReduceBinsYByFactor; // reduce the bins on y-axis of histo's by this much
264  Bool_t fNoEventWeightsForQC; // don't store event weights for qc analysis
265  TArrayD* fCentralityClasses; //-> centrality classes (maximum 10)
266  TArrayI* fExpectedRuns; //-> array of expected run numbers, used for QA
267  TArrayI* fExpectedSemiGoodRuns; //-> array of expected semi-good runs, used for cuts and QA
268  TH1F* fUserSuppliedV2; // histo with integrated v2
269  TH1F* fUserSuppliedV3; // histo with integrated v3
270  TH1F* fUserSuppliedR2; // correct the extracted v2 with this r
271  TH1F* fUserSuppliedR3; // correct the extracted v3 with this r
272  TH1F* fEventPlaneWeights[10]; // weight histos for the event plane (centrality dependent)
273  Bool_t fAcceptanceWeights; // store centrality dependent acceptance weights
280  // members
283  fitModulationType fFitModulationType; // fit modulation type
284  fitGoodnessTest fFitGoodnessTest; // fit goodness test type
285  qcRecovery fQCRecovery; // recovery type for e-by-e qc method
286  Bool_t fUsePtWeight; // use dptdphi instead of dndphi
287  Bool_t fUsePtWeightErrorPropagation; // recalculate the bin errors in case of pt weighting
288  Bool_t fUse2DIntegration; // integrate jet background over eta, phi
289  detectorType fDetectorType; // type of detector used for modulation fit
290  analysisType fAnalysisType; // analysis type (full or charged jets)
291  TString fFitModulationOptions; // fit options for modulation fit
292  runModeType fRunModeType; // run mode type
293  dataType fDataType; // datatype
294  collisionType fCollisionType; // collision type
295  TRandom3* fRandom; //-> dont use gRandom to not interfere with other tasks
300  TF1* fFitModulation; //-> modulation fit for rho
301  TF1* fFitControl; //-> control fit
302  Float_t fMinPvalue; // minimum value of p
303  Float_t fMaxPvalue; // maximum value of p
304  TString fNameSmallRho; // name of small rho
306  // additional jet cuts (most are inherited)
307  Float_t fSoftTrackMinPt; // min pt for soft tracks
308  Float_t fSoftTrackMaxPt; // max pt for soft tracks
309  Double_t fSemiGoodJetMinPhi; // min phi for semi good tpc runs
310  Double_t fSemiGoodJetMaxPhi; // max phi for semi good tpc runs
311  Double_t fSemiGoodTrackMinPhi; // min phi for semi good tpc runs
312  Double_t fSemiGoodTrackMaxPhi; // max phi for semi good tpc runs
313  // general qa histograms
318  TH1F* fHistVertexz;
337  // general settings
338  Float_t fMinDisanceRCtoLJ; // min distance between rc and leading jet
339  Int_t fMaxCones; // max number of random cones
340  Float_t fExcludeLeadingJetsFromFit; // exclude n leading jets from fit
341  Float_t fExcludeJetsWithTrackPt;// exclude jets with a track with pt higher than this
342  Bool_t fRebinSwapHistoOnTheFly; // rebin swap histo on the fly
343  Float_t fPercentageOfFits; // save this percentage of fits
344  // transient object pointers
349  TH1F* fHistSwap;
350  TProfile* fProfV2;
351  TProfile* fProfV2Cumulant;
352  TProfile* fProfV2Resolution[10];
353  TProfile* fProfV3;
354  TProfile* fProfV3Cumulant;
355  TProfile* fProfV3Resolution[10];
356  // qa histograms for accepted pico tracks
357  TH1F* fHistPicoTrackPt[10];
358  TH1F* fHistPicoTrackMult[10];
362  // qa histograms for accepted emcal clusters
363  TH1F* fHistClusterPt[10];
366  // qa histograms for triggers
369  // qa event planes
390  // background
391  TH1F* fHistRhoPackage[10];
392  TH1F* fHistRho[10];
398  // delta pt distributions
401  TH1F* fHistRCPt[10];
406  TH1F* fHistRCPtExLJ[10];
409  // jet histograms (after kinematic cuts)
410  TH1F* fHistJetPtRaw[10];
411  TH1F* fHistJetPt[10];
412  TH1F* fHistJetPtBC[10];
420  // in plane, out of plane jet spectra
425  // vzero event plane calibration cache for 10h data
426  Float_t fMeanQ[9][2][2];
427  Float_t fWidthQ[9][2][2];
428  Float_t fMeanQv3[9][2][2];
429  Float_t fWidthQv3[9][2][2];
430  TH1* fMQ[2][2][2];
431  TH1* fWQ[2][2][2];
435  TArrayD* fChi2A; // chi vs cent for vzero A ep_2
436  TArrayD* fChi2C; // chi vs cent for vzero C ep_2
437  TArrayD* fChi3A; // chi vs cent for vzero A ep_3
438  TArrayD* fChi3C; // chi vs cent for vzero C ep_3
439  TArrayD* fSigma2A; // chi vs cent for vzero A ep_2
440  TArrayD* fSigma2C; // chi vs cent for vzero C ep_2
441  TArrayD* fSigma3A; // chi vs cent for vzero A ep_3
442  TArrayD* fSigma3C; // chi vs cent for vzero C ep_3
443  EPweightType fWeightForVZERO; // use chi weight for vzero
444  TFile* fOADB;
454  TH1F* fHistEPBC;
455  TH1F* fHistEP;
457 
458  AliAnalysisTaskJetV3(const AliAnalysisTaskJetV3&); // not implemented
459  AliAnalysisTaskJetV3& operator=(const AliAnalysisTaskJetV3&); // not implemented
460 
461  ClassDef(AliAnalysisTaskJetV3, 1);
462 };
463 
464 #endif
static Double_t ChiSquareCDF(Int_t ndf, Double_t x)
void SetModulationFitType(fitModulationType type)
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
Double_t Area() const
Definition: AliEmcalJet.h:130
AliRhoParameter * fCachedRho
TProfile * GetResolutionParameters(Int_t h, Int_t c) const
TList * fOutputListGood
output list
TH2F * fHistDeltaPtDeltaPhi3[10]
rcpt
TH2F * fHistJetEtaRho[10]
jet pt versus number of constituents
TH2F * fHistLeadingJetBackground[10]
correlation of event planes
double Double_t
Definition: External.C:58
TH2F * fHistRhoAVsMult
rho veruss centrality
void SetExcludeJetsWithTrackPt(Float_t n)
Definition: External.C:260
TH1F * GetResolutionFromOutputFile(detectorType detector, Int_t h=2, TArrayD *c=0x0)
TF1 * fFitModulation
centrality bin
TH2F * fHistRhoStatusCent
p value vs kolmogorov value
void SetMaxNoRandomCones(Int_t m)
TH2F * fHistTriggerQAIn[10]
eta phi emcal clusters, pt weighted
Definition: External.C:236
Int_t fMappedRunNumber
runnumber of the cached calibration info
void SetSigma3VZEROA(TArrayD *a)
AliVParticle * GetLeadingTrack(AliEmcalJet *jet)
TH2F * fHistChi2ROOTCent
p value versus centrlaity from root
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
Double_t Eta() const
Definition: AliEmcalJet.h:121
TH1F * fHistVertexz
centrality versus perc lost
Bool_t CorrectRho(Double_t psi2, Double_t psi3)
void FillWeightedClusterHistograms() const
void SetReferenceDetector(detectorType type)
Double_t Phi() const
Definition: AliEmcalJet.h:117
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
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)
TH2F * fHistClusterEtaPhi[10]
pt emcal clusters
void SetMinDistanceRctoLJ(Float_t m)
Bool_t AcceptCluster(AliVCluster *clus, Int_t c=0) const
Cluster selection.
TCanvas * c
Definition: TestFitELoss.C:172
Int_t fInCentralitySelection
mapped runnumer (for QA)
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)
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)
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
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)
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
int Int_t
Definition: External.C:63
TH2F * fHistRunnumbersEta
run numbers averaged phi
Definition: External.C:204
Float_t fWidthQ[9][2][2]
recentering
AliAnalysisTaskJetV3 & operator=(const AliAnalysisTaskJetV3 &)
unsigned int UInt_t
Definition: External.C:33
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 Float_t
Definition: External.C:68
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
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
Definition: AliEmcalJet.h:155
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)
Double_t nEvents
plot quality messages
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)
TH1F * fHistRho[10]
rho as estimated by emcal jet package
TString GetJetsName() const
TH2F * fHistDeltaPtDeltaPhi3Rho0[10]
dpt vs dphi (psi2 - phi)
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
TH2F * fHistPicoCat3[10]
pico tracks wo spd hit w refit, constrained
TH2F * fHistChi2Cent
p value vs centrality
void SetReduceBinsXYByFactor(Float_t x, Float_t y)
AliTrackContainer * GetTrackContainer(Int_t i=0) const
Bool_t PassesExperimentalHighLumiCuts(AliAODEvent *event)
TList * fOutputListBad
output list for local analysis
TH2F * fHistMultVsCell
fHistEP
void SetModulationFitMinMaxP(Float_t m, Float_t n)
fitModulationType fFitModulationType
accepted tracks for QCn
Base task in the EMCAL jet framework.
Represent a jet reconstructed using the EMCal jet framework.
Definition: AliEmcalJet.h:51
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)
TH2F * fHistQxV0a
qx v0a before cuts
TH1F * CorrectForResolutionInt(TH1F *v, detectorType detector, TArrayD *cen, Int_t h=2)
const char Option_t
Definition: External.C:48
TH2F * fHistEPCorrAvChi[10]
ep correlations
TH3F * fHistPsiVZEROCLeadingJet[10]
correlation vzeroa EP, LJ pt
TH2F * fHistPicoCat2[10]
pico tracks spd hit and refit
void test(int runnumber=195345)
virtual Bool_t AcceptJet(AliEmcalJet *jet, Int_t c=0)
bool Bool_t
Definition: External.C:53
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)
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
void ExecOnce()
Perform steps needed to initialize the analysis.
TH2F * fHistJetPtAreaBC[10]
jet pt versus area
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)
Definition: External.C:196
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)
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.
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)