]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG/EMCAL/macros/AddTaskClusterizerFast.C
add minimum seed energy, weight for cluster center of gravity, NxN setting, turn...
[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 inputCellType  = AliAnalysisTaskEMCALClusterizeFast::kFEEData,
6   UInt_t clusterizer    = AliEMCALRecParam::kClusterizerv2,
7   Double_t seedE        = 0.1,
8   Double_t cellE        = 0.05,
9   Bool_t calcDistToBC   = kFALSE) {
10
11   return AddTaskClusterizerFast(taskname,cellsName,clusName,inputCellType,clusterizer,kFALSE,0,calcDistToBC,kFALSE,kFALSE,kFALSE,kFALSE,kFALSE,cellE,seedE);
12
13 }
14
15 AliAnalysisTaskEMCALClusterizeFast* AddTaskClusterizerFast(
16   const char* taskname  = "ClusterizerFast",
17   const char* cellsName = "",
18   const char* clusName  = "",
19   UInt_t inputCellType  = AliAnalysisTaskEMCALClusterizeFast::kFEEData,
20   UInt_t clusterizer    = AliEMCALRecParam::kClusterizerv2,
21   Bool_t nonLinearCorr  = kFALSE,                                   //MV: remove
22   UInt_t nonLinFunct    = AliEMCALRecoUtils::kBeamTestCorrected,    //MV: remove
23   Bool_t calcDistToBC   = kFALSE,                                   //MV: keep?
24   Bool_t remBC          = kFALSE,                                   //MV: remove
25   Bool_t remExotic      = kFALSE,                                   //MV: remove
26   Bool_t fidRegion      = kFALSE,                                   //MV: keep?
27   Bool_t updateCells    = kFALSE,                                   //MV: remove
28   Bool_t trackMatch     = kFALSE,                                   //MV: remove
29   Double_t cellE         = 0.05,                                    //minimum energy for cells to be clustered
30   Double_t seedE         = 0.1                                      //minimum energy for seed
31
32 {
33   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
34   if (!mgr) {
35     ::Error("AddTaskClusterizerFast", "No analysis manager found.");
36     return 0;
37   }
38   
39   AliAnalysisTaskEMCALClusterizeFast *task = new AliAnalysisTaskEMCALClusterizeFast(taskname);
40
41   AliEMCALRecParam *recparam = task->GetRecParam();
42   recparam->SetClusterizerFlag(clusterizer);
43   recparam->SetMinECut(cellE);
44   recparam->SetClusteringThreshold(seedE);
45   recparam->SetW0(4.5);
46   if (clusterizer == AliEMCALRecParam::kClusterizerNxN) //MV: copied from tender. please check
47     recparam->SetNxM(3,3);
48
49   AliEMCALRecoUtils *recoUtils = new AliEMCALRecoUtils();
50   recoUtils->SetNonLinearityFunction(nonLinFunct);
51   task->SetEMCALRecoUtils(recoUtils);
52
53   task->SetAttachClusters(kTRUE);
54   task->SetCaloClustersName(clusName);
55   task->SetCaloCellsName(cellsName);
56   task->SetInputCellType(inputCellType);
57   task->SetUpdateCells(updateCells);
58   task->SetClusterBadChannelCheck(remBC);
59   task->SetRejectExoticClusters(remExotic);
60   task->SetFiducial(fidRegion);
61   task->SetDoNonLinearity(nonLinearCorr);
62   task->SetRecalDistToBadChannels(calcDistToBC);
63
64   mgr->AddTask(task);
65   mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
66     
67   return task;
68 }