TObject(),
bShuffle(kFALSE),
fAnalysisLevel("ESD"),
- fAnalyzedEvents(0) {
+ fAnalyzedEvents(0) ,
+ fCentralityId(0) {
// Default constructor
for(Int_t i = 0; i < ANALYSIS_TYPES; i++){
//____________________________________________________________________//
AliBalance::AliBalance(const AliBalance& balance):
- TObject(balance), bShuffle(balance.bShuffle), fAnalysisLevel(balance.fAnalysisLevel),
- fAnalyzedEvents(balance.fAnalyzedEvents) {
+ TObject(balance), bShuffle(balance.bShuffle),
+ fAnalysisLevel(balance.fAnalysisLevel),
+ fAnalyzedEvents(balance.fAnalyzedEvents),
+ fCentralityId(balance.fCentralityId) {
//copy constructor
for(Int_t i = 0; i < ANALYSIS_TYPES; i++){
fNn[i] = balance.fNn[i];
}
}
-
-//____________________________________________________________________//
-/*void AliBalance::SetNumberOfBins(Int_t ibin, Int_t ibins) {
- // Sets the number of bins for the analyzed interval
- // Set the same Information for all analyses
- if(ibin == -1){
- for(Int_t i = 0; i < ANALYSIS_TYPES; i++){
- fNumberOfBins[i] = ibins;
- }
- }
- // Set the Information for one analysis
- else if(ibin > -1 && ibin < ANALYSIS_TYPES){
- fNumberOfBins[ibin] = ibins;
- }
- else{
- AliError("Wrong ANALYSIS number!");
- }
- }*/
-
//____________________________________________________________________//
void AliBalance::SetInterval(Int_t iAnalysisType,
Double_t p1Start, Double_t p1Stop,
else {
AliError("Wrong ANALYSIS number!");
}
-
- //InitHistograms();
}
//____________________________________________________________________//
void AliBalance::InitHistograms() {
- //
+ //Initialize the histograms
TString histName;
for(Int_t iAnalysisType = 0; iAnalysisType < ANALYSIS_TYPES; iAnalysisType++) {
- histName = "fHistP"; histName += gBFAnalysisType[iAnalysisType]; if(bShuffle) histName.Append("_shuffle");
+ histName = "fHistP"; histName += gBFAnalysisType[iAnalysisType];
+ if(bShuffle) histName.Append("_shuffle");
+ if(fCentralityId) histName += fCentralityId.Data();
fHistP[iAnalysisType] = new TH1D(histName.Data(),"",100,fP1Start[iAnalysisType],fP1Stop[iAnalysisType]);
- histName = "fHistN"; histName += gBFAnalysisType[iAnalysisType]; if(bShuffle) histName.Append("_shuffle");
+
+ histName = "fHistN"; histName += gBFAnalysisType[iAnalysisType];
+ if(bShuffle) histName.Append("_shuffle");
+ if(fCentralityId) histName += fCentralityId.Data();
fHistN[iAnalysisType] = new TH1D(histName.Data(),"",100,fP1Start[iAnalysisType],fP1Stop[iAnalysisType]);
- histName = "fHistPN"; histName += gBFAnalysisType[iAnalysisType]; if(bShuffle) histName.Append("_shuffle");
+ histName = "fHistPN"; histName += gBFAnalysisType[iAnalysisType];
+ if(bShuffle) histName.Append("_shuffle");
+ if(fCentralityId) histName += fCentralityId.Data();
fHistPN[iAnalysisType] = new TH1D(histName.Data(),"",fNumberOfBins[iAnalysisType],fP2Start[iAnalysisType],fP2Stop[iAnalysisType]);
- histName = "fHistNP"; histName += gBFAnalysisType[iAnalysisType]; if(bShuffle) histName.Append("_shuffle");
+
+ histName = "fHistNP"; histName += gBFAnalysisType[iAnalysisType];
+ if(bShuffle) histName.Append("_shuffle");
+ if(fCentralityId) histName += fCentralityId.Data();
fHistNP[iAnalysisType] = new TH1D(histName.Data(),"",fNumberOfBins[iAnalysisType],fP2Start[iAnalysisType],fP2Stop[iAnalysisType]);
- histName = "fHistPP"; histName += gBFAnalysisType[iAnalysisType]; if(bShuffle) histName.Append("_shuffle");
+
+ histName = "fHistPP"; histName += gBFAnalysisType[iAnalysisType];
+ if(bShuffle) histName.Append("_shuffle");
+ if(fCentralityId) histName += fCentralityId.Data();
fHistPP[iAnalysisType] = new TH1D(histName.Data(),"",fNumberOfBins[iAnalysisType],fP2Start[iAnalysisType],fP2Stop[iAnalysisType]);
- histName = "fHistNN"; histName += gBFAnalysisType[iAnalysisType]; if(bShuffle) histName.Append("_shuffle");
+
+ histName = "fHistNN"; histName += gBFAnalysisType[iAnalysisType];
+ if(bShuffle) histName.Append("_shuffle");
+ if(fCentralityId) histName += fCentralityId.Data();
fHistNN[iAnalysisType] = new TH1D(histName.Data(),"",fNumberOfBins[iAnalysisType],fP2Start[iAnalysisType],fP2Stop[iAnalysisType]);
-
}
}
AliBalance();
AliBalance(const AliBalance& balance);
~AliBalance();
+
+ void SetCentralityIdentifier(const char* centralityId) {
+ fCentralityId = centralityId;}
- //void SetNumberOfBins(Int_t ibin, Int_t ibins);
void SetAnalysisLevel(const char* analysisLevel) {
fAnalysisLevel = analysisLevel;}
void SetShuffle(Bool_t shuffle) {bShuffle = shuffle;}
void PrintResults(Int_t iAnalysisType, TH1D *gHist);
private:
-
Bool_t bShuffle; //shuffled balance function object
TString fAnalysisLevel; //ESD, AOD or MC
Int_t fAnalyzedEvents; //number of events that have been analyzed
- Int_t fNumberOfBins[ANALYSIS_TYPES]; //number of bins of the analyzed interval
+ TString fCentralityId;//Centrality identifier to be used for the histo naming
+
+ Int_t fNumberOfBins[ANALYSIS_TYPES];//number of bins of the analyzed interval
Double_t fP1Start[ANALYSIS_TYPES];
Double_t fP1Stop[ANALYSIS_TYPES];
Double_t fP2Start[ANALYSIS_TYPES];
// now in options\r
//=============================================//\r
-const char* centralityEstimator = "V0M";\r
+//const char* centralityEstimator = "V0M";\r
//const char* centralityEstimator = "CL1";\r
//const char* centralityEstimator = "TRK";\r
//=============================================//\r
AliBalance *bfs = 0; // shuffled Balance function object\r
\r
if (analysisType=="ESD"){\r
- bf = GetBalanceFunctionObject("ESD");\r
- if(gRunShuffling) bfs = GetBalanceFunctionObject("ESD",kTRUE);\r
+ bf = GetBalanceFunctionObject("ESD",centralityName.Data());\r
+ if(gRunShuffling) bfs = GetBalanceFunctionObject("ESD",centralityName.Data(),kTRUE);\r
}\r
else if (analysisType=="AOD"){\r
- bf = GetBalanceFunctionObject("AOD");\r
- if(gRunShuffling) bfs = GetBalanceFunctionObject("AOD",kTRUE);\r
+ bf = GetBalanceFunctionObject("AOD",centralityName.Data());\r
+ if(gRunShuffling) bfs = GetBalanceFunctionObject("AOD",centralityName.Data(),kTRUE);\r
}\r
else if (analysisType=="MC"){\r
- bf = GetBalanceFunctionObject("MC");\r
- if(gRunShuffling) bfs = GetBalanceFunctionObject("MC",kTRUE);\r
+ bf = GetBalanceFunctionObject("MC",centralityName.Data());\r
+ if(gRunShuffling) bfs = GetBalanceFunctionObject("MC",centralityName.Data(),kTRUE);\r
}\r
else{\r
::Error("AddTaskBF", "analysis type NOT known.");\r