ROOT logo
AliAnalysisTaskEMCALClusterizeFast* AddTaskClusterizerFast(
  const char* taskname  = "ClusterizerFast",
  const char* cellsName = "",
  const char* clusName  = "",
  UInt_t clusterizer    = AliEMCALRecParam::kClusterizerv2,
  Double_t cellE        = 0.05,
  Double_t seedE        = 0.1,
  const Float_t timeMin = -1,      //minimum time of physical signal in a cell/digit (s)
  const Float_t timeMax = +1,      //maximum time of physical signal in a cell/digit (s)
  const Float_t timeCut =  1,      //maximum time difference between the digits inside EMC cluster (s)
  Bool_t remExoticCell  = kTRUE,
  Bool_t calcDistToBC   = kFALSE,
  UInt_t inputCellType  = AliAnalysisTaskEMCALClusterizeFast::kFEEData) {

  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  if (!mgr) {
    ::Error("AddTaskClusterizerFast", "No analysis manager found.");
    return 0;
  }
  
  AliAnalysisTaskEMCALClusterizeFast *task = new AliAnalysisTaskEMCALClusterizeFast(taskname);

  AliEMCALRecParam *recparam = task->GetRecParam();
  recparam->SetClusterizerFlag(clusterizer);
  recparam->SetMinECut(cellE);
  recparam->SetClusteringThreshold(seedE);
  recparam->SetW0(4.5);
  recparam->SetTimeMin(timeMin);
  recparam->SetTimeMax(timeMax);
  recparam->SetTimeCut(timeCut);

  if (clusterizer == AliEMCALRecParam::kClusterizerNxN)
    recparam->SetNxM(1,1); // -> (1,1) means 3x3!

  AliEMCALRecoUtils *recoUtils = new AliEMCALRecoUtils();
  recoUtils->SetNonLinearityFunction(0);
  task->SetEMCALRecoUtils(recoUtils);

  task->SetAttachClusters(kTRUE);
  task->SetCaloClustersName(clusName);
  task->SetCaloCellsName(cellsName);
  task->SetInputCellType(inputCellType);
  Printf("inputCellType: %d",inputCellType);

  task->SetClusterize(kTRUE);

  task->SetClusterBadChannelCheck(kTRUE);
  task->SetRejectExoticCells(remExoticCell);
  task->SetRecalDistToBadChannels(calcDistToBC);

  mgr->AddTask(task);
  mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
    
  return task;
}
 AddTaskClusterizerFast.C:1
 AddTaskClusterizerFast.C:2
 AddTaskClusterizerFast.C:3
 AddTaskClusterizerFast.C:4
 AddTaskClusterizerFast.C:5
 AddTaskClusterizerFast.C:6
 AddTaskClusterizerFast.C:7
 AddTaskClusterizerFast.C:8
 AddTaskClusterizerFast.C:9
 AddTaskClusterizerFast.C:10
 AddTaskClusterizerFast.C:11
 AddTaskClusterizerFast.C:12
 AddTaskClusterizerFast.C:13
 AddTaskClusterizerFast.C:14
 AddTaskClusterizerFast.C:15
 AddTaskClusterizerFast.C:16
 AddTaskClusterizerFast.C:17
 AddTaskClusterizerFast.C:18
 AddTaskClusterizerFast.C:19
 AddTaskClusterizerFast.C:20
 AddTaskClusterizerFast.C:21
 AddTaskClusterizerFast.C:22
 AddTaskClusterizerFast.C:23
 AddTaskClusterizerFast.C:24
 AddTaskClusterizerFast.C:25
 AddTaskClusterizerFast.C:26
 AddTaskClusterizerFast.C:27
 AddTaskClusterizerFast.C:28
 AddTaskClusterizerFast.C:29
 AddTaskClusterizerFast.C:30
 AddTaskClusterizerFast.C:31
 AddTaskClusterizerFast.C:32
 AddTaskClusterizerFast.C:33
 AddTaskClusterizerFast.C:34
 AddTaskClusterizerFast.C:35
 AddTaskClusterizerFast.C:36
 AddTaskClusterizerFast.C:37
 AddTaskClusterizerFast.C:38
 AddTaskClusterizerFast.C:39
 AddTaskClusterizerFast.C:40
 AddTaskClusterizerFast.C:41
 AddTaskClusterizerFast.C:42
 AddTaskClusterizerFast.C:43
 AddTaskClusterizerFast.C:44
 AddTaskClusterizerFast.C:45
 AddTaskClusterizerFast.C:46
 AddTaskClusterizerFast.C:47
 AddTaskClusterizerFast.C:48
 AddTaskClusterizerFast.C:49
 AddTaskClusterizerFast.C:50
 AddTaskClusterizerFast.C:51
 AddTaskClusterizerFast.C:52
 AddTaskClusterizerFast.C:53
 AddTaskClusterizerFast.C:54
 AddTaskClusterizerFast.C:55
 AddTaskClusterizerFast.C:56