AliAnalysisTaskEmcalQGTagging* AddTaskEmcalQGTagging(const char * njetsBase,
const char * njetsTrue,
const Double_t R,
const char * nrhoBase,
const char * ntracks,
const char * nclusters,
const char * ntracksTrue,
const char *type,
const char *CentEst,
Int_t pSel,
TString trigClass = "",
TString kEmcalTriggers = "",
TString tag = "",
AliAnalysisTaskEmcalQGTagging::JetShapeType jetShapeType, AliAnalysisTaskEmcalQGTagging::JetShapeSub jetShapeSub ) {
AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
if (!mgr)
{
Error("AddTaskEmcalQGTagging","No analysis manager found.");
return 0;
}
Bool_t ismc=kFALSE;
ismc = (mgr->GetMCtruthEventHandler())?kTRUE:kFALSE;
// Check the analysis type using the event handlers connected to the analysis manager.
//==============================================================================
if (!mgr->GetInputEventHandler())
{
::Error("AddTaskEmcalQGTagging", "This task requires an input event handler");
return NULL;
}
TString wagonName = Form("JetQGTaggings_%s_TC%s%s",njetsBase,trigClass.Data(),tag.Data());
//Configure jet tagger task
AliAnalysisTaskEmcalQGTagging *task = new AliAnalysisTaskEmcalQGTagging(wagonName.Data());
//task->SetNCentBins(4);
task->SetJetShapeType(jetShapeType);
task->SetJetShapeSub(jetShapeSub);
TString thename(njetsBase);
//if(thename.Contains("Sub")) task->SetIsConstSub(kTRUE);
//task->SetVzRange(-10.,10.);
AliParticleContainer *trackCont = task->AddParticleContainer(ntracks);
AliParticleContainer *trackContTrue = task->AddParticleContainer(ntracksTrue);
AliClusterContainer *clusterCont = task->AddClusterContainer(nclusters);
AliJetContainer *jetContBase=0x0;
AliJetContainer *jetContTrue=0x0;
TString strType(type);
if (jetShapeType==AliAnalysisTaskEmcalQGTagging::kTrue) {
jetContBase = task->AddJetContainer(njetsBase,strType,R);
if(jetContBase) {
jetContBase->SetRhoName(nrhoBase);
jetContBase->ConnectParticleContainer(trackCont);
jetContBase->ConnectClusterContainer(clusterCont);
jetContBase->SetPercAreaCut(0.6);
jetContBase->SetPythiaInfoName("PythiaInfo");
}
}
if (jetShapeType==AliAnalysisTaskEmcalQGTagging::kTrueDet){
jetContBase = task->AddJetContainer(njetsBase,strType,R);
if(jetContBase) {
jetContBase->SetRhoName(nrhoBase);
jetContBase->ConnectParticleContainer(trackCont);
jetContBase->ConnectClusterContainer(clusterCont);
jetContBase->SetPercAreaCut(0.6);
jetContBase->SetPythiaInfoName("PythiaInfo");
}
jetContTrue = task->AddJetContainer(njetsTrue,strType,R);
if(jetContTrue) {
jetContTrue->SetRhoName(nrhoBase);
jetContTrue->ConnectParticleContainer(trackContTrue);
jetContTrue->SetPercAreaCut(0.6);
jetContTrue->SetPythiaInfoName("PythiaInfo");
}
}
if (jetShapeType==AliAnalysisTaskEmcalQGTagging::kData){
jetContBase = task->AddJetContainer(njetsBase,strType,R);
if(jetContBase) {
jetContBase->SetRhoName(nrhoBase);
jetContBase->ConnectParticleContainer(trackCont);
jetContBase->ConnectClusterContainer(clusterCont);
jetContBase->SetPercAreaCut(0.6);
}
}
if (jetShapeType==AliAnalysisTaskEmcalQGTagging::kDetEmb){
jetContBase = task->AddJetContainer(njetsBase,strType,R);
if(jetContBase) {
jetContBase->SetRhoName(nrhoBase);
jetContBase->ConnectParticleContainer(trackCont);
jetContBase->ConnectClusterContainer(clusterCont);
jetContBase->SetPercAreaCut(0.6);
jetContBase->SetPythiaInfoName("PythiaInfo");
}
jetContTrue = task->AddJetContainer(njetsTrue,strType,R);
if(jetContTrue) {
jetContTrue->SetRhoName(nrhoBase);
jetContTrue->ConnectParticleContainer(trackContTrue);
jetContTrue->SetPercAreaCut(0.6);
jetContTrue->SetPythiaInfoName("PythiaInfo");
}
}
task->SetCaloTriggerPatchInfoName(kEmcalTriggers.Data());
task->SetCentralityEstimator(CentEst);
task->SelectCollisionCandidates(pSel);
task->SetUseAliAnaUtils(kFALSE);
mgr->AddTask(task);
//Connnect input
mgr->ConnectInput (task, 0, mgr->GetCommonInputContainer() );
//Connect output
TString contName1(wagonName);
if (jetShapeType == AliAnalysisTaskEmcalQGTagging::kTrue) contName1 += "_True";
if (jetShapeType == AliAnalysisTaskEmcalQGTagging::kTrueDet) contName1 += "_TrueDet";
if (jetShapeType == AliAnalysisTaskEmcalQGTagging::kData) contName1 += "_Data";
if (jetShapeType == AliAnalysisTaskEmcalQGTagging::kDetEmb) contName1 += "_DetEmb";
if (jetShapeSub == AliAnalysisTaskEmcalQGTagging::kNoSub) contName1 += "_NoSub";
if (jetShapeSub == AliAnalysisTaskEmcalQGTagging::kConstSub) contName1 += "_ConstSub";
if (jetShapeSub == AliAnalysisTaskEmcalQGTagging::kDerivSub) contName1 += "_DerivSub";
TString outputfile = Form("%s",AliAnalysisManager::GetCommonFileName());
AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(contName1.Data(), TTree::Class(),AliAnalysisManager::kOutputContainer,outputfile);
mgr->ConnectOutput(task,1,coutput1);
return task;
}
AddTaskEmcalQGTagging.C:1 AddTaskEmcalQGTagging.C:2 AddTaskEmcalQGTagging.C:3 AddTaskEmcalQGTagging.C:4 AddTaskEmcalQGTagging.C:5 AddTaskEmcalQGTagging.C:6 AddTaskEmcalQGTagging.C:7 AddTaskEmcalQGTagging.C:8 AddTaskEmcalQGTagging.C:9 AddTaskEmcalQGTagging.C:10 AddTaskEmcalQGTagging.C:11 AddTaskEmcalQGTagging.C:12 AddTaskEmcalQGTagging.C:13 AddTaskEmcalQGTagging.C:14 AddTaskEmcalQGTagging.C:15 AddTaskEmcalQGTagging.C:16 AddTaskEmcalQGTagging.C:17 AddTaskEmcalQGTagging.C:18 AddTaskEmcalQGTagging.C:19 AddTaskEmcalQGTagging.C:20 AddTaskEmcalQGTagging.C:21 AddTaskEmcalQGTagging.C:22 AddTaskEmcalQGTagging.C:23 AddTaskEmcalQGTagging.C:24 AddTaskEmcalQGTagging.C:25 AddTaskEmcalQGTagging.C:26 AddTaskEmcalQGTagging.C:27 AddTaskEmcalQGTagging.C:28 AddTaskEmcalQGTagging.C:29 AddTaskEmcalQGTagging.C:30 AddTaskEmcalQGTagging.C:31 AddTaskEmcalQGTagging.C:32 AddTaskEmcalQGTagging.C:33 AddTaskEmcalQGTagging.C:34 AddTaskEmcalQGTagging.C:35 AddTaskEmcalQGTagging.C:36 AddTaskEmcalQGTagging.C:37 AddTaskEmcalQGTagging.C:38 AddTaskEmcalQGTagging.C:39 AddTaskEmcalQGTagging.C:40 AddTaskEmcalQGTagging.C:41 AddTaskEmcalQGTagging.C:42 AddTaskEmcalQGTagging.C:43 AddTaskEmcalQGTagging.C:44 AddTaskEmcalQGTagging.C:45 AddTaskEmcalQGTagging.C:46 AddTaskEmcalQGTagging.C:47 AddTaskEmcalQGTagging.C:48 AddTaskEmcalQGTagging.C:49 AddTaskEmcalQGTagging.C:50 AddTaskEmcalQGTagging.C:51 AddTaskEmcalQGTagging.C:52 AddTaskEmcalQGTagging.C:53 AddTaskEmcalQGTagging.C:54 AddTaskEmcalQGTagging.C:55 AddTaskEmcalQGTagging.C:56 AddTaskEmcalQGTagging.C:57 AddTaskEmcalQGTagging.C:58 AddTaskEmcalQGTagging.C:59 AddTaskEmcalQGTagging.C:60 AddTaskEmcalQGTagging.C:61 AddTaskEmcalQGTagging.C:62 AddTaskEmcalQGTagging.C:63 AddTaskEmcalQGTagging.C:64 AddTaskEmcalQGTagging.C:65 AddTaskEmcalQGTagging.C:66 AddTaskEmcalQGTagging.C:67 AddTaskEmcalQGTagging.C:68 AddTaskEmcalQGTagging.C:69 AddTaskEmcalQGTagging.C:70 AddTaskEmcalQGTagging.C:71 AddTaskEmcalQGTagging.C:72 AddTaskEmcalQGTagging.C:73 AddTaskEmcalQGTagging.C:74 AddTaskEmcalQGTagging.C:75 AddTaskEmcalQGTagging.C:76 AddTaskEmcalQGTagging.C:77 AddTaskEmcalQGTagging.C:78 AddTaskEmcalQGTagging.C:79 AddTaskEmcalQGTagging.C:80 AddTaskEmcalQGTagging.C:81 AddTaskEmcalQGTagging.C:82 AddTaskEmcalQGTagging.C:83 AddTaskEmcalQGTagging.C:84 AddTaskEmcalQGTagging.C:85 AddTaskEmcalQGTagging.C:86 AddTaskEmcalQGTagging.C:87 AddTaskEmcalQGTagging.C:88 AddTaskEmcalQGTagging.C:89 AddTaskEmcalQGTagging.C:90 AddTaskEmcalQGTagging.C:91 AddTaskEmcalQGTagging.C:92 AddTaskEmcalQGTagging.C:93 AddTaskEmcalQGTagging.C:94 AddTaskEmcalQGTagging.C:95 AddTaskEmcalQGTagging.C:96 AddTaskEmcalQGTagging.C:97 AddTaskEmcalQGTagging.C:98 AddTaskEmcalQGTagging.C:99 AddTaskEmcalQGTagging.C:100 AddTaskEmcalQGTagging.C:101 AddTaskEmcalQGTagging.C:102 AddTaskEmcalQGTagging.C:103 AddTaskEmcalQGTagging.C:104 AddTaskEmcalQGTagging.C:105 AddTaskEmcalQGTagging.C:106 AddTaskEmcalQGTagging.C:107 AddTaskEmcalQGTagging.C:108 AddTaskEmcalQGTagging.C:109 AddTaskEmcalQGTagging.C:110 AddTaskEmcalQGTagging.C:111 AddTaskEmcalQGTagging.C:112 AddTaskEmcalQGTagging.C:113 AddTaskEmcalQGTagging.C:114 AddTaskEmcalQGTagging.C:115 AddTaskEmcalQGTagging.C:116 AddTaskEmcalQGTagging.C:117 AddTaskEmcalQGTagging.C:118 AddTaskEmcalQGTagging.C:119 AddTaskEmcalQGTagging.C:120 AddTaskEmcalQGTagging.C:121 AddTaskEmcalQGTagging.C:122 AddTaskEmcalQGTagging.C:123 AddTaskEmcalQGTagging.C:124 AddTaskEmcalQGTagging.C:125 AddTaskEmcalQGTagging.C:126 AddTaskEmcalQGTagging.C:127 AddTaskEmcalQGTagging.C:128 AddTaskEmcalQGTagging.C:129 AddTaskEmcalQGTagging.C:130 AddTaskEmcalQGTagging.C:131 AddTaskEmcalQGTagging.C:132 AddTaskEmcalQGTagging.C:133 AddTaskEmcalQGTagging.C:134 AddTaskEmcalQGTagging.C:135 AddTaskEmcalQGTagging.C:136 AddTaskEmcalQGTagging.C:137 AddTaskEmcalQGTagging.C:138 AddTaskEmcalQGTagging.C:139 AddTaskEmcalQGTagging.C:140 AddTaskEmcalQGTagging.C:141 AddTaskEmcalQGTagging.C:142 AddTaskEmcalQGTagging.C:143 AddTaskEmcalQGTagging.C:144 AddTaskEmcalQGTagging.C:145 AddTaskEmcalQGTagging.C:146 AddTaskEmcalQGTagging.C:147 AddTaskEmcalQGTagging.C:148