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