void AliAnalysisTaskBF::UserCreateOutputObjects() {
// Create histograms
// Called once
+
+ // global switch disabling the reference
+ // (to avoid "Replacing existing TH1" if several wagons are created in train)
+ Bool_t oldStatus = TH1::AddDirectoryStatus();
+ TH1::AddDirectory(kFALSE);
+
if(!fBalance) {
fBalance = new AliBalance();
fBalance->SetAnalysisLevel("ESD");
PostData(2, fListBF);
if(fRunShuffling) PostData(3, fListBFS);
if(fUsePID) PostData(4, fHistListPIDQA); //PID
+
+ TH1::AddDirectory(oldStatus);
+
}
//________________________________________________________________________
void AliAnalysisTaskBFPsi::UserCreateOutputObjects() {\r
// Create histograms\r
// Called once\r
+\r
+ // global switch disabling the reference \r
+ // (to avoid "Replacing existing TH1" if several wagons are created in train)\r
+ Bool_t oldStatus = TH1::AddDirectoryStatus();\r
+ TH1::AddDirectory(kFALSE);\r
+\r
if(!fBalance) {\r
fBalance = new AliBalancePsi();\r
fBalance->SetAnalysisLevel("ESD");\r
if(fRunShuffling) PostData(3, fListBFS);\r
if(fRunMixing) PostData(4, fListBFM);\r
if(fUsePID) PostData(5, fHistListPIDQA); //PID\r
+\r
+ TH1::AddDirectory(oldStatus);\r
+\r
}\r
\r
//________________________________________________________________________\r
// Create histograms
// Called once
+ // global switch disabling the reference
+ // (to avoid "Replacing existing TH1" if several wagons are created in train)
+ Bool_t oldStatus = TH1::AddDirectoryStatus();
+ TH1::AddDirectory(kFALSE);
+
fQAList = new TList();
fQAList->SetName("QAList");
fQAList->SetOwner();
PostData(1, fQAList);
PostData(2, fOutputList);
+
+ TH1::AddDirectory(oldStatus);
+
}
//________________________________________________________________________
// Create histograms
// Called once
+ // global switch disabling the reference
+ // (to avoid "Replacing existing TH1" if several wagons are created in train)
+ Bool_t oldStatus = TH1::AddDirectoryStatus();
+ TH1::AddDirectory(kFALSE);
+
fQAList = new TList();
fQAList->SetName("QAList");
fQAList->SetOwner();
PostData(1, fQAList);
PostData(2, fOutputList);
+
+ TH1::AddDirectory(oldStatus);
+
}
//________________________________________________________________________
void AliAnalysisTaskToyModel::CreateOutputObjects() {\r
// Create histograms\r
// Called once\r
+\r
+ // global switch disabling the reference \r
+ // (to avoid "Replacing existing TH1" if several wagons are created in train)\r
+ Bool_t oldStatus = TH1::AddDirectoryStatus();\r
+ TH1::AddDirectory(kFALSE);\r
+\r
if(!fBalance) {\r
fBalance = new AliBalance();\r
fBalance->SetInterval(-1,-0.8,0.8,16,0.,1.6);\r
//PostData(1, fList);\r
//PostData(2, fListBF);\r
//if(fRunShuffling) PostData(3, fListBFS);\r
+\r
+ TH1::AddDirectory(oldStatus);\r
+\r
}\r
\r
//________________________________________________________________________\r
void AliAnalysisTaskTriggeredBF::UserCreateOutputObjects() {\r
// Create histograms\r
// Called once\r
+\r
+ // global switch disabling the reference \r
+ // (to avoid "Replacing existing TH1" if several wagons are created in train)\r
+ Bool_t oldStatus = TH1::AddDirectoryStatus();\r
+ TH1::AddDirectory(kFALSE);\r
+\r
if(!fBalance) {\r
fBalance = new AliBalanceTriggered();\r
fBalance->SetAnalysisLevel("AOD");\r
if(fRunShuffling) PostData(3, fListTriggeredBFS);\r
if(fRunMixing) PostData(4, fListTriggeredBFM);\r
if(fRunV0) PostData(5,fHistListV0);\r
+\r
+ TH1::AddDirectory(oldStatus);\r
+\r
}\r
\r
//________________________________________________________________________\r
//____________________________________________________________________//
void AliBalance::InitHistograms() {
//Initialize the histograms
+
+ // global switch disabling the reference
+ // (to avoid "Replacing existing TH1" if several wagons are created in train)
+ Bool_t oldStatus = TH1::AddDirectoryStatus();
+ TH1::AddDirectory(kFALSE);
+
TString histName;
for(Int_t iAnalysisType = 0; iAnalysisType < ANALYSIS_TYPES; iAnalysisType++) {
histName = "fHistP"; histName += kBFAnalysisType[iAnalysisType];
fHistConversionbefore = new TH2D("fHistConversionbefore","before Conversion cut",200,0,2,200,0,200);
fHistConversionafter = new TH2D("fHistConversionafter","after Conversion cut",200,0,2,200,0,200);
+ TH1::AddDirectory(oldStatus);
+
}
//____________________________________________________________________//
//____________________________________________________________________//
void AliBalanceEventMixing::InitHistograms() {
//Initialize the histograms
+
+ // global switch disabling the reference
+ // (to avoid "Replacing existing TH1" if several wagons are created in train)
+ Bool_t oldStatus = TH1::AddDirectoryStatus();
+ TH1::AddDirectory(kFALSE);
+
TString histName;
for(Int_t iAnalysisType = 0; iAnalysisType < ANALYSIS_TYPES; iAnalysisType++) {
histName = "fHistP"; histName += kBFAnalysisType[iAnalysisType];
if(fCentralityId) histName += fCentralityId.Data();
fHistNN[iAnalysisType] = new TH2D(histName.Data(),"",fCentStop-fCentStart,fCentStart,fCentStop,fNumberOfBins[iAnalysisType],fP2Start[iAnalysisType],fP2Stop[iAnalysisType]);
}
+
+ TH1::AddDirectory(oldStatus);
+
}
//____________________________________________________________________//
//____________________________________________________________________//
void AliBalancePsi::InitHistograms() {
// single particle histograms
+
+ // global switch disabling the reference
+ // (to avoid "Replacing existing TH1" if several wagons are created in train)
+ Bool_t oldStatus = TH1::AddDirectoryStatus();
+ TH1::AddDirectory(kFALSE);
+
Int_t anaSteps = 1; // analysis steps
Int_t iBinSingle[kTrackVariablesSingle]; // binning for track variables
Double_t* dBinsSingle[kTrackVariablesSingle]; // bins for track variables
fHistConversionbefore = new TH2D("fHistConversionbefore","before Conversion cut",200,0,2,200,0,2.*TMath::Pi());
fHistConversionafter = new TH2D("fHistConversionafter","after Conversion cut",200,0,2,200,0,2.*TMath::Pi());
fHistPsiMinusPhi = new TH2D("fHistPsiMinusPhi","",4,-0.5,3.5,100,0,2.*TMath::Pi());
+
+ TH1::AddDirectory(oldStatus);
+
}
//____________________________________________________________________//
//____________________________________________________________________//
void AliBalanceTriggered::InitHistograms() {
-
//Initialize the histograms
+ // global switch disabling the reference
+ // (to avoid "Replacing existing TH1" if several wagons are created in train)
+ Bool_t oldStatus = TH1::AddDirectoryStatus();
+ TH1::AddDirectory(kFALSE);
+
TString title = ""; // histogram title
Int_t anaSteps = 1; // analysis steps
//-----------------------------------------------------------
//-----------------------------------------------------------
+ TH1::AddDirectory(oldStatus);
}
-const Int_t numberOfCentralityBins = 10;
-TString centralityArray[numberOfCentralityBins] = {"0-10","10-20","20-30","30-40","40-50","50-60","60-70","70-80","0-1","1-2"};
+const Int_t numberOfCentralityBins = 11;
+TString centralityArray[numberOfCentralityBins] = {"0-10","10-20","20-30","30-40","40-50","50-60","60-70","70-80","0-1","1-2","0-100"};
void drawBalanceFunctionPsi(const char* filename = "AnalysisResultsPsi.root",
Int_t gCentrality = 1,
listBFName += "_"; listBFName += gCentralityEstimator;}
listBF = dynamic_cast<TList *>(dir->Get(listBFName.Data()));
cout<<"======================================================="<<endl;
- cout<<"List name: "<<listBF->GetName()<<endl;
+ cout<<"List name: "<<listBFName<<endl;
+ cout<<"List name (check): "<<listBF->GetName()<<endl;
listBF->ls();
//Get the histograms