28 #include "Riostream.h" 29 #include "AliAODEvent.h" 30 #include "AliAODHeader.h" 31 #include "AliCentrality.h" 34 #include "TProfile2D.h" 54 fBookOnlyBasicCCH(kTRUE),
55 fFillMultipleControlHistograms(kFALSE),
57 fApplyCorrectionForNUA(kFALSE),
58 fApplyCorrectionForNUAVsM(kFALSE),
59 fPropagateErrorAlsoFromNIT(kFALSE),
60 fCalculateDiffFlow(kTRUE),
61 fCalculate2DDiffFlow(kFALSE),
62 fCalculateDiffFlowVsEta(kTRUE),
63 fStoreDistributions(kFALSE),
64 fCalculateCumulantsVsM(kFALSE),
65 fCalculateAllCorrelationsVsM(kFALSE),
66 fCalculateMixedHarmonics(kFALSE),
67 fCalculateMixedHarmonicsVsM(kFALSE),
68 fStoreControlHistograms(kFALSE),
69 fMinimumBiasReferenceFlow(kTRUE),
70 fForgetAboutCovariances(kFALSE),
71 fStoreVarious(kFALSE),
73 fUse2DHistograms(kFALSE),
74 fFillProfilesVsMUsingWeights(kTRUE),
75 fUseQvectorTerms(kFALSE),
79 fUseParticleWeights(useParticleWeights),
80 fUsePhiWeights(kFALSE),
81 fUsePtWeights(kFALSE),
82 fUseEtaWeights(kFALSE),
83 fUseTrackWeights(kFALSE),
84 fUsePhiEtaWeights(kFALSE),
85 fUsePhiEtaWeightsChDep(kFALSE),
86 fUsePhiEtaWeightsVtxDep(kFALSE),
87 fUsePhiEtaCuts(kFALSE),
88 fUseZDCESEMulWeights(kFALSE),
89 fUseZDCESESpecWeights(kFALSE),
90 fCutMultiplicityOutliers(kFALSE),
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 fRemoveSplitMergedTracks(kFALSE),
114 fRecenterZDC(kFALSE),
119 fUseNUAforCRC(kFALSE),
120 fUseCRCRecenter(kFALSE),
125 fFlowQCDeltaEta(0.4),
128 fInteractionRate(""),
130 fPOIExtraWeights(""),
131 fCorrWeight("TPCuVZuZDCu"),
133 fCRCZDCCalibList(NULL),
134 fCRCZDC2DCutList(NULL),
135 fCRCVZEROCalibList(NULL),
136 fCRCZDCResList(NULL),
138 fCenWeightsHist(NULL),
139 fRefMultRbRPro(NULL),
140 fAvEZDCCRbRPro(NULL),
141 fAvEZDCARbRPro(NULL),
142 fPhiExclZoneHist(NULL),
144 fUseTracklets(kFALSE),
145 fStoreExtraHistoForSubSampling(kFALSE),
151 AliDebug(2,
"AliAnalysisTaskCRC::AliAnalysisTaskCRC(const char *name, Bool_t useParticleWeights)");
155 DefineInput(0, AliFlowEventSimple::Class());
159 DefineOutput(1, TList::Class());
162 fMultiplicityWeight =
new TString(
"combinations");
166 fMinValueOfCorrelation[0] = -0.015;
167 fMaxValueOfCorrelation[0] = 0.03;
168 fMinValueOfCorrelation[1] = -0.6e-3;
169 fMaxValueOfCorrelation[1] = 0.07;
170 fMinValueOfCorrelation[2] = -0.08e-3;
171 fMaxValueOfCorrelation[2] = 0.015;
172 fMinValueOfCorrelation[3] = -20.e-6;
173 fMaxValueOfCorrelation[3] = 0.003;
177 fMinValueOfCorrelationProduct[0] = -15.e-6;
178 fMaxValueOfCorrelationProduct[0] = 0.02;
181 fMinValueOfQvectorTerms[0] = 0.;
182 fMaxValueOfQvectorTerms[0] = 30.;
183 fMinValueOfQvectorTerms[1] = 0.;
184 fMaxValueOfQvectorTerms[1] = 20.;
185 fMinValueOfQvectorTerms[2] = 0.;
186 fMaxValueOfQvectorTerms[2] = 200.;
187 fMinValueOfQvectorTerms[3] = -30.;
188 fMaxValueOfQvectorTerms[3] = 80.;
191 fPtWeightsHist[
c] = NULL;
192 for(
Int_t b=0; b<21; b++) {
193 for(
Int_t k=0; k<2; k++) {
194 fEtaWeightsHist[
c][b][k] = NULL;
199 for(
Int_t k=0; k<2; k++) {
200 fNvsCenCut[
c][k] = NULL;
203 for(
Int_t k=0; k<5; k++) {
204 fZDCESEMultWeightsHist[k] = NULL;
205 fZDCESESpecWeightsHist[k] = NULL;
217 fBookOnlyBasicCCH(kFALSE),
218 fFillMultipleControlHistograms(kFALSE),
220 fApplyCorrectionForNUA(kFALSE),
221 fApplyCorrectionForNUAVsM(kFALSE),
222 fPropagateErrorAlsoFromNIT(kFALSE),
223 fCalculateDiffFlow(kFALSE),
224 fCalculate2DDiffFlow(kFALSE),
225 fCalculateDiffFlowVsEta(kTRUE),
226 fStoreDistributions(kFALSE),
227 fCalculateCumulantsVsM(kFALSE),
228 fCalculateAllCorrelationsVsM(kFALSE),
229 fCalculateMixedHarmonics(kFALSE),
230 fCalculateMixedHarmonicsVsM(kFALSE),
231 fStoreControlHistograms(kFALSE),
232 fMinimumBiasReferenceFlow(kFALSE),
233 fForgetAboutCovariances(kFALSE),
234 fStoreVarious(kFALSE),
236 fUse2DHistograms(kFALSE),
237 fFillProfilesVsMUsingWeights(kTRUE),
238 fUseQvectorTerms(kFALSE),
242 fUseParticleWeights(kFALSE),
243 fUsePhiWeights(kFALSE),
244 fUsePtWeights(kFALSE),
245 fUseEtaWeights(kFALSE),
246 fUseTrackWeights(kFALSE),
247 fUsePhiEtaWeights(kFALSE),
248 fUsePhiEtaWeightsChDep(kFALSE),
249 fUsePhiEtaWeightsVtxDep(kFALSE),
250 fUsePhiEtaCuts(kFALSE),
251 fUseZDCESEMulWeights(kFALSE),
252 fUseZDCESESpecWeights(kFALSE),
253 fCutMultiplicityOutliers(kFALSE),
255 fMultiplicityWeight(NULL),
257 fnBinsForCorrelations(0),
258 fUseBootstrap(kFALSE),
259 fUseBootstrapVsM(kFALSE),
261 fCalculateCRC(kTRUE),
262 fCalculateCRCPt(kFALSE),
263 fCalculateCME(kFALSE),
264 fCalculateCRCInt(kFALSE),
265 fCalculateCRC2(kFALSE),
266 fCalculateCRCVZ(kFALSE),
267 fCalculateCRCZDC(kFALSE),
268 fCalculateEbEFlow(kFALSE),
269 fStoreZDCQVecVtxPos(kFALSE),
271 fCalculateFlowQC(kFALSE),
272 fCalculateFlowZDC(kFALSE),
273 fCalculateFlowVZ(kFALSE),
276 fRemoveSplitMergedTracks(kFALSE),
277 fRecenterZDC(kFALSE),
282 fUseNUAforCRC(kFALSE),
283 fUseCRCRecenter(kFALSE),
288 fFlowQCDeltaEta(0.4),
291 fInteractionRate(
""),
293 fPOIExtraWeights(
""),
294 fCorrWeight(
"TPCuVZuZDCu"),
296 fCRCZDCCalibList(NULL),
297 fCRCZDC2DCutList(NULL),
298 fCRCVZEROCalibList(NULL),
299 fCRCZDCResList(NULL),
301 fCenWeightsHist(NULL),
302 fRefMultRbRPro(NULL),
303 fAvEZDCCRbRPro(NULL),
304 fAvEZDCARbRPro(NULL),
305 fPhiExclZoneHist(NULL),
307 fUseTracklets(kFALSE),
308 fStoreExtraHistoForSubSampling(kFALSE),
314 AliDebug(2,
"AliAnalysisTaskCRC::AliAnalysisTaskCRC()");
344 for(
Int_t b=0; b<21; b++) {
345 for(
Int_t k=0; k<2; k++) {
351 for(
Int_t k=0; k<2; k++) {
355 for(
Int_t k=0; k<5; k++) {
367 AliDebug(2,
"AliAnalysisTaskCRC::UserCreateOutputObjects()");
492 for(
Int_t h=0; h<10; h++) {
493 for(
Int_t b=0; b<21; b++) {
502 for(
Int_t k=0; k<2; k++) {
509 for(
Int_t k=0; k<5; k++) {
515 for(
Int_t k=0; k<5; k++) {
531 for(
Int_t ci=0;ci<4;ci++) {
537 for(
Int_t cpi=0;cpi<1;cpi++) {
543 for(
Int_t ci=0;ci<4;ci++) {
558 Printf(
"ERROR: Could not retrieve histogram list (QC, Task::UserCreateOutputObjects()) !!!!");
577 cout<<
"WARNING: No input data (QC, Task::UserExec()) !!!!"<<endl;
608 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 SetCRCZDC2DCutList(TList *const wlist)
void SetRecenterZDC(Bool_t const cCRC)
void SetBookOnlyBasicCCH(Bool_t const bobcch)
Bool_t fStoreZDCQVecVtxPos
void SetCalculateFlowVZ(Bool_t const cCRC)
void SetCutMultiplicityOutliers(Bool_t const uPhiEtaW)
TProfile2D * fAvEZDCARbRPro
void SetApplyCorrectionForNUA(Bool_t const applyCorrectionForNUA)
void SetRemoveSplitMergedTracks(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)
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 SetRefMultRbRPro(TProfile2D *const n)
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)
Bool_t fCutMultiplicityOutliers
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
void StoreExtraHistoForSubSampling(Bool_t b)
Double_t fMinValueOfCorrelation[4]
Double_t fMaxValueOfCorrelation[4]
void SetMinValueOfQvectorTerms(Int_t const qvti, Double_t const minValue)
void SetCalculateCumulantsVsM(Bool_t const ccvm)
void SetUseTracklets(Bool_t const cCRC)
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 SetRecenterZDCVtxRbR(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 SetAvEZDCRbRPro(TProfile2D *const A, TProfile2D *const B)
void SetMultiplicityWeight(const char *multiplicityWeight)
Bool_t fStoreControlHistograms
TProfile2D * fRefMultRbRPro
TH1D * fEtaWeightsHist[10][21][2]
void SetUseBootstrapVsM(Bool_t const ubVsM)
void SetUse2DHistograms(Bool_t const u2dh)
Double_t fMaxValueOfCorrelationProduct[1]
Bool_t fStoreExtraHistoForSubSampling
void SetWeightsList(TList *const wlist)
void SetZDCGainAlpha(Float_t a)
void SetCalculateMixedHarmonicsVsM(Bool_t const cmhvm)
TString * fMultiplicityWeight
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)
Bool_t fRemoveSplitMergedTracks
void SetEtaWeightsHist(TH1D *const n, Int_t h, Int_t b, Int_t c)
Bool_t fFillProfilesVsMUsingWeights
Bool_t fCalculateCumulantsVsM
TProfile2D * fAvEZDCCRbRPro
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 SetPhiExclZoneHist(TH2D *const n)
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)