1 AliAnalysisTaskEmcalJetFlavourTagExample* AddTaskEmcalJetFlavourTagExample(
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,
17 const char *typeDET = "EMCAL",
18 Double_t jetradius = 0.2,
19 Double_t jetptcut = 1,
20 Double_t jetareacut = 0.08,
21 Int_t leadhadtype = 0,
25 // Get the pointer to the existing analysis manager via the static access method.
26 //==============================================================================
27 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
30 ::Error("AddTaskEmcalJetFlavourTagExample", "No analysis manager to connect to.");
34 // Check the analysis type using the event handlers connected to the analysis manager.
35 //==============================================================================
36 AliVEventHandler *evhand = mgr->GetInputEventHandler();
37 //if (!mgr->GetInputEventHandler())
39 Error("AddTaskEmcalJetHadEPpid", "This task requires an input event handler");
43 // check on type of event
45 if (!evhand->InheritsFrom("AliESDInputHandler"))
47 if (dType == "AOD") nTracks = "AODFilterTracks";
48 if (dType == "ESD") nTracks = "ESDFilterTracks";
51 AliESDtrackCuts *esdTrackCuts = 0x0;
52 gROOT->LoadMacro("$ALICE_ROOT/PWGJE/macros/CreateTrackCutsPWGJE.C");
58 //-------------------------------------------------------
59 // Init the task and do settings
60 //-------------------------------------------------------
62 // TString name(Form("Spectra_%s", nJets));
63 TString name(Form("Spectra_%s_%s%s", nJets, nrho, tag));
64 AliAnalysisTaskEmcalJetFlavourTagExample *spectratask = new AliAnalysisTaskEmcalJetFlavourTagExample(name);
65 spectratask->SetJetsName(nJets);
66 spectratask->SetClusName(nClusters);
67 spectratask->SetAnaType(type);
68 spectratask->SetRhoName(nrho);
69 spectratask->SetJetPhi(minPhi,maxPhi);
70 spectratask->SetJetEta(minEta,maxEta);
71 spectratask->SetJetAreaCut(minArea);
72 spectratask->SetTracksName(nTracks);
73 spectratask->SetJetPt(hiPTjet);
74 spectratask->SetTrackPtCut(trptcut);
75 spectratask->SetTrackEta(trketa);
76 spectratask->SetTrackCuts(esdTrackCuts);
77 //spectratask->SetDataType(isESD);
79 // =================== set up containers ================================================
82 AliParticleContainer *trackCont = spectratask->AddParticleContainer(nTracks);
84 trackCont->SetClassName("AliVTrack");
85 trackCont->SetParticleEtaLimits(-0.9,0.9);
86 trackCont->SetParticlePhiLimits(1.4,3.2);
89 AliClusterContainer *clusterCont = spectratask->AddClusterContainer(nClusters);
91 AliParticleContainer *trackJetCont = spectratask->AddParticleContainer(nTracks);
93 trackJetCont->SetClassName("AliVTrack");
94 trackJetCont->SetParticleEtaLimits(-0.9,0.9);
95 //trackJetCont->SetParticlePhiLimits(1.4,3.2);
98 AliClusterContainer *clusterJetCont = spectratask->AddClusterContainer(nClusters);
101 TString strType(typeDET);
102 AliJetContainer *jetCont = spectratask->AddJetContainer(nJets,strType,jetradius);
104 jetCont->SetRhoName(nrho);
105 jetCont->ConnectParticleContainer(trackJetCont);
106 jetCont->ConnectClusterContainer(clusterJetCont);
107 //jetCont->ConnectParticleContainer(trackCont);
108 //jetCont->ConnectClusterContainer(clusterCont);
109 //jetCont->SetZLeadingCut(0.98,0.98);
110 jetCont->SetPercAreaCut(jetareacut); // 0.6
111 jetCont->SetJetPtCut(jetptcut);
112 //jetCont->SetLeadingHadronType(leadhadtype);
115 //-------------------------------------------------------
116 // Final settings, pass to manager and set the containers
117 //-------------------------------------------------------
119 mgr->AddTask(spectratask);
121 // Create containers for input/output
122 mgr->ConnectInput (spectratask, 0, mgr->GetCommonInputContainer() );
123 AliAnalysisDataContainer *cospectra = mgr->CreateContainer(name,
125 AliAnalysisManager::kOutputContainer,
127 mgr->ConnectOutput(spectratask,1,cospectra);