]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG/EMCAL/macros/AddTaskClusterizerFast.C
Merge branch 'master' into flatdev
[u/mrichter/AliRoot.git] / PWG / EMCAL / macros / AddTaskClusterizerFast.C
1 AliAnalysisTaskEMCALClusterizeFast* AddTaskClusterizerFast(
2   const char* taskname  = "ClusterizerFast",
3   const char* cellsName = "",
4   const char* clusName  = "",
5   UInt_t clusterizer    = AliEMCALRecParam::kClusterizerv2,
6   Double_t cellE        = 0.05,
7   Double_t seedE        = 0.1,
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) {
14
15   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
16   if (!mgr) {
17     ::Error("AddTaskClusterizerFast", "No analysis manager found.");
18     return 0;
19   }
20   
21   AliAnalysisTaskEMCALClusterizeFast *task = new AliAnalysisTaskEMCALClusterizeFast(taskname);
22
23   AliEMCALRecParam *recparam = task->GetRecParam();
24   recparam->SetClusterizerFlag(clusterizer);
25   recparam->SetMinECut(cellE);
26   recparam->SetClusteringThreshold(seedE);
27   recparam->SetW0(4.5);
28   recparam->SetTimeMin(timeMin);
29   recparam->SetTimeMax(timeMax);
30   recparam->SetTimeCut(timeCut);
31
32   if (clusterizer == AliEMCALRecParam::kClusterizerNxN)
33     recparam->SetNxM(1,1); // -> (1,1) means 3x3!
34
35   AliEMCALRecoUtils *recoUtils = new AliEMCALRecoUtils();
36   recoUtils->SetNonLinearityFunction(0);
37   task->SetEMCALRecoUtils(recoUtils);
38
39   task->SetAttachClusters(kTRUE);
40   task->SetCaloClustersName(clusName);
41   task->SetCaloCellsName(cellsName);
42   task->SetInputCellType(inputCellType);
43   Printf("inputCellType: %d",inputCellType);
44
45   task->SetClusterize(kTRUE);
46
47   task->SetClusterBadChannelCheck(kTRUE);
48   task->SetRejectExoticCells(remExoticCell);
49   task->SetRecalDistToBadChannels(calcDistToBC);
50
51   mgr->AddTask(task);
52   mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
53     
54   return task;
55 }