+//====================================correction=============================================//\r
+//________________________________________________________________________\r
+void AliAnalysisTaskBFPsi::SetInputCorrection(const char* filename, const char* gCollSystem) {\r
+ //Open files that will be used for correction\r
+ TString gCollidingSystem = gCollSystem;\r
+\r
+ //Open the input file\r
+ TFile *f = TFile::Open(filename);\r
+ if(!f->IsOpen()) {\r
+ Printf("File not found!!!");\r
+ return;\r
+ //break;\r
+ }\r
+ \r
+ //Get the TDirectoryFile and TList\r
+ TDirectoryFile *dir = dynamic_cast<TDirectoryFile *>(f->Get("PWGCFEbyE.outputBalanceFunctionEfficiencyAnalysis"));\r
+ if(!dir) {\r
+ Printf("TDirectoryFile not found!!!");\r
+ return;\r
+ //break;\r
+ }\r
+ \r
+ TString listEffName = "";\r
+ for (Int_t iCent = 0; iCent < kCENTRALITY; iCent++) {\r
+ listEffName = "listEfficiencyBF_"; \r
+ listEffName += (TString)((Int_t)(centralityArrayForPbPb[iCent]));\r
+ listEffName += "_";\r
+ listEffName += (TString)((Int_t)(centralityArrayForPbPb[iCent+1]));\r
+ TList *list = (TList*)dir->Get(listEffName.Data());\r
+ if(!list) {\r
+ Printf("TList Efficiency not found!!!");\r
+ return;\r
+ // break;\r
+ }\r
+ \r
+ TString histoName = "fHistMatrixCorrectionPlus";\r
+ fHistMatrixCorrectionPlus[iCent]= dynamic_cast<TH3D *>(list->FindObject(histoName.Data()));\r
+ //fHistMatrixCorrectionPlus[iCent]->SetName(Form(histoName.Data()));\r
+ // histoName.Data() = fHistMatrixCorrectionPlus->Clone;\r
+ if(!fHistMatrixCorrectionPlus[iCent]) {\r
+ Printf("fHist not found!!!");\r
+ return;\r
+ //break;\r
+ }\r
+ \r
+ histoName = "fHistMatrixCorrectionMinus";\r
+ fHistMatrixCorrectionMinus[iCent] = dynamic_cast<TH3D *>(list->FindObject(histoName.Data())); \r
+ //fHistMatrixCorrectionMinus[iCent]->SetName(Form(histoName.Data()));\r
+ //histoName.Data() = fHistMatrixCorrectionPlus->Clone;\r
+ if(!fHistMatrixCorrectionMinus[iCent]) {\r
+ Printf("fHist not found!!!");\r
+ return; \r
+ //break;\r
+ }\r
+ }//loop over centralities: ONLY the PbPb case is covered\r
+\r
+ fEtaMinForCorrections = fHistMatrixCorrectionPlus[0]->GetXaxis()->GetXmin();\r
+ fEtaMaxForCorrections = fHistMatrixCorrectionPlus[0]->GetXaxis()->GetXmax();\r
+ fEtaBinForCorrections = fHistMatrixCorrectionPlus[0]->GetNbinsX();\r
+\r
+ fPtMinForCorrections = fHistMatrixCorrectionPlus[0]->GetYaxis()->GetXmin();\r
+ fPtMaxForCorrections = fHistMatrixCorrectionPlus[0]->GetYaxis()->GetXmax();\r
+ fPtBinForCorrections = fHistMatrixCorrectionPlus[0]->GetNbinsY();\r
+\r
+ fPhiMinForCorrections = fHistMatrixCorrectionPlus[0]->GetZaxis()->GetXmin();\r
+ fPhiMaxForCorrections = fHistMatrixCorrectionPlus[0]->GetZaxis()->GetXmax();\r
+ fPhiBinForCorrections = fHistMatrixCorrectionPlus[0]->GetNbinsZ();\r
+}\r
+//====================================correction=============================================//\r
+\r