1 // $Id: AliAnalysisTaskEMCALPi0CalibSelection 56196 2012-05-03 20:53:20Z gconesab $
3 AliAnalysisTaskEMCALPi0CalibSelection * AddTaskEMCALPi0Calibration(TString outputFile = "", // AnalysisResults.root
4 TString trigger ="CEMC7",
5 Bool_t recalE = kFALSE,
6 Bool_t recalT = kFALSE,
11 // Get the pointer to the existing analysis manager via the static access method.
12 //==============================================================================
13 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
16 ::Error("AddTaskEMCALTriggerQA", "No analysis manager to connect to.");
20 // Check the analysis type using the event handlers connected to the analysis manager.
21 //==============================================================================
22 if (!mgr->GetInputEventHandler())
24 ::Error("AddTaskEMCALPi0Calibration", "This task requires an input event handler");
29 // Create containers for input/output
30 AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer();
32 AliAnalysisTaskEMCALPi0CalibSelection * pi0calib = new AliAnalysisTaskEMCALPi0CalibSelection ("EMCALPi0Calibration");
33 pi0calib->SelectCollisionCandidates();
34 //pi0calib->SetDebugLevel(10);
35 //pi0calib->UseFilteredEventAsInput();
36 pi0calib->SetClusterMinEnergy(0.3);
37 pi0calib->SetClusterMaxEnergy(10.);
38 pi0calib->SetClusterLambda0Cuts(0.1,0.5);
39 pi0calib->SetAsymmetryCut(1.);
40 pi0calib->SetClusterMinNCells(1);
41 pi0calib->SetNCellsGroup(0);
42 pi0calib->SwitchOnSameSM();
43 pi0calib->SetPairDTimeCut(40);
44 pi0calib->SetClusterMinTime(560);
45 pi0calib->SetClusterMaxTime(610);
47 pi0calib->SetTriggerName(trigger);
49 // Cluster recalculation, Reco Utils configuration
51 pi0calib->SwitchOnClusterCorrection();
54 AliEMCALRecoUtils * reco = pi0calib->GetEMCALRecoUtils();
56 gROOT->LoadMacro("$ALICE_ROOT/PWGGA/EMCALTasks/macros/ConfigureEMCALRecoUtils.C");
58 ConfigureEMCALRecoUtils(reco,
66 reco->SetNumberOfCellsFromEMCALBorder(1);
70 //cu->SwitchOnEMCALOADB();
73 //---------------------
75 //---------------------
77 //pi0calib->SetGeometryName("EMCAL_COMPLETE12SMV1");
78 pi0calib->SetGeometryName("EMCAL_COMPLETEV1");
80 pi0calib->SwitchOffLoadOwnGeometryMatrices();
83 //---------------------
85 //---------------------
89 reco->SwitchOnRecalibration();
90 TFile * f = new TFile("RecalibrationFactors.root","read");
91 for(Int_t ism = 0; ism < 12; ism++)
93 TH2F * h = (TH2F*)f->Get("EMCALRecalFactors_SM0");
94 reco->SetEMCALChannelRecalibrationFactors(0,h);
98 pi0calib->PrintInfo();
100 mgr->AddTask(pi0calib);
102 if(outputFile.Length()==0) outputFile = AliAnalysisManager::GetCommonFileName();
104 AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer();
105 AliAnalysisDataContainer *coutput = mgr->CreateContainer(Form("Pi0Calibration_Trig%s",trigger.Data()),
106 TList::Class(), AliAnalysisManager::kOutputContainer,
109 AliAnalysisDataContainer *cout_cuts = mgr->CreateContainer(Form("ParamsPi0Calibration_Trig%s",trigger.Data()),
110 TList::Class(), AliAnalysisManager::kOutputContainer,
111 "AnalysisParameters.root");
113 mgr->AddTask(pi0calib);
115 mgr->ConnectInput (pi0calib, 0, cinput1);
116 mgr->ConnectOutput (pi0calib, 1, coutput);
117 mgr->ConnectOutput (pi0calib, 2, cout_cuts);