ROOT logo
/*************************************************************************
* Copyright(c) 1998-2008, ALICE Experiment at CERN, All rights reserved. *
*                                                                        *
* Author: The ALICE Off-line Project.                                    *
* Contributors are mentioned in the code where appropriate.              *
*                                                                        *
* Permission to use, copy, modify and distribute this software and its   *
* documentation strictly for non-commercial purposes is hereby granted   *
* without fee, provided that the above copyright notice appears in all   *
* copies and that both the copyright notice and this permission notice   *
* appear in the supporting documentation. The authors make no claims     *
* about the suitability of this software for any purpose. It is          *
* provided "as is" without express or implied warranty.                  * 
**************************************************************************/

/***************************************
 * analysis task for Q-cumulants       * 
 *                                     * 
 * authors: Naomi van der Kolk         *
 *           (kolk@nikhef.nl)          *  
 *          Raimond Snellings          *
 *           (snelling@nikhef.nl)      * 
 *          Ante Bilandzic             *
 *           (abilandzic@gmail.com.nl) * 
 * *************************************/
 
class TFile;
class TString;
class TList;
class AliAnalysisTaskSE; 
 
#include "Riostream.h"
#include "AliFlowEventSimple.h"
#include "AliAnalysisTaskQCumulants.h"
#include "AliFlowAnalysisWithQCumulants.h"

#include "AliLog.h"

using std::cout;
using std::endl;
ClassImp(AliAnalysisTaskQCumulants)

//================================================================================================================

AliAnalysisTaskQCumulants::AliAnalysisTaskQCumulants(const char *name, Bool_t useParticleWeights): 
 AliAnalysisTaskSE(name), 
 fEvent(NULL),
 fQC(NULL), 
 fListHistos(NULL),
 fBookOnlyBasicCCH(kTRUE),
 fFillMultipleControlHistograms(kFALSE),
 fHarmonic(2),  
 fApplyCorrectionForNUA(kFALSE), 
 fApplyCorrectionForNUAVsM(kFALSE), 
 fPropagateErrorAlsoFromNIT(kFALSE),
 fCalculateDiffFlow(kTRUE),
 fCalculate2DDiffFlow(kFALSE),
 fCalculateDiffFlowVsEta(kTRUE),
 fStoreDistributions(kFALSE),
 fCalculateCumulantsVsM(kFALSE), 
 fCalculateAllCorrelationsVsM(kFALSE), 
 fCalculateMixedHarmonics(kFALSE),
 fCalculateMixedHarmonicsVsM(kFALSE),
 fStoreControlHistograms(kFALSE),
 fMinimumBiasReferenceFlow(kTRUE), 
 fForgetAboutCovariances(kFALSE),  
 fStorePhiDistributionForOneEvent(kFALSE),
 fExactNoRPs(0),
 fUse2DHistograms(kFALSE),
 fFillProfilesVsMUsingWeights(kTRUE),
 fUseQvectorTerms(kFALSE),
 fnBinsMult(10000),
 fMinMult(0.),  
 fMaxMult(10000.), 
 fUseParticleWeights(useParticleWeights),
 fUsePhiWeights(kFALSE),
 fUsePtWeights(kFALSE),
 fUseEtaWeights(kFALSE),
 fUseTrackWeights(kFALSE),
 fWeightsList(NULL),
 fMultiplicityWeight(NULL),
 fMultiplicityIs(AliFlowCommonConstants::kRP),
 fnBinsForCorrelations(10000),
 fUseBootstrap(kFALSE),
 fUseBootstrapVsM(kFALSE),
 fnSubsamples(10)
{
 // constructor
 AliDebug(2,"AliAnalysisTaskQCumulants::AliAnalysisTaskQCumulants(const char *name, Bool_t useParticleWeights)");
 
 // Define input and output slots here
 // Input slot #0 works with an AliFlowEventSimple
 DefineInput(0, AliFlowEventSimple::Class());  
 // Input slot #1 is needed for the weights input file:
 if(useParticleWeights)
 {
  DefineInput(1, TList::Class());   
 }  
 // Output slot #0 is reserved              
 // Output slot #1 writes into a TList container
 DefineOutput(1, TList::Class());  
 
 // Event weights:
 fMultiplicityWeight = new TString("combinations");
 
 // Store phi distribution for one event to illustrate flow:
 for(Int_t p=0;p<4;p++) // [v_min,v_max,refMult_min,refMult_max]
 {
  fPhiDistributionForOneEventSettings[p] = 0.;
 } 

 // b) Initialize default min and max values of correlations:
 //    (Remark: The default values bellow were chosen for v2=5% and M=500)
 fMinValueOfCorrelation[0] = -0.015; // <2>_min 
 fMaxValueOfCorrelation[0] = 0.03; // <2>_max 
 fMinValueOfCorrelation[1] = -0.6e-3; // <4>_min 
 fMaxValueOfCorrelation[1] = 0.07; // <4>_max  
 fMinValueOfCorrelation[2] = -0.08e-3; // <6>_min 
 fMaxValueOfCorrelation[2] = 0.015; // <6>_max  
 fMinValueOfCorrelation[3] = -20.e-6; // <8>_min 
 fMaxValueOfCorrelation[3] = 0.003; // <8>_max 

 // c) Initialize default min and max values of correlation products:
 //    (Remark: The default values bellow were chosen for v2=5% and M=500)
 fMinValueOfCorrelationProduct[0] = -15.e-6; // <2><4>_min 
 fMaxValueOfCorrelationProduct[0] = 0.02; // <2><4>_max 

 // d) Initialize default min and max values of q-vector terms:
 fMinValueOfQvectorTerms[0] = 0.;
 fMaxValueOfQvectorTerms[0] = 30.;
 fMinValueOfQvectorTerms[1] = 0.;
 fMaxValueOfQvectorTerms[1] = 20.;
 fMinValueOfQvectorTerms[2] = 0.;
 fMaxValueOfQvectorTerms[2] = 200.;
 fMinValueOfQvectorTerms[3] = -30.;
 fMaxValueOfQvectorTerms[3] = 80.;

}

