AliPhysics  32e057f (32e057f)
AliAnalysisTaskMixedHarmonics.h
Go to the documentation of this file.
1 /*
2  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved.
3  * See cxx source for full Copyright notice
4  * $Id$
5  */
6 
7 /**************************************
8  * analysis task for mixed harmomics *
9  * *
10  * authors: Naomi van der Kolk *
11  * (kolk@nikhef.nl) *
12  * Raimond Snellings *
13  * (snelling@nikhef.nl) *
14  * Ante Bilandzic *
15  * (anteb@nikhef.nl) *
16  * ***********************************/
17 
18 #ifndef ALIANALYSISTASKMIXEDHARMONICS_H
19 #define ALIANALYSISTASKMIXEDHARMONICS_H
20 
21 
22 #include "AliAnalysisTaskSE.h"
23 
24 class TString;
25 class TList;
26 class AliFlowEventSimple;
28 class AliAODEvent;
29 class AliVVertex;
30 class AliMultSelection;
31 class AliAnalysisUtils;
32 
33 //================================================================================================================
34 
36  public:
38  AliAnalysisTaskMixedHarmonics(const char *name, Bool_t useParticleWeights=kFALSE);
40 
41  virtual void UserCreateOutputObjects();
42  virtual void UserExec(Option_t *option);
43  virtual void Terminate(Option_t *);
44 
45  // common:
46  void SetHarmonic(Int_t const h) {this->fHarmonic = h;};
47  Int_t GetHarmonic() const {return this->fHarmonic;};
48  void SetNoOfMultipicityBins(Int_t const nomb) {this->fNoOfMultipicityBins = nomb;};
50  void SetMultipicityBinWidth(Double_t const mbw) {this->fMultipicityBinWidth = mbw;};
52  void SetMinMultiplicity(Double_t const mm) {this->fMinMultiplicity = mm;};
53  Double_t GetMinMultiplicity() const {return this->fMinMultiplicity;};
54  void SetOppositeChargesPOI(Bool_t const ocp) {this->fOppositeChargesPOI = ocp;};
60  void SetPrintOnTheScreen(Bool_t const pots) {this->fPrintOnTheScreen = pots;};
61  Bool_t GetPrintOnTheScreen() const {return this->fPrintOnTheScreen;};
62  void SetCalculateVsM(Bool_t const cvm) {this->fCalculateVsM = cvm;};
63  Bool_t GetCalculateVsM() const {return this->fCalculateVsM;};
64  void SetShowBinLabelsVsM(Bool_t const sblvm) {this->fShowBinLabelsVsM = sblvm;};
65  Bool_t GetShowBinLabelsVsM() const {return this->fShowBinLabelsVsM;};
66  // particle weights:
67  void SetUsePhiWeights(Bool_t const uPhiW) {this->fUsePhiWeights = uPhiW;};
68  Bool_t GetUsePhiWeights() const {return this->fUsePhiWeights;};
69  void SetUsePtWeights(Bool_t const uPtW) {this->fUsePtWeights = uPtW;};
70  Bool_t GetUsePtWeights() const {return this->fUsePtWeights;};
71  void SetUseEtaWeights(Bool_t const uEtaW) {this->fUseEtaWeights = uEtaW;};
72  Bool_t GetUseEtaWeights() const {return this->fUseEtaWeights;};
73 
74  void SetRejectPileUp(Bool_t pileup) {this->fRejectPileUp = pileup;}
75  void SetRejectPileUpTight(Bool_t pileupT) {this->fRejectPileUpTight = pileupT;}
76 
77 
78  private:
81 
82  Bool_t CheckEventIsPileUp(AliAODEvent* faod,Bool_t bPileUpTight=kFALSE);
84  double GetWDist(const AliVVertex* v0, const AliVVertex* v1);
85 
86  AliMultSelection* fMultSelection;
87  AliAnalysisUtils* fAnalysisUtil;
88 
89 
90  AliFlowEventSimple *fEvent; // the input event
91  AliFlowAnalysisWithMixedHarmonics *fMH; // mixed harmonics object
92  TList *fListHistos; // collection of output
93  // common:
94  Int_t fHarmonic; // integer n in cos[n(phi1+phi2-2phi3)]
95  Int_t fNoOfMultipicityBins; // number of multiplicity bins
96  Double_t fMultipicityBinWidth; // width of multiplicity bin
97  Double_t fMinMultiplicity; // minimal multiplicity
98  Bool_t fOppositeChargesPOI; // two POIs, psi1 and psi2, in correlator <<cos[psi1+psi2-2phi3)]>> will be taken with opposite charges
99  Bool_t fEvaluateDifferential3pCorrelator; // evaluate <<cos[psi1+psi2-2phi3)]>>, where psi1 and psi2 are two POIs
100  Bool_t fCorrectForDetectorEffects; // correct 3-p correlator for detector effects
101  Bool_t fPrintOnTheScreen; // print or not the final results on the screen
102  Bool_t fCalculateVsM; // calculate correlators vs multiplicity
103  Bool_t fShowBinLabelsVsM; // in histograms holding results vs multiplicity show bin labels in the format M_lowEdge \leq M < M_upperEdge
104  // particle weights:
105  Bool_t fUseParticleWeights; // use any particle weights
106  Bool_t fUsePhiWeights; // use phi weights
107  Bool_t fUsePtWeights; // use pt weights
108  Bool_t fUseEtaWeights; // use eta weights
109 
112 
113  TList *fWeightsList; // list with weights
114 
115 
116 
117 
118 
119  ClassDef(AliAnalysisTaskMixedHarmonics, 1);
120 };
121 
122 //================================================================================================================
123 
124 #endif
125 
126 
127 
128 
129 
130 
131 
132 
133 
134 
135 
double Double_t
Definition: External.C:58
AliFlowEventSimple * fEvent
Event selection.
void SetEvaluateDifferential3pCorrelator(Bool_t const ed3pc)
void SetMultipicityBinWidth(Double_t const mbw)
AliFlowAnalysisWithMixedHarmonics * fMH
int Int_t
Definition: External.C:63
AliAnalysisUtils * fAnalysisUtil
MultSelection (RUN2 centrality estimator)
virtual void UserExec(Option_t *option)
Bool_t CheckEventIsPileUp(AliAODEvent *faod, Bool_t bPileUpTight=kFALSE)
void SetShowBinLabelsVsM(Bool_t const sblvm)
AliAnalysisTaskMixedHarmonics & operator=(const AliAnalysisTaskMixedHarmonics &aatmh)
void SetCorrectForDetectorEffects(Bool_t const cfde)
const char Option_t
Definition: External.C:48
bool Bool_t
Definition: External.C:53
double GetWDist(const AliVVertex *v0, const AliVVertex *v1)
Bool_t PileUpMultiVertex(const AliAODEvent *faod)