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