//================================================================================================================

AliAnalysisTaskQCumulants::AliAnalysisTaskQCumulants(): 
 AliAnalysisTaskSE(),
 fEvent(NULL),
 fQC(NULL),
 fListHistos(NULL),
 fBookOnlyBasicCCH(kFALSE),
 fFillMultipleControlHistograms(kFALSE),
 fHarmonic(0),  
 fApplyCorrectionForNUA(kFALSE), 
 fApplyCorrectionForNUAVsM(kFALSE), 
 fPropagateErrorAlsoFromNIT(kFALSE),
 fCalculateDiffFlow(kFALSE),
 fCalculate2DDiffFlow(kFALSE),
 fCalculateDiffFlowVsEta(kTRUE),
 fStoreDistributions(kFALSE),
 fCalculateCumulantsVsM(kFALSE),  
 fCalculateAllCorrelationsVsM(kFALSE),  
 fCalculateMixedHarmonics(kFALSE),
 fCalculateMixedHarmonicsVsM(kFALSE),
 fStoreControlHistograms(kFALSE),
 fMinimumBiasReferenceFlow(kFALSE), 
 fForgetAboutCovariances(kFALSE), 
 fStorePhiDistributionForOneEvent(kFALSE), 
 fExactNoRPs(0),
 fUse2DHistograms(kFALSE),
 fFillProfilesVsMUsingWeights(kTRUE),
 fUseQvectorTerms(kFALSE),
 fnBinsMult(0),
 fMinMult(0.),  
 fMaxMult(0.), 
 fUseParticleWeights(kFALSE),
 fUsePhiWeights(kFALSE),
 fUsePtWeights(kFALSE),
 fUseEtaWeights(kFALSE),
 fUseTrackWeights(kFALSE),
 fWeightsList(NULL),
 fMultiplicityWeight(NULL),
 fMultiplicityIs(AliFlowCommonConstants::kRP),
 fnBinsForCorrelations(0), 
 fUseBootstrap(kFALSE),
 fUseBootstrapVsM(kFALSE),
 fnSubsamples(10)

{
 // Dummy constructor
  AliDebug(2,"AliAnalysisTaskQCumulants::AliAnalysisTaskQCumulants()");
 
 // Store phi distribution for one event to illustrate flow:
 for(Int_t p=0;p<4;p++) // [v_min,v_max,refMult_min,refMult_max]
 {
  fPhiDistributionForOneEventSettings[p] = 0.;
 } 
 
 // b) Initialize default min and max values of correlations:
 //    (Remark: The default values bellow were chosen for v2=5% and M=500)
 fMinValueOfCorrelation[0] = -0.015; // <2>_min 
 fMaxValueOfCorrelation[0] = 0.03; // <2>_max 
 fMinValueOfCorrelation[1] = -0.6e-3; // <4>_min 
 fMaxValueOfCorrelation[1] = 0.07; // <4>_max  
 fMinValueOfCorrelation[2] = -0.08e-3; // <6>_min 
 fMaxValueOfCorrelation[2] = 0.015; // <6>_max  
 fMinValueOfCorrelation[3] = -20.e-6; // <8>_min 
 fMaxValueOfCorrelation[3] = 0.003; // <8>_max 

 // c) Initialize default min and max values of correlation products:
 //    (Remark: The default values bellow were chosen for v2=5% and M=500)
 fMinValueOfCorrelationProduct[0] = -15.e-6; // <2><4>_min 
 fMaxValueOfCorrelationProduct[0] = 0.02; // <2><4>_max 

 // d) Initialize default min and max values of q-vector terms:
 fMinValueOfQvectorTerms[0] = 0.;
 fMaxValueOfQvectorTerms[0] = 30.;
 fMinValueOfQvectorTerms[1] = 0.;
 fMaxValueOfQvectorTerms[1] = 20.;
 fMinValueOfQvectorTerms[2] = 0.;
 fMaxValueOfQvectorTerms[2] = 200.;
 fMinValueOfQvectorTerms[3] = -30.;
 fMaxValueOfQvectorTerms[3] = 80.;

}

