ROOT logo
///////////////////////////////////////////////////////////////////////////////
// Macro to setup AliPerformanceTask for 
// TPC performance QA to run on PWGPP QA train. 
//
// Input: ESDs, ESDfriends (optional), Kinematics (optional), TrackRefs (optional)
// ESD and MC input handlers must be attached to AliAnalysisManager
// to run default configuration. 
//
// By default 7 performance components are added to 
// the task: 
// 1. AliPerformanceRes (TPC track resolution w.r.t MC at DCA)
// 2. AliPerformanceResTPCInner (TPC track resolution w.r.t MC at inner TPC wall)
// 3. AliPerformanceResTPCOuter (TPC track resolution w.r.t MC at outer TPC wall)
// 4. AliPerformanceEff (TPC track reconstruction efficiency, MC primaries)
// 5. AliPerformanceDEdxTPCInner (TPC dEdx response - track parameters at TPC inner wall)
// 6. AliPerformanceDCA (TPC impact parameters resolution at DCA)
// 7. AliPerformanceTPC (TPC cluster and track and event information)
// 8. AliPerformanceMatch (TPC and ITS/TRD matching and TPC eff w.r.t ITS)
//
// Usage on the analysis train (default configuration):
// gSystem->Load("libANALYSIS");
// gSystem->Load("libANALYSISalice");
// gSystem->Load("libTPCcalib.so");
// gSystem->Load("libTENDER.so");
// gSystem->Load("libPWGPP.so");
//
// gROOT->LoadMacro("$ALICE_ROOT/PWGPP/macros/AddTaskPerformanceTPC.C");
// AliPerformanceTask *tpcQA = AddTaskPerformanceTPC("kTRUE","kTRUE","triggerClass"); 
// 
// Output:
// TPC.Performance.root file with TPC performance components is created.
//
// Each of the components contains THnSparse generic histograms which 
// have to be analysed (post-analysis) by using Analyse() function. 
// Each component contains such function.
//
//13.10.2009 -  J.Otwinowski@gsi.de
///////////////////////////////////////////////////////////////////////////////

