ROOT logo
// $Id$

AliAnalysisTaskEMCALClusterize* AddTaskEMCALClusterize(
                                                       TString & arrayName,
                                                       const Bool_t  bFillAOD   = kFALSE,                                                
                                                       const Int_t   bMC        = kFALSE,
                                                       const Bool_t  exotic     = kTRUE,
                                                       const TString name       = "V1Unfold", // V1, V2, NxN, V1Unfold
                                                       const TString trigger    = "", 
                                                       const Bool_t  tm         = kTRUE, 
                                                       const Int_t   minEcell   = 50,
                                                       const Int_t   minEseed   = 100,
                                                       const Int_t   maxDeltaT  = 250,
                                                       const Int_t   timeWindow = 1000,
                                                       const Int_t   minEUnf    = 15, 
                                                       const Int_t   minFrac    = 1,
                                                       const Bool_t  bRecalE    = kTRUE,
                                                       const Bool_t  bBad       = kTRUE,
                                                       const Bool_t  bRecalT    = kTRUE,
                                                       const Bool_t  bNonLine   = kFALSE,
                                                       const Int_t   minCen     = -1,
                                                       const Int_t   maxCen     = -1,
                                                       const Float_t clusterEnergyCutEvent = -1,
                                                       const Int_t   nRowDiff   = 1,
                                                       const Int_t   nColDiff   = 1,
                                                       const Bool_t  skipOrReject = kFALSE
                                                       )
{  
  // Get the pointer to the existing analysis manager via the static access method.
  //==============================================================================
  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  if (!mgr)
  {
    ::Error("AddTaskEMCALClusterize", "No analysis manager to connect to.");
    return NULL;
  }  
  
  // Check the analysis type using the event handlers connected to the analysis manager.
  //==============================================================================
  if (!mgr->GetInputEventHandler())
  {
    ::Error("AddTaskEMCALClusterize", "This clusterize requires an input event handler");
    return NULL;
  }
  
  printf("Passed Settings : mc %d, exo %d, name %s, trigger %s, tm %d\n",bMC,exotic,name.Data(),trigger.Data(),tm);
  printf("                  Ecell %d, Eseed %d, dT %d, wT %d, minUnf %d, minFrac %d \n",minEcell, minEseed,maxDeltaT,timeWindow,minEUnf,minFrac);
  printf("                  recalE %d, bad %d, recalT %d, nonlin %d, minCen %d, maxCen %d, rowDiff %d, colDiff %d \n",bRecalE,bBad,bRecalT,bNonLine,minCen,maxCen,nRowDiff,nColDiff);

  // Create name of task and AOD branch depending on different settings
  
  if(name.Contains("NxN")) arrayName = Form("%dx%d_Ecell%d_Eseed%d_DT%d_WT%d",2*nRowDiff+1,2*nColDiff+1,minEcell,minEseed,maxDeltaT,timeWindow);
  else                     arrayName = Form(   "%s_Ecell%d_Eseed%d_DT%d_WT%d",              name.Data(),minEcell,minEseed,maxDeltaT,timeWindow);
  
  if(minCen != -1 && maxCen != -1)
    arrayName+=Form("_Cen%d_%d",minCen,maxCen);

  printf("Created Branch Name: %s \n",arrayName.Data());
  
  
  //-------------------------------------------------------
  // Init the task and do settings
  //-------------------------------------------------------

  AliAnalysisTaskEMCALClusterize* clusterize = new AliAnalysisTaskEMCALClusterize(Form("EMCALClusterize%s",arrayName.Data()));

  clusterize->SetAODBranchName(arrayName);
  
  //clusterize->SetOCDBPath("local://$ALICE_ROOT/OCDB");

  // Centrality range
  clusterize->SetCentralityBin(minCen, maxCen); 
  
  // Some general settings to create AOD file in case we want to keep it
  clusterize->SwitchOffFillAODCaloCells();
  clusterize->SwitchOffFillAODHeader();
  clusterize->FillAODFile(bFillAOD); // fill aod.root with clusters?, not really needed for analysis.

  // Do track matching after clusterization
  if(tm) clusterize->SwitchOnTrackMatching();
  else   clusterize->SwitchOffTrackMatching();
  
  //-------------------------------------------------------
  // Set clusterization parameters via rec param
  //-------------------------------------------------------

  AliEMCALRecParam * params = clusterize->GetRecParam();

  // Position and SS weight parameter
  params->SetW0(4.5);

  // Time cuts
  
  if(maxDeltaT > 1) params->SetTimeCut(maxDeltaT*1.e-9);
  else            { params->SetTimeCut(250*1.e-9); printf("default maxDeltaT = 250 ns\n"); }// Same as in reco
  
  if(timeWindow > 1)
  {
    params->SetTimeMin(-1*timeWindow*1.e-9);
    params->SetTimeMax(timeWindow*1.e-9);
  }
  else
  {
    if(!bMC)
    {
      if(bRecalT)
      {
        params->SetTimeMin(-250*1.e-9);
        params->SetTimeMax( 250*1.e-9);
        printf("default time window for calibrated time -250 ns < T < 250 ns\n");
      }
      else
      {
        // same as in reco, USE IF NO TIME RECALIBRATION
        params->SetTimeMin(425*1.e-9);
        params->SetTimeMax(825*1.e-9);
        printf("default time window 425 ns < T < 825 ns\n");
      }
    }
    else
    {
      params->SetTimeMin(-100000000);
      params->SetTimeMax( 100000000);
      printf("open time cut\n");
    }
  }

  // Energy cuts
  params->SetClusteringThreshold(minEseed/1.e3);
  params->SetMinECut            (minEcell/1.e3); 

  // Clusterizer type
  if(name.Contains("V2")) params->SetClusterizerFlag(AliEMCALRecParam::kClusterizerv2);
  if(name.Contains("V1")) params->SetClusterizerFlag(AliEMCALRecParam::kClusterizerv1);
  if(name.Contains("NxN"))
  {
    params->SetClusterizerFlag(AliEMCALRecParam::kClusterizerNxN);
    printf("Set NxN cluster size to %dx%d (row diff %d, col diff %d)\n",2*nRowDiff+1,2*nColDiff+1,nRowDiff,nColDiff);
    params->SetNxM(nRowDiff, nColDiff);
  }

  //-------------------------------------------------------
  // Unfolding, 2 options :
  //-------------------------------------------------------

  //    1) Just unfold existing clusters
  if(name.Contains("JustUnfold"))
    clusterize->JustUnfold(kTRUE); // if TRUE, do just unfolding, do not recluster cells
  else  
    clusterize->JustUnfold(kFALSE); 

  //   2) Unfold clusters created in the clusterize (revise settings)
  if (name.Contains("Unfold"))
  {
    clusterize->SwitchOnCellEnergySelection();
    clusterize->SetCellCuts(minEUnf/1000.,minFrac/10000.);
    clusterize->SetRejectBelowThreshold(skipOrReject);
    printf("AliAnalysisTaskEMCALClusterize - Cuts: min E %f, frac %f\n",minEUnf/1000.,minFrac/10000.);
    //clusterize->SwitchOffCellEnergySelection(); 
    
    if(!name.Contains("Just"))
      params->SetUnfold(kTRUE);
    else 
      params->SetUnfold(kFALSE);
    
  } // unfold
  
  //-------------------------------------------------------
  // Configure AliEMCALRecoUtils
  //-------------------------------------------------------

  AliEMCALRecoUtils * reco = clusterize->GetRecoUtils();
  gROOT->LoadMacro("$ALICE_ROOT/PWGGA/EMCALTasks/macros/ConfigureEMCALRecoUtils.C"); // $ALICE_ROOT/PWGGA/EMCALTasks/macros
  ConfigureEMCALRecoUtils(reco,bMC,exotic,bNonLine,bRecalE,bBad,bRecalT);
  
  //-------------------------------------------------------
  // Alignment matrices
  //-------------------------------------------------------

  //clusterize->SetImportGeometryFromFile(kTRUE,"$ALICE_ROOT/OADB/EMCAL/geometry_2011.root"); // done automatically, set here to force

  clusterize->SwitchOnLoadOwnGeometryMatrices();
  
  //-------------------------------------------------------
  // Clusterize events with some significant signal
  //-------------------------------------------------------
  
  if(clusterEnergyCutEvent > 0)
  {
    clusterize->SwitchOnSelectEMCALEvent();
    clusterize->SetEMCALEnergyCut(clusterEnergyCutEvent);
    clusterize->SetEMCALNcellsCut(3);
  }
  else clusterize->SwitchOffSelectEMCALEvent();
  
  //-------------------------------------------------------
  // Cluster MC labels recalculation
  //-------------------------------------------------------
  
  if(bMC)
  {
    printf("Recalculate MC labels\n");
    clusterize->SwitchOnUseClusterMCLabelForCell(0) ; // Take the cell MC label as basis (only possible in recent productions)
    clusterize->SwitchOnRemapMCLabelForAODs()  ;      // Only in case 0, and for productions where the re-mapping of cell label in AODs was not done (productions before March 2013?)

    //clusterize->SwitchOnUseClusterMCLabelForCell(1) ; // Assign to each cell the same MC label as the original cluster to which it belonged
    //clusterize->SwitchOnUseClusterMCLabelForCell(2) ; // Find the original clusters that have the same cells as the new cluster,
                                                        // assign the labels of the original clusters to the new cluster.
                                                        // only interesting if output is V1
  
  }
  
  //-------------------------------------------------------
  // Trigger options
  //-------------------------------------------------------

  if(trigger=="EMC7")
  {
    printf("Clusterizing task trigger EMC7\n");
    clusterize->SelectCollisionCandidates(AliVEvent::kEMC7);
  }
  else if (trigger=="INT7")
  {
    printf("Clusterizing task trigger INT7\n");
    clusterize->SelectCollisionCandidates(AliVEvent::kINT7);
  }
  else if(trigger=="EMC1")
  {
    printf("Clusterizing task trigger EMC1\n");
    clusterize->SelectCollisionCandidates(AliVEvent::kEMC1);
  }
  else if(trigger=="MB")
  {
    printf("Clusterizing task trigger MB\n");
    clusterize->SelectCollisionCandidates(AliVEvent::kMB);
  }  
  else if(trigger=="PHOS")
  {
    printf("Clusterizing task trigger PHOS\n");
    clusterize->SelectCollisionCandidates(AliVEvent::kPHI7);
  }  
  else if(trigger=="PHOSPb")
  {
    printf("Clusterizing task trigger PHOSPb\n");
    clusterize->SelectCollisionCandidates(AliVEvent::kPHOSPb);
  }
  else if(trigger=="AnyINT")
  {
    printf("Clusterizing task trigger AnyINT\n");
    clusterize->SelectCollisionCandidates(AliVEvent::kAnyINT);
  }  
  else if(trigger=="INT")
  {
    printf("Clusterizing task trigger AnyINT\n");
    clusterize->SelectCollisionCandidates(AliVEvent::kAny);
  }
  else if(trigger=="EMCEGA")
  {
    printf("Clusterizing task trigger EMC Gamma\n");
    clusterize->SelectCollisionCandidates(AliVEvent::kEMCEGA);
  } 
  else if(trigger=="EMCEJE")
  {
    printf("Clusterizing task trigger EMC Jet\n");
    clusterize->SelectCollisionCandidates(AliVEvent::kEMCEJE);
  }
  else if(trigger=="Central")
  {
    printf("Clusterizing task trigger Central\n");
    clusterize->SelectCollisionCandidates(AliVEvent::kCentral);
  } 
  else if(trigger=="SemiCentral")
  {
    printf("Clusterizing task trigger SemiCentral\n");
    clusterize->SelectCollisionCandidates(AliVEvent::kSemiCentral);
  }
  
  // Set clusters branch name, make sure the analysis after this one reads this name
    
  //-------------------------------------------------------
  // Final settings, pass to manager and set the containers
  //-------------------------------------------------------

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