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 fUsePhiEtaCuts(kFALSE),
85 fUseZDCESEMulWeights(kFALSE),
86 fUseZDCESESpecWeights(kFALSE),
88 fPhiEtaCutsList(NULL),
89 fMultiplicityWeight(NULL),
91 fnBinsForCorrelations(10000),
92 fUseBootstrap(kFALSE),
93 fUseBootstrapVsM(kFALSE),
96 fCalculateCRCPt(kFALSE),
97 fCalculateCME(kFALSE),
98 fCalculateCRC2(kFALSE),
99 fCalculateCRCVZ(kFALSE),
100 fCalculateCRCZDC(kFALSE),
101 fCalculateEbEFlow(kFALSE),
103 fCalculateFlowQC(kFALSE),
104 fCalculateFlowZDC(kFALSE),
105 fCalculateFlowVZ(kFALSE),
108 fRecenterZDC(kFALSE),
112 fUseNUAforCRC(kFALSE),
113 fUseCRCRecenter(kFALSE),
118 fFlowQCDeltaEta(0.4),
121 fInteractionRate(""),
123 fCorrWeight("TPCuVZuZDCu"),
125 fCRCZDCCalibList(NULL),
127 fCenWeightsHist(NULL),
133 AliDebug(2,
"AliAnalysisTaskCRC::AliAnalysisTaskCRC(const char *name, Bool_t useParticleWeights)");
137 DefineInput(0, AliFlowEventSimple::Class());
141 DefineOutput(1, TList::Class());
144 fMultiplicityWeight =
new TString(
"combinations");
148 fMinValueOfCorrelation[0] = -0.015;
149 fMaxValueOfCorrelation[0] = 0.03;
150 fMinValueOfCorrelation[1] = -0.6e-3;
151 fMaxValueOfCorrelation[1] = 0.07;
152 fMinValueOfCorrelation[2] = -0.08e-3;
153 fMaxValueOfCorrelation[2] = 0.015;
154 fMinValueOfCorrelation[3] = -20.e-6;
155 fMaxValueOfCorrelation[3] = 0.003;
159 fMinValueOfCorrelationProduct[0] = -15.e-6;
160 fMaxValueOfCorrelationProduct[0] = 0.02;
163 fMinValueOfQvectorTerms[0] = 0.;
164 fMaxValueOfQvectorTerms[0] = 30.;
165 fMinValueOfQvectorTerms[1] = 0.;
166 fMaxValueOfQvectorTerms[1] = 20.;
167 fMinValueOfQvectorTerms[2] = 0.;
168 fMaxValueOfQvectorTerms[2] = 200.;
169 fMinValueOfQvectorTerms[3] = -30.;
170 fMaxValueOfQvectorTerms[3] = 80.;
173 fPtWeightsHist[
c] = NULL;
174 for(
Int_t b=0; b<21; b++) {
175 for(
Int_t k=0; k<2; k++) {
176 fEtaWeightsHist[
c][b][k] = NULL;
181 for(
Int_t k=0; k<2; k++) {
182 fNvsCenCut[
c][k] = NULL;
185 for(
Int_t k=0; k<5; k++) {
186 fZDCESEMultWeightsHist[k] = NULL;
187 fZDCESESpecWeightsHist[k] = NULL;
199 fBookOnlyBasicCCH(kFALSE),
200 fFillMultipleControlHistograms(kFALSE),
202 fApplyCorrectionForNUA(kFALSE),
203 fApplyCorrectionForNUAVsM(kFALSE),
204 fPropagateErrorAlsoFromNIT(kFALSE),
205 fCalculateDiffFlow(kFALSE),
206 fCalculate2DDiffFlow(kFALSE),
207 fCalculateDiffFlowVsEta(kTRUE),
208 fStoreDistributions(kFALSE),
209 fCalculateCumulantsVsM(kFALSE),
210 fCalculateAllCorrelationsVsM(kFALSE),
211 fCalculateMixedHarmonics(kFALSE),
212 fCalculateMixedHarmonicsVsM(kFALSE),
213 fStoreControlHistograms(kFALSE),
214 fMinimumBiasReferenceFlow(kFALSE),
215 fForgetAboutCovariances(kFALSE),
216 fStoreVarious(kFALSE),
218 fUse2DHistograms(kFALSE),
219 fFillProfilesVsMUsingWeights(kTRUE),
220 fUseQvectorTerms(kFALSE),
224 fUseParticleWeights(kFALSE),
225 fUsePhiWeights(kFALSE),
226 fUsePtWeights(kFALSE),
227 fUseEtaWeights(kFALSE),
228 fUseTrackWeights(kFALSE),
229 fUsePhiEtaWeights(kFALSE),
230 fUsePhiEtaCuts(kFALSE),
231 fUseZDCESEMulWeights(kFALSE),
232 fUseZDCESESpecWeights(kFALSE),
234 fPhiEtaCutsList(NULL),
235 fMultiplicityWeight(NULL),
237 fnBinsForCorrelations(0),
238 fUseBootstrap(kFALSE),
239 fUseBootstrapVsM(kFALSE),
241 fCalculateCRC(kTRUE),
242 fCalculateCRCPt(kFALSE),
243 fCalculateCME(kFALSE),
244 fCalculateCRC2(kFALSE),
245 fCalculateCRCVZ(kFALSE),
246 fCalculateCRCZDC(kFALSE),
247 fCalculateEbEFlow(kFALSE),
249 fCalculateFlowQC(kFALSE),
250 fCalculateFlowZDC(kFALSE),
251 fCalculateFlowVZ(kFALSE),
254 fRecenterZDC(kFALSE),
258 fUseNUAforCRC(kFALSE),
259 fUseCRCRecenter(kFALSE),
264 fFlowQCDeltaEta(0.4),
267 fInteractionRate(
""),
269 fCorrWeight(
"TPCuVZuZDCu"),
271 fCRCZDCCalibList(NULL),
273 fCenWeightsHist(NULL),
279 AliDebug(2,
"AliAnalysisTaskCRC::AliAnalysisTaskCRC()");
309 for(
Int_t b=0; b<21; b++) {
310 for(
Int_t k=0; k<2; k++) {
316 for(
Int_t k=0; k<2; k++) {
320 for(
Int_t k=0; k<5; k++) {
332 AliDebug(2,
"AliAnalysisTaskCRC::UserCreateOutputObjects()");
436 for(
Int_t h=0; h<10; h++) {
437 for(
Int_t b=0; b<21; b++) {
446 for(
Int_t k=0; k<2; k++) {
453 for(
Int_t k=0; k<5; k++) {
459 for(
Int_t k=0; k<5; k++) {
474 for(
Int_t ci=0;ci<4;ci++) {
480 for(
Int_t cpi=0;cpi<1;cpi++) {
486 for(
Int_t ci=0;ci<4;ci++) {
501 Printf(
"ERROR: Could not retrieve histogram list (QC, Task::UserCreateOutputObjects()) !!!!");
520 cout<<
"WARNING: No input data (QC, Task::UserExec()) !!!!"<<endl;
549 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)
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 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 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
Bool_t fMinimumBiasReferenceFlow
void SetPropagateErrorAlsoFromNIT(Bool_t const peafNIT)
void SetCalculateCME(Bool_t const cCRC)
void SetExactNoRPs(Int_t const enr)
void SetPhiEtaCutsList(TList *const wlist)
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 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)