//____________________________________________
AliPerformanceTask* AddTaskPerformanceTPC(Bool_t bUseMCInfo=kTRUE, Bool_t bUseESDfriend=kTRUE, const char *triggerClass="CINT1B-ABCE-NOPF-ALL")
{
  //
  // Add AliPerformanceTask with TPC performance components
  //
  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  if(!mgr) { 
    Error("AddTaskPerformanceTPC","AliAnalysisManager not set!");
    return NULL;
  }
  
  TString type = mgr->GetInputEventHandler()->GetDataType();
  if (!type.Contains("ESD")) {
    Error("AddTaskPerformanceTPC", "ESD input handler needed!");
    return NULL;
  }
  
  AliMCEventHandler *mcH = (AliMCEventHandler*)mgr->GetMCtruthEventHandler();
  if (!mcH && bUseMCInfo) {
    Error("AddTaskPerformanceTPC", "MC input handler needed!");
    return NULL;
  }

  //
  // Create task
  //
  AliPerformanceTask *task = new AliPerformanceTask("Performance","TPC Performance");
  if (!task) {
    Error("AddTaskPerformanceTPC", "TPC performance task cannot be created!");
    return NULL;
  }
  task->SetUseMCInfo(bUseMCInfo);
  task->SetUseESDfriend(bUseESDfriend);

  //
  // Add task to analysis manager
  //
  mgr->AddTask(task);

  //
  // Create TPC-ESD track reconstruction cuts
  // MB tracks
  //
  AliRecInfoCuts *pRecInfoCutsTPC = new AliRecInfoCuts(); 
  if(pRecInfoCutsTPC) {
    pRecInfoCutsTPC->SetMaxDCAToVertexXY(3.0);
    pRecInfoCutsTPC->SetMaxDCAToVertexZ(30.0);
    //pRecInfoCutsTPC->SetMaxDCAToVertexZ(3.0);
    pRecInfoCutsTPC->SetRequireSigmaToVertex(kFALSE);
    pRecInfoCutsTPC->SetRequireTPCRefit(kFALSE);
    pRecInfoCutsTPC->SetAcceptKinkDaughters(kTRUE);
    pRecInfoCutsTPC->SetMinNClustersTPC(50);
    pRecInfoCutsTPC->SetMaxChi2PerClusterTPC(1000000.);
    pRecInfoCutsTPC->SetDCAToVertex2D(kFALSE);

    pRecInfoCutsTPC->SetHistogramsOn(kFALSE); 
  } 
  else {
    Error("AddTaskPerformanceTPC", "AliRecInfoCutsTPC cannot be created!");
    return NULL;
  }

  //
  // Create TPC-ESD track reconstruction cuts
  // MATCH tracks
  //
  AliRecInfoCuts *pRecInfoCutsMATCH = new AliRecInfoCuts(); 
  if(pRecInfoCutsMATCH) {
    pRecInfoCutsMATCH->SetMaxDCAToVertexXY(3.0);
    pRecInfoCutsMATCH->SetMaxDCAToVertexZ(3.0);
    pRecInfoCutsMATCH->SetRequireSigmaToVertex(kFALSE);
    pRecInfoCutsMATCH->SetRequireTPCRefit(kFALSE);
    pRecInfoCutsMATCH->SetAcceptKinkDaughters(kTRUE);
    pRecInfoCutsMATCH->SetMinNClustersTPC(50);
    pRecInfoCutsMATCH->SetMaxChi2PerClusterTPC(1000000.);
    pRecInfoCutsMATCH->SetDCAToVertex2D(kFALSE);
    pRecInfoCutsMATCH->SetTPCITSMatchingRadius(70); 
    pRecInfoCutsMATCH->SetTPCTRDMatchingRadius(260); 
    pRecInfoCutsMATCH->SetMinNClustersITS(3);

    pRecInfoCutsMATCH->SetHistogramsOn(kFALSE); 
  } 
  else {
    Error("AddTaskPerformanceTPC", "AliRecInfoCutsTPC cannot be created!");
    return NULL;
  }

  //
  // Create TPC-ESD track reconstruction cuts
  // standard cuts
  AliRecInfoCuts *pRecInfoCuts = new AliRecInfoCuts(); 
  if(pRecInfoCuts) {
    pRecInfoCuts->SetMaxDCAToVertexXY(3.0);
    pRecInfoCuts->SetMaxDCAToVertexZ(3.0);
    pRecInfoCuts->SetMinNClustersTPC(50);
    pRecInfoCuts->SetMinNClustersITS(2);
    pRecInfoCuts->SetHistogramsOn(kFALSE); 
    pRecInfoCuts->SetTPCITSMatchingRadius(70); 
    pRecInfoCuts->SetTPCTRDMatchingRadius(260); 
  } 
  else {
    Error("AddTaskPerformanceTPC", "AliRecInfoCuts cannot be created!");
    return NULL;
  }
  //
  // Create TPC-MC track reconstruction cuts
  //
  AliMCInfoCuts  *pMCInfoCuts = new AliMCInfoCuts();
  if(pMCInfoCuts) {
    pMCInfoCuts->SetMinTrackLength(70);
  } 
  else {
    Error("AddTaskPerformanceTPC", "AliMCInfoCuts cannot be created!");
    return NULL;
  }

  //
  // Create performance objects for TPC and set cuts 
  //
  enum { kTPC = 0, kTPCITS, kConstrained, kTPCInner, kTPCOuter, kTPCSec };

  //
  // Resolution
  //
  AliPerformanceRes *pCompRes0 = new AliPerformanceRes("AliPerformanceRes","AliPerformanceRes",kTPC,kFALSE); 
  if(!pCompRes0) {
    Error("AddTaskPerformanceTPC", "Cannot create AliPerformanceRes");
  }
  pCompRes0->SetAliRecInfoCuts(pRecInfoCuts);
  pCompRes0->SetAliMCInfoCuts(pMCInfoCuts);

  AliPerformanceRes *pCompRes3 = new AliPerformanceRes("AliPerformanceResTPCInner","AliPerformanceResTPCInner",kTPCInner,kFALSE); 
  if(!pCompRes3) {
    Error("AddTaskPerformanceTPC", "Cannot create AliPerformanceResTPCInner");
  }
  pCompRes3->SetAliRecInfoCuts(pRecInfoCuts);
  pCompRes3->SetAliMCInfoCuts(pMCInfoCuts);

  AliPerformanceRes *pCompRes4 = new AliPerformanceRes("AliPerformanceResTPCOuter","AliPerformanceResTPCOuter",kTPCOuter,kFALSE); 
  if(!pCompRes4) {
    Error("AddTaskPerformanceTPC", "Cannot create AliPerformanceResTPCOuter");
  }
  pCompRes4->SetAliRecInfoCuts(pRecInfoCuts);
  pCompRes4->SetAliMCInfoCuts(pMCInfoCuts);
  //
  // Efficiency
  //
  AliPerformanceEff *pCompEff0 = new AliPerformanceEff("AliPerformanceEff","AliPerformanceEff",kTPC,kFALSE); 
  if(!pCompEff0) {
    Error("AddTaskPerformanceTPC", "Cannot create AliPerformanceEff");
  }
  pCompEff0->SetAliRecInfoCuts(pRecInfoCuts);
  pCompEff0->SetAliMCInfoCuts(pMCInfoCuts);
  //
  // dEdx
  //
  AliPerformanceDEdx *pCompDEdx3 = new AliPerformanceDEdx("AliPerformanceDEdxTPCInner","AliPerformanceDEdxTPCInner",kTPCInner,kFALSE); 
  if(!pCompDEdx3) {
    Error("AddTaskPerformanceTPC", "Cannot create AliPerformanceDEdxTPCInner");
  }
  pCompDEdx3->SetAliRecInfoCuts(pRecInfoCuts);
  pCompDEdx3->SetAliMCInfoCuts(pMCInfoCuts);
  //
  // DCA
  //
  AliPerformanceDCA *pCompDCA0 = new AliPerformanceDCA("AliPerformanceDCA","AliPerformanceDCA",kTPC,kFALSE); 
  if(!pCompDCA0) {
    Error("AddTaskPerformanceTPC", "Cannot create AliPerformanceDCA");
  }
  pCompDCA0->SetAliRecInfoCuts(pRecInfoCuts);
  pCompDCA0->SetAliMCInfoCuts(pMCInfoCuts);
  //
  // TPC performance
  //
  AliPerformanceTPC *pCompTPC0 = new AliPerformanceTPC("AliPerformanceTPC","AliPerformanceTPC",kTPC,kFALSE); 
  if(!pCompTPC0) {
    Error("AddTaskPerformanceTPC", "Cannot create AliPerformanceTPC");
  }
  pCompTPC0->SetAliRecInfoCuts(pRecInfoCutsTPC);
  pCompTPC0->SetAliMCInfoCuts(pMCInfoCuts);
  //
  // TPC+ITS matching performance
  //
  AliPerformanceMatch *pCompMatch0 = new AliPerformanceMatch("AliPerformanceMatchTPCITS","AliPerformanceMatchTPCITS",0,kFALSE); 
  if(!pCompMatch0) {
    Error("AddTaskPerformanceMatch", "Cannot create AliPerformanceMatchTPCITS");
  }
  pCompMatch0->SetAliRecInfoCuts(pRecInfoCutsMATCH);
  pCompMatch0->SetAliMCInfoCuts(pMCInfoCuts);
  //
  // TPC+TRD matching performance
  //
  AliPerformanceMatch *pCompMatch1 = new AliPerformanceMatch("AliPerformanceMatchTPCTRD","AliPerformanceMatchTPCTRD",1,kFALSE); 
  if(!pCompMatch1) {
    Error("AddTaskPerformanceMatch", "Cannot create AliPerformanceMatchTPCTRD");
  }
  pCompMatch1->SetAliRecInfoCuts(pRecInfoCutsMATCH);
  pCompMatch1->SetAliMCInfoCuts(pMCInfoCuts);
 
  AliPerformanceMatch *pCompMatch2 = new AliPerformanceMatch("AliPerformanceMatchTPCEFF","AliPerformanceMatchTPCEFF",2,kFALSE); 
  if(!pCompMatch2) {
    Error("AddTaskPerformanceMatch", "Cannot create AliPerformanceMatchTPCEFF");
  }
  pCompMatch2->SetAliRecInfoCuts(pRecInfoCutsMATCH);
  pCompMatch2->SetAliMCInfoCuts(pMCInfoCuts);

  //
  // Add components to the performance task
  //
  task->AddPerformanceObject( pCompDEdx3 );
  task->AddPerformanceObject( pCompDCA0 );
  task->AddPerformanceObject( pCompTPC0 );
  task->AddPerformanceObject( pCompMatch0 );
  task->AddPerformanceObject( pCompMatch1 );
  task->AddPerformanceObject( pCompMatch2 );

  //
  if(bUseMCInfo) { 
     task->AddPerformanceObject( pCompRes0 );
     task->AddPerformanceObject( pCompRes3 );
     task->AddPerformanceObject( pCompRes4 );
     task->AddPerformanceObject( pCompEff0 );
  }

  //
  if(!bUseMCInfo) {
    pCompDEdx3->SetTriggerClass(triggerClass);
    pCompDCA0->SetTriggerClass(triggerClass);
    pCompTPC0->SetTriggerClass(triggerClass);
    pCompMatch0->SetTriggerClass(triggerClass);
    pCompMatch1->SetTriggerClass(triggerClass);
    pCompMatch2->SetTriggerClass(triggerClass);
  }

  //
  // Create containers for input
  //
  mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());

  //
  // Create containers for output
  //
  AliAnalysisDataContainer *coutput_tpc = mgr->CreateContainer("TPC", TList::Class(), AliAnalysisManager::kOutputContainer, Form("TPC.%s.root", task->GetName()));
  mgr->ConnectOutput(task, 1, coutput_tpc);