//================================================================================================================

void AliAnalysisTaskQCumulants::UserCreateOutputObjects() 
{
 // Called at every worker node to initialize
  AliDebug(2,"AliAnalysisTaskQCumulants::UserCreateOutputObjects()");

 // Analyser:
 fQC = new AliFlowAnalysisWithQCumulants();
 
 // Common:
 fQC->SetBookOnlyBasicCCH(fBookOnlyBasicCCH);
 fQC->SetFillMultipleControlHistograms(fFillMultipleControlHistograms);
 fQC->SetHarmonic(fHarmonic);
 fQC->SetApplyCorrectionForNUA(fApplyCorrectionForNUA);
 fQC->SetApplyCorrectionForNUAVsM(fApplyCorrectionForNUAVsM);
 fQC->SetPropagateErrorAlsoFromNIT(fPropagateErrorAlsoFromNIT);
 fQC->SetCalculateDiffFlow(fCalculateDiffFlow);
 fQC->SetCalculate2DDiffFlow(fCalculate2DDiffFlow);
 fQC->SetCalculateDiffFlowVsEta(fCalculateDiffFlowVsEta);
 fQC->SetStoreDistributions(fStoreDistributions);
 fQC->SetCalculateCumulantsVsM(fCalculateCumulantsVsM);
 fQC->SetCalculateAllCorrelationsVsM(fCalculateAllCorrelationsVsM);
 fQC->SetCalculateMixedHarmonics(fCalculateMixedHarmonics);
 fQC->SetCalculateMixedHarmonicsVsM(fCalculateMixedHarmonicsVsM);
 fQC->SetStoreControlHistograms(fStoreControlHistograms);
 fQC->SetMinimumBiasReferenceFlow(fMinimumBiasReferenceFlow); 
 fQC->SetForgetAboutCovariances(fForgetAboutCovariances); 
 fQC->SetExactNoRPs(fExactNoRPs);
 // Multiparticle correlations vs multiplicity:
 fQC->SetnBinsMult(fnBinsMult);
 fQC->SetMinMult(fMinMult);
 fQC->SetMaxMult(fMaxMult);
 // Particle weights:
 if(fUseParticleWeights)
 {
  // Pass the flags to class:
  if(fUsePhiWeights){fQC->SetUsePhiWeights(fUsePhiWeights);}
  if(fUsePtWeights){fQC->SetUsePtWeights(fUsePtWeights);}
  if(fUseEtaWeights){fQC->SetUseEtaWeights(fUseEtaWeights);}
  if(fUseTrackWeights){fQC->SetUseTrackWeights(fUseTrackWeights);}
  // Get data from input slot #1 which is used for weights:
  if(GetNinputs()==2) 
  {                   
   fWeightsList = (TList*)GetInputData(1); 
  }
  // Pass the list with weights to class:
  if(fWeightsList) fQC->SetWeightsList(fWeightsList);
 }
 // Event weights:
 if(!fMultiplicityWeight->Contains("combinations")) // default is "combinations"
 {
  fQC->SetMultiplicityWeight(fMultiplicityWeight->Data());
 }

 fQC->SetMultiplicityIs(fMultiplicityIs);
 fQC->SetnBinsForCorrelations(fnBinsForCorrelations); 
 fQC->SetUse2DHistograms(fUse2DHistograms);
 fQC->SetFillProfilesVsMUsingWeights(fFillProfilesVsMUsingWeights);
 fQC->SetUseQvectorTerms(fUseQvectorTerms);

 // Store phi distribution for one event to illustrate flow:
 fQC->SetStorePhiDistributionForOneEvent(fStorePhiDistributionForOneEvent);
 for(Int_t i=0;i<4;i++)
 {
  fQC->SetPhiDistributionForOneEventSettings(fPhiDistributionForOneEventSettings[i],i);
 }

 // Initialize default min and max values of correlations: 
 for(Int_t ci=0;ci<4;ci++)
 {
  fQC->SetMinValueOfCorrelation(ci,fMinValueOfCorrelation[ci]);
  fQC->SetMaxValueOfCorrelation(ci,fMaxValueOfCorrelation[ci]);
 }  

 // Initialize default min and max values of correlation products: 
 for(Int_t cpi=0;cpi<1;cpi++) // TBI hardwired 1
 {
  fQC->SetMinValueOfCorrelationProduct(cpi,fMinValueOfCorrelationProduct[cpi]);
  fQC->SetMaxValueOfCorrelationProduct(cpi,fMaxValueOfCorrelationProduct[cpi]);
 } 

 // Initialize default min and max values of Q-vector terms: 
 for(Int_t ci=0;ci<4;ci++)
 {
  fQC->SetMinValueOfQvectorTerms(ci,fMinValueOfQvectorTerms[ci]);
  fQC->SetMaxValueOfQvectorTerms(ci,fMaxValueOfQvectorTerms[ci]);
 }  

 // Bootstrap:
 fQC->SetUseBootstrap(fUseBootstrap);
 fQC->SetUseBootstrapVsM(fUseBootstrapVsM);
 fQC->SetnSubsamples(fnSubsamples);

 fQC->Init();
 
 if(fQC->GetHistList()) 
 {
  fListHistos = fQC->GetHistList();
  // fListHistos->Print();
 } else 
   {
    Printf("ERROR: Could not retrieve histogram list (QC, Task::UserCreateOutputObjects()) !!!!"); 
   }
 
 PostData(1,fListHistos);
  
} // end of void AliAnalysisTaskQCumulants::UserCreateOutputObjects() 

