#include "iostream"
#include "TChain.h"
#include "TTree.h"
#include "TH1F.h"
#include "TCanvas.h"
#include "TList.h"
#include "TFile.h"
#include "TSystem.h"
#include "AliAnalysisTask.h"
#include "AliAnalysisManager.h"
#include "AliESDEvent.h"
#include "AliESDfriend.h"
#include "AliMCEvent.h"
#include "AliESDInputHandler.h"
#include "AliMCEventHandler.h"
#include "AliESDVertex.h"
#include "AliMagF.h"
#include "AliTracker.h"
#include "AliGeomManager.h"
#include "AliCDBManager.h"
#include "AliCentrality.h"
#include "AliESDVZERO.h"
#include "AliMultiplicity.h"
#include "AliMCInfo.h"
#include "AliESDRecInfo.h"
#include "AliMCInfoCuts.h"
#include "AliRecInfoCuts.h"
#include "AliPerformanceObject.h"
#include "AliTPCPerformanceSummary.h"
#include "AliPerformanceTPC.h"
#include "AliPerformanceDEdx.h"
#include "AliPerformanceMatch.h"
#include "AliPerformanceTask.h"
using namespace std;
ClassImp(AliPerformanceTask)
AliPerformanceTask::AliPerformanceTask()
: AliAnalysisTaskSE("Performance")
, fESD(0)
, fESDfriend(0)
, fMC(0)
, fOutput(0)
, fOutputSummary(0)
, fPitList(0)
, fCompList(0)
, fUseMCInfo(kFALSE)
, fUseESDfriend(kFALSE)
, fUseHLT(kFALSE)
, fUseTerminate(kTRUE)
, fUseCentrality(0)
, fUseOCDB(kTRUE)
, fUseCentralityBin(0)
{
}
AliPerformanceTask::AliPerformanceTask(const char *name, const char *)
: AliAnalysisTaskSE(name)
, fESD(0)
, fESDfriend(0)
, fMC(0)
, fOutput(0)
, fOutputSummary(0)
, fPitList(0)
, fCompList(0)
, fUseMCInfo(kFALSE)
, fUseESDfriend(kFALSE)
, fUseHLT(kFALSE)
, fUseTerminate(kTRUE)
, fUseCentrality(0)
, fUseOCDB(kTRUE)
, fUseCentralityBin(0)
{
DefineOutput(0, TTree::Class());
DefineOutput(1, TList::Class());
fCompList = new TList;
}
AliPerformanceTask::~AliPerformanceTask()
{
if (!AliAnalysisManager::GetAnalysisManager()->IsProofMode()) {
if (fOutput) delete fOutput; fOutput = 0;
if (fOutputSummary) delete fOutputSummary; fOutputSummary = 0;
if (fCompList) delete fCompList; fCompList = 0;
}
}
Bool_t AliPerformanceTask::AddPerformanceObject(AliPerformanceObject *pObj)
{
if(pObj == 0) {
Printf("ERROR: Could not add comparison object");
return kFALSE;
}
fCompList->AddLast(pObj);
return kTRUE;
}
void AliPerformanceTask::UserCreateOutputObjects()
{
fOutput = new TList;
fOutput->SetOwner();
fPitList = fOutput->MakeIterator();
AliPerformanceObject *pObj=0;
Int_t count=0;
TIterator *pitCompList = fCompList->MakeIterator();
pitCompList->Reset();
while(( pObj = (AliPerformanceObject *)pitCompList->Next()) != NULL) {
fOutput->Add(pObj);
count++;
}
Printf("UserCreateOutputObjects(): Number of output comparison objects: %d \n", count);
PostData(1, fOutput);
PostData(0, fOutputSummary);
}
void AliPerformanceTask::UserExec(Option_t *)
{
if(fUseHLT){
AliESDInputHandler *esdH = dynamic_cast<AliESDInputHandler*>
(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler());
if (!esdH) {
printf("ERROR: Could not get ESDInputHandler");
return;
}
fESD = esdH->GetHLTEvent();
}
else
fESD = (AliESDEvent*) (InputEvent());
if(fUseESDfriend)
{
if (fUseHLT)
{
AliESDEvent *fESDoffline;
fESDoffline = (AliESDEvent*) (InputEvent());
fESDfriend = static_cast<AliESDfriend*>(fESDoffline->FindListObject("AliESDfriend"));
}
else
{
fESDfriend = static_cast<AliESDfriend*>(fESD->FindListObject("AliESDfriend"));
}
if(!fESDfriend) {
Printf("ERROR: ESD friends not available");
}
}
if(fUseMCInfo) {
fMC = MCEvent();
}
if (!fESD) {
Printf("ERROR: ESD event not available");
return;
}
if (fUseMCInfo && !fMC) {
Printf("ERROR: MC event not available");
return;
}
if(fUseESDfriend)
{
if(!fESDfriend) {
Printf("ERROR: ESD friends not available");
}
}
Bool_t process = kTRUE;
if (fUseCentrality) {
if ( CalculateCentralityBin() != fUseCentralityBin ) {
process = kFALSE;
}
}
if (process) {
AliPerformanceObject *pObj=0;
fPitList->Reset();
while(( pObj = (AliPerformanceObject *)fPitList->Next()) != NULL) {
pObj->Exec(fMC,fESD,fESDfriend,fUseMCInfo,fUseESDfriend);
}
}
PostData(1, fOutput);
}
void AliPerformanceTask::Terminate(Option_t *)
{
if ( !fUseTerminate )
return;
fOutputSummary = dynamic_cast<TTree*> (GetOutputData(0));
fOutput = dynamic_cast<TList*> (GetOutputData(1));
if (!fOutput) {
Printf("ERROR: AliPerformanceTask::Terminate(): fOutput data not available ..." );
return;
}
if (fOutputSummary) { delete fOutputSummary; fOutputSummary=0; }
AliPerformanceObject* pObj=0;
AliPerformanceTPC* pTPC = 0;
AliPerformanceDEdx* pDEdx = 0;
AliPerformanceMatch* pMatch = 0;
AliPerformanceMatch* pPull = 0;
AliPerformanceMatch* pConstrain = 0;
TIterator* itOut = fOutput->MakeIterator();
itOut->Reset();
while(( pObj = dynamic_cast<AliPerformanceObject*>(itOut->Next())) != NULL) {
pObj->AnalyseFinal();
if (!strcmp(pObj->GetName(),"AliPerformanceTPC")) { pTPC = dynamic_cast<AliPerformanceTPC*>(pObj); }
if (!strcmp(pObj->GetName(),"AliPerformanceDEdxTPCInner")) { pDEdx = dynamic_cast<AliPerformanceDEdx*>(pObj); }
if (!strcmp(pObj->GetName(),"AliPerformanceMatchTPCITS")) { pMatch = dynamic_cast<AliPerformanceMatch*>(pObj); }
if (!strcmp(pObj->GetName(),"AliPerformanceMatchITSTPC")) { pPull = dynamic_cast<AliPerformanceMatch*>(pObj);}
if (!strcmp(pObj->GetName(),"AliPerformanceMatchTPCConstrain")) { pConstrain = dynamic_cast<AliPerformanceMatch*>(pObj);}
}
if(!fUseOCDB) {
printf("DO NOT USE OCDB \n");
return;
}
if (! AliCDBManager::Instance()->GetDefaultStorage()) { AliCDBManager::Instance()->SetDefaultStorage("raw://"); }
TUUID uuid;
TString tmpFile = gSystem->TempDirectory() + TString("/TPCQASummary.") + uuid.AsString() + TString(".root");
AliTPCPerformanceSummary::WriteToFile(pTPC, pDEdx, pMatch, pPull, pConstrain, tmpFile.Data());
TChain* chain = new TChain("tpcQA");
if(!chain) return;
chain->Add(tmpFile.Data());
TTree *tree = chain->CopyTree("1");
if (chain) { delete chain; chain=0; }
fOutputSummary = tree;
PostData(0, fOutputSummary);
}
void AliPerformanceTask::FinishTaskOutput()
{
fOutput = dynamic_cast<TList*> (GetOutputData(1));
if (!fOutput) {
Printf("ERROR: AliPerformanceTask::FinishTaskOutput(): fOutput data not available ..." );
return;
}
AliPerformanceObject* pObj=0;
TIterator* itOut = fOutput->MakeIterator();
itOut->Reset();
while(( pObj = dynamic_cast<AliPerformanceObject*>(itOut->Next())) != NULL) {
pObj->SetRunNumber(fCurrentRunNumber);
pObj->Analyse();
}
PostData(1, fOutput);
}
Bool_t AliPerformanceTask::Notify()
{
static Int_t count = 0;
count++;
Printf("Processing %d. file", count);
return kTRUE;
}
Int_t AliPerformanceTask::CalculateCentralityBin(){
Int_t centrality = -1;
Float_t centralityF = -1;
if (fUseCentrality == 0)
return centrality;
AliCentrality *esdCentrality = fESD->GetCentrality();
if ( fUseCentrality == 1 )
centralityF = esdCentrality->GetCentralityPercentile("V0M");
else if ( fUseCentrality == 2 )
centralityF = esdCentrality->GetCentralityPercentile("CL1");
else if ( fUseCentrality == 3 )
centralityF = esdCentrality->GetCentralityPercentile("TRK");
if (centralityF == 0.)
centralityF = 100.;
if ( centralityF >= 0. && centralityF < 5.) centrality = 0;
else if ( centralityF >= 5. && centralityF < 10.) centrality = 5;
else if ( centralityF >= 10. && centralityF < 20.) centrality = 10;
else if ( centralityF >= 20. && centralityF < 30.) centrality = 20;
else if ( centralityF >= 30. && centralityF < 40.) centrality = 30;
else if ( centralityF >= 40. && centralityF < 50.) centrality = 40;
else if ( centralityF >= 50. && centralityF < 60.) centrality = 50;
else if ( centralityF >= 60. && centralityF < 70.) centrality = 60;
else if ( centralityF >= 70. && centralityF < 80.) centrality = 70;
else if ( centralityF >= 80. && centralityF < 90.) centrality = 80;
else if ( centralityF >= 90. && centralityF <=100.) centrality = 90;
return centrality;
}
AliPerformanceTask.cxx:10 AliPerformanceTask.cxx:11 AliPerformanceTask.cxx:12 AliPerformanceTask.cxx:13 AliPerformanceTask.cxx:14 AliPerformanceTask.cxx:15 AliPerformanceTask.cxx:16 AliPerformanceTask.cxx:17 AliPerformanceTask.cxx:18 AliPerformanceTask.cxx:19 AliPerformanceTask.cxx:20 AliPerformanceTask.cxx:21 AliPerformanceTask.cxx:22 AliPerformanceTask.cxx:23 AliPerformanceTask.cxx:24 AliPerformanceTask.cxx:25 AliPerformanceTask.cxx:26 AliPerformanceTask.cxx:27 AliPerformanceTask.cxx:28 AliPerformanceTask.cxx:29 AliPerformanceTask.cxx:30 AliPerformanceTask.cxx:31 AliPerformanceTask.cxx:32 AliPerformanceTask.cxx:33 AliPerformanceTask.cxx:34 AliPerformanceTask.cxx:35 AliPerformanceTask.cxx:36 AliPerformanceTask.cxx:37 AliPerformanceTask.cxx:38 AliPerformanceTask.cxx:39 AliPerformanceTask.cxx:40 AliPerformanceTask.cxx:41 AliPerformanceTask.cxx:42 AliPerformanceTask.cxx:43 AliPerformanceTask.cxx:44 AliPerformanceTask.cxx:45 AliPerformanceTask.cxx:46 AliPerformanceTask.cxx:47 AliPerformanceTask.cxx:48 AliPerformanceTask.cxx:49 AliPerformanceTask.cxx:50 AliPerformanceTask.cxx:51 AliPerformanceTask.cxx:52 AliPerformanceTask.cxx:53 AliPerformanceTask.cxx:54 AliPerformanceTask.cxx:55 AliPerformanceTask.cxx:56 AliPerformanceTask.cxx:57 AliPerformanceTask.cxx:58 AliPerformanceTask.cxx:59 AliPerformanceTask.cxx:60 AliPerformanceTask.cxx:61 AliPerformanceTask.cxx:62 AliPerformanceTask.cxx:63 AliPerformanceTask.cxx:64 AliPerformanceTask.cxx:65 AliPerformanceTask.cxx:66 AliPerformanceTask.cxx:67 AliPerformanceTask.cxx:68 AliPerformanceTask.cxx:69 AliPerformanceTask.cxx:70 AliPerformanceTask.cxx:71 AliPerformanceTask.cxx:72 AliPerformanceTask.cxx:73 AliPerformanceTask.cxx:74 AliPerformanceTask.cxx:75 AliPerformanceTask.cxx:76 AliPerformanceTask.cxx:77 AliPerformanceTask.cxx:78 AliPerformanceTask.cxx:79 AliPerformanceTask.cxx:80 AliPerformanceTask.cxx:81 AliPerformanceTask.cxx:82 AliPerformanceTask.cxx:83 AliPerformanceTask.cxx:84 AliPerformanceTask.cxx:85 AliPerformanceTask.cxx:86 AliPerformanceTask.cxx:87 AliPerformanceTask.cxx:88 AliPerformanceTask.cxx:89 AliPerformanceTask.cxx:90 AliPerformanceTask.cxx:91 AliPerformanceTask.cxx:92 AliPerformanceTask.cxx:93 AliPerformanceTask.cxx:94 AliPerformanceTask.cxx:95 AliPerformanceTask.cxx:96 AliPerformanceTask.cxx:97 AliPerformanceTask.cxx:98 AliPerformanceTask.cxx:99 AliPerformanceTask.cxx:100 AliPerformanceTask.cxx:101 AliPerformanceTask.cxx:102 AliPerformanceTask.cxx:103 AliPerformanceTask.cxx:104 AliPerformanceTask.cxx:105 AliPerformanceTask.cxx:106 AliPerformanceTask.cxx:107 AliPerformanceTask.cxx:108 AliPerformanceTask.cxx:109 AliPerformanceTask.cxx:110 AliPerformanceTask.cxx:111 AliPerformanceTask.cxx:112 AliPerformanceTask.cxx:113 AliPerformanceTask.cxx:114 AliPerformanceTask.cxx:115 AliPerformanceTask.cxx:116 AliPerformanceTask.cxx:117 AliPerformanceTask.cxx:118 AliPerformanceTask.cxx:119 AliPerformanceTask.cxx:120 AliPerformanceTask.cxx:121 AliPerformanceTask.cxx:122 AliPerformanceTask.cxx:123 AliPerformanceTask.cxx:124 AliPerformanceTask.cxx:125 AliPerformanceTask.cxx:126 AliPerformanceTask.cxx:127 AliPerformanceTask.cxx:128 AliPerformanceTask.cxx:129 AliPerformanceTask.cxx:130 AliPerformanceTask.cxx:131 AliPerformanceTask.cxx:132 AliPerformanceTask.cxx:133 AliPerformanceTask.cxx:134 AliPerformanceTask.cxx:135 AliPerformanceTask.cxx:136 AliPerformanceTask.cxx:137 AliPerformanceTask.cxx:138 AliPerformanceTask.cxx:139 AliPerformanceTask.cxx:140 AliPerformanceTask.cxx:141 AliPerformanceTask.cxx:142 AliPerformanceTask.cxx:143 AliPerformanceTask.cxx:144 AliPerformanceTask.cxx:145 AliPerformanceTask.cxx:146 AliPerformanceTask.cxx:147 AliPerformanceTask.cxx:148 AliPerformanceTask.cxx:149 AliPerformanceTask.cxx:150 AliPerformanceTask.cxx:151 AliPerformanceTask.cxx:152 AliPerformanceTask.cxx:153 AliPerformanceTask.cxx:154 AliPerformanceTask.cxx:155 AliPerformanceTask.cxx:156 AliPerformanceTask.cxx:157 AliPerformanceTask.cxx:158 AliPerformanceTask.cxx:159 AliPerformanceTask.cxx:160 AliPerformanceTask.cxx:161 AliPerformanceTask.cxx:162 AliPerformanceTask.cxx:163 AliPerformanceTask.cxx:164 AliPerformanceTask.cxx:165 AliPerformanceTask.cxx:166 AliPerformanceTask.cxx:167 AliPerformanceTask.cxx:168 AliPerformanceTask.cxx:169 AliPerformanceTask.cxx:170 AliPerformanceTask.cxx:171 AliPerformanceTask.cxx:172 AliPerformanceTask.cxx:173 AliPerformanceTask.cxx:174 AliPerformanceTask.cxx:175 AliPerformanceTask.cxx:176 AliPerformanceTask.cxx:177 AliPerformanceTask.cxx:178 AliPerformanceTask.cxx:179 AliPerformanceTask.cxx:180 AliPerformanceTask.cxx:181 AliPerformanceTask.cxx:182 AliPerformanceTask.cxx:183 AliPerformanceTask.cxx:184 AliPerformanceTask.cxx:185 AliPerformanceTask.cxx:186 AliPerformanceTask.cxx:187 AliPerformanceTask.cxx:188 AliPerformanceTask.cxx:189 AliPerformanceTask.cxx:190 AliPerformanceTask.cxx:191 AliPerformanceTask.cxx:192 AliPerformanceTask.cxx:193 AliPerformanceTask.cxx:194 AliPerformanceTask.cxx:195 AliPerformanceTask.cxx:196 AliPerformanceTask.cxx:197 AliPerformanceTask.cxx:198 AliPerformanceTask.cxx:199 AliPerformanceTask.cxx:200 AliPerformanceTask.cxx:201 AliPerformanceTask.cxx:202 AliPerformanceTask.cxx:203 AliPerformanceTask.cxx:204 AliPerformanceTask.cxx:205 AliPerformanceTask.cxx:206 AliPerformanceTask.cxx:207 AliPerformanceTask.cxx:208 AliPerformanceTask.cxx:209 AliPerformanceTask.cxx:210 AliPerformanceTask.cxx:211 AliPerformanceTask.cxx:212 AliPerformanceTask.cxx:213 AliPerformanceTask.cxx:214 AliPerformanceTask.cxx:215 AliPerformanceTask.cxx:216 AliPerformanceTask.cxx:217 AliPerformanceTask.cxx:218 AliPerformanceTask.cxx:219 AliPerformanceTask.cxx:220 AliPerformanceTask.cxx:221 AliPerformanceTask.cxx:222 AliPerformanceTask.cxx:223 AliPerformanceTask.cxx:224 AliPerformanceTask.cxx:225 AliPerformanceTask.cxx:226 AliPerformanceTask.cxx:227 AliPerformanceTask.cxx:228 AliPerformanceTask.cxx:229 AliPerformanceTask.cxx:230 AliPerformanceTask.cxx:231 AliPerformanceTask.cxx:232 AliPerformanceTask.cxx:233 AliPerformanceTask.cxx:234 AliPerformanceTask.cxx:235 AliPerformanceTask.cxx:236 AliPerformanceTask.cxx:237 AliPerformanceTask.cxx:238 AliPerformanceTask.cxx:239 AliPerformanceTask.cxx:240 AliPerformanceTask.cxx:241 AliPerformanceTask.cxx:242 AliPerformanceTask.cxx:243 AliPerformanceTask.cxx:244 AliPerformanceTask.cxx:245 AliPerformanceTask.cxx:246 AliPerformanceTask.cxx:247 AliPerformanceTask.cxx:248 AliPerformanceTask.cxx:249 AliPerformanceTask.cxx:250 AliPerformanceTask.cxx:251 AliPerformanceTask.cxx:252 AliPerformanceTask.cxx:253 AliPerformanceTask.cxx:254 AliPerformanceTask.cxx:255 AliPerformanceTask.cxx:256 AliPerformanceTask.cxx:257 AliPerformanceTask.cxx:258 AliPerformanceTask.cxx:259 AliPerformanceTask.cxx:260 AliPerformanceTask.cxx:261 AliPerformanceTask.cxx:262 AliPerformanceTask.cxx:263 AliPerformanceTask.cxx:264 AliPerformanceTask.cxx:265 AliPerformanceTask.cxx:266 AliPerformanceTask.cxx:267 AliPerformanceTask.cxx:268 AliPerformanceTask.cxx:269 AliPerformanceTask.cxx:270 AliPerformanceTask.cxx:271 AliPerformanceTask.cxx:272 AliPerformanceTask.cxx:273 AliPerformanceTask.cxx:274 AliPerformanceTask.cxx:275 AliPerformanceTask.cxx:276 AliPerformanceTask.cxx:277 AliPerformanceTask.cxx:278 AliPerformanceTask.cxx:279 AliPerformanceTask.cxx:280 AliPerformanceTask.cxx:281 AliPerformanceTask.cxx:282 AliPerformanceTask.cxx:283 AliPerformanceTask.cxx:284 AliPerformanceTask.cxx:285 AliPerformanceTask.cxx:286 AliPerformanceTask.cxx:287 AliPerformanceTask.cxx:288 AliPerformanceTask.cxx:289 AliPerformanceTask.cxx:290 AliPerformanceTask.cxx:291 AliPerformanceTask.cxx:292 AliPerformanceTask.cxx:293 AliPerformanceTask.cxx:294 AliPerformanceTask.cxx:295 AliPerformanceTask.cxx:296 AliPerformanceTask.cxx:297 AliPerformanceTask.cxx:298 AliPerformanceTask.cxx:299 AliPerformanceTask.cxx:300 AliPerformanceTask.cxx:301 AliPerformanceTask.cxx:302 AliPerformanceTask.cxx:303 AliPerformanceTask.cxx:304 AliPerformanceTask.cxx:305 AliPerformanceTask.cxx:306 AliPerformanceTask.cxx:307 AliPerformanceTask.cxx:308 AliPerformanceTask.cxx:309 AliPerformanceTask.cxx:310 AliPerformanceTask.cxx:311 AliPerformanceTask.cxx:312 AliPerformanceTask.cxx:313 AliPerformanceTask.cxx:314 AliPerformanceTask.cxx:315 AliPerformanceTask.cxx:316 AliPerformanceTask.cxx:317 AliPerformanceTask.cxx:318 AliPerformanceTask.cxx:319 AliPerformanceTask.cxx:320 AliPerformanceTask.cxx:321 AliPerformanceTask.cxx:322 AliPerformanceTask.cxx:323 AliPerformanceTask.cxx:324 AliPerformanceTask.cxx:325 AliPerformanceTask.cxx:326 AliPerformanceTask.cxx:327 AliPerformanceTask.cxx:328 AliPerformanceTask.cxx:329 AliPerformanceTask.cxx:330 AliPerformanceTask.cxx:331 AliPerformanceTask.cxx:332 AliPerformanceTask.cxx:333 AliPerformanceTask.cxx:334 AliPerformanceTask.cxx:335 AliPerformanceTask.cxx:336 AliPerformanceTask.cxx:337 AliPerformanceTask.cxx:338 AliPerformanceTask.cxx:339 AliPerformanceTask.cxx:340 AliPerformanceTask.cxx:341 AliPerformanceTask.cxx:342 AliPerformanceTask.cxx:343 AliPerformanceTask.cxx:344 AliPerformanceTask.cxx:345 AliPerformanceTask.cxx:346 AliPerformanceTask.cxx:347 AliPerformanceTask.cxx:348 AliPerformanceTask.cxx:349 AliPerformanceTask.cxx:350 AliPerformanceTask.cxx:351 AliPerformanceTask.cxx:352 AliPerformanceTask.cxx:353 AliPerformanceTask.cxx:354 AliPerformanceTask.cxx:355 AliPerformanceTask.cxx:356 AliPerformanceTask.cxx:357 AliPerformanceTask.cxx:358 AliPerformanceTask.cxx:359 AliPerformanceTask.cxx:360 AliPerformanceTask.cxx:361 AliPerformanceTask.cxx:362 AliPerformanceTask.cxx:363 AliPerformanceTask.cxx:364 AliPerformanceTask.cxx:365 AliPerformanceTask.cxx:366 AliPerformanceTask.cxx:367 AliPerformanceTask.cxx:368 AliPerformanceTask.cxx:369 AliPerformanceTask.cxx:370 AliPerformanceTask.cxx:371 AliPerformanceTask.cxx:372 AliPerformanceTask.cxx:373 AliPerformanceTask.cxx:374 AliPerformanceTask.cxx:375 AliPerformanceTask.cxx:376 AliPerformanceTask.cxx:377 AliPerformanceTask.cxx:378 AliPerformanceTask.cxx:379 AliPerformanceTask.cxx:380 AliPerformanceTask.cxx:381 AliPerformanceTask.cxx:382 AliPerformanceTask.cxx:383 AliPerformanceTask.cxx:384 AliPerformanceTask.cxx:385 AliPerformanceTask.cxx:386 AliPerformanceTask.cxx:387 AliPerformanceTask.cxx:388 AliPerformanceTask.cxx:389 AliPerformanceTask.cxx:390 AliPerformanceTask.cxx:391