AliPhysics  d9e9949 (d9e9949)
AliAnalysisTaskJetV2.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 AliAnalysisTaskJetV2_H
6 #define AliAnalysisTaskJetV2_H
7 
8 // uncomment or define externally to enable debug information
9 //
10 // flag for global and e-by-e debug info
11 //#define ALIANALYSISTASKJETV2_DEBUG_FLAG_1
12 // flag for debug statements that may be repeated multiple times per event
13 //#define ALIANALYSISTASKJETV2_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 <AliParticleContainer.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 }; // 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 ~AliAnalysisTaskJetV2();
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 GetParticleContainer()->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  AliAnalysisTaskJetV2* 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  AliParticleContainer* 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 GetParticleContainer(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);
225  Bool_t PassesCuts(const AliVCluster* track) const;
226  // filling histograms
227  void FillHistogramsAfterSubtraction(Double_t psi2, Double_t vzero[2][2], Double_t* vzeroComb, Double_t* tpc);
228  void FillQAHistograms(AliVTrack* vtrack) const;
229  void FillQAHistograms(AliVEvent* vevent);
230  void FillWeightedTrackHistograms() const;
231  void FillWeightedClusterHistograms() const;
232  void FillWeightedEventPlaneHistograms(Double_t vzero[2][2], Double_t* vzeroComb, Double_t* tpc) const;
234  void FillWeightedDeltaPtHistograms(Double_t psi2) const;
236  void FillWeightedQAHistograms(AliVTrack* vtrack) const;
237  void FillWeightedQAHistograms(AliVEvent* vevent);
238  void FillWeightedTriggerQA(Double_t dPhi, Double_t pt, UInt_t trigger);
239  void FillAnalysisSummaryHistogram() const;
240  virtual void Terminate(Option_t* option);
241  // interface methods for the output file
243  TH1F* GetResolutionFromOutputFile(detectorType detector, Int_t h = 2, TArrayD* c = 0x0);
244  TH1F* CorrectForResolutionDiff(TH1F* v, detectorType detector, TArrayD* cen, Int_t c, Int_t h = 2);
245  TH1F* CorrectForResolutionInt(TH1F* v, detectorType detector, TArrayD* cen, Int_t h = 2);
246  TH1F* GetDifferentialQC(TProfile* refCumulants, TProfile* diffCumlants, TArrayD* ptBins, Int_t h);
250  private:
251  // analysis flags and settings
252  Bool_t fRunToyMC; // run toy mc for fit routine
254  Bool_t fAttachToEvent; // attach local rho to the event
255  Bool_t fFillHistograms; // fill histograms
256  Bool_t fFillQAHistograms; // fill qa histograms
257  Float_t fReduceBinsXByFactor; // reduce the bins on x-axis of histo's by this much
258  Float_t fReduceBinsYByFactor; // reduce the bins on y-axis of histo's by this much
259  Bool_t fNoEventWeightsForQC; // don't store event weights for qc analysis
260  TArrayD* fCentralityClasses; //-> centrality classes (maximum 10)
261  TArrayI* fExpectedRuns; //-> array of expected run numbers, used for QA
262  TArrayI* fExpectedSemiGoodRuns; //-> array of expected semi-good runs, used for cuts and QA
263  TH1F* fUserSuppliedV2; // histo with integrated v2
264  TH1F* fUserSuppliedV3; // histo with integrated v3
265  TH1F* fUserSuppliedR2; // correct the extracted v2 with this r
266  TH1F* fUserSuppliedR3; // correct the extracted v3 with this r
267  TH1F* fEventPlaneWeights[10]; // weight histos for the event plane (centrality dependent)
268  Bool_t fAcceptanceWeights; // store centrality dependent acceptance weights
275  // members
278  fitModulationType fFitModulationType; // fit modulation type
279  fitGoodnessTest fFitGoodnessTest; // fit goodness test type
280  qcRecovery fQCRecovery; // recovery type for e-by-e qc method
281  Bool_t fUsePtWeight; // use dptdphi instead of dndphi
282  Bool_t fUsePtWeightErrorPropagation; // recalculate the bin errors in case of pt weighting
283  Bool_t fUse2DIntegration; // integrate jet background over eta, phi
284  detectorType fDetectorType; // type of detector used for modulation fit
285  analysisType fAnalysisType; // analysis type (full or charged jets)
286  TString fFitModulationOptions; // fit options for modulation fit
287  runModeType fRunModeType; // run mode type
288  dataType fDataType; // datatype
289  collisionType fCollisionType; // collision type
290  TRandom3* fRandom; //-> dont use gRandom to not interfere with other tasks
295  TF1* fFitModulation; //-> modulation fit for rho
296  TF1* fFitControl; //-> control fit
297  Float_t fMinPvalue; // minimum value of p
298  Float_t fMaxPvalue; // maximum value of p
299  TString fNameSmallRho; // name of small rho
301  // additional jet cuts (most are inherited)
302  Float_t fSoftTrackMinPt; // min pt for soft tracks
303  Float_t fSoftTrackMaxPt; // max pt for soft tracks
304  Double_t fSemiGoodJetMinPhi; // min phi for semi good tpc runs
305  Double_t fSemiGoodJetMaxPhi; // max phi for semi good tpc runs
306  Double_t fSemiGoodTrackMinPhi; // min phi for semi good tpc runs
307  Double_t fSemiGoodTrackMaxPhi; // max phi for semi good tpc runs
308  // general qa histograms
313  TH1F* fHistVertexz;
332  // general settings
333  Float_t fMinDisanceRCtoLJ; // min distance between rc and leading jet
334  Int_t fMaxCones; // max number of random cones
335  Float_t fExcludeLeadingJetsFromFit; // exclude n leading jets from fit
336  Float_t fExcludeJetsWithTrackPt;// exclude jets with a track with pt higher than this
337  Bool_t fRebinSwapHistoOnTheFly; // rebin swap histo on the fly
338  Float_t fPercentageOfFits; // save this percentage of fits
339  // transient object pointers
344  TH1F* fHistSwap;
345  TProfile* fProfV2;
346  TProfile* fProfV2Cumulant;
347  TProfile* fProfV2Resolution[10];
348  TProfile* fProfV3;
349  TProfile* fProfV3Cumulant;
350  TProfile* fProfV3Resolution[10];
351  // qa histograms for accepted pico tracks
352  TH1F* fHistPicoTrackPt[10];
353  TH1F* fHistPicoTrackMult[10];
357  // qa histograms for accepted emcal clusters
358  TH1F* fHistClusterPt[10];
361  // qa histograms for triggers
364  // qa event planes
385  // background
386  TH1F* fHistRhoPackage[10];
387  TH1F* fHistRho[10];
393  // delta pt distributions
396  TH1F* fHistRCPt[10];
401  TH1F* fHistRCPtExLJ[10];
404  // jet histograms (after kinematic cuts)
405  TH1F* fHistJetPtRaw[10];
406  TH1F* fHistJetPt[10];
407  TH1F* fHistJetPtBC[10];
415  // in plane, out of plane jet spectra
420  // vzero event plane calibration cache for 10h data
421  Float_t fMeanQ[9][2][2];
422  Float_t fWidthQ[9][2][2];
423  Float_t fMeanQv3[9][2][2];
424  Float_t fWidthQv3[9][2][2];
428  TArrayD* fChi2A; // chi vs cent for vzero A ep_2
429  TArrayD* fChi2C; // chi vs cent for vzero C ep_2
430  TArrayD* fChi3A; // chi vs cent for vzero A ep_3
431  TArrayD* fChi3C; // chi vs cent for vzero C ep_3
432  TArrayD* fSigma2A; // chi vs cent for vzero A ep_2
433  TArrayD* fSigma2C; // chi vs cent for vzero C ep_2
434  TArrayD* fSigma3A; // chi vs cent for vzero A ep_3
435  TArrayD* fSigma3C; // chi vs cent for vzero C ep_3
436  EPweightType fWeightForVZERO; // use chi weight for vzero
437  TFile* fOADB;
447  TH1F* fHistEPBC;
448  TH1F* fHistEP;
450 
451  AliAnalysisTaskJetV2(const AliAnalysisTaskJetV2&); // not implemented
452  AliAnalysisTaskJetV2& operator=(const AliAnalysisTaskJetV2&); // not implemented
453 
454  ClassDef(AliAnalysisTaskJetV2, 8);
455 };
456 
457 #endif
TString GetLocalRhoName() const
TProfile * fProfV3
resolution parameters for v2
TH2F * fHistPsiVZEROVV0M
psi 2 from vzero c
TH2F * fHistJetPtConstituents[10]
jet pt versus eta (temp control)
void SetNameRhoSmall(TString name)
Double_t Area() const
Definition: AliEmcalJet.h:130
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)
double Double_t
Definition: External.C:58
fitModulationType fFitModulationType
accepted tracks for QCn
Definition: External.C:260
void SetRebinSwapHistoOnTheFly(Bool_t r)
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)
Definition: External.C:236
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)
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
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
Double_t Eta() const
Definition: AliEmcalJet.h:121
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
Double_t Phi() const
Definition: AliEmcalJet.h:117
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.
TCanvas * c
Definition: TestFitELoss.C:172
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
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
TString GetTracksName() const
TH2F * fHistIntegralCorrelations[10]
ep corr
TH2F * fHistPKolmogorov
KolmogorovTest value, centrality correlation.
void SetRandomSeed(TRandom3 *r)
void SetGoodnessTest(fitGoodnessTest test)
TH2F * fHistRhoAVsMult
rho veruss centrality
void SetExpectedRuns(TArrayI *r)
int Int_t
Definition: External.C:63
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?
Definition: External.C:204
Double_t CalculateQC2(Int_t harm)
static Double_t CalculateEventPlaneChi(Double_t res)
unsigned int UInt_t
Definition: External.C:33
void SetAttachToEvent(Bool_t b)
TH2F * fHistQyV0cBC
qx v0a before cuts
TH2F * fHistPsiTPCTRK
psi 2 from combined vzero
float Float_t
Definition: External.C:68
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)
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 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
Definition: AliEmcalJet.h:155
TH2F * fHistJetEtaRho[10]
jet pt versus number of constituents
Int_t fInCentralitySelection
mapped runnumer (for QA)
TH2F * fHistRhoVsCent
rho versus multiplicity
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
Double_t nEvents
plot quality messages
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
TH2F * fHistPsiTPCV0M
psi 2 from combined vzero
TH2F * fHistJetPsi2Pt[10]
jet eta versus rho
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
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)
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)
Bool_t QCnRecovery(Double_t psi2, Double_t psi3)
Float_t fVZEROApol
equalization histo
virtual void UserCreateOutputObjects()
AliParticleContainer * fTracksCont
the actual weight of an event
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.
Definition: AliEmcalJet.h:51
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)
const char Option_t
Definition: External.C:48
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)
void FillWeightedEventPlaneHistograms(Double_t vzero[2][2], Double_t *vzeroComb, Double_t *tpc) const
virtual Bool_t AcceptJet(AliEmcalJet *jet, Int_t c=0)
TList * GetOutputList() const
TList * fOutputListGood
output list
TProfile * fHistCentralityPercLost
centrality versus perc out
bool Bool_t
Definition: External.C:53
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 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
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)
Definition: External.C:196
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
TH2F * fHistMultVsCell
fHistEP