]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/EMCALJetTasks/macros/AddTaskHJetEmbedPYTHIA.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / macros / AddTaskHJetEmbedPYTHIA.C
CommitLineData
ee87a008 1AliAnalysisTaskHJetEmbed *AddTaskHJetEmbedPYTHIA(const TString period = "lhc11h",
2 const Bool_t runQA = kTRUE,
3 const Bool_t runHJet = kTRUE,
4 const Bool_t runMatch = kTRUE,
d7bbb2d3 5 const TString trackName = "PicoTracks",
6 const TString clusterName = "",
7 const TString mcName = "MCParticlesSelected",
ee87a008 8 const Double_t jetRadius = 0.4,
d7bbb2d3 9 const TString jetArrayPL = "",
10 const TString jetArrayDL = "",
11 const TString jetArray = "",
12 const TString rhoName = "",
3ec095a2 13 const Double_t minTTPt = 19, const Double_t maxTTPt = 25,
ee87a008 14 const Double_t minTrkPt = 0.15, const Double_t maxTrkPt = 1e4,
15 const Double_t minTrkEta = -0.9, const Double_t maxTrkEta = 0.9,
d7bbb2d3 16 const Double_t minTrkPhi = 0, const Double_t maxTrkPhi = 2*TMath::Pi()
17 )
ee87a008 18{
19
20 // Get the pointer to the existing analysis manager via the static access method.
21 //==============================================================================
22 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
23 if (!mgr)
24 {
25 ::Error("AddTaskHJetEmbedPYTHIA", "No analysis manager to connect to.");
26 return NULL;
27 }
28
29 // Check the analysis type using the event handlers connected to the analysis manager.
30 //==============================================================================
31 if (!mgr->GetInputEventHandler())
32 {
33 ::Error("AddTaskHJetEmbedPYTHIA", "This task requires an input event handler");
34 return NULL;
35 }
ee87a008 36
37 //Analyze
3ec095a2 38 AliAnalysisTaskHJetEmbed *taskEmbed = new AliAnalysisTaskHJetEmbed(Form("AnaEmbedPYTHIA_TT%1.0f%1.0f",minTTPt,maxTTPt));
ee87a008 39 taskEmbed->SetRunPeriod(period.Data());
d7bbb2d3 40 taskEmbed->SetTrkPtRange(minTrkPt, maxTrkPt);
41 taskEmbed->SetTrkPhiRange(minTrkPhi, maxTrkPhi);
42 taskEmbed->SetTrkEtaRange(minTrkEta, maxTrkEta);
3ec095a2 43 taskEmbed->SetTTRange(minTTPt,maxTTPt);
d7bbb2d3 44 taskEmbed->SetRadius(jetRadius);
45 taskEmbed->SetTrackArrName(trackName.Data());
46 taskEmbed->SetMCParticleArrName(mcName.Data());
47 taskEmbed->SetRhoName(rhoName.Data());
48 taskEmbed->SetJetArrName(jetArray.Data());
49 taskEmbed->SetPLJetArrName(jetArrayPL.Data());
50 taskEmbed->SetDLJetArrName(jetArrayDL.Data());
ee87a008 51 taskEmbed->SetRunQA(runQA);
52 taskEmbed->SetRunHJet(runHJet);
53 taskEmbed->SetRunMatch(runMatch);
54 if(period.Contains("lhc10h",TString::kIgnoreCase) || period.Contains("lhc11h",TString::kIgnoreCase))
55 taskEmbed->SetCollisionSystem("PbPb");
56 else
57 taskEmbed->SetCollisionSystem("pp");
3ec095a2 58
d7bbb2d3 59 if(period.Contains("lhc11h",TString::kIgnoreCase))
60 taskEmbed->SelectCollisionCandidates(AliVEvent::kAnyINT | AliVEvent::kCentral | AliVEvent::kSemiCentral);
3ec095a2 61
62 AliAnalysisDataContainer *coutput = mgr->CreateContainer(Form("EmbedPYTHIA_TT%1.0f%1.0f",minTTPt,maxTTPt),TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s", AliAnalysisManager::GetCommonFileName()));
ee87a008 63 mgr->ConnectInput(taskEmbed,0,mgr->GetCommonInputContainer());
64 mgr->ConnectOutput(taskEmbed,1,coutput);
3ec095a2 65
ee87a008 66 return taskEmbed;
67}