26 class AliAnalysisTaskSE;
28 #include "Riostream.h"
29 #include "AliAODEvent.h"
30 #include "AliAODHeader.h"
31 #include "AliCentrality.h"
49 AliAnalysisTaskSE(name),
53 fBookOnlyBasicCCH(kTRUE),
54 fFillMultipleControlHistograms(kFALSE),
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),
72 fUse2DHistograms(kFALSE),
73 fFillProfilesVsMUsingWeights(kTRUE),
74 fUseQvectorTerms(kFALSE),
78 fUseParticleWeights(useParticleWeights),
79 fUsePhiWeights(kFALSE),
80 fUsePtWeights(kFALSE),
81 fUseEtaWeights(kFALSE),
82 fUseTrackWeights(kFALSE),
83 fUsePhiEtaWeights(kFALSE),
85 fMultiplicityWeight(NULL),
87 fnBinsForCorrelations(10000),
88 fUseBootstrap(kFALSE),
89 fUseBootstrapVsM(kFALSE),
92 fCalculateCRCPt(kFALSE),
93 fCalculateCME(kFALSE),
94 fCalculateCRC2(kFALSE),
95 fCalculateCRCVZ(kFALSE),
96 fCalculateCRCZDC(kFALSE),
97 fCalculateEbEFlow(kFALSE),
99 fCalculateFlowQC(kFALSE),
100 fCalculateFlowZDC(kFALSE),
101 fCalculateFlowVZ(kFALSE),
104 fRecenterZDC(kFALSE),
108 fUseNUAforCRC(kFALSE),
109 fUseCRCRecenter(kFALSE),
114 fFlowQCDeltaEta(0.4),
117 fCorrWeight("TPCuVZuZDCu"),
119 fCRCZDCCalibList(NULL),
121 fCenWeightsHist(NULL),
127 AliDebug(2,
"AliAnalysisTaskCRC::AliAnalysisTaskCRC(const char *name, Bool_t useParticleWeights)");
131 DefineInput(0, AliFlowEventSimple::Class());
135 DefineOutput(1, TList::Class());
138 fMultiplicityWeight =
new TString(
"combinations");
142 fMinValueOfCorrelation[0] = -0.015;
143 fMaxValueOfCorrelation[0] = 0.03;
144 fMinValueOfCorrelation[1] = -0.6e-3;
145 fMaxValueOfCorrelation[1] = 0.07;
146 fMinValueOfCorrelation[2] = -0.08e-3;
147 fMaxValueOfCorrelation[2] = 0.015;
148 fMinValueOfCorrelation[3] = -20.e-6;
149 fMaxValueOfCorrelation[3] = 0.003;
153 fMinValueOfCorrelationProduct[0] = -15.e-6;
154 fMaxValueOfCorrelationProduct[0] = 0.02;
157 fMinValueOfQvectorTerms[0] = 0.;
158 fMaxValueOfQvectorTerms[0] = 30.;
159 fMinValueOfQvectorTerms[1] = 0.;
160 fMaxValueOfQvectorTerms[1] = 20.;
161 fMinValueOfQvectorTerms[2] = 0.;
162 fMaxValueOfQvectorTerms[2] = 200.;
163 fMinValueOfQvectorTerms[3] = -30.;
164 fMaxValueOfQvectorTerms[3] = 80.;
166 for(Int_t c=0; c<10; c++) {
167 fPtWeightsHist[c] = NULL;
168 for(Int_t b=0; b<21; b++) {
169 for(Int_t k=0; k<2; k++) {
170 fEtaWeightsHist[c][b][k] = NULL;
174 for(Int_t c=0; c<2; c++) {
175 for(Int_t k=0; k<2; k++) {
176 fNvsCenCut[c][k] = NULL;
189 fBookOnlyBasicCCH(kFALSE),
190 fFillMultipleControlHistograms(kFALSE),
192 fApplyCorrectionForNUA(kFALSE),
193 fApplyCorrectionForNUAVsM(kFALSE),
194 fPropagateErrorAlsoFromNIT(kFALSE),
195 fCalculateDiffFlow(kFALSE),
196 fCalculate2DDiffFlow(kFALSE),
197 fCalculateDiffFlowVsEta(kTRUE),
198 fStoreDistributions(kFALSE),
199 fCalculateCumulantsVsM(kFALSE),
200 fCalculateAllCorrelationsVsM(kFALSE),
201 fCalculateMixedHarmonics(kFALSE),
202 fCalculateMixedHarmonicsVsM(kFALSE),
203 fStoreControlHistograms(kFALSE),
204 fMinimumBiasReferenceFlow(kFALSE),
205 fForgetAboutCovariances(kFALSE),
206 fStoreVarious(kFALSE),
208 fUse2DHistograms(kFALSE),
209 fFillProfilesVsMUsingWeights(kTRUE),
210 fUseQvectorTerms(kFALSE),
214 fUseParticleWeights(kFALSE),
215 fUsePhiWeights(kFALSE),
216 fUsePtWeights(kFALSE),
217 fUseEtaWeights(kFALSE),
218 fUseTrackWeights(kFALSE),
219 fUsePhiEtaWeights(kFALSE),
221 fMultiplicityWeight(NULL),
223 fnBinsForCorrelations(0),
224 fUseBootstrap(kFALSE),
225 fUseBootstrapVsM(kFALSE),
227 fCalculateCRC(kTRUE),
228 fCalculateCRCPt(kFALSE),
229 fCalculateCME(kFALSE),
230 fCalculateCRC2(kFALSE),
231 fCalculateCRCVZ(kFALSE),
232 fCalculateCRCZDC(kFALSE),
233 fCalculateEbEFlow(kFALSE),
235 fCalculateFlowQC(kFALSE),
236 fCalculateFlowZDC(kFALSE),
237 fCalculateFlowVZ(kFALSE),
240 fRecenterZDC(kFALSE),
244 fUseNUAforCRC(kFALSE),
245 fUseCRCRecenter(kFALSE),
250 fFlowQCDeltaEta(0.4),
253 fCorrWeight(
"TPCuVZuZDCu"),
255 fCRCZDCCalibList(NULL),
257 fCenWeightsHist(NULL),
263 AliDebug(2,
"AliAnalysisTaskCRC::AliAnalysisTaskCRC()");
291 for(Int_t c=0; c<10; c++) {
293 for(Int_t b=0; b<21; b++) {
294 for(Int_t k=0; k<2; k++) {
299 for(Int_t c=0; c<2; c++) {
300 for(Int_t k=0; k<2; k++) {
312 AliDebug(2,
"AliAnalysisTaskCRC::UserCreateOutputObjects()");
403 for(Int_t c=0; c<10; c++) {
408 for(Int_t h=0; h<10; h++) {
409 for(Int_t b=0; b<21; b++) {
410 for(Int_t c=0; c<2; c++) {
417 for(Int_t c=0; c<2; c++) {
418 for(Int_t k=0; k<2; k++) {
434 for(Int_t ci=0;ci<4;ci++) {
440 for(Int_t cpi=0;cpi<1;cpi++) {
446 for(Int_t ci=0;ci<4;ci++) {
461 Printf(
"ERROR: Could not retrieve histogram list (QC, Task::UserCreateOutputObjects()) !!!!");
480 cout<<
"WARNING: No input data (QC, Task::UserExec()) !!!!"<<endl;
505 cout<<
" WARNING: histogram list pointer is empty (QC, Task::Terminate()) !!!!"<<endl;
Bool_t fCalculateDiffFlowVsEta
TList * GetHistList() const
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 SetRunList()
virtual void UserCreateOutputObjects()
void SetUseTrackWeights(Bool_t const uTrackW)
void SetCalculateAllCorrelationsVsM(Bool_t const cacvm)
void SetDataSet(DataSet set)
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 SetUseZDC(Bool_t const cCRC)
void SetInvertZDC(Bool_t const cCRC)
void SetMinMulZN(Int_t weights)
void SetUsePhiWeights(Bool_t const uPhiW)
Bool_t fQAZDCCuts
ZDC mult cuts.
void SetQAZDCCuts(Bool_t const cCRC)
Bool_t fApplyCorrectionForNUA
void SetnBinsForCorrelations(Int_t const nb)
void SetUseVZERO(Bool_t const cCRC)
void SetDivSigma(Bool_t const cCRC)
void SetCorrWeightTPC(CorrelationWeights weights)
void SetCalculateCRCVZ(Bool_t const cCRC)
void SetForgetAboutCovariances(Bool_t const fac)
TH1D * fPtWeightsHist[10]
Bool_t fCalculateMixedHarmonics
void SetCalculateCRC2(Bool_t const cCRC)
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 SetnBinsMult(Int_t const nbm)
void SetNUAforCRC(Bool_t const cCRC)
void SetCalculateFlowQC(Bool_t const cCRC)
virtual void Make(AliFlowEventSimple *anEvent)
void SetMinValueOfCorrelationProduct(Int_t const cpi, Double_t const minValue)
Bool_t fCalculateMixedHarmonicsVsM
Bool_t fStoreDistributions
void SetCorrWeightZDC(CorrelationWeights weights)
void SetCalculateFlowZDC(Bool_t const cCRC)
void SetRunNumber(Int_t const n)
Double_t fMinValueOfCorrelationProduct[1]
virtual void Terminate(Option_t *)
void SetCalculateDiffFlow(Bool_t const cdf)
void SetCalculateEbEFlow(Bool_t const cCRC)
void SetFillProfilesVsMUsingWeights(Bool_t const fpvmuw)
void SetPtWeightsHist(TH1D *const n, Int_t c)
Bool_t fPropagateErrorAlsoFromNIT
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]
Bool_t fFillMultipleControlHistograms
Bool_t fMinimumBiasReferenceFlow
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)
Bool_t fApplyCorrectionForNUAVsM
void SetMaxMult(Double_t const maxm)
void SetCRCEtaRange(Double_t const etamin, Double_t const etamax)
Bool_t fUseParticleWeights
void SetMultiplicityWeight(const char *multiplicityWeight)
Bool_t fStoreControlHistograms
TH1D * fEtaWeightsHist[10][21][2]
void SetUseBootstrapVsM(Bool_t const ubVsM)
void SetUse2DHistograms(Bool_t const u2dh)
Double_t fMaxValueOfCorrelationProduct[1]
void SetWeightsList(TList *const wlist)
void SetCalculateMixedHarmonicsVsM(Bool_t const cmhvm)
TString * fMultiplicityWeight
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)
Bool_t fForgetAboutCovariances
void SetMultiplicityIs(AliFlowCommonConstants::ERefMultSource mi)
void SetHarmonic(Int_t const harmonic)
Bool_t fCalculateAllCorrelationsVsM
Bool_t fCalculateDiffFlow
void SetFlowQCDeltaEta(Double_t const TL)
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_t fFillProfilesVsMUsingWeights
Bool_t fCalculateCumulantsVsM
void SetMaxDevZN(Float_t weights)
void SetMaxValueOfQvectorTerms(Int_t const qvti, Double_t const maxValue)
Bool_t fCalculate2DDiffFlow
void SetApplyCorrectionForNUAVsM(Bool_t const applyCorrectionForNUAVsM)
void SetCRCZDCCalibList(TList *const wlist)
void SetFlowQCCenBin(Int_t const TL)
void SetUseCRCRecenter(Bool_t const cCRC)
Int_t fnBinsForCorrelations
void SetCRC2nEtaBins(Int_t NB)
void SetCenWeightsHist(TH1D *const n)