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 fMultiplicityWeight(NULL),
92 fnBinsForCorrelations(10000),
93 fUseBootstrap(kFALSE),
94 fUseBootstrapVsM(kFALSE),
97 fCalculateCRCPt(kFALSE),
98 fCalculateCME(kFALSE),
99 fCalculateCRCInt(kFALSE),
100 fCalculateCRC2(kFALSE),
101 fCalculateCRCVZ(kFALSE),
102 fCalculateCRCZDC(kFALSE),
103 fCalculateEbEFlow(kFALSE),
104 fStoreZDCQVecVtxPos(kFALSE),
106 fCalculateFlowQC(kFALSE),
107 fCalculateFlowZDC(kFALSE),
108 fCalculateFlowVZ(kFALSE),
111 fRecenterZDC(kFALSE),
115 fUseNUAforCRC(kFALSE),
116 fUseCRCRecenter(kFALSE),
121 fFlowQCDeltaEta(0.4),
124 fInteractionRate(""),
126 fPOIExtraWeights(""),
127 fCorrWeight("TPCuVZuZDCu"),
129 fCRCZDCCalibList(NULL),
130 fCRCVZEROCalibList(NULL),
131 fCRCZDCResList(NULL),
133 fCenWeightsHist(NULL),
140 AliDebug(2,
"AliAnalysisTaskCRC::AliAnalysisTaskCRC(const char *name, Bool_t useParticleWeights)");
144 DefineInput(0, AliFlowEventSimple::Class());
148 DefineOutput(1, TList::Class());
151 fMultiplicityWeight =
new TString(
"combinations");
155 fMinValueOfCorrelation[0] = -0.015;
156 fMaxValueOfCorrelation[0] = 0.03;
157 fMinValueOfCorrelation[1] = -0.6e-3;
158 fMaxValueOfCorrelation[1] = 0.07;
159 fMinValueOfCorrelation[2] = -0.08e-3;
160 fMaxValueOfCorrelation[2] = 0.015;
161 fMinValueOfCorrelation[3] = -20.e-6;
162 fMaxValueOfCorrelation[3] = 0.003;
166 fMinValueOfCorrelationProduct[0] = -15.e-6;
167 fMaxValueOfCorrelationProduct[0] = 0.02;
170 fMinValueOfQvectorTerms[0] = 0.;
171 fMaxValueOfQvectorTerms[0] = 30.;
172 fMinValueOfQvectorTerms[1] = 0.;
173 fMaxValueOfQvectorTerms[1] = 20.;
174 fMinValueOfQvectorTerms[2] = 0.;
175 fMaxValueOfQvectorTerms[2] = 200.;
176 fMinValueOfQvectorTerms[3] = -30.;
177 fMaxValueOfQvectorTerms[3] = 80.;
180 fPtWeightsHist[
c] = NULL;
181 for(
Int_t b=0; b<21; b++) {
182 for(
Int_t k=0; k<2; k++) {
183 fEtaWeightsHist[
c][b][k] = NULL;
188 for(
Int_t k=0; k<2; k++) {
189 fNvsCenCut[
c][k] = NULL;
192 for(
Int_t k=0; k<5; k++) {
193 fZDCESEMultWeightsHist[k] = NULL;
194 fZDCESESpecWeightsHist[k] = NULL;
206 fBookOnlyBasicCCH(kFALSE),
207 fFillMultipleControlHistograms(kFALSE),
209 fApplyCorrectionForNUA(kFALSE),
210 fApplyCorrectionForNUAVsM(kFALSE),
211 fPropagateErrorAlsoFromNIT(kFALSE),
212 fCalculateDiffFlow(kFALSE),
213 fCalculate2DDiffFlow(kFALSE),
214 fCalculateDiffFlowVsEta(kTRUE),
215 fStoreDistributions(kFALSE),
216 fCalculateCumulantsVsM(kFALSE),
217 fCalculateAllCorrelationsVsM(kFALSE),
218 fCalculateMixedHarmonics(kFALSE),
219 fCalculateMixedHarmonicsVsM(kFALSE),
220 fStoreControlHistograms(kFALSE),
221 fMinimumBiasReferenceFlow(kFALSE),
222 fForgetAboutCovariances(kFALSE),
223 fStoreVarious(kFALSE),
225 fUse2DHistograms(kFALSE),
226 fFillProfilesVsMUsingWeights(kTRUE),
227 fUseQvectorTerms(kFALSE),
231 fUseParticleWeights(kFALSE),
232 fUsePhiWeights(kFALSE),
233 fUsePtWeights(kFALSE),
234 fUseEtaWeights(kFALSE),
235 fUseTrackWeights(kFALSE),
236 fUsePhiEtaWeights(kFALSE),
237 fUsePhiEtaWeightsChDep(kFALSE),
238 fUsePhiEtaWeightsVtxDep(kFALSE),
239 fUsePhiEtaCuts(kFALSE),
240 fUseZDCESEMulWeights(kFALSE),
241 fUseZDCESESpecWeights(kFALSE),
243 fMultiplicityWeight(NULL),
245 fnBinsForCorrelations(0),
246 fUseBootstrap(kFALSE),
247 fUseBootstrapVsM(kFALSE),
249 fCalculateCRC(kTRUE),
250 fCalculateCRCPt(kFALSE),
251 fCalculateCME(kFALSE),
252 fCalculateCRCInt(kFALSE),
253 fCalculateCRC2(kFALSE),
254 fCalculateCRCVZ(kFALSE),
255 fCalculateCRCZDC(kFALSE),
256 fCalculateEbEFlow(kFALSE),
257 fStoreZDCQVecVtxPos(kFALSE),
259 fCalculateFlowQC(kFALSE),
260 fCalculateFlowZDC(kFALSE),
261 fCalculateFlowVZ(kFALSE),
264 fRecenterZDC(kFALSE),
268 fUseNUAforCRC(kFALSE),
269 fUseCRCRecenter(kFALSE),
274 fFlowQCDeltaEta(0.4),
277 fInteractionRate(
""),
279 fPOIExtraWeights(
""),
280 fCorrWeight(
"TPCuVZuZDCu"),
282 fCRCZDCCalibList(NULL),
283 fCRCVZEROCalibList(NULL),
284 fCRCZDCResList(NULL),
286 fCenWeightsHist(NULL),
293 AliDebug(2,
"AliAnalysisTaskCRC::AliAnalysisTaskCRC()");
323 for(
Int_t b=0; b<21; b++) {
324 for(
Int_t k=0; k<2; k++) {
330 for(
Int_t k=0; k<2; k++) {
334 for(
Int_t k=0; k<5; k++) {
346 AliDebug(2,
"AliAnalysisTaskCRC::UserCreateOutputObjects()");
459 for(
Int_t h=0; h<10; h++) {
460 for(
Int_t b=0; b<21; b++) {
469 for(
Int_t k=0; k<2; k++) {
476 for(
Int_t k=0; k<5; k++) {
482 for(
Int_t k=0; k<5; k++) {
497 for(
Int_t ci=0;ci<4;ci++) {
503 for(
Int_t cpi=0;cpi<1;cpi++) {
509 for(
Int_t ci=0;ci<4;ci++) {
524 Printf(
"ERROR: Could not retrieve histogram list (QC, Task::UserCreateOutputObjects()) !!!!");
543 cout<<
"WARNING: No input data (QC, Task::UserExec()) !!!!"<<endl;
573 cout<<
" WARNING: histogram list pointer is empty (QC, Task::Terminate()) !!!!"<<endl;
Bool_t fCalculateDiffFlowVsEta
void SetPOIExtraWeights(POIExtraWeights set)
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 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)
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 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
void SetCRCZDCResList(TList *const wlist)
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 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)
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 SetCRCVZEROCalibList(TList *const wlist)
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 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)