]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/EMCALJetTasks/macros/AddTaskHJetEmbedPYTHIA.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / macros / AddTaskHJetEmbedPYTHIA.C
1 AliAnalysisTaskHJetEmbed *AddTaskHJetEmbedPYTHIA(const TString period      = "lhc11h",
2                                                  const Bool_t runQA        = kTRUE, 
3                                                  const Bool_t runHJet      = kTRUE,
4                                                  const Bool_t runMatch     = kTRUE,
5                                                  const TString trackName   = "PicoTracks",
6                                                  const TString clusterName = "",
7                                                  const TString mcName      = "MCParticlesSelected",
8                                                  const Double_t jetRadius  = 0.4,
9                                                  const TString jetArrayPL  = "",
10                                                  const TString jetArrayDL  = "",
11                                                  const TString jetArray    = "",
12                                                  const TString rhoName     = "",
13                                                  const Double_t minTTPt    = 19,   const Double_t maxTTPt   = 25,
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,
16                                                  const Double_t minTrkPhi  = 0,    const Double_t maxTrkPhi = 2*TMath::Pi()
17                                                  )
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   }
36   
37   //Analyze
38   AliAnalysisTaskHJetEmbed *taskEmbed = new AliAnalysisTaskHJetEmbed(Form("AnaEmbedPYTHIA_TT%1.0f%1.0f",minTTPt,maxTTPt));
39   taskEmbed->SetRunPeriod(period.Data());
40   taskEmbed->SetTrkPtRange(minTrkPt, maxTrkPt);
41   taskEmbed->SetTrkPhiRange(minTrkPhi, maxTrkPhi);
42   taskEmbed->SetTrkEtaRange(minTrkEta, maxTrkEta);
43   taskEmbed->SetTTRange(minTTPt,maxTTPt);
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());
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");
58   
59   if(period.Contains("lhc11h",TString::kIgnoreCase))
60     taskEmbed->SelectCollisionCandidates(AliVEvent::kAnyINT | AliVEvent::kCentral | AliVEvent::kSemiCentral);
61   
62   AliAnalysisDataContainer *coutput = mgr->CreateContainer(Form("EmbedPYTHIA_TT%1.0f%1.0f",minTTPt,maxTTPt),TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s",  AliAnalysisManager::GetCommonFileName()));
63   mgr->ConnectInput(taskEmbed,0,mgr->GetCommonInputContainer());
64   mgr->ConnectOutput(taskEmbed,1,coutput);
65       
66   return taskEmbed;
67 }