1 AliAnalysisTaskEmcalJetHF* AddTaskEmcalJetHF(
2 const char *outfilename = "AnalysisOutput.root",
3 const char *nJets = "Jets",
4 const char *nClusters = "CaloClustersCorr",
5 UInt_t type = 0, //AliAnalysisTaskEmcal::kTPC,
6 const char *nrho = "rhoChEm",
7 const Double_t minPhi = 1.8,
8 const Double_t maxPhi = 2.74,
9 const Double_t minEta = -0.3,
10 const Double_t maxEta = 0.3,
11 const Double_t minArea = 0.4,
12 const char *nPicoTracks = "PicoTracks",
13 const Double_t hiPTjet = 50.0,
14 const Double_t trptcut = 2.0,
15 const Double_t trketa = 0.9,
16 const Int_t trkQAcut = 10041006,
19 const char *typeDET = "EMCAL",
20 Double_t jetradius = 0.2,
21 Double_t jetptcut = 1,
22 Double_t jetareacut = 0.08,
23 Int_t leadhadtype = 0,
27 // Get the pointer to the existing analysis manager via the static access method.
28 //==============================================================================
29 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
32 ::Error("AddTaskEmcalJetHF", "No analysis manager to connect to.");
36 // Check the analysis type using the event handlers connected to the analysis manager.
37 //==============================================================================
38 AliVEventHandler *evhand = mgr->GetInputEventHandler();
39 //if (!mgr->GetInputEventHandler())
41 Error("AddTaskEmcalJetHadEPpid", "This task requires an input event handler");
45 // check on type of event
47 if (!evhand->InheritsFrom("AliESDInputHandler"))
49 if (dType == "AOD") nTracks = "AODFilterTracks";
50 if (dType == "ESD") nTracks = "ESDFilterTracks";
53 AliESDtrackCuts *esdTrackCuts = 0x0;
54 gROOT->LoadMacro("$ALICE_ROOT/PWGJE/macros/CreateTrackCutsPWGJE.C");
55 esdTrackCuts = CreateTrackCutsPWGJE(trkQAcut);
60 //-------------------------------------------------------
61 // Init the task and do settings
62 //-------------------------------------------------------
64 // TString name(Form("Spectra_%s", nJets));
65 TString name(Form("Spectra_%s_%s%s", nJets, nrho, tag));
66 AliAnalysisTaskEmcalJetHF *spectratask = new AliAnalysisTaskEmcalJetHF(name);
67 spectratask->SetJetsName(nJets);
68 spectratask->SetClusName(nClusters);
69 spectratask->SetAnaType(type);
70 spectratask->SetRhoName(nrho);
71 spectratask->SetJetPhi(minPhi,maxPhi);
72 spectratask->SetJetEta(minEta,maxEta);
73 spectratask->SetJetAreaCut(minArea);
74 spectratask->SetTracksName(nTracks);
75 spectratask->SetJetPt(hiPTjet);
76 spectratask->SetTrackPtCut(trptcut);
77 spectratask->SetTrackEta(trketa);
78 spectratask->SetTrackQACut(trkQAcut);
79 spectratask->SetGlobalQA(GlobalQA);
80 spectratask->SetTrackCuts(esdTrackCuts);
81 //spectratask->SetDataType(isESD);
83 // =================== set up containers ================================================
86 AliParticleContainer *trackCont = spectratask->AddParticleContainer(nTracks);
88 trackCont->SetClassName("AliVTrack");
89 trackCont->SetParticleEtaLimits(-0.9,0.9);
90 trackCont->SetParticlePhiLimits(1.4,3.2);
93 AliClusterContainer *clusterCont = spectratask->AddClusterContainer(nClusters);
95 AliParticleContainer *trackJetCont = spectratask->AddParticleContainer(nTracks);
97 trackJetCont->SetClassName("AliVTrack");
98 trackJetCont->SetParticleEtaLimits(-0.9,0.9);
99 //trackJetCont->SetParticlePhiLimits(1.4,3.2);
102 AliClusterContainer *clusterJetCont = spectratask->AddClusterContainer(nClusters);
105 TString strType(typeDET);
106 AliJetContainer *jetCont = spectratask->AddJetContainer(nJets,strType,jetradius);
108 jetCont->SetRhoName(nrho);
109 jetCont->ConnectParticleContainer(trackJetCont);
110 jetCont->ConnectClusterContainer(clusterJetCont);
111 //jetCont->ConnectParticleContainer(trackCont);
112 //jetCont->ConnectClusterContainer(clusterCont);
113 //jetCont->SetZLeadingCut(0.98,0.98);
114 jetCont->SetPercAreaCut(jetareacut); // 0.6
115 jetCont->SetJetPtCut(jetptcut);
116 //jetCont->SetLeadingHadronType(leadhadtype);
119 //-------------------------------------------------------
120 // Final settings, pass to manager and set the containers
121 //-------------------------------------------------------
123 mgr->AddTask(spectratask);
125 // Create containers for input/output
126 mgr->ConnectInput (spectratask, 0, mgr->GetCommonInputContainer() );
127 AliAnalysisDataContainer *cospectra = mgr->CreateContainer(name,
129 AliAnalysisManager::kOutputContainer,
131 mgr->ConnectOutput(spectratask,1,cospectra);