-//\r
-// Macro designed for use with the AliAnalysisTaskDptDptCorrelations task.\r
-//\r
-// Author: Prabhat Pujahari & Claude Pruneau, Wayne State\r
-// \r
-// system: 0: PbPb 1: pp\r
-// singlesOnly: 0: full correlations 1: singles only\r
-// useWeights: 0: no 1: yes\r
-// centralityMethod: 3: track count 4: V0 centrality\r
-// chargeSet: 0: ++ 1: +- 2: -+ 3: --\r
-/////////////////////////////////////////////////////////////////////////////////\r
-AliAnalysisTaskDptDptCorrelations *AddTaskDptDptCorrelations2010(int system = 0,\r
- int singlesOnly = 0,\r
- int useWeights = 1,\r
- int centralityMethod = 4,\r
- int chargeSet = 1)\r
-\r
-{\r
- // Set Default Configuration of this analysis\r
- // ==========================================\r
- int debugLevel = 0;\r
- int rejectPileup = 1;\r
- int rejectPairConversion = 1;\r
- int sameFilter = 1;\r
-\r
- \r
- int nCentrality;\r
- double minCentrality[10];\r
- double maxCentrality[10];\r
-\r
- if (system==0) // PbPb\r
- {\r
- if (centralityMethod == 4)\r
- {\r
- nCentrality = 10;\r
- minCentrality[0] = 0.0; maxCentrality[0] = 5.0;\r
- minCentrality[1] = 5.0; maxCentrality[1] = 10.;\r
- minCentrality[2] = 10.; maxCentrality[2] = 20.;\r
- minCentrality[3] = 20.; maxCentrality[3] = 30.;\r
- minCentrality[4] = 30.; maxCentrality[4] = 40.;\r
- minCentrality[5] = 40.; maxCentrality[5] = 50.;\r
- minCentrality[6] = 50.; maxCentrality[6] = 60.;\r
- minCentrality[7] = 60.; maxCentrality[7] = 70.;\r
- minCentrality[8] = 70.; maxCentrality[8] = 80.;\r
- minCentrality[9] = 80.; maxCentrality[9] = 90.;\r
- \r
- }\r
- else\r
- {\r
- cout << "-F- AddTaskDptDptCorrelations() system:" << system << ". centralityMethod:" << centralityMethod << " Option NOT AVAILABLE. ABORT."\r
- return 0;\r
- }\r
- }\r
- else if (system==1) // pp\r
- {\r
- if (centralityMethod == 3)\r
- {\r
- nCentrality = 4;\r
- minCentrality[0] = 2; maxCentrality[0] = 100.0;\r
- minCentrality[1] = 2; maxCentrality[1] = 20.;\r
- minCentrality[2] = 20.; maxCentrality[2] = 50.;\r
- minCentrality[3] = 50.; maxCentrality[3] = 100.;\r
- }\r
- else\r
- {\r
- cout << "-F- AddTaskDptDptCorrelations() system:" << system << ". centralityMethod:" << centralityMethod << " Option NOT AVAILABLE. ABORT."\r
- return 0;\r
- }\r
- }\r
- else\r
- {\r
- cout << "-F- AddTaskDptDptCorrelations() system:" << system << ". Option NOT CURRENTLY AVAILABLE. ABORT."\r
- return 0;\r
- }\r
-\r
- double zMin = -10.;\r
- double zMax = 10.;\r
- double ptMin = 0.2;\r
- double ptMax = 2.0;\r
- double etaMin = -1.0;\r
- double etaMax = 1.0;\r
- double dcaZMin = -3.0;\r
- double dcaZMax = 3.0;\r
- double dcaXYMin = -2.4;\r
- double dcaXYMax = 2.4;\r
- double dedxMin = 0.0;\r
- double dedxMax = 20000.0;\r
- int nClusterMin = 70;\r
- int trackFilterBit = 128;\r
- \r
- int requestedCharge1 = 1; //default\r
- int requestedCharge2 = -1; //default\r
- \r
- \r
- // Get the pointer to the existing analysis manager via the static access method.\r
- // ==============================================================================\r
- AliAnalysisManager *analysisManager = AliAnalysisManager::GetAnalysisManager();\r
- \r
- if (!analysisManager) \r
- {\r
- ::Error("AddTaskDptDptCorrelations", "No analysis manager to connect to.");\r
- return NULL;\r
- } \r
- \r
- TString part1Name;\r
- TString part2Name;\r
- TString eventName;\r
- TString prefixName = "Corr_";\r
- TString pileupRejecSuffix = "_PileupRejec";\r
- TString pairRejecSuffix = "_PairRejec";\r
- TString calibSuffix = "_calib";\r
- TString singlesOnlySuffix = "_SO";\r
- TString suffix;\r
- \r
- TString inputPath = ".";\r
- TString outputPath = ".";\r
- TString baseName;\r
- TString listName;\r
- TString taskName;\r
- TString inputHistogramFileName;\r
- TString outputHistogramFileName;\r
- \r
- // Create the task and add subtask.\r
- // ===========================================================================\r
- int iTask = 0; // task counter\r
- AliAnalysisDataContainer *taskInputContainer;\r
- AliAnalysisDataContainer *taskOutputContainer;\r
- AliAnalysisTaskDptDptCorrelations* task;\r
- \r
- for (int iCentrality=0; iCentrality < nCentrality; ++iCentrality)\r
- {\r
- switch (chargeSet)\r
- {\r
- case 0: part1Name = "P_"; part2Name = "P_"; requestedCharge1 = 1; requestedCharge2 = 1; sameFilter = 1; break;\r
- case 1: part1Name = "P_"; part2Name = "M_"; requestedCharge1 = 1; requestedCharge2 = -1; sameFilter = 0; break;\r
- case 2: part1Name = "M_"; part2Name = "P_"; requestedCharge1 = -1; requestedCharge2 = 1; sameFilter = 0; break;\r
- case 3: part1Name = "M_"; part2Name = "M_"; requestedCharge1 = -1; requestedCharge2 = -1; sameFilter = 1; break;\r
- }\r
- //part1Name += int(1000*etaMin);\r
- part1Name += "eta";\r
- part1Name += int(1000*etaMax);\r
- part1Name += "_";\r
- part1Name += int(1000*ptMin);\r
- part1Name += "pt";\r
- part1Name += int(1000*ptMax);\r
- part1Name += "_";\r
- //part2Name += int(1000*etaMin);\r
- part2Name += "eta";\r
- part2Name += int(1000*etaMax);\r
- part2Name += "_";\r
- part2Name += int(1000*ptMin);\r
- part2Name += "pt";\r
- part2Name += int(1000*ptMax);\r
- part2Name += "_";\r
- eventName = "";\r
- eventName += int(10.*minCentrality[iCentrality] );\r
- eventName += "Vo";\r
- eventName += int(10.*maxCentrality[iCentrality] );\r
- //eventName += "_";\r
- //eventName += int(10*zMin ); \r
- //eventName += "Z";\r
- //eventName += int(10*zMax ); \r
- //if (rejectPileup) eventName += pileupRejecSuffix;\r
- //if (rejectPairConversion) eventName += pairRejecSuffix;\r
- baseName = prefixName;\r
- baseName += part1Name;\r
- baseName += part2Name;\r
- baseName += eventName;\r
- listName = baseName;\r
- taskName = baseName;\r
-\r
- //inputHistogramFileName = "/Users/prabhat/Archive/calib/PbPb276Calibration_PP_2010.root";\r
- inputHistogramFileName = "alien:///alice/cern.ch/user/p/prabhat/CalibFiles/PbPb276Calibration_2010.root";\r
-\r
- outputHistogramFileName = baseName;\r
- if (singlesOnly) outputHistogramFileName += singlesOnlySuffix;\r
- outputHistogramFileName += ".root";\r
- \r
- cout << "============================================================" << endl;\r
- cout << " iTask: " << iTask << endl;\r
- cout << " Task Name: " << taskName << endl;\r
- cout << " List Name: " << listName << endl;\r
- cout << " inputHistogramFileName: " << inputHistogramFileName << endl;\r
- cout << " outputHistogramFileName: " << outputHistogramFileName << endl;\r
- cout << " system: " << system << endl;\r
- cout << " singlesOnly: " << singlesOnly << endl;\r
- cout << " using weights: " << useWeights << endl;\r
- cout << " centralityMethod: " << centralityMethod << endl;\r
- cout << " chargeSet: " << chargeSet << endl;\r
- cout << " debugLevel: " << debugLevel << endl;\r
- cout << " rejectPileup: " << rejectPileup << endl;\r
- cout << " rejectPairConversion: " << rejectPairConversion << endl;\r
- cout << " sameFilter: " << sameFilter << endl;\r
- cout << " zMin: " << zMin << endl;\r
- cout << " zMax: " << zMax << endl;\r
- cout << " ptMin: " << ptMin << endl;\r
- cout << " ptMax: " << ptMax << endl;\r
- cout << " etaMin: " << etaMin << endl;\r
- cout << " etaMax: " << etaMax << endl;\r
- cout << " dcaZMin: " << dcaZMin << endl;\r
- cout << " dcaZMax: " << dcaZMax << endl;\r
- cout << " dcaXYMin: " << dcaXYMin << endl;\r
- cout << " dcaXYMax: " << dcaXYMax << endl;\r
- cout << " dedxMin: " << dedxMin << endl;\r
- cout << " dedxMax: " << dedxMax << endl;\r
- cout << " nClusterMin: " << nClusterMin << endl;\r
- cout << " trackFilterBit: " << trackFilterBit << endl;\r
- cout << " requestedCharge1: " << requestedCharge1 << endl;\r
- cout << " requestedCharge2: " << requestedCharge2 << endl;\r
- cout << "============================================================" << endl;\r
- \r
- TFile * inputFile = 0;\r
- TList * histoList = 0;\r
- TH3F * weight_1 = 0;\r
- TH3F * weight_2 = 0;\r
- if (useWeights)\r
- {\r
- TGrid::Connect("alien:");\r
- inputFile = TFile::Open(inputHistogramFileName,"OLD");\r
- if (!inputFile)\r
- {\r
- cout << "Requested file:" << inputHistogramFileName << " was not opened. ABORT." << endl;\r
- return;\r
- }\r
- TString nameHistoBase = "correction_";\r
- TString nameHisto;\r
- nameHistoBase += eventName;\r
- if (requestedCharge1 == 1)\r
- {\r
- nameHisto = nameHistoBase + "_p";\r
- cout << "Input Histogram named: " << nameHisto << endl;\r
- weight_1 = (TH3F *) inputFile->Get(nameHisto);\r
- }\r
- else\r
- {\r
- nameHisto = nameHistoBase + "_m";\r
- cout << "Input Histogram named: " << nameHisto << endl;\r
- weight_1 = (TH3F *) inputFile->Get(nameHisto);\r
- }\r
- if (!weight_1) \r
- {\r
- cout << "Requested histogram 'correction_p/m' was not found. ABORT." << endl;\r
- return 0;\r
- }\r
- \r
- if (!sameFilter)\r
- {\r
- weight_2 = 0;\r
- if (requestedCharge2 == 1)\r
- {\r
- nameHisto = nameHistoBase + "_p";\r
- cout << "Input Histogram named: " << nameHisto << endl;\r
- weight_2 = (TH3F *) inputFile->Get(nameHisto);\r
- }\r
- else\r
- {\r
- nameHisto = nameHistoBase + "_m";\r
- cout << "Input Histogram named: " << nameHisto << endl;\r
- weight_2 = (TH3F *) inputFile->Get(nameHisto);\r
- }\r
- if (!weight_2) \r
- {\r
- cout << "Requested histogram 'correction_p/m' was not found. ABORT." << endl;\r
- return 0;\r
- }\r
- } \r
- }\r
- task = new AliAnalysisTaskDptDptCorrelations(taskName);\r
- //configure my task\r
- task->SetDebugLevel( debugLevel ); \r
- task->SetSameFilter( sameFilter );\r
- task->SetSinglesOnly( singlesOnly ); \r
- task->SetUseWeights( useWeights ); \r
- task->SetRejectPileup( rejectPileup ); \r
- task->SetRejectPairConversion(rejectPairConversion); \r
- task->SetVertexZMin( zMin ); \r
- task->SetVertexZMax( zMax ); \r
- task->SetVertexXYMin( -1. ); \r
- task->SetVertexXYMax( 1. ); \r
- task->SetCentralityMethod( centralityMethod);\r
- task->SetCentrality( minCentrality[iCentrality], maxCentrality[iCentrality]);\r
- task->SetPtMin1( ptMin ); \r
- task->SetPtMax1( ptMax ); \r
- task->SetEtaMin1( etaMin ); \r
- task->SetEtaMax1( etaMax ); \r
- task->SetPtMin2( ptMin ); \r
- task->SetPtMax2( ptMax ); \r
- task->SetEtaMin2( etaMin ); \r
- task->SetEtaMax2( etaMax ); \r
- task->SetDcaZMin( dcaZMin ); \r
- task->SetDcaZMax( dcaZMax ); \r
- task->SetDcaXYMin( dcaXYMin ); \r
- task->SetDcaXYMax( dcaXYMax ); \r
- task->SetDedxMin( dedxMin ); \r
- task->SetDedxMax( dedxMax ); \r
- task->SetNClusterMin( nClusterMin ); \r
- task->SetTrackFilterBit( trackFilterBit );\r
- task->SetRequestedCharge_1( requestedCharge1); \r
- task->SetRequestedCharge_2( requestedCharge2); \r
- task->SetWeigth_1( weight_1 );\r
- task->SetWeigth_2( weight_2 );\r
- \r
- \r
- cout << "Creating task output container" << endl;\r
- taskOutputContainer = analysisManager->CreateContainer(listName, \r
- TList::Class(), \r
- AliAnalysisManager::kOutputContainer, \r
- Form("%s:Histos", AliAnalysisManager::GetCommonFileName()));\r
- cout << "Add task to analysis manager and connect it to input and output containers" << endl;\r
- analysisManager->AddTask(task);\r
- analysisManager->ConnectInput( task, 0, analysisManager->GetCommonInputContainer());\r
- analysisManager->ConnectOutput(task, 0, taskOutputContainer );\r
- cout << "Task added ...." << endl;\r
- \r
- iTask++;\r
- \r
- }\r
- \r
- \r
- \r
- return task;\r
-}\r
+//
+// Macro designed for use with the AliAnalysisTaskDptDptCorrelations task.
+//
+// Author: Prabhat Pujahari & Claude Pruneau, Wayne State
+//
+// system: 0: PbPb 1: pp
+// singlesOnly: 0: full correlations 1: singles only
+// useWeights: 0: no 1: yes
+// centralityMethod: 3: track count 4: V0 centrality
+// chargeSet: 0: ++ 1: +- 2: -+ 3: --
+/////////////////////////////////////////////////////////////////////////////////
+AliAnalysisTaskDptDptCorrelations *AddTaskDptDptCorrelations2010(int system = 0,
+ int singlesOnly = 0,
+ int useWeights = 1,
+ int centralityMethod = 4,
+ int chargeSet = 1,
+ int trackFilterBit = 128,
+ int nClusterMin = 80,
+ double etaMin = -0.9,
+ double etaMax = 0.9,
+ int nCentrality = 10)
+
+{
+ // Set Default Configuration of this analysis
+ // ==========================================
+ int debugLevel = 0;
+ int rejectPileup = 1;
+ int rejectPairConversion = 1;
+ int sameFilter = 1;
+
+
+ //int nCentrality;
+ double minCentrality[10];
+ double maxCentrality[10];
+
+ if (system==0) // PbPb
+ {
+ if (centralityMethod == 4)
+ {
+
+
+ //nCentrality = 10;
+ minCentrality[0] = 0.0; maxCentrality[0] = 5.0;
+ minCentrality[1] = 5.0; maxCentrality[1] = 10.;
+ minCentrality[2] = 10.; maxCentrality[2] = 20.;
+ minCentrality[3] = 20.; maxCentrality[3] = 30.;
+ minCentrality[4] = 30.; maxCentrality[4] = 40.;
+ minCentrality[5] = 40.; maxCentrality[5] = 50.;
+ minCentrality[6] = 50.; maxCentrality[6] = 60.;
+ minCentrality[7] = 60.; maxCentrality[7] = 70.;
+ minCentrality[8] = 70.; maxCentrality[8] = 80.;
+ minCentrality[9] = 80.; maxCentrality[9] = 90.;
+
+ }
+ else
+ {
+ //cout << "-F- AddTaskDptDptCorrelations() system:" << system << ". centralityMethod:" << centralityMethod << " Option NOT AVAILABLE. ABORT."
+ return 0;
+ }
+ }
+ else if (system==1) // pp
+ {
+ if (centralityMethod == 3)
+ {
+ nCentrality = 4;
+ minCentrality[0] = 2; maxCentrality[0] = 100.0;
+ minCentrality[1] = 2; maxCentrality[1] = 20.;
+ minCentrality[2] = 20.; maxCentrality[2] = 50.;
+ minCentrality[3] = 50.; maxCentrality[3] = 100.;
+ }
+ else
+ {
+ //cout << "-F- AddTaskDptDptCorrelations() system:" << system << ". centralityMethod:" << centralityMethod << " Option NOT AVAILABLE. ABORT."
+ return 0;
+ }
+ }
+ else
+ {
+ //cout << "-F- AddTaskDptDptCorrelations() system:" << system << ". Option NOT CURRENTLY AVAILABLE. ABORT."
+ return 0;
+ }
+
+ double zMin = -10.;
+ double zMax = 10.;
+ double ptMin = 0.2;
+ double ptMax = 2.0;
+ //double etaMin = -0.9;
+ //double etaMax = 0.9;
+ double dcaZMin = -3.0;
+ double dcaZMax = 3.0;
+ double dcaXYMin = -2.4;
+ double dcaXYMax = 2.4;
+ double dedxMin = 0.0;
+ double dedxMax = 20000.0;
+ //int nClusterMin = 80;
+ //int trackFilterBit = 128;//TPC only
+ //int trackFilterBit = 272; //Hybrid
+
+ int requestedCharge1 = 1; //default
+ int requestedCharge2 = -1; //default
+
+
+ // Get the pointer to the existing analysis manager via the static access method.
+ // ==============================================================================
+ AliAnalysisManager *analysisManager = AliAnalysisManager::GetAnalysisManager();
+
+ if (!analysisManager)
+ {
+ ::Error("AddTaskDptDptCorrelations", "No analysis manager to connect to.");
+ return NULL;
+ }
+
+ TString part1Name;
+ TString part2Name;
+ TString eventName;
+ TString prefixName = "Corr_";
+ TString pileupRejecSuffix = "_PileupRejec";
+ TString pairRejecSuffix = "_PairRejec";
+ TString calibSuffix = "_calib";
+ TString singlesOnlySuffix = "_SO";
+ TString suffix;
+
+ TString inputPath = ".";
+ TString outputPath = ".";
+ TString baseName;
+ TString listName;
+ TString taskName;
+ TString inputHistogramFileName;
+ TString outputHistogramFileName;
+
+ // Create the task and add subtask.
+ // ===========================================================================
+ int iTask = 0; // task counter
+ AliAnalysisDataContainer *taskInputContainer;
+ AliAnalysisDataContainer *taskOutputContainer;
+ AliAnalysisTaskDptDptCorrelations* task;
+
+ for (int iCentrality=0; iCentrality < nCentrality; ++iCentrality)
+ {
+ switch (chargeSet)
+ {
+ case 0: part1Name = "P_"; part2Name = "P_"; requestedCharge1 = 1; requestedCharge2 = 1; sameFilter = 1; break;
+ case 1: part1Name = "P_"; part2Name = "M_"; requestedCharge1 = 1; requestedCharge2 = -1; sameFilter = 0; break;
+ case 2: part1Name = "M_"; part2Name = "P_"; requestedCharge1 = -1; requestedCharge2 = 1; sameFilter = 0; break;
+ case 3: part1Name = "M_"; part2Name = "M_"; requestedCharge1 = -1; requestedCharge2 = -1; sameFilter = 1; break;
+ }
+ //part1Name += int(1000*etaMin);
+ part1Name += "eta";
+ part1Name += int(1000*etaMax);
+ part1Name += "_";
+ part1Name += int(1000*ptMin);
+ part1Name += "pt";
+ part1Name += int(1000*ptMax);
+ part1Name += "_";
+ //part2Name += int(1000*etaMin);
+ part2Name += "eta";
+ part2Name += int(1000*etaMax);
+ part2Name += "_";
+ part2Name += int(1000*ptMin);
+ part2Name += "pt";
+ part2Name += int(1000*ptMax);
+ part2Name += "_";
+ eventName = "";
+ eventName += int(10.*minCentrality[iCentrality] );
+ eventName += "Vo";
+ eventName += int(10.*maxCentrality[iCentrality] );
+ //eventName += "_";
+ //eventName += int(10*zMin );
+ //eventName += "Z";
+ //eventName += int(10*zMax );
+ //if (rejectPileup) eventName += pileupRejecSuffix;
+ //if (rejectPairConversion) eventName += pairRejecSuffix;
+ baseName = prefixName;
+ baseName += part1Name;
+ baseName += part2Name;
+ baseName += eventName;
+ listName = baseName;
+ taskName = baseName;
+
+
+ inputHistogramFileName = "alien:///alice/cern.ch/user/p/prabhat/CalibFiles/PbPb276Calibration_2010.root";
+ //inputHistogramFileName = "/Users/prabhat/MyTestforEta/eta900/128/PbPb276Calibration_2010.root";
+
+ outputHistogramFileName = baseName;
+ if (singlesOnly) outputHistogramFileName += singlesOnlySuffix;
+ outputHistogramFileName += ".root";
+
+ /*cout << "============================================================" << endl;
+ cout << " iTask: " << iTask << endl;
+ cout << " Task Name: " << taskName << endl;
+ cout << " List Name: " << listName << endl;
+ cout << " inputHistogramFileName: " << inputHistogramFileName << endl;
+ cout << " outputHistogramFileName: " << outputHistogramFileName << endl;
+ cout << " system: " << system << endl;
+ cout << " singlesOnly: " << singlesOnly << endl;
+ cout << " using weights: " << useWeights << endl;
+ cout << " centralityMethod: " << centralityMethod << endl;
+ cout << " chargeSet: " << chargeSet << endl;
+ cout << " debugLevel: " << debugLevel << endl;
+ cout << " rejectPileup: " << rejectPileup << endl;
+ cout << " rejectPairConversion: " << rejectPairConversion << endl;
+ cout << " sameFilter: " << sameFilter << endl;
+ cout << " zMin: " << zMin << endl;
+ cout << " zMax: " << zMax << endl;
+ cout << " ptMin: " << ptMin << endl;
+ cout << " ptMax: " << ptMax << endl;
+ cout << " etaMin: " << etaMin << endl;
+ cout << " etaMax: " << etaMax << endl;
+ cout << " dcaZMin: " << dcaZMin << endl;
+ cout << " dcaZMax: " << dcaZMax << endl;
+ cout << " dcaXYMin: " << dcaXYMin << endl;
+ cout << " dcaXYMax: " << dcaXYMax << endl;
+ cout << " dedxMin: " << dedxMin << endl;
+ cout << " dedxMax: " << dedxMax << endl;
+ cout << " nClusterMin: " << nClusterMin << endl;
+ cout << " trackFilterBit: " << trackFilterBit << endl;
+ cout << " requestedCharge1: " << requestedCharge1 << endl;
+ cout << " requestedCharge2: " << requestedCharge2 << endl;
+ cout << "============================================================" << endl;
+ */
+ TFile * inputFile = 0;
+ TList * histoList = 0;
+ TH3F * weight_1 = 0;
+ TH3F * weight_2 = 0;
+ if (useWeights)
+ {
+ TGrid::Connect("alien:");
+ inputFile = TFile::Open(inputHistogramFileName,"OLD");
+ if (!inputFile)
+ {
+ //cout << "Requested file:" << inputHistogramFileName << " was not opened. ABORT." << endl;
+ return;
+ }
+ TString nameHistoBase = "correction_";
+ TString nameHisto;
+ nameHistoBase += eventName;
+ if (requestedCharge1 == 1)
+ {
+ nameHisto = nameHistoBase + "_p";
+ //cout << "Input Histogram named: " << nameHisto << endl;
+ weight_1 = (TH3F *) inputFile->Get(nameHisto);
+ }
+ else
+ {
+ nameHisto = nameHistoBase + "_m";
+ //cout << "Input Histogram named: " << nameHisto << endl;
+ weight_1 = (TH3F *) inputFile->Get(nameHisto);
+ }
+ if (!weight_1)
+ {
+ //cout << "Requested histogram 'correction_p/m' was not found. ABORT." << endl;
+ return 0;
+ }
+
+ if (!sameFilter)
+ {
+ weight_2 = 0;
+ if (requestedCharge2 == 1)
+ {
+ nameHisto = nameHistoBase + "_p";
+ //cout << "Input Histogram named: " << nameHisto << endl;
+ weight_2 = (TH3F *) inputFile->Get(nameHisto);
+ }
+ else
+ {
+ nameHisto = nameHistoBase + "_m";
+ //cout << "Input Histogram named: " << nameHisto << endl;
+ weight_2 = (TH3F *) inputFile->Get(nameHisto);
+ }
+ if (!weight_2)
+ {
+ //cout << "Requested histogram 'correction_p/m' was not found. ABORT." << endl;
+ return 0;
+ }
+ }
+ }
+ task = new AliAnalysisTaskDptDptCorrelations(taskName);
+ //configure my task
+ task->SetDebugLevel( debugLevel );
+ task->SetSameFilter( sameFilter );
+ task->SetSinglesOnly( singlesOnly );
+ task->SetUseWeights( useWeights );
+ task->SetRejectPileup( rejectPileup );
+ task->SetRejectPairConversion(rejectPairConversion);
+ task->SetVertexZMin( zMin );
+ task->SetVertexZMax( zMax );
+ task->SetVertexXYMin( -1. );
+ task->SetVertexXYMax( 1. );
+ task->SetCentralityMethod( centralityMethod);
+ task->SetCentrality( minCentrality[iCentrality], maxCentrality[iCentrality]);
+ task->SetPtMin1( ptMin );
+ task->SetPtMax1( ptMax );
+ task->SetEtaMin1( etaMin );
+ task->SetEtaMax1( etaMax );
+ task->SetPtMin2( ptMin );
+ task->SetPtMax2( ptMax );
+ task->SetEtaMin2( etaMin );
+ task->SetEtaMax2( etaMax );
+ //task->SetDcaZMin( dcaZMin );
+ //task->SetDcaZMax( dcaZMax );
+ //task->SetDcaXYMin( dcaXYMin );
+ //task->SetDcaXYMax( dcaXYMax ); //checking by prp
+ task->SetDedxMin( dedxMin );
+ task->SetDedxMax( dedxMax );
+ task->SetNClusterMin( nClusterMin );
+ task->SetTrackFilterBit( trackFilterBit );
+ task->SetRequestedCharge_1( requestedCharge1);
+ task->SetRequestedCharge_2( requestedCharge2);
+ task->SetWeigth_1( weight_1 );
+ task->SetWeigth_2( weight_2 );
+
+
+ //cout << "Creating task output container" << endl;
+ taskOutputContainer = analysisManager->CreateContainer(listName,
+ TList::Class(),
+ AliAnalysisManager::kOutputContainer,
+ Form("%s:Histos", AliAnalysisManager::GetCommonFileName()));
+ //cout << "Add task to analysis manager and connect it to input and output containers" << endl;
+ analysisManager->AddTask(task);
+ analysisManager->ConnectInput( task, 0, analysisManager->GetCommonInputContainer());
+ analysisManager->ConnectOutput(task, 0, taskOutputContainer );
+ //cout << "Task added ...." << endl;
+
+ iTask++;
+
+ }
+
+
+
+ return task;
+}