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),
84 fUseZDCESEMulWeights(kFALSE),
86 fMultiplicityWeight(NULL),
88 fnBinsForCorrelations(10000),
89 fUseBootstrap(kFALSE),
90 fUseBootstrapVsM(kFALSE),
93 fCalculateCRCPt(kFALSE),
94 fCalculateCME(kFALSE),
95 fCalculateCRC2(kFALSE),
96 fCalculateCRCVZ(kFALSE),
97 fCalculateCRCZDC(kFALSE),
98 fCalculateEbEFlow(kFALSE),
100 fCalculateFlowQC(kFALSE),
101 fCalculateFlowZDC(kFALSE),
102 fCalculateFlowVZ(kFALSE),
105 fRecenterZDC(kFALSE),
109 fUseNUAforCRC(kFALSE),
110 fUseCRCRecenter(kFALSE),
115 fFlowQCDeltaEta(0.4),
118 fCorrWeight("TPCuVZuZDCu"),
120 fCRCZDCCalibList(NULL),
122 fCenWeightsHist(NULL),
128 AliDebug(2,
"AliAnalysisTaskCRC::AliAnalysisTaskCRC(const char *name, Bool_t useParticleWeights)");
132 DefineInput(0, AliFlowEventSimple::Class());
136 DefineOutput(1, TList::Class());
139 fMultiplicityWeight =
new TString(
"combinations");
143 fMinValueOfCorrelation[0] = -0.015;
144 fMaxValueOfCorrelation[0] = 0.03;
145 fMinValueOfCorrelation[1] = -0.6e-3;
146 fMaxValueOfCorrelation[1] = 0.07;
147 fMinValueOfCorrelation[2] = -0.08e-3;
148 fMaxValueOfCorrelation[2] = 0.015;
149 fMinValueOfCorrelation[3] = -20.e-6;
150 fMaxValueOfCorrelation[3] = 0.003;
154 fMinValueOfCorrelationProduct[0] = -15.e-6;
155 fMaxValueOfCorrelationProduct[0] = 0.02;
158 fMinValueOfQvectorTerms[0] = 0.;
159 fMaxValueOfQvectorTerms[0] = 30.;
160 fMinValueOfQvectorTerms[1] = 0.;
161 fMaxValueOfQvectorTerms[1] = 20.;
162 fMinValueOfQvectorTerms[2] = 0.;
163 fMaxValueOfQvectorTerms[2] = 200.;
164 fMinValueOfQvectorTerms[3] = -30.;
165 fMaxValueOfQvectorTerms[3] = 80.;
167 for(Int_t c=0; c<10; c++) {
168 fPtWeightsHist[c] = NULL;
169 for(Int_t b=0; b<21; b++) {
170 for(Int_t k=0; k<2; k++) {
171 fEtaWeightsHist[c][b][k] = NULL;
175 for(Int_t c=0; c<2; c++) {
176 for(Int_t k=0; k<2; k++) {
177 fNvsCenCut[c][k] = NULL;
180 for(Int_t k=0; k<5; k++) {
181 fZDCESEMultWeightsHist[k] = NULL;
193 fBookOnlyBasicCCH(kFALSE),
194 fFillMultipleControlHistograms(kFALSE),
196 fApplyCorrectionForNUA(kFALSE),
197 fApplyCorrectionForNUAVsM(kFALSE),
198 fPropagateErrorAlsoFromNIT(kFALSE),
199 fCalculateDiffFlow(kFALSE),
200 fCalculate2DDiffFlow(kFALSE),
201 fCalculateDiffFlowVsEta(kTRUE),
202 fStoreDistributions(kFALSE),
203 fCalculateCumulantsVsM(kFALSE),
204 fCalculateAllCorrelationsVsM(kFALSE),
205 fCalculateMixedHarmonics(kFALSE),
206 fCalculateMixedHarmonicsVsM(kFALSE),
207 fStoreControlHistograms(kFALSE),
208 fMinimumBiasReferenceFlow(kFALSE),
209 fForgetAboutCovariances(kFALSE),
210 fStoreVarious(kFALSE),
212 fUse2DHistograms(kFALSE),
213 fFillProfilesVsMUsingWeights(kTRUE),
214 fUseQvectorTerms(kFALSE),
218 fUseParticleWeights(kFALSE),
219 fUsePhiWeights(kFALSE),
220 fUsePtWeights(kFALSE),
221 fUseEtaWeights(kFALSE),
222 fUseTrackWeights(kFALSE),
223 fUsePhiEtaWeights(kFALSE),
224 fUseZDCESEMulWeights(kFALSE),
226 fMultiplicityWeight(NULL),
228 fnBinsForCorrelations(0),
229 fUseBootstrap(kFALSE),
230 fUseBootstrapVsM(kFALSE),
232 fCalculateCRC(kTRUE),
233 fCalculateCRCPt(kFALSE),
234 fCalculateCME(kFALSE),
235 fCalculateCRC2(kFALSE),
236 fCalculateCRCVZ(kFALSE),
237 fCalculateCRCZDC(kFALSE),
238 fCalculateEbEFlow(kFALSE),
240 fCalculateFlowQC(kFALSE),
241 fCalculateFlowZDC(kFALSE),
242 fCalculateFlowVZ(kFALSE),
245 fRecenterZDC(kFALSE),
249 fUseNUAforCRC(kFALSE),
250 fUseCRCRecenter(kFALSE),
255 fFlowQCDeltaEta(0.4),
258 fCorrWeight(
"TPCuVZuZDCu"),
260 fCRCZDCCalibList(NULL),
262 fCenWeightsHist(NULL),
268 AliDebug(2,
"AliAnalysisTaskCRC::AliAnalysisTaskCRC()");
296 for(Int_t c=0; c<10; c++) {
298 for(Int_t b=0; b<21; b++) {
299 for(Int_t k=0; k<2; k++) {
304 for(Int_t c=0; c<2; c++) {
305 for(Int_t k=0; k<2; k++) {
309 for(Int_t k=0; k<5; k++) {
320 AliDebug(2,
"AliAnalysisTaskCRC::UserCreateOutputObjects()");
411 for(Int_t c=0; c<10; c++) {
416 for(Int_t h=0; h<10; h++) {
417 for(Int_t b=0; b<21; b++) {
418 for(Int_t c=0; c<2; c++) {
425 for(Int_t c=0; c<2; c++) {
426 for(Int_t k=0; k<2; k++) {
433 for(Int_t k=0; k<5; k++) {
448 for(Int_t ci=0;ci<4;ci++) {
454 for(Int_t cpi=0;cpi<1;cpi++) {
460 for(Int_t ci=0;ci<4;ci++) {
475 Printf(
"ERROR: Could not retrieve histogram list (QC, Task::UserCreateOutputObjects()) !!!!");
494 cout<<
"WARNING: No input data (QC, Task::UserExec()) !!!!"<<endl;
519 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()
TH2F * fZDCESEMultWeightsHist[5]
ZDC mult cuts.
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 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)
Bool_t fApplyCorrectionForNUA
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)
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)
Bool_t fUseZDCESEMulWeights
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)