// $Id$
AliAnalysisTaskSE* AddTaskJetPreparation(
const char* periodstr = "LHC11h",
const char* pTracksName = "PicoTracks",
const char* usedMCParticles = "MCParticlesSelected",
const char* usedClusters = "CaloClusters",
const char* outClusName = "CaloClustersCorr",
Double_t hadcorr = 2.0,
Double_t Eexcl = 0.00,
Double_t phiMatch = 0.03,
Double_t etaMatch = 0.015,
Double_t minPtEt = 0.15,
UInt_t pSel = AliVEvent::kAny,
Bool_t trackclus = kTRUE,
Bool_t doHistos = kFALSE,
Bool_t makePicoTracks = kTRUE,
Bool_t makeTrigger = kTRUE,
Bool_t isEmcalTrain = kFALSE,
Double_t trackeff = 1.0,
Bool_t doAODTrackProp = kTRUE,
Bool_t modifyMatchObjs = kTRUE,
Bool_t doTriggerQA = kFALSE
)
{
// Add task macros for all jet related helper tasks.
AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
if (!mgr)
{
Error("AddTaskJetPreparation","No analysis manager found.");
return NULL;
}
AliVEventHandler *evhand = mgr->GetInputEventHandler();
if (!evhand) {
Error("AddTaskJetPreparation", "This task requires an input event handler");
return NULL;
}
// Set trackcuts according to period. Every period used should be defined here
TString period(periodstr);
TString clusterColName(usedClusters);
TString particleColName(usedMCParticles);
TString picoTracksName(pTracksName);
TString dType("ESD");
if (!evhand->InheritsFrom("AliESDInputHandler"))
dType = "AOD";
if ((dType == "AOD") && (clusterColName == "CaloClusters"))
clusterColName = "caloClusters";
if ((dType == "ESD") && (clusterColName == "caloClusters"))
clusterColName = "CaloClusters";
//----------------------- Trigger Maker -----------------------------------------------------
if (makeTrigger) {
gROOT->LoadMacro("$ALICE_ROOT/PWG/EMCAL/macros/AddTaskEmcalTriggerMakerJSON.C");
AliEMCALConfiguration emctriggerconf("triggerMakerConf");
emctriggerconf.AddParam("doQA", new AliJSONBool(doTriggerQA));
AliEmcalTriggerMaker *emcalTriggers = AddTaskEmcalTriggerMakerJSON(emctriggerconf.CreateJSONString());
emcalTriggers->SelectCollisionCandidates(pSel);
}
//----------------------- Track Matching tasks -----------------------------------------------------
gROOT->LoadMacro("$ALICE_ROOT/PWG/EMCAL/macros/AddTaskMatchingChain.C");
AliEmcalClusTrackMatcherTask *emcalClus = AddTaskMatchingChain(periodstr,pSel,
clusterColName,
trackeff,doAODTrackProp,
0.1,modifyMatchObjs,doHistos);
//hard coded names of AliEmcalParticle strings to coincide with AddTaskClusTrackMatching
TString inputTracks = "AODFilterTracks";
if (dType == "ESD") inputTracks = "ESDFilterTracks";
TString emctracks = Form("EmcalTracks_%s",inputTracks.Data());
TString emcclusters = Form("EmcalClusters_%s",clusterColName.Data());
Printf("1-- inputTracks: %s, emcclusters: %s, emctracks: %s",inputTracks.Data(),emcclusters.Data(),emctracks.Data());
if(makePicoTracks) {
//----------------------- Produce PicoTracks -----------------------------------------------------
gROOT->LoadMacro("$ALICE_ROOT/PWG/EMCAL/macros/AddTaskEmcalPicoTrackMaker.C");
AliEmcalPicoTrackMaker *pTrackTask = AddTaskEmcalPicoTrackMaker(picoTracksName, inputTracks);
// pTrackTask->SetTrackEfficiency(trackeff); //now done in Esd/AodFilter
pTrackTask->SelectCollisionCandidates(pSel);
}
//----------------------- Hadronic Correction -----------------------------------------------------
gROOT->LoadMacro("$ALICE_ROOT/PWG/EMCAL/macros/AddTaskHadCorr.C");
AliHadCorrTask *hCorr = AddTaskHadCorr(emctracks,emcclusters,outClusName,hadcorr,
minPtEt,phiMatch,etaMatch,Eexcl,trackclus,doHistos);
hCorr->SelectCollisionCandidates(pSel);
if (isEmcalTrain) {
if (doHistos)
RequestMemory(hCorr,500*1024);
}
// Produce MC particles
if(particleColName != "") {
gROOT->LoadMacro("$ALICE_ROOT/PWG/EMCAL/macros/AddTaskMCTrackSelector.C");
AliEmcalMCTrackSelector *mcPartTask = AddTaskMCTrackSelector(particleColName, kFALSE, kFALSE);
mcPartTask->SelectCollisionCandidates(pSel);
}
// Return one task that represents the jet preparation on LEGO trains
return hCorr;
}
AddTaskJetPreparationJSON.C:1 AddTaskJetPreparationJSON.C:2 AddTaskJetPreparationJSON.C:3 AddTaskJetPreparationJSON.C:4 AddTaskJetPreparationJSON.C:5 AddTaskJetPreparationJSON.C:6 AddTaskJetPreparationJSON.C:7 AddTaskJetPreparationJSON.C:8 AddTaskJetPreparationJSON.C:9 AddTaskJetPreparationJSON.C:10 AddTaskJetPreparationJSON.C:11 AddTaskJetPreparationJSON.C:12 AddTaskJetPreparationJSON.C:13 AddTaskJetPreparationJSON.C:14 AddTaskJetPreparationJSON.C:15 AddTaskJetPreparationJSON.C:16 AddTaskJetPreparationJSON.C:17 AddTaskJetPreparationJSON.C:18 AddTaskJetPreparationJSON.C:19 AddTaskJetPreparationJSON.C:20 AddTaskJetPreparationJSON.C:21 AddTaskJetPreparationJSON.C:22 AddTaskJetPreparationJSON.C:23 AddTaskJetPreparationJSON.C:24 AddTaskJetPreparationJSON.C:25 AddTaskJetPreparationJSON.C:26 AddTaskJetPreparationJSON.C:27 AddTaskJetPreparationJSON.C:28 AddTaskJetPreparationJSON.C:29 AddTaskJetPreparationJSON.C:30 AddTaskJetPreparationJSON.C:31 AddTaskJetPreparationJSON.C:32 AddTaskJetPreparationJSON.C:33 AddTaskJetPreparationJSON.C:34 AddTaskJetPreparationJSON.C:35 AddTaskJetPreparationJSON.C:36 AddTaskJetPreparationJSON.C:37 AddTaskJetPreparationJSON.C:38 AddTaskJetPreparationJSON.C:39 AddTaskJetPreparationJSON.C:40 AddTaskJetPreparationJSON.C:41 AddTaskJetPreparationJSON.C:42 AddTaskJetPreparationJSON.C:43 AddTaskJetPreparationJSON.C:44 AddTaskJetPreparationJSON.C:45 AddTaskJetPreparationJSON.C:46 AddTaskJetPreparationJSON.C:47 AddTaskJetPreparationJSON.C:48 AddTaskJetPreparationJSON.C:49 AddTaskJetPreparationJSON.C:50 AddTaskJetPreparationJSON.C:51 AddTaskJetPreparationJSON.C:52 AddTaskJetPreparationJSON.C:53 AddTaskJetPreparationJSON.C:54 AddTaskJetPreparationJSON.C:55 AddTaskJetPreparationJSON.C:56 AddTaskJetPreparationJSON.C:57 AddTaskJetPreparationJSON.C:58 AddTaskJetPreparationJSON.C:59 AddTaskJetPreparationJSON.C:60 AddTaskJetPreparationJSON.C:61 AddTaskJetPreparationJSON.C:62 AddTaskJetPreparationJSON.C:63 AddTaskJetPreparationJSON.C:64 AddTaskJetPreparationJSON.C:65 AddTaskJetPreparationJSON.C:66 AddTaskJetPreparationJSON.C:67 AddTaskJetPreparationJSON.C:68 AddTaskJetPreparationJSON.C:69 AddTaskJetPreparationJSON.C:70 AddTaskJetPreparationJSON.C:71 AddTaskJetPreparationJSON.C:72 AddTaskJetPreparationJSON.C:73 AddTaskJetPreparationJSON.C:74 AddTaskJetPreparationJSON.C:75 AddTaskJetPreparationJSON.C:76 AddTaskJetPreparationJSON.C:77 AddTaskJetPreparationJSON.C:78 AddTaskJetPreparationJSON.C:79 AddTaskJetPreparationJSON.C:80 AddTaskJetPreparationJSON.C:81 AddTaskJetPreparationJSON.C:82 AddTaskJetPreparationJSON.C:83 AddTaskJetPreparationJSON.C:84 AddTaskJetPreparationJSON.C:85 AddTaskJetPreparationJSON.C:86 AddTaskJetPreparationJSON.C:87 AddTaskJetPreparationJSON.C:88 AddTaskJetPreparationJSON.C:89 AddTaskJetPreparationJSON.C:90 AddTaskJetPreparationJSON.C:91 AddTaskJetPreparationJSON.C:92 AddTaskJetPreparationJSON.C:93 AddTaskJetPreparationJSON.C:94 AddTaskJetPreparationJSON.C:95 AddTaskJetPreparationJSON.C:96 AddTaskJetPreparationJSON.C:97 AddTaskJetPreparationJSON.C:98 AddTaskJetPreparationJSON.C:99 AddTaskJetPreparationJSON.C:100 AddTaskJetPreparationJSON.C:101 AddTaskJetPreparationJSON.C:102 AddTaskJetPreparationJSON.C:103 AddTaskJetPreparationJSON.C:104 AddTaskJetPreparationJSON.C:105