AliAnalysisTaskSE* AddTaskPhotonPreparation(
const char* periodstr = "LHC11h",
const char* pTracksName = "PicoTracks",
const char* usedMCParticles = "MCParticlesSelected",
const char* usedClusters = "CaloClusters",
const UInt_t pSel = AliVEvent::kAny,
const Bool_t doHistos = kTRUE,
const Bool_t makePicoTracks = kTRUE,
const Bool_t makeTrigger = kTRUE,
const Bool_t isEmcalTrain = kFALSE,
const Double_t trackeff = 1.0,
const Bool_t doAODTrackProp = kTRUE,
const Bool_t modifyMatchObjs = kTRUE,
const Int_t iOutput = 1
)
{
printf("Preparing neutral cluster analysis\n");
// #### Define manager and data container names
AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
if (!mgr) {
Error("AddTaskNeutralCluster", "No analysis manager found.");
return NULL;
}
AliVEventHandler *evhand = mgr->GetInputEventHandler();
if (!evhand) {
Error("AddTasNeutralCluster", "This task requires an input event handler");
return NULL;
}
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";
if (0) {
gROOT->LoadMacro("$ALICE_ROOT/PWG/EMCAL/macros/AddTaskEmcalTrackPropagator.C");
cout<<"AddTaskEmcalTrackPropagator"<<endl;
AliEmcalTrackPropagatorTask *proptask = AddTaskEmcalTrackPropagator();
proptask->SelectCollisionCandidates(pSel);
}
//----------------------- Trigger Maker -----------------------------------------------------
if (makeTrigger) {
gROOT->LoadMacro("$ALICE_ROOT/PWG/EMCAL/macros/AddTaskEmcalTriggerMaker.C");
AliEmcalTriggerMaker *emcalTriggers = AddTaskEmcalTriggerMaker("EmcalTriggers");
cout<<"AddTaskEmcalTriggerMaker"<<endl;
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);
cout<<"AddTaskMatchingChain"<<endl;
//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->SelectCollisionCandidates(pSel);
}
printf("Creating container names for cluster analysis\n");
TString myContName("");
myContName = Form("Photon_Preperation");
gROOT->LoadMacro("$ALICE_ROOT/PWGGA/EMCALTasks/macros/AddTaskEMCALPhotonIsolation.C");
AliAnalysisTaskEMCALPhotonIsolation *task =AddTaskEMCALPhotonIsolation(emctracks,emcclusters,kTRUE, iOutput,kFALSE);
task->SelectCollisionCandidates(pSel);
if(isEmcalTrain)
RequestMemory(task,500*1024);
return task;
}
AddTaskPhotonPreparation.C:1 AddTaskPhotonPreparation.C:2 AddTaskPhotonPreparation.C:3 AddTaskPhotonPreparation.C:4 AddTaskPhotonPreparation.C:5 AddTaskPhotonPreparation.C:6 AddTaskPhotonPreparation.C:7 AddTaskPhotonPreparation.C:8 AddTaskPhotonPreparation.C:9 AddTaskPhotonPreparation.C:10 AddTaskPhotonPreparation.C:11 AddTaskPhotonPreparation.C:12 AddTaskPhotonPreparation.C:13 AddTaskPhotonPreparation.C:14 AddTaskPhotonPreparation.C:15 AddTaskPhotonPreparation.C:16 AddTaskPhotonPreparation.C:17 AddTaskPhotonPreparation.C:18 AddTaskPhotonPreparation.C:19 AddTaskPhotonPreparation.C:20 AddTaskPhotonPreparation.C:21 AddTaskPhotonPreparation.C:22 AddTaskPhotonPreparation.C:23 AddTaskPhotonPreparation.C:24 AddTaskPhotonPreparation.C:25 AddTaskPhotonPreparation.C:26 AddTaskPhotonPreparation.C:27 AddTaskPhotonPreparation.C:28 AddTaskPhotonPreparation.C:29 AddTaskPhotonPreparation.C:30 AddTaskPhotonPreparation.C:31 AddTaskPhotonPreparation.C:32 AddTaskPhotonPreparation.C:33 AddTaskPhotonPreparation.C:34 AddTaskPhotonPreparation.C:35 AddTaskPhotonPreparation.C:36 AddTaskPhotonPreparation.C:37 AddTaskPhotonPreparation.C:38 AddTaskPhotonPreparation.C:39 AddTaskPhotonPreparation.C:40 AddTaskPhotonPreparation.C:41 AddTaskPhotonPreparation.C:42 AddTaskPhotonPreparation.C:43 AddTaskPhotonPreparation.C:44 AddTaskPhotonPreparation.C:45 AddTaskPhotonPreparation.C:46 AddTaskPhotonPreparation.C:47 AddTaskPhotonPreparation.C:48 AddTaskPhotonPreparation.C:49 AddTaskPhotonPreparation.C:50 AddTaskPhotonPreparation.C:51 AddTaskPhotonPreparation.C:52 AddTaskPhotonPreparation.C:53 AddTaskPhotonPreparation.C:54 AddTaskPhotonPreparation.C:55 AddTaskPhotonPreparation.C:56 AddTaskPhotonPreparation.C:57 AddTaskPhotonPreparation.C:58 AddTaskPhotonPreparation.C:59 AddTaskPhotonPreparation.C:60 AddTaskPhotonPreparation.C:61 AddTaskPhotonPreparation.C:62 AddTaskPhotonPreparation.C:63 AddTaskPhotonPreparation.C:64 AddTaskPhotonPreparation.C:65 AddTaskPhotonPreparation.C:66 AddTaskPhotonPreparation.C:67 AddTaskPhotonPreparation.C:68 AddTaskPhotonPreparation.C:69 AddTaskPhotonPreparation.C:70 AddTaskPhotonPreparation.C:71 AddTaskPhotonPreparation.C:72 AddTaskPhotonPreparation.C:73 AddTaskPhotonPreparation.C:74 AddTaskPhotonPreparation.C:75 AddTaskPhotonPreparation.C:76 AddTaskPhotonPreparation.C:77 AddTaskPhotonPreparation.C:78 AddTaskPhotonPreparation.C:79 AddTaskPhotonPreparation.C:80 AddTaskPhotonPreparation.C:81 AddTaskPhotonPreparation.C:82 AddTaskPhotonPreparation.C:83 AddTaskPhotonPreparation.C:84 AddTaskPhotonPreparation.C:85 AddTaskPhotonPreparation.C:86 AddTaskPhotonPreparation.C:87 AddTaskPhotonPreparation.C:88 AddTaskPhotonPreparation.C:89 AddTaskPhotonPreparation.C:90 AddTaskPhotonPreparation.C:91 AddTaskPhotonPreparation.C:92 AddTaskPhotonPreparation.C:93 AddTaskPhotonPreparation.C:94 AddTaskPhotonPreparation.C:95 AddTaskPhotonPreparation.C:96 AddTaskPhotonPreparation.C:97 AddTaskPhotonPreparation.C:98 AddTaskPhotonPreparation.C:99 AddTaskPhotonPreparation.C:100