1 AliAnalysisTaskEMCALClusterizeFast* AddTaskClusterizerFast(
2 const char* taskname = "ClusterizerFast",
3 const char* cellsName = "",
4 const char* clusName = "",
5 UInt_t clusterizer = AliEMCALRecParam::kClusterizerv2,
8 const Float_t timeMin = -1, //minimum time of physical signal in a cell/digit (s)
9 const Float_t timeMax = +1, //maximum time of physical signal in a cell/digit (s)
10 const Float_t timeCut = 1, //maximum time difference between the digits inside EMC cluster (s)
11 Bool_t remExoticCell = kTRUE,
12 Bool_t calcDistToBC = kFALSE,
13 UInt_t inputCellType = AliAnalysisTaskEMCALClusterizeFast::kFEEData) {
15 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
17 ::Error("AddTaskClusterizerFast", "No analysis manager found.");
21 AliAnalysisTaskEMCALClusterizeFast *task = new AliAnalysisTaskEMCALClusterizeFast(taskname);
23 AliEMCALRecParam *recparam = task->GetRecParam();
24 recparam->SetClusterizerFlag(clusterizer);
25 recparam->SetMinECut(cellE);
26 recparam->SetClusteringThreshold(seedE);
28 recparam->SetTimeMin(timeMin);
29 recparam->SetTimeMax(timeMax);
30 recparam->SetTimeCut(timeCut);
32 if (clusterizer == AliEMCALRecParam::kClusterizerNxN) //MV: copied from tender. please check
33 recparam->SetNxM(3,3);
35 AliEMCALRecoUtils *recoUtils = new AliEMCALRecoUtils();
36 recoUtils->SetNonLinearityFunction(0);
37 task->SetEMCALRecoUtils(recoUtils);
39 task->SetAttachClusters(kTRUE);
40 task->SetCaloClustersName(clusName);
41 task->SetCaloCellsName(cellsName);
42 task->SetInputCellType(inputCellType);
43 Printf("inputCellType: %d",inputCellType);
45 task->SetClusterize(kTRUE);
47 task->SetClusterBadChannelCheck(kTRUE);
48 task->SetRejectExoticCells(remExoticCell);
49 task->SetRecalDistToBadChannels(calcDistToBC);
52 mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());