return task;  
}
 AddTaskPerformanceTPC.C:1
 AddTaskPerformanceTPC.C:2
 AddTaskPerformanceTPC.C:3
 AddTaskPerformanceTPC.C:4
 AddTaskPerformanceTPC.C:5
 AddTaskPerformanceTPC.C:6
 AddTaskPerformanceTPC.C:7
 AddTaskPerformanceTPC.C:8
 AddTaskPerformanceTPC.C:9
 AddTaskPerformanceTPC.C:10
 AddTaskPerformanceTPC.C:11
 AddTaskPerformanceTPC.C:12
 AddTaskPerformanceTPC.C:13
 AddTaskPerformanceTPC.C:14
 AddTaskPerformanceTPC.C:15
 AddTaskPerformanceTPC.C:16
 AddTaskPerformanceTPC.C:17
 AddTaskPerformanceTPC.C:18
 AddTaskPerformanceTPC.C:19
 AddTaskPerformanceTPC.C:20
 AddTaskPerformanceTPC.C:21
 AddTaskPerformanceTPC.C:22
 AddTaskPerformanceTPC.C:23
 AddTaskPerformanceTPC.C:24
 AddTaskPerformanceTPC.C:25
 AddTaskPerformanceTPC.C:26
 AddTaskPerformanceTPC.C:27
 AddTaskPerformanceTPC.C:28
 AddTaskPerformanceTPC.C:29
 AddTaskPerformanceTPC.C:30
 AddTaskPerformanceTPC.C:31
 AddTaskPerformanceTPC.C:32
 AddTaskPerformanceTPC.C:33
 AddTaskPerformanceTPC.C:34
 AddTaskPerformanceTPC.C:35
 AddTaskPerformanceTPC.C:36
 AddTaskPerformanceTPC.C:37
 AddTaskPerformanceTPC.C:38
 AddTaskPerformanceTPC.C:39
 AddTaskPerformanceTPC.C:40
 AddTaskPerformanceTPC.C:41
 AddTaskPerformanceTPC.C:42
 AddTaskPerformanceTPC.C:43
 AddTaskPerformanceTPC.C:44
 AddTaskPerformanceTPC.C:45
 AddTaskPerformanceTPC.C:46
 AddTaskPerformanceTPC.C:47
 AddTaskPerformanceTPC.C:48
 AddTaskPerformanceTPC.C:49
 AddTaskPerformanceTPC.C:50
 AddTaskPerformanceTPC.C:51
 AddTaskPerformanceTPC.C:52
 AddTaskPerformanceTPC.C:53
 AddTaskPerformanceTPC.C:54
 AddTaskPerformanceTPC.C:55
 AddTaskPerformanceTPC.C:56
 AddTaskPerformanceTPC.C:57
 AddTaskPerformanceTPC.C:58
 AddTaskPerformanceTPC.C:59
 AddTaskPerformanceTPC.C:60
 AddTaskPerformanceTPC.C:61
 AddTaskPerformanceTPC.C:62
 AddTaskPerformanceTPC.C:63
 AddTaskPerformanceTPC.C:64
 AddTaskPerformanceTPC.C:65
 AddTaskPerformanceTPC.C:66
 AddTaskPerformanceTPC.C:67
 AddTaskPerformanceTPC.C:68
 AddTaskPerformanceTPC.C:69
 AddTaskPerformanceTPC.C:70
 AddTaskPerformanceTPC.C:71
 AddTaskPerformanceTPC.C:72
 AddTaskPerformanceTPC.C:73
 AddTaskPerformanceTPC.C:74
 AddTaskPerformanceTPC.C:75
 AddTaskPerformanceTPC.C:76
 AddTaskPerformanceTPC.C:77
 AddTaskPerformanceTPC.C:78
 AddTaskPerformanceTPC.C:79
 AddTaskPerformanceTPC.C:80
 AddTaskPerformanceTPC.C:81
 AddTaskPerformanceTPC.C:82
 AddTaskPerformanceTPC.C:83
 AddTaskPerformanceTPC.C:84
 AddTaskPerformanceTPC.C:85
 AddTaskPerformanceTPC.C:86
 AddTaskPerformanceTPC.C:87
 AddTaskPerformanceTPC.C:88
 AddTaskPerformanceTPC.C:89
 AddTaskPerformanceTPC.C:90
 AddTaskPerformanceTPC.C:91
 AddTaskPerformanceTPC.C:92
 AddTaskPerformanceTPC.C:93
 AddTaskPerformanceTPC.C:94
 AddTaskPerformanceTPC.C:95
 AddTaskPerformanceTPC.C:96
 AddTaskPerformanceTPC.C:97
 AddTaskPerformanceTPC.C:98
 AddTaskPerformanceTPC.C:99
 AddTaskPerformanceTPC.C:100
 AddTaskPerformanceTPC.C:101
 AddTaskPerformanceTPC.C:102
 AddTaskPerformanceTPC.C:103
 AddTaskPerformanceTPC.C:104
 AddTaskPerformanceTPC.C:105
 AddTaskPerformanceTPC.C:106
 AddTaskPerformanceTPC.C:107
 AddTaskPerformanceTPC.C:108
 AddTaskPerformanceTPC.C:109
 AddTaskPerformanceTPC.C:110
 AddTaskPerformanceTPC.C:111
 AddTaskPerformanceTPC.C:112
 AddTaskPerformanceTPC.C:113
 AddTaskPerformanceTPC.C:114
 AddTaskPerformanceTPC.C:115
 AddTaskPerformanceTPC.C:116
 AddTaskPerformanceTPC.C:117
 AddTaskPerformanceTPC.C:118
 AddTaskPerformanceTPC.C:119
 AddTaskPerformanceTPC.C:120
 AddTaskPerformanceTPC.C:121
 AddTaskPerformanceTPC.C:122
 AddTaskPerformanceTPC.C:123
 AddTaskPerformanceTPC.C:124
 AddTaskPerformanceTPC.C:125
 AddTaskPerformanceTPC.C:126
 AddTaskPerformanceTPC.C:127
 AddTaskPerformanceTPC.C:128
 AddTaskPerformanceTPC.C:129
 AddTaskPerformanceTPC.C:130
 AddTaskPerformanceTPC.C:131
 AddTaskPerformanceTPC.C:132
 AddTaskPerformanceTPC.C:133
 AddTaskPerformanceTPC.C:134
 AddTaskPerformanceTPC.C:135
 AddTaskPerformanceTPC.C:136
 AddTaskPerformanceTPC.C:137
 AddTaskPerformanceTPC.C:138
 AddTaskPerformanceTPC.C:139
 AddTaskPerformanceTPC.C:140
 AddTaskPerformanceTPC.C:141
 AddTaskPerformanceTPC.C:142
 AddTaskPerformanceTPC.C:143
 AddTaskPerformanceTPC.C:144
 AddTaskPerformanceTPC.C:145
 AddTaskPerformanceTPC.C:146
 AddTaskPerformanceTPC.C:147
 AddTaskPerformanceTPC.C:148
 AddTaskPerformanceTPC.C:149
 AddTaskPerformanceTPC.C:150
 AddTaskPerformanceTPC.C:151
 AddTaskPerformanceTPC.C:152
 AddTaskPerformanceTPC.C:153
 AddTaskPerformanceTPC.C:154
 AddTaskPerformanceTPC.C:155
 AddTaskPerformanceTPC.C:156
 AddTaskPerformanceTPC.C:157
 AddTaskPerformanceTPC.C:158
 AddTaskPerformanceTPC.C:159
 AddTaskPerformanceTPC.C:160
 AddTaskPerformanceTPC.C:161
 AddTaskPerformanceTPC.C:162
 AddTaskPerformanceTPC.C:163
 AddTaskPerformanceTPC.C:164
 AddTaskPerformanceTPC.C:165
 AddTaskPerformanceTPC.C:166
 AddTaskPerformanceTPC.C:167
 AddTaskPerformanceTPC.C:168
 AddTaskPerformanceTPC.C:169
 AddTaskPerformanceTPC.C:170
 AddTaskPerformanceTPC.C:171
 AddTaskPerformanceTPC.C:172
 AddTaskPerformanceTPC.C:173
 AddTaskPerformanceTPC.C:174
 AddTaskPerformanceTPC.C:175
 AddTaskPerformanceTPC.C:176
 AddTaskPerformanceTPC.C:177
 AddTaskPerformanceTPC.C:178
 AddTaskPerformanceTPC.C:179
 AddTaskPerformanceTPC.C:180
 AddTaskPerformanceTPC.C:181
 AddTaskPerformanceTPC.C:182
 AddTaskPerformanceTPC.C:183
 AddTaskPerformanceTPC.C:184
 AddTaskPerformanceTPC.C:185
 AddTaskPerformanceTPC.C:186
 AddTaskPerformanceTPC.C:187
 AddTaskPerformanceTPC.C:188
 AddTaskPerformanceTPC.C:189
 AddTaskPerformanceTPC.C:190
 AddTaskPerformanceTPC.C:191
 AddTaskPerformanceTPC.C:192
 AddTaskPerformanceTPC.C:193
 AddTaskPerformanceTPC.C:194
 AddTaskPerformanceTPC.C:195
 AddTaskPerformanceTPC.C:196
 AddTaskPerformanceTPC.C:197
 AddTaskPerformanceTPC.C:198
 AddTaskPerformanceTPC.C:199
 AddTaskPerformanceTPC.C:200
 AddTaskPerformanceTPC.C:201
 AddTaskPerformanceTPC.C:202
 AddTaskPerformanceTPC.C:203
 AddTaskPerformanceTPC.C:204
 AddTaskPerformanceTPC.C:205
 AddTaskPerformanceTPC.C:206
 AddTaskPerformanceTPC.C:207
 AddTaskPerformanceTPC.C:208
 AddTaskPerformanceTPC.C:209
 AddTaskPerformanceTPC.C:210
 AddTaskPerformanceTPC.C:211
 AddTaskPerformanceTPC.C:212
 AddTaskPerformanceTPC.C:213
 AddTaskPerformanceTPC.C:214
 AddTaskPerformanceTPC.C:215
 AddTaskPerformanceTPC.C:216
 AddTaskPerformanceTPC.C:217
 AddTaskPerformanceTPC.C:218
 AddTaskPerformanceTPC.C:219
 AddTaskPerformanceTPC.C:220
 AddTaskPerformanceTPC.C:221
 AddTaskPerformanceTPC.C:222
 AddTaskPerformanceTPC.C:223
 AddTaskPerformanceTPC.C:224
 AddTaskPerformanceTPC.C:225
 AddTaskPerformanceTPC.C:226
 AddTaskPerformanceTPC.C:227
 AddTaskPerformanceTPC.C:228
 AddTaskPerformanceTPC.C:229
 AddTaskPerformanceTPC.C:230
 AddTaskPerformanceTPC.C:231
 AddTaskPerformanceTPC.C:232
 AddTaskPerformanceTPC.C:233
 AddTaskPerformanceTPC.C:234
 AddTaskPerformanceTPC.C:235
 AddTaskPerformanceTPC.C:236
 AddTaskPerformanceTPC.C:237
 AddTaskPerformanceTPC.C:238
 AddTaskPerformanceTPC.C:239
 AddTaskPerformanceTPC.C:240
 AddTaskPerformanceTPC.C:241
 AddTaskPerformanceTPC.C:242
 AddTaskPerformanceTPC.C:243
 AddTaskPerformanceTPC.C:244
 AddTaskPerformanceTPC.C:245
 AddTaskPerformanceTPC.C:246
 AddTaskPerformanceTPC.C:247
 AddTaskPerformanceTPC.C:248
 AddTaskPerformanceTPC.C:249
 AddTaskPerformanceTPC.C:250
 AddTaskPerformanceTPC.C:251
 AddTaskPerformanceTPC.C:252
 AddTaskPerformanceTPC.C:253
 AddTaskPerformanceTPC.C:254
 AddTaskPerformanceTPC.C:255
 AddTaskPerformanceTPC.C:256
 AddTaskPerformanceTPC.C:257
 AddTaskPerformanceTPC.C:258
 AddTaskPerformanceTPC.C:259
 AddTaskPerformanceTPC.C:260
 AddTaskPerformanceTPC.C:261
 AddTaskPerformanceTPC.C:262
 AddTaskPerformanceTPC.C:263
 AddTaskPerformanceTPC.C:264
 AddTaskPerformanceTPC.C:265
 AddTaskPerformanceTPC.C:266
 AddTaskPerformanceTPC.C:267
 AddTaskPerformanceTPC.C:268
 AddTaskPerformanceTPC.C:269
 AddTaskPerformanceTPC.C:270
 AddTaskPerformanceTPC.C:271
 AddTaskPerformanceTPC.C:272
 AddTaskPerformanceTPC.C:273
 AddTaskPerformanceTPC.C:274
 AddTaskPerformanceTPC.C:275
 AddTaskPerformanceTPC.C:276
 AddTaskPerformanceTPC.C:277
 AddTaskPerformanceTPC.C:278
 AddTaskPerformanceTPC.C:279
 AddTaskPerformanceTPC.C:280
 AddTaskPerformanceTPC.C:281
 AddTaskPerformanceTPC.C:282
 AddTaskPerformanceTPC.C:283
 AddTaskPerformanceTPC.C:284
 AddTaskPerformanceTPC.C:285
 AddTaskPerformanceTPC.C:286
 AddTaskPerformanceTPC.C:287
 AddTaskPerformanceTPC.C:288