AliPhysics  6a0d37d (6a0d37d)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliAnalysisTaskCRC.cxx
Go to the documentation of this file.
1 /*************************************************************************
2  * Copyright(c) 1998-2008, ALICE Experiment at CERN, All rights reserved. *
3  * *
4  * Author: The ALICE Off-line Project. *
5  * Contributors are mentioned in the code where appropriate. *
6  * *
7  * Permission to use, copy, modify and distribute this software and its *
8  * documentation strictly for non-commercial purposes is hereby granted *
9  * without fee, provided that the above copyright notice appears in all *
10  * copies and that both the copyright notice and this permission notice *
11  * appear in the supporting documentation. The authors make no claims *
12  * about the suitability of this software for any purpose. It is *
13  * provided "as is" without express or implied warranty. *
14  **************************************************************************/
15 
16 /********************************
17  * analysis task for CRC *
18  * *
19  * author: Jacopo Margutti *
20  * (margutti@nikhef.nl) *
21  * ******************************/
22 
23 class TFile;
24 class TString;
25 class TList;
26 class AliAnalysisTaskSE;
27 
28 #include "Riostream.h"
29 #include "AliAODEvent.h"
30 #include "AliAODHeader.h"
31 #include "AliCentrality.h"
32 #include "AliFlowVector.h"
33 #include "AliFlowEvent.h"
34 #include "AliFlowEventSimple.h"
35 #include "AliAnalysisTaskCRC.h"
36 #include "AliFlowAnalysisCRC.h"
37 #include "AliLog.h"
38 
39 class AliFlowVector;
40 class TVector;
41 
42 using std::cout;
43 using std::endl;
45 
46 //================================================================================================================
47 
48 AliAnalysisTaskCRC::AliAnalysisTaskCRC(const char *name, Bool_t useParticleWeights):
49 AliAnalysisTaskSE(name),
50 fEvent(NULL),
51 fQC(NULL),
52 fListHistos(NULL),
53 fBookOnlyBasicCCH(kTRUE),
54 fFillMultipleControlHistograms(kFALSE),
55 fHarmonic(1),
56 fApplyCorrectionForNUA(kFALSE),
57 fApplyCorrectionForNUAVsM(kFALSE),
58 fPropagateErrorAlsoFromNIT(kFALSE),
59 fCalculateDiffFlow(kTRUE),
60 fCalculate2DDiffFlow(kFALSE),
61 fCalculateDiffFlowVsEta(kTRUE),
62 fStoreDistributions(kFALSE),
63 fCalculateCumulantsVsM(kFALSE),
64 fCalculateAllCorrelationsVsM(kFALSE),
65 fCalculateMixedHarmonics(kFALSE),
66 fCalculateMixedHarmonicsVsM(kFALSE),
67 fStoreControlHistograms(kFALSE),
68 fMinimumBiasReferenceFlow(kTRUE),
69 fForgetAboutCovariances(kFALSE),
70 fStoreVarious(kFALSE),
71 fExactNoRPs(0),
72 fUse2DHistograms(kFALSE),
73 fFillProfilesVsMUsingWeights(kTRUE),
74 fUseQvectorTerms(kFALSE),
75 fnBinsMult(10000),
76 fMinMult(0.),
77 fMaxMult(10000.),
78 fUseParticleWeights(useParticleWeights),
79 fUsePhiWeights(kFALSE),
80 fUsePtWeights(kFALSE),
81 fUseEtaWeights(kFALSE),
82 fUseTrackWeights(kFALSE),
83 fUsePhiEtaWeights(kFALSE),
84 fUsePhiEtaWeightsChDep(kFALSE),
85 fUsePhiEtaWeightsVtxDep(kFALSE),
86 fUsePhiEtaCuts(kFALSE),
87 fUseZDCESEMulWeights(kFALSE),
88 fUseZDCESESpecWeights(kFALSE),
89 fWeightsList(NULL),
90 fWeightsListChDep(NULL),
91 fWeightsListVtxDep(NULL),
92 fMultiplicityWeight(NULL),
93 fMultiplicityIs(AliFlowCommonConstants::kRP),
94 fnBinsForCorrelations(10000),
95 fUseBootstrap(kFALSE),
96 fUseBootstrapVsM(kFALSE),
97 fnSubsamples(10),
98 fCalculateCRC(kTRUE),
99 fCalculateCRCPt(kFALSE),
100 fCalculateCME(kFALSE),
101 fCalculateCRC2(kFALSE),
102 fCalculateCRCVZ(kFALSE),
103 fCalculateCRCZDC(kFALSE),
104 fCalculateEbEFlow(kFALSE),
105 fStoreZDCQVecVtxPos(kFALSE),
106 fCRC2nEtaBins(6),
107 fCalculateFlowQC(kFALSE),
108 fCalculateFlowZDC(kFALSE),
109 fCalculateFlowVZ(kFALSE),
110 fUseVZERO(kFALSE),
111 fUseZDC(kFALSE),
112 fRecenterZDC(kFALSE),
113 fDivSigma(kTRUE),
114 fInvertZDC(kFALSE),
115 fCRCTestSin(kFALSE),
116 fUseNUAforCRC(kFALSE),
117 fUseCRCRecenter(kFALSE),
118 fCRCEtaMin(0.),
119 fCRCEtaMax(0.),
120 fnCenBin(10),
121 fFlowQCCenBin(100),
122 fFlowQCDeltaEta(0.4),
123 fCenBinWidth(10.),
124 fDataSet(""),
125 fInteractionRate(""),
126 fSelectCharge(""),
127 fCorrWeight("TPCuVZuZDCu"),
128 fQVecList(NULL),
129 fCRCZDCCalibList(NULL),
130 fCRCZDCResList(NULL),
131 fZDCESEList(NULL),
132 fCenWeightsHist(NULL),
133 fQAZDCCuts(kFALSE),
134 fMinMulZN(1),
135 fMaxDevZN(5.),
136 fZDCGainAlpha(0.395)
137 {
138  // constructor
139  AliDebug(2,"AliAnalysisTaskCRC::AliAnalysisTaskCRC(const char *name, Bool_t useParticleWeights)");
140 
141  // Define input and output slots here
142  // Input slot #0 works with an AliFlowEventSimple
143  DefineInput(0, AliFlowEventSimple::Class());
144 
145  // Output slot #0 is reserved
146  // Output slot #1 writes into a TList container
147  DefineOutput(1, TList::Class());
148 
149  // Event weights:
150  fMultiplicityWeight = new TString("combinations");
151 
152  // b) Initialize default min and max values of correlations:
153  // (Remark: The default values bellow were chosen for v2=5% and M=500)
154  fMinValueOfCorrelation[0] = -0.015; // <2>_min
155  fMaxValueOfCorrelation[0] = 0.03; // <2>_max
156  fMinValueOfCorrelation[1] = -0.6e-3; // <4>_min
157  fMaxValueOfCorrelation[1] = 0.07; // <4>_max
158  fMinValueOfCorrelation[2] = -0.08e-3; // <6>_min
159  fMaxValueOfCorrelation[2] = 0.015; // <6>_max
160  fMinValueOfCorrelation[3] = -20.e-6; // <8>_min
161  fMaxValueOfCorrelation[3] = 0.003; // <8>_max
162 
163  // c) Initialize default min and max values of correlation products:
164  // (Remark: The default values bellow were chosen for v2=5% and M=500)
165  fMinValueOfCorrelationProduct[0] = -15.e-6; // <2><4>_min
166  fMaxValueOfCorrelationProduct[0] = 0.02; // <2><4>_max
167 
168  // d) Initialize default min and max values of q-vector terms:
169  fMinValueOfQvectorTerms[0] = 0.;
170  fMaxValueOfQvectorTerms[0] = 30.;
171  fMinValueOfQvectorTerms[1] = 0.;
172  fMaxValueOfQvectorTerms[1] = 20.;
173  fMinValueOfQvectorTerms[2] = 0.;
174  fMaxValueOfQvectorTerms[2] = 200.;
175  fMinValueOfQvectorTerms[3] = -30.;
176  fMaxValueOfQvectorTerms[3] = 80.;
177 
178  for(Int_t c=0; c<10; c++) {
179  fPtWeightsHist[c] = NULL;
180  for(Int_t b=0; b<21; b++) {
181  for(Int_t k=0; k<2; k++) {
182  fEtaWeightsHist[c][b][k] = NULL;
183  }
184  }
185  }
186  for(Int_t c=0; c<2; c++) {
187  for(Int_t k=0; k<2; k++) {
188  fNvsCenCut[c][k] = NULL;
189  }
190  }
191  for(Int_t k=0; k<5; k++) {
192  fZDCESEMultWeightsHist[k] = NULL;
193  fZDCESESpecWeightsHist[k] = NULL;
194  }
195 
196 }
197 
198 //================================================================================================================
199 
202 fEvent(NULL),
203 fQC(NULL),
204 fListHistos(NULL),
205 fBookOnlyBasicCCH(kFALSE),
206 fFillMultipleControlHistograms(kFALSE),
207 fHarmonic(1),
208 fApplyCorrectionForNUA(kFALSE),
209 fApplyCorrectionForNUAVsM(kFALSE),
210 fPropagateErrorAlsoFromNIT(kFALSE),
211 fCalculateDiffFlow(kFALSE),
212 fCalculate2DDiffFlow(kFALSE),
213 fCalculateDiffFlowVsEta(kTRUE),
214 fStoreDistributions(kFALSE),
215 fCalculateCumulantsVsM(kFALSE),
216 fCalculateAllCorrelationsVsM(kFALSE),
217 fCalculateMixedHarmonics(kFALSE),
218 fCalculateMixedHarmonicsVsM(kFALSE),
219 fStoreControlHistograms(kFALSE),
220 fMinimumBiasReferenceFlow(kFALSE),
221 fForgetAboutCovariances(kFALSE),
222 fStoreVarious(kFALSE),
223 fExactNoRPs(0),
224 fUse2DHistograms(kFALSE),
225 fFillProfilesVsMUsingWeights(kTRUE),
226 fUseQvectorTerms(kFALSE),
227 fnBinsMult(0),
228 fMinMult(0.),
229 fMaxMult(0.),
230 fUseParticleWeights(kFALSE),
231 fUsePhiWeights(kFALSE),
232 fUsePtWeights(kFALSE),
233 fUseEtaWeights(kFALSE),
234 fUseTrackWeights(kFALSE),
235 fUsePhiEtaWeights(kFALSE),
236 fUsePhiEtaWeightsChDep(kFALSE),
237 fUsePhiEtaWeightsVtxDep(kFALSE),
238 fUsePhiEtaCuts(kFALSE),
239 fUseZDCESEMulWeights(kFALSE),
240 fUseZDCESESpecWeights(kFALSE),
241 fWeightsList(NULL),
242 fWeightsListChDep(NULL),
243 fWeightsListVtxDep(NULL),
244 fMultiplicityWeight(NULL),
245 fMultiplicityIs(AliFlowCommonConstants::kRP),
246 fnBinsForCorrelations(0),
247 fUseBootstrap(kFALSE),
248 fUseBootstrapVsM(kFALSE),
249 fnSubsamples(10),
250 fCalculateCRC(kTRUE),
251 fCalculateCRCPt(kFALSE),
252 fCalculateCME(kFALSE),
253 fCalculateCRC2(kFALSE),
254 fCalculateCRCVZ(kFALSE),
255 fCalculateCRCZDC(kFALSE),
256 fCalculateEbEFlow(kFALSE),
257 fStoreZDCQVecVtxPos(kFALSE),
258 fCRC2nEtaBins(6),
259 fCalculateFlowQC(kFALSE),
260 fCalculateFlowZDC(kFALSE),
261 fCalculateFlowVZ(kFALSE),
262 fUseVZERO(kFALSE),
263 fUseZDC(kFALSE),
264 fRecenterZDC(kFALSE),
265 fDivSigma(kTRUE),
266 fInvertZDC(kFALSE),
267 fCRCTestSin(kFALSE),
268 fUseNUAforCRC(kFALSE),
269 fUseCRCRecenter(kFALSE),
270 fCRCEtaMin(0.),
271 fCRCEtaMax(0.),
272 fnCenBin(10),
273 fFlowQCCenBin(100),
274 fFlowQCDeltaEta(0.4),
275 fCenBinWidth(10.),
276 fDataSet(""),
277 fInteractionRate(""),
278 fSelectCharge(""),
279 fCorrWeight("TPCuVZuZDCu"),
280 fQVecList(NULL),
281 fCRCZDCCalibList(NULL),
282 fCRCZDCResList(NULL),
283 fZDCESEList(NULL),
284 fCenWeightsHist(NULL),
285 fQAZDCCuts(kFALSE),
286 fMinMulZN(1),
287 fMaxDevZN(5.),
288 fZDCGainAlpha(0.395)
289 {
290  // Dummy constructor
291  AliDebug(2,"AliAnalysisTaskCRC::AliAnalysisTaskCRC()");
292 
293  // b) Initialize default min and max values of correlations:
294  // (Remark: The default values bellow were chosen for v2=5% and M=500)
295  fMinValueOfCorrelation[0] = -0.015; // <2>_min
296  fMaxValueOfCorrelation[0] = 0.03; // <2>_max
297  fMinValueOfCorrelation[1] = -0.6e-3; // <4>_min
298  fMaxValueOfCorrelation[1] = 0.07; // <4>_max
299  fMinValueOfCorrelation[2] = -0.08e-3; // <6>_min
300  fMaxValueOfCorrelation[2] = 0.015; // <6>_max
301  fMinValueOfCorrelation[3] = -20.e-6; // <8>_min
302  fMaxValueOfCorrelation[3] = 0.003; // <8>_max
303 
304  // c) Initialize default min and max values of correlation products:
305  // (Remark: The default values bellow were chosen for v2=5% and M=500)
306  fMinValueOfCorrelationProduct[0] = -15.e-6; // <2><4>_min
307  fMaxValueOfCorrelationProduct[0] = 0.02; // <2><4>_max
308 
309  // d) Initialize default min and max values of q-vector terms:
310  fMinValueOfQvectorTerms[0] = 0.;
311  fMaxValueOfQvectorTerms[0] = 30.;
312  fMinValueOfQvectorTerms[1] = 0.;
313  fMaxValueOfQvectorTerms[1] = 20.;
314  fMinValueOfQvectorTerms[2] = 0.;
315  fMaxValueOfQvectorTerms[2] = 200.;
316  fMinValueOfQvectorTerms[3] = -30.;
317  fMaxValueOfQvectorTerms[3] = 80.;
318 
319  for(Int_t c=0; c<10; c++) {
320  fPtWeightsHist[c] = NULL;
321  for(Int_t b=0; b<21; b++) {
322  for(Int_t k=0; k<2; k++) {
323  fEtaWeightsHist[c][b][k] = NULL;
324  }
325  }
326  }
327  for(Int_t c=0; c<2; c++) {
328  for(Int_t k=0; k<2; k++) {
329  fNvsCenCut[c][k] = NULL;
330  }
331  }
332  for(Int_t k=0; k<5; k++) {
333  fZDCESEMultWeightsHist[k] = NULL;
334  fZDCESESpecWeightsHist[k] = NULL;
335  }
336 
337 }
338 
339 //==========================================================================================================
340 
342 {
343  // Called at every worker node to initialize
344  AliDebug(2,"AliAnalysisTaskCRC::UserCreateOutputObjects()");
345 
346  // Analyser:
347  fQC = new AliFlowAnalysisCRC("AliFlowAnalysisCRC",fnCenBin,fCenBinWidth);
348 
349  // Common:
368  if(fDataSet.EqualTo("2010")) fQC->SetDataSet(AliFlowAnalysisCRC::k2010);
369  if(fDataSet.EqualTo("2011")) fQC->SetDataSet(AliFlowAnalysisCRC::k2011);
370  if(fDataSet.EqualTo("2015")) fQC->SetDataSet(AliFlowAnalysisCRC::k2015);
371  if(fDataSet.EqualTo("2015v6")) fQC->SetDataSet(AliFlowAnalysisCRC::k2015v6);
412  // Multiparticle correlations vs multiplicity:
416  // Particle weights:
417  if(fUseParticleWeights) {
418  // Pass the flags to class:
426  // Pass the list with weights to class:
430  }
432  // Event weights:
433  if(!fMultiplicityWeight->Contains("combinations")) {
435  }
436  // Q Vector weights:
437  if(fUseCRCRecenter) {
439  }
440  if (fRecenterZDC) {
443  }
444  if (fQAZDCCuts) {
446  }
448  if(fUsePtWeights){
449  for(Int_t c=0; c<10; c++) {
451  }
452  }
453  if(fUseEtaWeights){
454  for(Int_t h=0; h<10; h++) {
455  for(Int_t b=0; b<21; b++) {
456  for(Int_t c=0; c<2; c++) {
457  if(fEtaWeightsHist[h][b][c]) fQC->SetEtaWeightsHist(fEtaWeightsHist[h][b][c],h,b,c);
458  }
459  }
460  }
461  }
462  if(fMinMulZN>1){
463  for(Int_t c=0; c<2; c++) {
464  for(Int_t k=0; k<2; k++) {
465  if(fNvsCenCut[c][k]) fQC->SetNvsCenCut(fNvsCenCut[c][k],c,k);
466  }
467  }
468  }
471  for(Int_t k=0; k<5; k++) {
473  }
474  }
477  for(Int_t k=0; k<5; k++) {
479  }
480  }
487 
488  // Store phi distribution for one event to illustrate flow:
490 
491  // Initialize default min and max values of correlations:
492  for(Int_t ci=0;ci<4;ci++) {
495  }
496 
497  // Initialize default min and max values of correlation products:
498  for(Int_t cpi=0;cpi<1;cpi++) {
501  }
502 
503  // Initialize default min and max values of Q-vector terms:
504  for(Int_t ci=0;ci<4;ci++) {
507  }
508 
509  // Bootstrap:
513 
514  fQC->Init();
515 
516  if(fQC->GetHistList()) {
518  } else {
519  Printf("ERROR: Could not retrieve histogram list (QC, Task::UserCreateOutputObjects()) !!!!");
520  }
521 
522  PostData(1,fListHistos);
523 
524 } // end of void AliAnalysisTaskCRC::UserCreateOutputObjects()
525 
526 //================================================================================================================
527 
529 {
530  // main loop (called for each event)
531  fEvent = dynamic_cast<AliFlowEvent*>(GetInputData(0));
532 
533  // Q-cumulants
534  if(fEvent) {
536  fQC->Make(fEvent);
537  } else {
538  cout<<"WARNING: No input data (QC, Task::UserExec()) !!!!"<<endl;
539  cout<<endl;
540  }
541 
542  PostData(1,fListHistos);
543 }
544 
545 //================================================================================================================
546 
548 {
549  //accessing the merged output list:
550  fListHistos = (TList*)GetOutputData(1);
551 
552  fQC = new AliFlowAnalysisCRC("AliFlowAnalysisCRC",fnCenBin,fCenBinWidth);
553  if(fDataSet.EqualTo("2010")) fQC->SetDataSet(AliFlowAnalysisCRC::k2010);
554  if(fDataSet.EqualTo("2011")) fQC->SetDataSet(AliFlowAnalysisCRC::k2011);
555  if(fDataSet.EqualTo("2015")) fQC->SetDataSet(AliFlowAnalysisCRC::k2015);
556  if(fDataSet.EqualTo("2015v6")) fQC->SetDataSet(AliFlowAnalysisCRC::k2015v6);
561  fQC->SetRunList();
562 
563  if(fListHistos) {
565  fQC->Finish();
566  PostData(1,fListHistos);
567  } else {
568  cout<<" WARNING: histogram list pointer is empty (QC, Task::Terminate()) !!!!"<<endl;
569  cout<<endl;
570  }
571 
572 } // end of void AliAnalysisTaskCRC::Terminate(Option_t *)
573 
574 
575 
576 
577 
578 
579 
580 
581 
582 
583 
584 
585 
586 
587 
588 
589 
590 
591 
592 
593 
TList * GetHistList() const
void SetUsePhiEtaCuts(Bool_t const uPhiEtaW)
void SetTestSin(Bool_t const cCRC)
virtual void UserExec(Option_t *option)
void SetUseQvectorTerms(Bool_t const uqvt)
void SetNvsCenCut(TH1D *const n, Int_t c, Int_t h)
virtual void UserCreateOutputObjects()
TH2F * fZDCESEMultWeightsHist[5]
ZDC mult cuts.
void SetUseTrackWeights(Bool_t const uTrackW)
void SetCalculateAllCorrelationsVsM(Bool_t const cacvm)
void SetDataSet(DataSet set)
AliFlowAnalysisCRC * fQC
void SetUseBootstrap(Bool_t const ub)
void SetCorrWeightVZ(CorrelationWeights weights)
void SetRecenterZDC(Bool_t const cCRC)
void SetBookOnlyBasicCCH(Bool_t const bobcch)
void SetCalculateFlowVZ(Bool_t const cCRC)
void SetApplyCorrectionForNUA(Bool_t const applyCorrectionForNUA)
void SetUsePhiEtaWeights(Bool_t const uPhiEtaW)
void SetCRCQVecWeightsList(TList *const wlist)
void SetZDCESEList(TList *const kList)
void SetUseZDCESEMulWeights(Bool_t const uPhiEtaW)
void SetUseZDC(Bool_t const cCRC)
void SetInvertZDC(Bool_t const cCRC)
void SetMinMulZN(Int_t weights)
void SetUsePhiWeights(Bool_t const uPhiW)
void SetQAZDCCuts(Bool_t const cCRC)
void SetnBinsForCorrelations(Int_t const nb)
void SetUseVZERO(Bool_t const cCRC)
void SetDivSigma(Bool_t const cCRC)
void SetZDCESEMultWeightsHist(TH2F *const n, Int_t h)
TCanvas * c
Definition: TestFitELoss.C:172
void SetCorrWeightTPC(CorrelationWeights weights)
void SetInteractionRate(InteractionRate set)
void SetCalculateCRCVZ(Bool_t const cCRC)
void SetForgetAboutCovariances(Bool_t const fac)
void SetCalculateCRC2(Bool_t const cCRC)
void SetZDCESESpecWeightsHist(TH2F *const n, Int_t h)
void SetMinValueOfCorrelation(Int_t const ci, Double_t const minValue)
void SetStoreControlHistograms(Bool_t const sch)
void SetFillMultipleControlHistograms(Bool_t const fmch)
void SetCalculateCRC(Bool_t const cCRC)
void SetMaxValueOfCorrelation(Int_t const ci, Double_t const maxValue)
void SetStoreZDCQVecVtxPos(Bool_t const cCRC)
void SetnBinsMult(Int_t const nbm)
void SetNUAforCRC(Bool_t const cCRC)
void SetCalculateFlowQC(Bool_t const cCRC)
virtual void Make(AliFlowEventSimple *anEvent)
TH2F * fZDCESESpecWeightsHist[5]
void SetMinValueOfCorrelationProduct(Int_t const cpi, Double_t const minValue)
void SetUseZDCESESpecWeights(Bool_t const uPhiEtaW)
void SetCorrWeightZDC(CorrelationWeights weights)
void SetUsePhiEtaWeightsChDep(Bool_t const uPhiEtaW)
void SetCalculateFlowZDC(Bool_t const cCRC)
void SetRunNumber(Int_t const n)
Double_t fMinValueOfCorrelationProduct[1]
int Int_t
Definition: External.C:63
virtual void Terminate(Option_t *)
void SetCalculateDiffFlow(Bool_t const cdf)
void SetCalculateEbEFlow(Bool_t const cCRC)
void SetFillProfilesVsMUsingWeights(Bool_t const fpvmuw)
void SetWeightsListVtxDep(TList *const wlist)
void SetPtWeightsHist(TH1D *const n, Int_t c)
Double_t fMinValueOfCorrelation[4]
Double_t fMaxValueOfCorrelation[4]
void SetMinValueOfQvectorTerms(Int_t const qvti, Double_t const minValue)
void SetCalculateCumulantsVsM(Bool_t const ccvm)
Double_t fMinValueOfQvectorTerms[4]
Double_t fMaxValueOfQvectorTerms[4]
void SetCRCZDCResList(TList *const wlist)
void SetWeightsListChDep(TList *const wlist)
void SetPropagateErrorAlsoFromNIT(Bool_t const peafNIT)
void SetCalculateCME(Bool_t const cCRC)
void SetExactNoRPs(Int_t const enr)
void SetCalculateCRCZDC(Bool_t const cCRC)
void SetnSubsamples(Int_t const ns)
void SetCalculateCRCPt(Bool_t const cCRC)
void SetCalculate2DDiffFlow(Bool_t const c2ddf)
void SetStoreVarious(Bool_t const spdfoe)
void SetMaxMult(Double_t const maxm)
void SetCRCEtaRange(Double_t const etamin, Double_t const etamax)
void SetMultiplicityWeight(const char *multiplicityWeight)
TH1D * fEtaWeightsHist[10][21][2]
void SetUseBootstrapVsM(Bool_t const ubVsM)
void SetUsePhiEtaWeightsVtxDep(Bool_t const uPhiEtaW)
void SetUse2DHistograms(Bool_t const u2dh)
Double_t fMaxValueOfCorrelationProduct[1]
void SetWeightsList(TList *const wlist)
void SetZDCGainAlpha(Float_t a)
void SetCalculateMixedHarmonicsVsM(Bool_t const cmhvm)
ClassImp(AliAnalysisTaskCRC) AliAnalysisTaskCRC
AliFlowCommonConstants::ERefMultSource fMultiplicityIs
void SetMinMult(Double_t const minm)
void SetUseEtaWeights(Bool_t const uEtaW)
void SetStoreDistributions(Bool_t const storeDistributions)
virtual void GetOutputHistograms(TList *outputListHistos)
void SetCalculateDiffFlowVsEta(Bool_t const cdfve)
void SetUsePtWeights(Bool_t const uPtW)
void SetMultiplicityIs(AliFlowCommonConstants::ERefMultSource mi)
void SetHarmonic(Int_t const harmonic)
void SetFlowQCDeltaEta(Double_t const TL)
const char Option_t
Definition: External.C:48
void SetMaxValueOfCorrelationProduct(Int_t const cpi, Double_t const maxValue)
void SetMinimumBiasReferenceFlow(Bool_t const mmrf)
void SetCalculateMixedHarmonics(Bool_t const cmh)
void SetEtaWeightsHist(TH1D *const n, Int_t h, Int_t b, Int_t c)
bool Bool_t
Definition: External.C:53
void SetMaxDevZN(Float_t weights)
void SetSelectCharge(SelectCharge set)
void SetMaxValueOfQvectorTerms(Int_t const qvti, Double_t const maxValue)
void SetApplyCorrectionForNUAVsM(Bool_t const applyCorrectionForNUAVsM)
void SetCRCZDCCalibList(TList *const wlist)
void SetFlowQCCenBin(Int_t const TL)
void SetUseCRCRecenter(Bool_t const cCRC)
void SetCRC2nEtaBins(Int_t NB)
void SetCenWeightsHist(TH1D *const n)