28 #include "Riostream.h"
29 #include "AliAODEvent.h"
30 #include "AliAODHeader.h"
31 #include "AliCentrality.h"
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 fUsePhiEtaWeightsChDep(kFALSE),
85 fUsePhiEtaWeightsVtxDep(kFALSE),
86 fUsePhiEtaCuts(kFALSE),
87 fUseZDCESEMulWeights(kFALSE),
88 fUseZDCESESpecWeights(kFALSE),
90 fWeightsListChDep(NULL),
91 fWeightsListVtxDep(NULL),
92 fMultiplicityWeight(NULL),
94 fnBinsForCorrelations(10000),
95 fUseBootstrap(kFALSE),
96 fUseBootstrapVsM(kFALSE),
99 fCalculateCRCPt(kFALSE),
100 fCalculateCME(kFALSE),
101 fCalculateCRCInt(kFALSE),
102 fCalculateCRC2(kFALSE),
103 fCalculateCRCVZ(kFALSE),
104 fCalculateCRCZDC(kFALSE),
105 fCalculateEbEFlow(kFALSE),
106 fStoreZDCQVecVtxPos(kFALSE),
108 fCalculateFlowQC(kFALSE),
109 fCalculateFlowZDC(kFALSE),
110 fCalculateFlowVZ(kFALSE),
113 fRecenterZDC(kFALSE),
117 fUseNUAforCRC(kFALSE),
118 fUseCRCRecenter(kFALSE),
123 fFlowQCDeltaEta(0.4),
126 fInteractionRate(""),
128 fCorrWeight("TPCuVZuZDCu"),
130 fCRCZDCCalibList(NULL),
131 fCRCVZEROCalibList(NULL),
132 fCRCZDCResList(NULL),
134 fCenWeightsHist(NULL),
141 AliDebug(2,
"AliAnalysisTaskCRC::AliAnalysisTaskCRC(const char *name, Bool_t useParticleWeights)");
145 DefineInput(0, AliFlowEventSimple::Class());
149 DefineOutput(1, TList::Class());
152 fMultiplicityWeight =
new TString(
"combinations");
156 fMinValueOfCorrelation[0] = -0.015;
157 fMaxValueOfCorrelation[0] = 0.03;
158 fMinValueOfCorrelation[1] = -0.6e-3;
159 fMaxValueOfCorrelation[1] = 0.07;
160 fMinValueOfCorrelation[2] = -0.08e-3;
161 fMaxValueOfCorrelation[2] = 0.015;
162 fMinValueOfCorrelation[3] = -20.e-6;
163 fMaxValueOfCorrelation[3] = 0.003;
167 fMinValueOfCorrelationProduct[0] = -15.e-6;
168 fMaxValueOfCorrelationProduct[0] = 0.02;
171 fMinValueOfQvectorTerms[0] = 0.;
172 fMaxValueOfQvectorTerms[0] = 30.;
173 fMinValueOfQvectorTerms[1] = 0.;
174 fMaxValueOfQvectorTerms[1] = 20.;
175 fMinValueOfQvectorTerms[2] = 0.;
176 fMaxValueOfQvectorTerms[2] = 200.;
177 fMinValueOfQvectorTerms[3] = -30.;
178 fMaxValueOfQvectorTerms[3] = 80.;
181 fPtWeightsHist[
c] = NULL;
182 for(
Int_t b=0; b<21; b++) {
183 for(
Int_t k=0; k<2; k++) {
184 fEtaWeightsHist[
c][b][k] = NULL;
189 for(
Int_t k=0; k<2; k++) {
190 fNvsCenCut[
c][k] = NULL;
193 for(
Int_t k=0; k<5; k++) {
194 fZDCESEMultWeightsHist[k] = NULL;
195 fZDCESESpecWeightsHist[k] = NULL;
207 fBookOnlyBasicCCH(kFALSE),
208 fFillMultipleControlHistograms(kFALSE),
210 fApplyCorrectionForNUA(kFALSE),
211 fApplyCorrectionForNUAVsM(kFALSE),
212 fPropagateErrorAlsoFromNIT(kFALSE),
213 fCalculateDiffFlow(kFALSE),
214 fCalculate2DDiffFlow(kFALSE),
215 fCalculateDiffFlowVsEta(kTRUE),
216 fStoreDistributions(kFALSE),
217 fCalculateCumulantsVsM(kFALSE),
218 fCalculateAllCorrelationsVsM(kFALSE),
219 fCalculateMixedHarmonics(kFALSE),
220 fCalculateMixedHarmonicsVsM(kFALSE),
221 fStoreControlHistograms(kFALSE),
222 fMinimumBiasReferenceFlow(kFALSE),
223 fForgetAboutCovariances(kFALSE),
224 fStoreVarious(kFALSE),
226 fUse2DHistograms(kFALSE),
227 fFillProfilesVsMUsingWeights(kTRUE),
228 fUseQvectorTerms(kFALSE),
232 fUseParticleWeights(kFALSE),
233 fUsePhiWeights(kFALSE),
234 fUsePtWeights(kFALSE),
235 fUseEtaWeights(kFALSE),
236 fUseTrackWeights(kFALSE),
237 fUsePhiEtaWeights(kFALSE),
238 fUsePhiEtaWeightsChDep(kFALSE),
239 fUsePhiEtaWeightsVtxDep(kFALSE),
240 fUsePhiEtaCuts(kFALSE),
241 fUseZDCESEMulWeights(kFALSE),
242 fUseZDCESESpecWeights(kFALSE),
244 fWeightsListChDep(NULL),
245 fWeightsListVtxDep(NULL),
246 fMultiplicityWeight(NULL),
248 fnBinsForCorrelations(0),
249 fUseBootstrap(kFALSE),
250 fUseBootstrapVsM(kFALSE),
252 fCalculateCRC(kTRUE),
253 fCalculateCRCPt(kFALSE),
254 fCalculateCME(kFALSE),
255 fCalculateCRCInt(kFALSE),
256 fCalculateCRC2(kFALSE),
257 fCalculateCRCVZ(kFALSE),
258 fCalculateCRCZDC(kFALSE),
259 fCalculateEbEFlow(kFALSE),
260 fStoreZDCQVecVtxPos(kFALSE),
262 fCalculateFlowQC(kFALSE),
263 fCalculateFlowZDC(kFALSE),
264 fCalculateFlowVZ(kFALSE),
267 fRecenterZDC(kFALSE),
271 fUseNUAforCRC(kFALSE),
272 fUseCRCRecenter(kFALSE),
277 fFlowQCDeltaEta(0.4),
280 fInteractionRate(
""),
282 fCorrWeight(
"TPCuVZuZDCu"),
284 fCRCZDCCalibList(NULL),
285 fCRCVZEROCalibList(NULL),
286 fCRCZDCResList(NULL),
288 fCenWeightsHist(NULL),
295 AliDebug(2,
"AliAnalysisTaskCRC::AliAnalysisTaskCRC()");
325 for(
Int_t b=0; b<21; b++) {
326 for(
Int_t k=0; k<2; k++) {
332 for(
Int_t k=0; k<2; k++) {
336 for(
Int_t k=0; k<5; k++) {
348 AliDebug(2,
"AliAnalysisTaskCRC::UserCreateOutputObjects()");
460 for(
Int_t h=0; h<10; h++) {
461 for(
Int_t b=0; b<21; b++) {
470 for(
Int_t k=0; k<2; k++) {
477 for(
Int_t k=0; k<5; k++) {
483 for(
Int_t k=0; k<5; k++) {
498 for(
Int_t ci=0;ci<4;ci++) {
504 for(
Int_t cpi=0;cpi<1;cpi++) {
510 for(
Int_t ci=0;ci<4;ci++) {
525 Printf(
"ERROR: Could not retrieve histogram list (QC, Task::UserCreateOutputObjects()) !!!!");
544 cout<<
"WARNING: No input data (QC, Task::UserExec()) !!!!"<<endl;
574 cout<<
" WARNING: histogram list pointer is empty (QC, Task::Terminate()) !!!!"<<endl;
Bool_t fCalculateDiffFlowVsEta
Bool_t fUseZDCESESpecWeights
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 SetRunList()
virtual void UserCreateOutputObjects()
TH2F * fZDCESEMultWeightsHist[5]
ZDC mult cuts.
void SetUseTrackWeights(Bool_t const uTrackW)
TList * fCRCVZEROCalibList
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)
Bool_t fStoreZDCQVecVtxPos
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 SetInteractionRate(InteractionRate set)
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 SetZDCESESpecWeightsHist(TH2F *const n, Int_t h)
TList * fWeightsListVtxDep
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)
Bool_t fCalculateMixedHarmonicsVsM
Bool_t fStoreDistributions
void SetCorrWeightZDC(CorrelationWeights weights)
void SetUsePhiEtaWeightsChDep(Bool_t const uPhiEtaW)
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 SetWeightsListVtxDep(TList *const wlist)
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
void SetCRCZDCResList(TList *const wlist)
Bool_t fMinimumBiasReferenceFlow
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)
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 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)
TString * fMultiplicityWeight
ClassImp(AliAnalysisTaskCRC) AliAnalysisTaskCRC
AliFlowCommonConstants::ERefMultSource fMultiplicityIs
void SetMinMult(Double_t const minm)
void SetUseEtaWeights(Bool_t const uEtaW)
void SetCalculateCRCInt(Bool_t const cCRC)
void SetStoreDistributions(Bool_t const storeDistributions)
Bool_t fUsePhiEtaWeightsVtxDep
virtual void GetOutputHistograms(TList *outputListHistos)
TList * fWeightsListChDep
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 SetCRCVZEROCalibList(TList *const wlist)
void SetFlowQCDeltaEta(Double_t const TL)
Bool_t fUsePhiEtaWeightsChDep
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 SetSelectCharge(SelectCharge set)
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)