// $Id: AliAnalysisTaskEMCALPi0CalibSelection 56196 2012-05-03 20:53:20Z gconesab $
AliAnalysisTaskEMCALPi0CalibSelection * AddTaskEMCALPi0Calibration(TString outputFile = "", // AnalysisResults.root
TString trigger ="CEMC7",
Bool_t recalE = kFALSE,
Bool_t recalT = kFALSE,
Bool_t rmBad = kFALSE,
Bool_t nonlin = kTRUE,
Bool_t simu = kFALSE)
{
// Get the pointer to the existing analysis manager via the static access method.
//==============================================================================
AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
if (!mgr)
{
::Error("AddTaskEMCALTriggerQA", "No analysis manager to connect to.");
return NULL;
}
// Check the analysis type using the event handlers connected to the analysis manager.
//==============================================================================
if (!mgr->GetInputEventHandler())
{
::Error("AddTaskEMCALPi0Calibration", "This task requires an input event handler");
return NULL;
}
// Create containers for input/output
AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer();
AliAnalysisTaskEMCALPi0CalibSelection * pi0calib = new AliAnalysisTaskEMCALPi0CalibSelection ("EMCALPi0Calibration");
//pi0calib->SetDebugLevel(10);
//pi0calib->UseFilteredEventAsInput();
pi0calib->SetClusterMinEnergy(0.3);
pi0calib->SetClusterMaxEnergy(10.);
pi0calib->SetClusterLambda0Cuts(0.1,0.5);
pi0calib->SetAsymmetryCut(1.);
pi0calib->SetClusterMinNCells(1);
pi0calib->SetNCellsGroup(0);
pi0calib->SwitchOnSameSM();
pi0calib->SetPairDTimeCut(20);
pi0calib->SetClusterMinTime(560);
pi0calib->SetClusterMaxTime(610);
pi0calib->SetTriggerName(trigger);
// Cluster recalculation, Reco Utils configuration
AliEMCALRecoUtils * reco = pi0calib->GetEMCALRecoUtils();
gROOT->LoadMacro("$ALICE_ROOT/PWGGA/EMCALTasks/macros/ConfigureEMCALRecoUtils.C");
ConfigureEMCALRecoUtils(reco,
simu,
kTRUE, // exotic
nonlin,
recalE,
rmBad,
recalT);
reco->SetNumberOfCellsFromEMCALBorder(0); // Do not remove clusters in borders!
// recalibrate energy and do corrections because of Temperature corrections
pi0calib->SwitchOnClusterCorrection();
reco->SwitchOnRecalibration();
reco->SwitchOnRunDepCorrection();
//reco->Print("");
//---------------------
// Geometry alignment
//---------------------
//pi0calib->SetGeometryName("EMCAL_COMPLETE12SMV1");
pi0calib->SetGeometryName("EMCAL_COMPLETEV1");
pi0calib->SwitchOnLoadOwnGeometryMatrices();
//---------------------
// Recalibration
//---------------------
if(recalE)
{
TFile * f = new TFile("RecalibrationFactors.root","read");
for(Int_t ism = 0; ism < 12; ism++)
{
TH2F * h = (TH2F*)f->Get("EMCALRecalFactors_SM0");
reco->SetEMCALChannelRecalibrationFactors(0,h);
}
}
pi0calib->PrintInfo();
mgr->AddTask(pi0calib);
if(outputFile.Length()==0) outputFile = AliAnalysisManager::GetCommonFileName();
AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer();
AliAnalysisDataContainer *coutput = mgr->CreateContainer(Form("Pi0Calibration_Trig%s",trigger.Data()),
TList::Class(), AliAnalysisManager::kOutputContainer,
outputFile.Data());
AliAnalysisDataContainer *cout_cuts = mgr->CreateContainer(Form("ParamsPi0Calibration_Trig%s",trigger.Data()),
TList::Class(), AliAnalysisManager::kOutputContainer,
"AnalysisParameters.root");
mgr->AddTask(pi0calib);
mgr->ConnectInput (pi0calib, 0, cinput1);
mgr->ConnectOutput (pi0calib, 1, coutput);
mgr->ConnectOutput (pi0calib, 2, cout_cuts);
return pi0calib;
}
AddTaskEMCALPi0Calibration.C:1 AddTaskEMCALPi0Calibration.C:2 AddTaskEMCALPi0Calibration.C:3 AddTaskEMCALPi0Calibration.C:4 AddTaskEMCALPi0Calibration.C:5 AddTaskEMCALPi0Calibration.C:6 AddTaskEMCALPi0Calibration.C:7 AddTaskEMCALPi0Calibration.C:8 AddTaskEMCALPi0Calibration.C:9 AddTaskEMCALPi0Calibration.C:10 AddTaskEMCALPi0Calibration.C:11 AddTaskEMCALPi0Calibration.C:12 AddTaskEMCALPi0Calibration.C:13 AddTaskEMCALPi0Calibration.C:14 AddTaskEMCALPi0Calibration.C:15 AddTaskEMCALPi0Calibration.C:16 AddTaskEMCALPi0Calibration.C:17 AddTaskEMCALPi0Calibration.C:18 AddTaskEMCALPi0Calibration.C:19 AddTaskEMCALPi0Calibration.C:20 AddTaskEMCALPi0Calibration.C:21 AddTaskEMCALPi0Calibration.C:22 AddTaskEMCALPi0Calibration.C:23 AddTaskEMCALPi0Calibration.C:24 AddTaskEMCALPi0Calibration.C:25 AddTaskEMCALPi0Calibration.C:26 AddTaskEMCALPi0Calibration.C:27 AddTaskEMCALPi0Calibration.C:28 AddTaskEMCALPi0Calibration.C:29 AddTaskEMCALPi0Calibration.C:30 AddTaskEMCALPi0Calibration.C:31 AddTaskEMCALPi0Calibration.C:32 AddTaskEMCALPi0Calibration.C:33 AddTaskEMCALPi0Calibration.C:34 AddTaskEMCALPi0Calibration.C:35 AddTaskEMCALPi0Calibration.C:36 AddTaskEMCALPi0Calibration.C:37 AddTaskEMCALPi0Calibration.C:38 AddTaskEMCALPi0Calibration.C:39 AddTaskEMCALPi0Calibration.C:40 AddTaskEMCALPi0Calibration.C:41 AddTaskEMCALPi0Calibration.C:42 AddTaskEMCALPi0Calibration.C:43 AddTaskEMCALPi0Calibration.C:44 AddTaskEMCALPi0Calibration.C:45 AddTaskEMCALPi0Calibration.C:46 AddTaskEMCALPi0Calibration.C:47 AddTaskEMCALPi0Calibration.C:48 AddTaskEMCALPi0Calibration.C:49 AddTaskEMCALPi0Calibration.C:50 AddTaskEMCALPi0Calibration.C:51 AddTaskEMCALPi0Calibration.C:52 AddTaskEMCALPi0Calibration.C:53 AddTaskEMCALPi0Calibration.C:54 AddTaskEMCALPi0Calibration.C:55 AddTaskEMCALPi0Calibration.C:56 AddTaskEMCALPi0Calibration.C:57 AddTaskEMCALPi0Calibration.C:58 AddTaskEMCALPi0Calibration.C:59 AddTaskEMCALPi0Calibration.C:60 AddTaskEMCALPi0Calibration.C:61 AddTaskEMCALPi0Calibration.C:62 AddTaskEMCALPi0Calibration.C:63 AddTaskEMCALPi0Calibration.C:64 AddTaskEMCALPi0Calibration.C:65 AddTaskEMCALPi0Calibration.C:66 AddTaskEMCALPi0Calibration.C:67 AddTaskEMCALPi0Calibration.C:68 AddTaskEMCALPi0Calibration.C:69 AddTaskEMCALPi0Calibration.C:70 AddTaskEMCALPi0Calibration.C:71 AddTaskEMCALPi0Calibration.C:72 AddTaskEMCALPi0Calibration.C:73 AddTaskEMCALPi0Calibration.C:74 AddTaskEMCALPi0Calibration.C:75 AddTaskEMCALPi0Calibration.C:76 AddTaskEMCALPi0Calibration.C:77 AddTaskEMCALPi0Calibration.C:78 AddTaskEMCALPi0Calibration.C:79 AddTaskEMCALPi0Calibration.C:80 AddTaskEMCALPi0Calibration.C:81 AddTaskEMCALPi0Calibration.C:82 AddTaskEMCALPi0Calibration.C:83 AddTaskEMCALPi0Calibration.C:84 AddTaskEMCALPi0Calibration.C:85 AddTaskEMCALPi0Calibration.C:86 AddTaskEMCALPi0Calibration.C:87 AddTaskEMCALPi0Calibration.C:88 AddTaskEMCALPi0Calibration.C:89 AddTaskEMCALPi0Calibration.C:90 AddTaskEMCALPi0Calibration.C:91 AddTaskEMCALPi0Calibration.C:92 AddTaskEMCALPi0Calibration.C:93 AddTaskEMCALPi0Calibration.C:94 AddTaskEMCALPi0Calibration.C:95 AddTaskEMCALPi0Calibration.C:96 AddTaskEMCALPi0Calibration.C:97 AddTaskEMCALPi0Calibration.C:98 AddTaskEMCALPi0Calibration.C:99 AddTaskEMCALPi0Calibration.C:100 AddTaskEMCALPi0Calibration.C:101 AddTaskEMCALPi0Calibration.C:102 AddTaskEMCALPi0Calibration.C:103 AddTaskEMCALPi0Calibration.C:104 AddTaskEMCALPi0Calibration.C:105 AddTaskEMCALPi0Calibration.C:106 AddTaskEMCALPi0Calibration.C:107 AddTaskEMCALPi0Calibration.C:108 AddTaskEMCALPi0Calibration.C:109 AddTaskEMCALPi0Calibration.C:110 AddTaskEMCALPi0Calibration.C:111 AddTaskEMCALPi0Calibration.C:112 AddTaskEMCALPi0Calibration.C:113 AddTaskEMCALPi0Calibration.C:114 AddTaskEMCALPi0Calibration.C:115 AddTaskEMCALPi0Calibration.C:116 AddTaskEMCALPi0Calibration.C:117 AddTaskEMCALPi0Calibration.C:118 AddTaskEMCALPi0Calibration.C:119