//
// Macro designed for use with the AliAnalysisTaskDptDptCorrelations task.
//
// Author: 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
//////////////////////////////////////////////////////////////////////////////
AliAnalysisTask3PCorrelations * AddTask3PCorrelations(int etaOption = 0,
int system = 0,
int singlesOnly = 0,
int useWeights = 0,
int centralityMethod = 4)
{
// Set Default Configuration of this analysis
// ==========================================
int debugLevel = 0;
int rejectPileup = 1;
int rejectPairConversion = 1;
int nCentrality;
double minCentrality[10];
double maxCentrality[10];
if (system==0) // PbPb
{
if (centralityMethod == 4)
{
nCentrality = 10;
minCentrality[0] = 0.5; 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- AddTask3PCorrelations() 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- AddTask3PCorrelations() system:" << system << ". centralityMethod:" << centralityMethod << " Option NOT AVAILABLE. ABORT."
return 0;
}
}
else
{
cout << "-F- AddTask3PCorrelations() system:" << system << ". Option NOT CURRENTLY AVAILABLE. ABORT."
return 0;
}
double zMin = -10.;
double zMax = 10.;
double dcaZMin = -3.0;
double dcaZMax = 3.0;
double dcaXYMin = -3.0;
double dcaXYMax = 3.0;
double dedxMin = 0.0;
double dedxMax = 20000.0;
int nClusterMin = 70;
int trackFilterBit = 128;
double ptMin1 = 2.0;
double ptMax1 = 10.0;
double etaMin1 = -0.25;
double etaMax1 = 0.25;
double ptMin2 = 1.0;
double ptMax2 = 2.0;
double etaMin2 = -1.0;
double etaMax2 = -0.7;
double ptMin3 = 1.0;
double ptMax3 = 2.0;
double etaMin3 = 0.7;
double etaMax3 = 1.0;
if (etaOption == 0)
{
etaMin2 = -1.0;
etaMax2 = -0.7;
etaMin3 = 0.7;
etaMax3 = 1.0;
}
else
{
etaMin2 = etaMin1;
etaMax2 = etaMax1;
etaMin3 = etaMin1;
etaMax3 = etaMax1;
}
// Get the pointer to the existing analysis manager via the static access method.
// ==============================================================================
AliAnalysisManager *analysisManager = AliAnalysisManager::GetAnalysisManager();
if (!analysisManager)
{
::Error("AddTask3PCorrelations", "No analysis manager to connect to.");
return NULL;
}
TString part1Name;
TString part2Name;
TString part3Name;
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;
AliAnalysisTask3PCorrelations * task;
for (int iCentrality=0; iCentrality < nCentrality; ++iCentrality)
{
part1Name = "";
part1Name += int(1000*ptMin1);
part1Name += "pt";
part1Name += int(1000*ptMax1);
part1Name += "_";
part2Name = "";
part2Name += int(1000*ptMin2);
part2Name += "pt";
part2Name += int(1000*ptMax2);
part2Name += "_";
part3Name = "";
part3Name += int(1000*ptMin3);
part3Name += "pt";
part3Name += int(1000*ptMax3);
part3Name += "_";
eventName = "";
eventName += int(10.*minCentrality[iCentrality] );
eventName += "Vo";
eventName += int(10.*maxCentrality[iCentrality] );
//if (rejectPileup) eventName += pileupRejecSuffix;
//if (rejectPairConversion) eventName += pairRejecSuffix;
baseName = prefixName;
baseName += part1Name;
baseName += part2Name;
baseName += part3Name;
baseName += eventName;
listName = baseName;
taskName = baseName;
inputHistogramFileName = "alien:///alice/cern.ch/user/c/cpruneau/PbPb273Calibration.root"; //TFile::Open();
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 << " debugLevel: " << debugLevel << endl;
cout << " rejectPileup: " << rejectPileup << endl;
cout << " rejectPairConversion: " << rejectPairConversion << endl;
cout << " zMin: " << zMin << endl;
cout << " zMax: " << zMax << endl;
cout << " ptMin1: " << ptMin1 << endl;
cout << " ptMax1: " << ptMax1 << endl;
cout << " etaMin1: " << etaMin1 << endl;
cout << " etaMax1: " << etaMax1 << endl;
cout << " ptMin2: " << ptMin2 << endl;
cout << " ptMax2: " << ptMax2 << endl;
cout << " etaMin2: " << etaMin2 << endl;
cout << " etaMax2: " << etaMax2 << endl;
cout << " ptMin3: " << ptMin3 << endl;
cout << " ptMax3: " << ptMax3 << endl;
cout << " etaMin3: " << etaMin3 << endl;
cout << " etaMax3: " << etaMax3 << 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 << "============================================================" << endl;
TFile * inputFile = 0;
TList * histoList = 0;
TH3F * weight_1P = 0;
TH3F * weight_1M = 0;
TH3F * weight_2P = 0;
TH3F * weight_2M = 0;
TH3F * weight_3P = 0;
TH3F * weight_3M = 0;
TString nameHistoBase = "correction_";
TString nameHisto;
if (useWeights)
{
TGrid::Connect("alien:");
inputFile = TFile::Open(inputHistogramFileName,"OLD");
if (!inputFile)
{
cout << "Requested file:" << inputHistogramFileName << " was not opened. ABORT." << endl;
return;
}
nameHistoBase += eventName;
nameHisto = nameHistoBase + "_1p"; cout << "Input Histogram named: " << nameHisto << endl;
weight_1P = (TH3F *) inputFile->Get(nameHisto);
nameHisto = nameHistoBase + "_1m"; cout << "Input Histogram named: " << nameHisto << endl;
weight_1M = (TH3F *) inputFile->Get(nameHisto);
nameHisto = nameHistoBase + "_2p"; cout << "Input Histogram named: " << nameHisto << endl;
weight_2P = (TH3F *) inputFile->Get(nameHisto);
nameHisto = nameHistoBase + "_2m"; cout << "Input Histogram named: " << nameHisto << endl;
weight_2M = (TH3F *) inputFile->Get(nameHisto);
nameHisto = nameHistoBase + "_3p"; cout << "Input Histogram named: " << nameHisto << endl;
weight_3P = (TH3F *) inputFile->Get(nameHisto);
nameHisto = nameHistoBase + "_3m"; cout << "Input Histogram named: " << nameHisto << endl;
weight_3M = (TH3F *) inputFile->Get(nameHisto);
}
task = new AliAnalysisTask3PCorrelations(taskName);
//configure my task
task->SetDebugLevel( debugLevel );
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( ptMin1 );
task->SetPtMax1( ptMax1 );
task->SetEtaMin1( etaMin1 );
task->SetEtaMax1( etaMax1 );
task->SetPtMin2( ptMin2 );
task->SetPtMax2( ptMax2 );
task->SetEtaMin2( etaMin2 );
task->SetEtaMax2( etaMax2 );
task->SetPtMin3( ptMin3 );
task->SetPtMax3( ptMax3 );
task->SetEtaMin3( etaMin3 );
task->SetEtaMax3( etaMax3 );
task->SetDcaZMin( dcaZMin );
task->SetDcaZMax( dcaZMax );
task->SetDcaXYMin( dcaXYMin );
task->SetDcaXYMax( dcaXYMax );
task->SetDedxMin( dedxMin );
task->SetDedxMax( dedxMax );
task->SetNClusterMin( nClusterMin );
task->SetTrackFilterBit( trackFilterBit );
task->SetWeigth_1P( weight_1P );
task->SetWeigth_1M( weight_1M );
task->SetWeigth_2P( weight_2P );
task->SetWeigth_2M( weight_2M );
task->SetWeigth_3P( weight_3P );
task->SetWeigth_3M( weight_3M );
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;
}
AddTask3PCorrelations.C:1 AddTask3PCorrelations.C:2 AddTask3PCorrelations.C:3 AddTask3PCorrelations.C:4 AddTask3PCorrelations.C:5 AddTask3PCorrelations.C:6 AddTask3PCorrelations.C:7 AddTask3PCorrelations.C:8 AddTask3PCorrelations.C:9 AddTask3PCorrelations.C:10 AddTask3PCorrelations.C:11 AddTask3PCorrelations.C:12 AddTask3PCorrelations.C:13 AddTask3PCorrelations.C:14 AddTask3PCorrelations.C:15 AddTask3PCorrelations.C:16 AddTask3PCorrelations.C:17 AddTask3PCorrelations.C:18 AddTask3PCorrelations.C:19 AddTask3PCorrelations.C:20 AddTask3PCorrelations.C:21 AddTask3PCorrelations.C:22 AddTask3PCorrelations.C:23 AddTask3PCorrelations.C:24 AddTask3PCorrelations.C:25 AddTask3PCorrelations.C:26 AddTask3PCorrelations.C:27 AddTask3PCorrelations.C:28 AddTask3PCorrelations.C:29 AddTask3PCorrelations.C:30 AddTask3PCorrelations.C:31 AddTask3PCorrelations.C:32 AddTask3PCorrelations.C:33 AddTask3PCorrelations.C:34 AddTask3PCorrelations.C:35 AddTask3PCorrelations.C:36 AddTask3PCorrelations.C:37 AddTask3PCorrelations.C:38 AddTask3PCorrelations.C:39 AddTask3PCorrelations.C:40 AddTask3PCorrelations.C:41 AddTask3PCorrelations.C:42 AddTask3PCorrelations.C:43 AddTask3PCorrelations.C:44 AddTask3PCorrelations.C:45 AddTask3PCorrelations.C:46 AddTask3PCorrelations.C:47 AddTask3PCorrelations.C:48 AddTask3PCorrelations.C:49 AddTask3PCorrelations.C:50 AddTask3PCorrelations.C:51 AddTask3PCorrelations.C:52 AddTask3PCorrelations.C:53 AddTask3PCorrelations.C:54 AddTask3PCorrelations.C:55 AddTask3PCorrelations.C:56 AddTask3PCorrelations.C:57 AddTask3PCorrelations.C:58 AddTask3PCorrelations.C:59 AddTask3PCorrelations.C:60 AddTask3PCorrelations.C:61 AddTask3PCorrelations.C:62 AddTask3PCorrelations.C:63 AddTask3PCorrelations.C:64 AddTask3PCorrelations.C:65 AddTask3PCorrelations.C:66 AddTask3PCorrelations.C:67 AddTask3PCorrelations.C:68 AddTask3PCorrelations.C:69 AddTask3PCorrelations.C:70 AddTask3PCorrelations.C:71 AddTask3PCorrelations.C:72 AddTask3PCorrelations.C:73 AddTask3PCorrelations.C:74 AddTask3PCorrelations.C:75 AddTask3PCorrelations.C:76 AddTask3PCorrelations.C:77 AddTask3PCorrelations.C:78 AddTask3PCorrelations.C:79 AddTask3PCorrelations.C:80 AddTask3PCorrelations.C:81 AddTask3PCorrelations.C:82 AddTask3PCorrelations.C:83 AddTask3PCorrelations.C:84 AddTask3PCorrelations.C:85 AddTask3PCorrelations.C:86 AddTask3PCorrelations.C:87 AddTask3PCorrelations.C:88 AddTask3PCorrelations.C:89 AddTask3PCorrelations.C:90 AddTask3PCorrelations.C:91 AddTask3PCorrelations.C:92 AddTask3PCorrelations.C:93 AddTask3PCorrelations.C:94 AddTask3PCorrelations.C:95 AddTask3PCorrelations.C:96 AddTask3PCorrelations.C:97 AddTask3PCorrelations.C:98 AddTask3PCorrelations.C:99 AddTask3PCorrelations.C:100 AddTask3PCorrelations.C:101 AddTask3PCorrelations.C:102 AddTask3PCorrelations.C:103 AddTask3PCorrelations.C:104 AddTask3PCorrelations.C:105 AddTask3PCorrelations.C:106 AddTask3PCorrelations.C:107 AddTask3PCorrelations.C:108 AddTask3PCorrelations.C:109 AddTask3PCorrelations.C:110 AddTask3PCorrelations.C:111 AddTask3PCorrelations.C:112 AddTask3PCorrelations.C:113 AddTask3PCorrelations.C:114 AddTask3PCorrelations.C:115 AddTask3PCorrelations.C:116 AddTask3PCorrelations.C:117 AddTask3PCorrelations.C:118 AddTask3PCorrelations.C:119 AddTask3PCorrelations.C:120 AddTask3PCorrelations.C:121 AddTask3PCorrelations.C:122 AddTask3PCorrelations.C:123 AddTask3PCorrelations.C:124 AddTask3PCorrelations.C:125 AddTask3PCorrelations.C:126 AddTask3PCorrelations.C:127 AddTask3PCorrelations.C:128 AddTask3PCorrelations.C:129 AddTask3PCorrelations.C:130 AddTask3PCorrelations.C:131 AddTask3PCorrelations.C:132 AddTask3PCorrelations.C:133 AddTask3PCorrelations.C:134 AddTask3PCorrelations.C:135 AddTask3PCorrelations.C:136 AddTask3PCorrelations.C:137 AddTask3PCorrelations.C:138 AddTask3PCorrelations.C:139 AddTask3PCorrelations.C:140 AddTask3PCorrelations.C:141 AddTask3PCorrelations.C:142 AddTask3PCorrelations.C:143 AddTask3PCorrelations.C:144 AddTask3PCorrelations.C:145 AddTask3PCorrelations.C:146 AddTask3PCorrelations.C:147 AddTask3PCorrelations.C:148 AddTask3PCorrelations.C:149 AddTask3PCorrelations.C:150 AddTask3PCorrelations.C:151 AddTask3PCorrelations.C:152 AddTask3PCorrelations.C:153 AddTask3PCorrelations.C:154 AddTask3PCorrelations.C:155 AddTask3PCorrelations.C:156 AddTask3PCorrelations.C:157 AddTask3PCorrelations.C:158 AddTask3PCorrelations.C:159 AddTask3PCorrelations.C:160 AddTask3PCorrelations.C:161 AddTask3PCorrelations.C:162 AddTask3PCorrelations.C:163 AddTask3PCorrelations.C:164 AddTask3PCorrelations.C:165 AddTask3PCorrelations.C:166 AddTask3PCorrelations.C:167 AddTask3PCorrelations.C:168 AddTask3PCorrelations.C:169 AddTask3PCorrelations.C:170 AddTask3PCorrelations.C:171 AddTask3PCorrelations.C:172 AddTask3PCorrelations.C:173 AddTask3PCorrelations.C:174 AddTask3PCorrelations.C:175 AddTask3PCorrelations.C:176 AddTask3PCorrelations.C:177 AddTask3PCorrelations.C:178 AddTask3PCorrelations.C:179 AddTask3PCorrelations.C:180 AddTask3PCorrelations.C:181 AddTask3PCorrelations.C:182 AddTask3PCorrelations.C:183 AddTask3PCorrelations.C:184 AddTask3PCorrelations.C:185 AddTask3PCorrelations.C:186 AddTask3PCorrelations.C:187 AddTask3PCorrelations.C:188 AddTask3PCorrelations.C:189 AddTask3PCorrelations.C:190 AddTask3PCorrelations.C:191 AddTask3PCorrelations.C:192 AddTask3PCorrelations.C:193 AddTask3PCorrelations.C:194 AddTask3PCorrelations.C:195 AddTask3PCorrelations.C:196 AddTask3PCorrelations.C:197 AddTask3PCorrelations.C:198 AddTask3PCorrelations.C:199 AddTask3PCorrelations.C:200 AddTask3PCorrelations.C:201 AddTask3PCorrelations.C:202 AddTask3PCorrelations.C:203 AddTask3PCorrelations.C:204 AddTask3PCorrelations.C:205 AddTask3PCorrelations.C:206 AddTask3PCorrelations.C:207 AddTask3PCorrelations.C:208 AddTask3PCorrelations.C:209 AddTask3PCorrelations.C:210 AddTask3PCorrelations.C:211 AddTask3PCorrelations.C:212 AddTask3PCorrelations.C:213 AddTask3PCorrelations.C:214 AddTask3PCorrelations.C:215 AddTask3PCorrelations.C:216 AddTask3PCorrelations.C:217 AddTask3PCorrelations.C:218 AddTask3PCorrelations.C:219 AddTask3PCorrelations.C:220 AddTask3PCorrelations.C:221 AddTask3PCorrelations.C:222 AddTask3PCorrelations.C:223 AddTask3PCorrelations.C:224 AddTask3PCorrelations.C:225 AddTask3PCorrelations.C:226 AddTask3PCorrelations.C:227 AddTask3PCorrelations.C:228 AddTask3PCorrelations.C:229 AddTask3PCorrelations.C:230 AddTask3PCorrelations.C:231 AddTask3PCorrelations.C:232 AddTask3PCorrelations.C:233 AddTask3PCorrelations.C:234 AddTask3PCorrelations.C:235 AddTask3PCorrelations.C:236 AddTask3PCorrelations.C:237 AddTask3PCorrelations.C:238 AddTask3PCorrelations.C:239 AddTask3PCorrelations.C:240 AddTask3PCorrelations.C:241 AddTask3PCorrelations.C:242 AddTask3PCorrelations.C:243 AddTask3PCorrelations.C:244 AddTask3PCorrelations.C:245 AddTask3PCorrelations.C:246 AddTask3PCorrelations.C:247 AddTask3PCorrelations.C:248 AddTask3PCorrelations.C:249 AddTask3PCorrelations.C:250 AddTask3PCorrelations.C:251 AddTask3PCorrelations.C:252 AddTask3PCorrelations.C:253 AddTask3PCorrelations.C:254 AddTask3PCorrelations.C:255 AddTask3PCorrelations.C:256 AddTask3PCorrelations.C:257 AddTask3PCorrelations.C:258 AddTask3PCorrelations.C:259 AddTask3PCorrelations.C:260 AddTask3PCorrelations.C:261 AddTask3PCorrelations.C:262 AddTask3PCorrelations.C:263 AddTask3PCorrelations.C:264 AddTask3PCorrelations.C:265 AddTask3PCorrelations.C:266 AddTask3PCorrelations.C:267 AddTask3PCorrelations.C:268 AddTask3PCorrelations.C:269 AddTask3PCorrelations.C:270 AddTask3PCorrelations.C:271 AddTask3PCorrelations.C:272 AddTask3PCorrelations.C:273 AddTask3PCorrelations.C:274 AddTask3PCorrelations.C:275 AddTask3PCorrelations.C:276 AddTask3PCorrelations.C:277 AddTask3PCorrelations.C:278 AddTask3PCorrelations.C:279 AddTask3PCorrelations.C:280 AddTask3PCorrelations.C:281 AddTask3PCorrelations.C:282 AddTask3PCorrelations.C:283 AddTask3PCorrelations.C:284 AddTask3PCorrelations.C:285 AddTask3PCorrelations.C:286 AddTask3PCorrelations.C:287 AddTask3PCorrelations.C:288 AddTask3PCorrelations.C:289 AddTask3PCorrelations.C:290 AddTask3PCorrelations.C:291 AddTask3PCorrelations.C:292 AddTask3PCorrelations.C:293 AddTask3PCorrelations.C:294 AddTask3PCorrelations.C:295 AddTask3PCorrelations.C:296 AddTask3PCorrelations.C:297 AddTask3PCorrelations.C:298 AddTask3PCorrelations.C:299 AddTask3PCorrelations.C:300 AddTask3PCorrelations.C:301 AddTask3PCorrelations.C:302 AddTask3PCorrelations.C:303 AddTask3PCorrelations.C:304 AddTask3PCorrelations.C:305 AddTask3PCorrelations.C:306 AddTask3PCorrelations.C:307 AddTask3PCorrelations.C:308 AddTask3PCorrelations.C:309 AddTask3PCorrelations.C:310 AddTask3PCorrelations.C:311 AddTask3PCorrelations.C:312 AddTask3PCorrelations.C:313 AddTask3PCorrelations.C:314 AddTask3PCorrelations.C:315 AddTask3PCorrelations.C:316 AddTask3PCorrelations.C:317 AddTask3PCorrelations.C:318 AddTask3PCorrelations.C:319 AddTask3PCorrelations.C:320 AddTask3PCorrelations.C:321 AddTask3PCorrelations.C:322