//================================================================================================================

void AliAnalysisTaskQCumulants::UserExec(Option_t *) 
{
 // main loop (called for each event)
 fEvent = dynamic_cast<AliFlowEventSimple*>(GetInputData(0));

 // Q-cumulants
 if(fEvent) 
 {
  fQC->Make(fEvent);
 } else 
   {
    cout<<"WARNING: No input data (QC, Task::UserExec()) !!!!"<<endl;
    cout<<endl;
   }
  
 PostData(1,fListHistos);
}

//================================================================================================================

void AliAnalysisTaskQCumulants::Terminate(Option_t *) 
{
 //accessing the merged output list: 
 fListHistos = (TList*)GetOutputData(1);
 
 fQC = new AliFlowAnalysisWithQCumulants(); 
 
 if(fListHistos) 
 {
  fQC->GetOutputHistograms(fListHistos);
  fQC->Finish();
  PostData(1,fListHistos);
 } else
   {
    cout<<" WARNING: histogram list pointer is empty (QC, Task::Terminate()) !!!!"<<endl;
    cout<<endl;
   }
    
} // end of void AliAnalysisTaskQCumulants::Terminate(Option_t *)





















 AliAnalysisTaskQCumulants.cxx:1
 AliAnalysisTaskQCumulants.cxx:2
 AliAnalysisTaskQCumulants.cxx:3
 AliAnalysisTaskQCumulants.cxx:4
 AliAnalysisTaskQCumulants.cxx:5
 AliAnalysisTaskQCumulants.cxx:6
 AliAnalysisTaskQCumulants.cxx:7
 AliAnalysisTaskQCumulants.cxx:8
 AliAnalysisTaskQCumulants.cxx:9
 AliAnalysisTaskQCumulants.cxx:10
 AliAnalysisTaskQCumulants.cxx:11
 AliAnalysisTaskQCumulants.cxx:12
 AliAnalysisTaskQCumulants.cxx:13
 AliAnalysisTaskQCumulants.cxx:14
 AliAnalysisTaskQCumulants.cxx:15
 AliAnalysisTaskQCumulants.cxx:16
 AliAnalysisTaskQCumulants.cxx:17
 AliAnalysisTaskQCumulants.cxx:18
 AliAnalysisTaskQCumulants.cxx:19
 AliAnalysisTaskQCumulants.cxx:20
 AliAnalysisTaskQCumulants.cxx:21
 AliAnalysisTaskQCumulants.cxx:22
 AliAnalysisTaskQCumulants.cxx:23
 AliAnalysisTaskQCumulants.cxx:24
 AliAnalysisTaskQCumulants.cxx:25
 AliAnalysisTaskQCumulants.cxx:26
 AliAnalysisTaskQCumulants.cxx:27
 AliAnalysisTaskQCumulants.cxx:28
 AliAnalysisTaskQCumulants.cxx:29
 AliAnalysisTaskQCumulants.cxx:30
 AliAnalysisTaskQCumulants.cxx:31
 AliAnalysisTaskQCumulants.cxx:32
 AliAnalysisTaskQCumulants.cxx:33
 AliAnalysisTaskQCumulants.cxx:34
 AliAnalysisTaskQCumulants.cxx:35
 AliAnalysisTaskQCumulants.cxx:36
 AliAnalysisTaskQCumulants.cxx:37
 AliAnalysisTaskQCumulants.cxx:38
 AliAnalysisTaskQCumulants.cxx:39
 AliAnalysisTaskQCumulants.cxx:40
 AliAnalysisTaskQCumulants.cxx:41
 AliAnalysisTaskQCumulants.cxx:42
 AliAnalysisTaskQCumulants.cxx:43
 AliAnalysisTaskQCumulants.cxx:44
 AliAnalysisTaskQCumulants.cxx:45
 AliAnalysisTaskQCumulants.cxx:46
 AliAnalysisTaskQCumulants.cxx:47
 AliAnalysisTaskQCumulants.cxx:48
 AliAnalysisTaskQCumulants.cxx:49
 AliAnalysisTaskQCumulants.cxx:50
 AliAnalysisTaskQCumulants.cxx:51
 AliAnalysisTaskQCumulants.cxx:52
 AliAnalysisTaskQCumulants.cxx:53
 AliAnalysisTaskQCumulants.cxx:54
 AliAnalysisTaskQCumulants.cxx:55
 AliAnalysisTaskQCumulants.cxx:56
 AliAnalysisTaskQCumulants.cxx:57
 AliAnalysisTaskQCumulants.cxx:58
 AliAnalysisTaskQCumulants.cxx:59
 AliAnalysisTaskQCumulants.cxx:60
 AliAnalysisTaskQCumulants.cxx:61
 AliAnalysisTaskQCumulants.cxx:62
 AliAnalysisTaskQCumulants.cxx:63
 AliAnalysisTaskQCumulants.cxx:64
 AliAnalysisTaskQCumulants.cxx:65
 AliAnalysisTaskQCumulants.cxx:66
 AliAnalysisTaskQCumulants.cxx:67
 AliAnalysisTaskQCumulants.cxx:68
 AliAnalysisTaskQCumulants.cxx:69
 AliAnalysisTaskQCumulants.cxx:70
 AliAnalysisTaskQCumulants.cxx:71
 AliAnalysisTaskQCumulants.cxx:72
 AliAnalysisTaskQCumulants.cxx:73
 AliAnalysisTaskQCumulants.cxx:74
 AliAnalysisTaskQCumulants.cxx:75
 AliAnalysisTaskQCumulants.cxx:76
 AliAnalysisTaskQCumulants.cxx:77
 AliAnalysisTaskQCumulants.cxx:78
 AliAnalysisTaskQCumulants.cxx:79
 AliAnalysisTaskQCumulants.cxx:80
 AliAnalysisTaskQCumulants.cxx:81
 AliAnalysisTaskQCumulants.cxx:82
 AliAnalysisTaskQCumulants.cxx:83
 AliAnalysisTaskQCumulants.cxx:84
 AliAnalysisTaskQCumulants.cxx:85
 AliAnalysisTaskQCumulants.cxx:86
 AliAnalysisTaskQCumulants.cxx:87
 AliAnalysisTaskQCumulants.cxx:88
 AliAnalysisTaskQCumulants.cxx:89
 AliAnalysisTaskQCumulants.cxx:90
 AliAnalysisTaskQCumulants.cxx:91
 AliAnalysisTaskQCumulants.cxx:92
 AliAnalysisTaskQCumulants.cxx:93
 AliAnalysisTaskQCumulants.cxx:94
 AliAnalysisTaskQCumulants.cxx:95
 AliAnalysisTaskQCumulants.cxx:96
 AliAnalysisTaskQCumulants.cxx:97
 AliAnalysisTaskQCumulants.cxx:98
 AliAnalysisTaskQCumulants.cxx:99
 AliAnalysisTaskQCumulants.cxx:100
 AliAnalysisTaskQCumulants.cxx:101
 AliAnalysisTaskQCumulants.cxx:102
 AliAnalysisTaskQCumulants.cxx:103
 AliAnalysisTaskQCumulants.cxx:104
 AliAnalysisTaskQCumulants.cxx:105
 AliAnalysisTaskQCumulants.cxx:106
 AliAnalysisTaskQCumulants.cxx:107
 AliAnalysisTaskQCumulants.cxx:108
 AliAnalysisTaskQCumulants.cxx:109
 AliAnalysisTaskQCumulants.cxx:110
 AliAnalysisTaskQCumulants.cxx:111
 AliAnalysisTaskQCumulants.cxx:112
 AliAnalysisTaskQCumulants.cxx:113
 AliAnalysisTaskQCumulants.cxx:114
 AliAnalysisTaskQCumulants.cxx:115
 AliAnalysisTaskQCumulants.cxx:116
 AliAnalysisTaskQCumulants.cxx:117
 AliAnalysisTaskQCumulants.cxx:118
 AliAnalysisTaskQCumulants.cxx:119
 AliAnalysisTaskQCumulants.cxx:120
 AliAnalysisTaskQCumulants.cxx:121
 AliAnalysisTaskQCumulants.cxx:122
 AliAnalysisTaskQCumulants.cxx:123
 AliAnalysisTaskQCumulants.cxx:124
 AliAnalysisTaskQCumulants.cxx:125
 AliAnalysisTaskQCumulants.cxx:126
 AliAnalysisTaskQCumulants.cxx:127
 AliAnalysisTaskQCumulants.cxx:128
 AliAnalysisTaskQCumulants.cxx:129
 AliAnalysisTaskQCumulants.cxx:130
 AliAnalysisTaskQCumulants.cxx:131
 AliAnalysisTaskQCumulants.cxx:132
 AliAnalysisTaskQCumulants.cxx:133
 AliAnalysisTaskQCumulants.cxx:134
 AliAnalysisTaskQCumulants.cxx:135
 AliAnalysisTaskQCumulants.cxx:136
 AliAnalysisTaskQCumulants.cxx:137
 AliAnalysisTaskQCumulants.cxx:138
 AliAnalysisTaskQCumulants.cxx:139
 AliAnalysisTaskQCumulants.cxx:140
 AliAnalysisTaskQCumulants.cxx:141
 AliAnalysisTaskQCumulants.cxx:142
 AliAnalysisTaskQCumulants.cxx:143
 AliAnalysisTaskQCumulants.cxx:144
 AliAnalysisTaskQCumulants.cxx:145
 AliAnalysisTaskQCumulants.cxx:146
 AliAnalysisTaskQCumulants.cxx:147
 AliAnalysisTaskQCumulants.cxx:148
 AliAnalysisTaskQCumulants.cxx:149
 AliAnalysisTaskQCumulants.cxx:150
 AliAnalysisTaskQCumulants.cxx:151
 AliAnalysisTaskQCumulants.cxx:152
 AliAnalysisTaskQCumulants.cxx:153
 AliAnalysisTaskQCumulants.cxx:154
 AliAnalysisTaskQCumulants.cxx:155
 AliAnalysisTaskQCumulants.cxx:156
 AliAnalysisTaskQCumulants.cxx:157
 AliAnalysisTaskQCumulants.cxx:158
 AliAnalysisTaskQCumulants.cxx:159
 AliAnalysisTaskQCumulants.cxx:160
 AliAnalysisTaskQCumulants.cxx:161
 AliAnalysisTaskQCumulants.cxx:162
 AliAnalysisTaskQCumulants.cxx:163
 AliAnalysisTaskQCumulants.cxx:164
 AliAnalysisTaskQCumulants.cxx:165
 AliAnalysisTaskQCumulants.cxx:166
 AliAnalysisTaskQCumulants.cxx:167
 AliAnalysisTaskQCumulants.cxx:168
 AliAnalysisTaskQCumulants.cxx:169
 AliAnalysisTaskQCumulants.cxx:170
 AliAnalysisTaskQCumulants.cxx:171
 AliAnalysisTaskQCumulants.cxx:172
 AliAnalysisTaskQCumulants.cxx:173
 AliAnalysisTaskQCumulants.cxx:174
 AliAnalysisTaskQCumulants.cxx:175
 AliAnalysisTaskQCumulants.cxx:176
 AliAnalysisTaskQCumulants.cxx:177
 AliAnalysisTaskQCumulants.cxx:178
 AliAnalysisTaskQCumulants.cxx:179
 AliAnalysisTaskQCumulants.cxx:180
 AliAnalysisTaskQCumulants.cxx:181
 AliAnalysisTaskQCumulants.cxx:182
 AliAnalysisTaskQCumulants.cxx:183
 AliAnalysisTaskQCumulants.cxx:184
 AliAnalysisTaskQCumulants.cxx:185
 AliAnalysisTaskQCumulants.cxx:186
 AliAnalysisTaskQCumulants.cxx:187
 AliAnalysisTaskQCumulants.cxx:188
 AliAnalysisTaskQCumulants.cxx:189
 AliAnalysisTaskQCumulants.cxx:190
 AliAnalysisTaskQCumulants.cxx:191
 AliAnalysisTaskQCumulants.cxx:192
 AliAnalysisTaskQCumulants.cxx:193
 AliAnalysisTaskQCumulants.cxx:194
 AliAnalysisTaskQCumulants.cxx:195
 AliAnalysisTaskQCumulants.cxx:196
 AliAnalysisTaskQCumulants.cxx:197
 AliAnalysisTaskQCumulants.cxx:198
 AliAnalysisTaskQCumulants.cxx:199
 AliAnalysisTaskQCumulants.cxx:200
 AliAnalysisTaskQCumulants.cxx:201
 AliAnalysisTaskQCumulants.cxx:202
 AliAnalysisTaskQCumulants.cxx:203
 AliAnalysisTaskQCumulants.cxx:204
 AliAnalysisTaskQCumulants.cxx:205
 AliAnalysisTaskQCumulants.cxx:206
 AliAnalysisTaskQCumulants.cxx:207
 AliAnalysisTaskQCumulants.cxx:208
 AliAnalysisTaskQCumulants.cxx:209
 AliAnalysisTaskQCumulants.cxx:210
 AliAnalysisTaskQCumulants.cxx:211
 AliAnalysisTaskQCumulants.cxx:212
 AliAnalysisTaskQCumulants.cxx:213
 AliAnalysisTaskQCumulants.cxx:214
 AliAnalysisTaskQCumulants.cxx:215
 AliAnalysisTaskQCumulants.cxx:216
 AliAnalysisTaskQCumulants.cxx:217
 AliAnalysisTaskQCumulants.cxx:218
 AliAnalysisTaskQCumulants.cxx:219
 AliAnalysisTaskQCumulants.cxx:220
 AliAnalysisTaskQCumulants.cxx:221
 AliAnalysisTaskQCumulants.cxx:222
 AliAnalysisTaskQCumulants.cxx:223
 AliAnalysisTaskQCumulants.cxx:224
 AliAnalysisTaskQCumulants.cxx:225
 AliAnalysisTaskQCumulants.cxx:226
 AliAnalysisTaskQCumulants.cxx:227
 AliAnalysisTaskQCumulants.cxx:228
 AliAnalysisTaskQCumulants.cxx:229
 AliAnalysisTaskQCumulants.cxx:230
 AliAnalysisTaskQCumulants.cxx:231
 AliAnalysisTaskQCumulants.cxx:232
 AliAnalysisTaskQCumulants.cxx:233
 AliAnalysisTaskQCumulants.cxx:234
 AliAnalysisTaskQCumulants.cxx:235
 AliAnalysisTaskQCumulants.cxx:236
 AliAnalysisTaskQCumulants.cxx:237
 AliAnalysisTaskQCumulants.cxx:238
 AliAnalysisTaskQCumulants.cxx:239
 AliAnalysisTaskQCumulants.cxx:240
 AliAnalysisTaskQCumulants.cxx:241
 AliAnalysisTaskQCumulants.cxx:242
 AliAnalysisTaskQCumulants.cxx:243
 AliAnalysisTaskQCumulants.cxx:244
 AliAnalysisTaskQCumulants.cxx:245
 AliAnalysisTaskQCumulants.cxx:246
 AliAnalysisTaskQCumulants.cxx:247
 AliAnalysisTaskQCumulants.cxx:248
 AliAnalysisTaskQCumulants.cxx:249
 AliAnalysisTaskQCumulants.cxx:250
 AliAnalysisTaskQCumulants.cxx:251
 AliAnalysisTaskQCumulants.cxx:252
 AliAnalysisTaskQCumulants.cxx:253
 AliAnalysisTaskQCumulants.cxx:254
 AliAnalysisTaskQCumulants.cxx:255
 AliAnalysisTaskQCumulants.cxx:256
 AliAnalysisTaskQCumulants.cxx:257
 AliAnalysisTaskQCumulants.cxx:258
 AliAnalysisTaskQCumulants.cxx:259
 AliAnalysisTaskQCumulants.cxx:260
 AliAnalysisTaskQCumulants.cxx:261
 AliAnalysisTaskQCumulants.cxx:262
 AliAnalysisTaskQCumulants.cxx:263
 AliAnalysisTaskQCumulants.cxx:264
 AliAnalysisTaskQCumulants.cxx:265
 AliAnalysisTaskQCumulants.cxx:266
 AliAnalysisTaskQCumulants.cxx:267
 AliAnalysisTaskQCumulants.cxx:268
 AliAnalysisTaskQCumulants.cxx:269
 AliAnalysisTaskQCumulants.cxx:270
 AliAnalysisTaskQCumulants.cxx:271
 AliAnalysisTaskQCumulants.cxx:272
 AliAnalysisTaskQCumulants.cxx:273
 AliAnalysisTaskQCumulants.cxx:274
 AliAnalysisTaskQCumulants.cxx:275
 AliAnalysisTaskQCumulants.cxx:276
 AliAnalysisTaskQCumulants.cxx:277
 AliAnalysisTaskQCumulants.cxx:278
 AliAnalysisTaskQCumulants.cxx:279
 AliAnalysisTaskQCumulants.cxx:280
 AliAnalysisTaskQCumulants.cxx:281
 AliAnalysisTaskQCumulants.cxx:282
 AliAnalysisTaskQCumulants.cxx:283
 AliAnalysisTaskQCumulants.cxx:284
 AliAnalysisTaskQCumulants.cxx:285
 AliAnalysisTaskQCumulants.cxx:286
 AliAnalysisTaskQCumulants.cxx:287
 AliAnalysisTaskQCumulants.cxx:288
 AliAnalysisTaskQCumulants.cxx:289
 AliAnalysisTaskQCumulants.cxx:290
 AliAnalysisTaskQCumulants.cxx:291
 AliAnalysisTaskQCumulants.cxx:292
 AliAnalysisTaskQCumulants.cxx:293
 AliAnalysisTaskQCumulants.cxx:294
 AliAnalysisTaskQCumulants.cxx:295
 AliAnalysisTaskQCumulants.cxx:296
 AliAnalysisTaskQCumulants.cxx:297
 AliAnalysisTaskQCumulants.cxx:298
 AliAnalysisTaskQCumulants.cxx:299
 AliAnalysisTaskQCumulants.cxx:300
 AliAnalysisTaskQCumulants.cxx:301
 AliAnalysisTaskQCumulants.cxx:302
 AliAnalysisTaskQCumulants.cxx:303
 AliAnalysisTaskQCumulants.cxx:304
 AliAnalysisTaskQCumulants.cxx:305
 AliAnalysisTaskQCumulants.cxx:306
 AliAnalysisTaskQCumulants.cxx:307
 AliAnalysisTaskQCumulants.cxx:308
 AliAnalysisTaskQCumulants.cxx:309
 AliAnalysisTaskQCumulants.cxx:310
 AliAnalysisTaskQCumulants.cxx:311
 AliAnalysisTaskQCumulants.cxx:312
 AliAnalysisTaskQCumulants.cxx:313
 AliAnalysisTaskQCumulants.cxx:314
 AliAnalysisTaskQCumulants.cxx:315
 AliAnalysisTaskQCumulants.cxx:316
 AliAnalysisTaskQCumulants.cxx:317
 AliAnalysisTaskQCumulants.cxx:318
 AliAnalysisTaskQCumulants.cxx:319
 AliAnalysisTaskQCumulants.cxx:320
 AliAnalysisTaskQCumulants.cxx:321
 AliAnalysisTaskQCumulants.cxx:322
 AliAnalysisTaskQCumulants.cxx:323
 AliAnalysisTaskQCumulants.cxx:324
 AliAnalysisTaskQCumulants.cxx:325
 AliAnalysisTaskQCumulants.cxx:326
 AliAnalysisTaskQCumulants.cxx:327
 AliAnalysisTaskQCumulants.cxx:328
 AliAnalysisTaskQCumulants.cxx:329
 AliAnalysisTaskQCumulants.cxx:330
 AliAnalysisTaskQCumulants.cxx:331
 AliAnalysisTaskQCumulants.cxx:332
 AliAnalysisTaskQCumulants.cxx:333
 AliAnalysisTaskQCumulants.cxx:334
 AliAnalysisTaskQCumulants.cxx:335
 AliAnalysisTaskQCumulants.cxx:336
 AliAnalysisTaskQCumulants.cxx:337
 AliAnalysisTaskQCumulants.cxx:338
 AliAnalysisTaskQCumulants.cxx:339
 AliAnalysisTaskQCumulants.cxx:340
 AliAnalysisTaskQCumulants.cxx:341
 AliAnalysisTaskQCumulants.cxx:342
 AliAnalysisTaskQCumulants.cxx:343
 AliAnalysisTaskQCumulants.cxx:344
 AliAnalysisTaskQCumulants.cxx:345
 AliAnalysisTaskQCumulants.cxx:346
 AliAnalysisTaskQCumulants.cxx:347
 AliAnalysisTaskQCumulants.cxx:348
 AliAnalysisTaskQCumulants.cxx:349
 AliAnalysisTaskQCumulants.cxx:350
 AliAnalysisTaskQCumulants.cxx:351
 AliAnalysisTaskQCumulants.cxx:352
 AliAnalysisTaskQCumulants.cxx:353
 AliAnalysisTaskQCumulants.cxx:354
 AliAnalysisTaskQCumulants.cxx:355
 AliAnalysisTaskQCumulants.cxx:356
 AliAnalysisTaskQCumulants.cxx:357
 AliAnalysisTaskQCumulants.cxx:358
 AliAnalysisTaskQCumulants.cxx:359
 AliAnalysisTaskQCumulants.cxx:360
 AliAnalysisTaskQCumulants.cxx:361
 AliAnalysisTaskQCumulants.cxx:362
 AliAnalysisTaskQCumulants.cxx:363
 AliAnalysisTaskQCumulants.cxx:364
 AliAnalysisTaskQCumulants.cxx:365
 AliAnalysisTaskQCumulants.cxx:366
 AliAnalysisTaskQCumulants.cxx:367
 AliAnalysisTaskQCumulants.cxx:368
 AliAnalysisTaskQCumulants.cxx:369
 AliAnalysisTaskQCumulants.cxx:370
 AliAnalysisTaskQCumulants.cxx:371
 AliAnalysisTaskQCumulants.cxx:372
 AliAnalysisTaskQCumulants.cxx:373
 AliAnalysisTaskQCumulants.cxx:374
 AliAnalysisTaskQCumulants.cxx:375
 AliAnalysisTaskQCumulants.cxx:376
 AliAnalysisTaskQCumulants.cxx:377
 AliAnalysisTaskQCumulants.cxx:378
 AliAnalysisTaskQCumulants.cxx:379
 AliAnalysisTaskQCumulants.cxx:380
 AliAnalysisTaskQCumulants.cxx:381
 AliAnalysisTaskQCumulants.cxx:382
 AliAnalysisTaskQCumulants.cxx:383
 AliAnalysisTaskQCumulants.cxx:384
 AliAnalysisTaskQCumulants.cxx:385
 AliAnalysisTaskQCumulants.cxx:386
 AliAnalysisTaskQCumulants.cxx:387
 AliAnalysisTaskQCumulants.cxx:388
 AliAnalysisTaskQCumulants.cxx:389
 AliAnalysisTaskQCumulants.cxx:390
 AliAnalysisTaskQCumulants.cxx:391
 AliAnalysisTaskQCumulants.cxx:392
 AliAnalysisTaskQCumulants.cxx:393