]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/EMCALJetTasks/macros/AddTaskHJetSpectra.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / macros / AddTaskHJetSpectra.C
CommitLineData
2cc66a40 1AliAnalysisTaskHJetSpectra* AddTaskHJetSpectra(
2 Double_t jetRadius = 0.4, //radius of analyzed jets
3 Double_t jetRadiusBg = 0.3, //radius of jets to be removed when estimating cell median bg
4 Int_t trigger = AliVEvent::kINT7, //trigger
9d6abaad 5 Int_t isMC = 0, //MC flag
2cc66a40 6 Double_t randomConeR = 0.4, //random cone for deltaPt + perp cone bg
7 const char* containerSuffix = "", //tag to the name of container
8 const char* usedTracks = "PicoTracks", //tracks
9 const char* centralityType = "V0A", //centrality
10 Double_t trackEtaWindow = 0.9, //pseudorapidity range for tracks
11 Bool_t useVertexCut = kTRUE, // vertex cut
12 Bool_t usePileUpCut = kTRUE, // discard pile up event
13 Int_t numberOfCentralityBins = 1, // the number of centrality bins
14 Double_t ttLow = 8.0, // trigger hardron low pT
15 Double_t ttHigh = 50.0, // trigger hadron high pT
16 Int_t ttType = 0, // 0= single inclusive hadron trigger, else inclusive hadron trigger
17 Double_t dphi = 0.6, // |Delta phi_jet, trigger|< pi-0.6
9d6abaad 18 Bool_t binning = 0 //binning of jet histograms 0=2GeV width 1=1GeV width
2cc66a40 19){
20
21
22 // #### Detect the demanded trigger with its readable name
23 TString triggerName(Form("Trigger_%i", trigger));
24 if(trigger == AliVEvent::kAnyINT)
25 triggerName = "kAnyINT";
26 else if(trigger == AliVEvent::kAny)
27 triggerName = "kAny";
28 else if(trigger == AliVEvent::kINT7)
29 triggerName = "kINT7";
30 else if(trigger == AliVEvent::kMB)
31 triggerName = "kMB";
32 else if(trigger == AliVEvent::kEMC7)
33 triggerName = "kEMC7";
34 else if(trigger == AliVEvent::kEMCEJE)
35 triggerName = "kEMCEJE";
36 else if(trigger == AliVEvent::kEMCEGA)
37 triggerName = "kEMCEGA";
38
39 // #### DEFINE MANAGER AND DATA CONTAINER NAMES
40 AliAnalysisManager *manager = AliAnalysisManager::GetAnalysisManager();
41 if (!manager) {
42 ::Error("AddTaskHJetSpectra.C", "No analysis manager to connect to.");
43 return NULL;
44 }
45
46 TString containerNameSuffix("");
47 if(strcmp(containerSuffix,"")) containerNameSuffix = Form("_%s", containerSuffix);
48
49 TString myContName("");
50 if(isMC){
51 myContName = Form("AnalysisR0%2.0f_%s_MC%s_Dphi%02d_T%d_Ptt%d_%d",
52 jetRadius*100, triggerName.Data(), containerNameSuffix.Data(),
53 TMath::Nint(10*dphi), ttType, TMath::Nint(ttLow), TMath::Nint(ttHigh));
54 }else{
55 myContName = Form("AnalysisR0%2.0f_%s%s_Dphi%02d_T%d_Ptt%d_%d",
56 jetRadius*100, triggerName.Data(), containerNameSuffix.Data(),
57 TMath::Nint(10*dphi), ttType, TMath::Nint(ttLow), TMath::Nint(ttHigh));
58 }
59
60 // #### ADD NECESSARY JET FINDER TASKS
61 enum AlgoType {kKT, kANTIKT};
62 enum JetType {kFULLJETS, kCHARGEDJETS, kNEUTRALJETS};
63
64 if(jetRadius < 0.1 || jetRadiusBg < 0.1) return NULL;
65
66 gROOT->LoadMacro("$ALICE_ROOT/PWGJE/EMCALJetTasks/macros/AddTaskEmcalJet.C");
67 AliEmcalJetTask* jetFinderTask = AddTaskEmcalJet(usedTracks,"",kANTIKT,jetRadius, kCHARGEDJETS,0.150,0.300); //FK//
68 AliEmcalJetTask* jetFinderTaskBg = AddTaskEmcalJet(usedTracks,"",kANTIKT,jetRadiusBg,kCHARGEDJETS,0.150,0.300); //FK//excl from bg
69
70 // #### DEFINE EXTERN CMS RHO TASK
71 TString myRhoName("ExternalRhoTask");
72 AliEmcalJetTask* jetFinderRho = AddTaskEmcalJet(usedTracks,"", kANTIKT, 0.4, kCHARGEDJETS,0.150,0.300); // anti-kt
73 AliEmcalJetTask* jetFinderRhoKT = AddTaskEmcalJet(usedTracks,"", kKT, 0.4, kCHARGEDJETS,0.150,0.300); // kt
74 jetFinderRhoKT->SetMinJetPt(0);
75
76 gROOT->LoadMacro("$ALICE_ROOT/PWGJE/EMCALJetTasks/macros/AddTaskRhoSparse.C");
77 AliAnalysisTaskRhoSparse* rhotask = AddTaskRhoSparse(jetFinderRhoKT->GetName(),
78 jetFinderRho->GetName(),
79 usedTracks, //pico trakcs
80 "", //calo clusters
81 myRhoName.Data(),
82 0.4, //jet radius
83 "TPC", //cut type
84 0., //jet area cut
9d6abaad 85 15., //jet pt cut ????????
2cc66a40 86 0, //enareacut
87 0, //sfunc
88 1, //excl Jets //FK// ????????
89 kFALSE, //no histo
90 myRhoName.Data(), //task name
91 kTRUE); //claculate rho CMS
92
93 // #### DEFINE ANALYSIS TASK
94 AliAnalysisTaskHJetSpectra *task = new AliAnalysisTaskHJetSpectra(
95 Form("HJetSpectra_%s_%s_TT", jetFinderTask->GetName(), triggerName.Data()),
96 usedTracks,
97 jetFinderTask->GetName(),
98 jetFinderTaskBg->GetName());
99
100 // #### Task preferences
101 task->SetAcceptanceWindows(trackEtaWindow, jetRadius, jetRadiusBg);
102 task->SetUsePileUpCut(usePileUpCut);
103 task->SetUseDefaultVertexCut(useVertexCut);
104 task->SetSignalJetMinArea(0.6*jetRadius*jetRadius*TMath::Pi()); //To same puziva Mata
105 task->SetRandConeRadius(randomConeR);
106 task->SelectCollisionCandidates(trigger);
107 task->SetCentralityType(centralityType);
108 task->SetNumberOfCentralityBins(numberOfCentralityBins);
109 task->SetExternalRhoTaskName(myRhoName.Data());
110
111 task->SetTT(ttLow, ttHigh);
112 task->SetTTType(ttType);
113 task->SetDphi(dphi); // |Delta phi_jet, trigger|< pi-0.6
114 task->SetDoubleBinPrecision(binning);
115 task->SetMinPtOfJetsToBeRemovedInBg(15.0);
116 //task->SetMC(isMC);
117 task->SetNofRandomCones(1);
b4e22a71 118
9d6abaad 119 if(isMC) task->SetAnalyzeMC(isMC);
b4e22a71 120
2cc66a40 121 // output container
50a70ed3 122 contHistos = manager->CreateContainer(myContName.Data(), TList::Class(), AliAnalysisManager::kOutputContainer, Form("%s:ChJetSpectra%s", AliAnalysisManager::GetCommonFileName(), myContName.Data()));
2cc66a40 123
124
125 // #### ADD ANALYSIS TASK
126 manager->AddTask(task);
127 manager->ConnectInput(task, 0, manager->GetCommonInputContainer());
128 manager->ConnectOutput(task, 1, contHistos);
129
130 return task;
131}