1 AliAnalysisTaskEmcalDiJetResponse* AddTaskEmcalDiJetResponse(TString kTracksName = "PicoTracks",
2 TString kClusName = "caloClusterCorr",
3 TString kMCTracksName = "MCParticles",
5 Double_t ptminTrack = 0.15,
6 Double_t etminClus = 0.3,
8 TString trigClass = "",
9 const char *CentEst = "V0A",
10 Int_t pSel = AliVEvent::kINT7,
11 Int_t matchFullCh = AliAnalysisTaskEmcalDiJetBase::kNoMatching,
12 Double_t ptTrackBias = 0.,
13 Int_t responseVar = 0,
14 Int_t corrType = AliAnalysisTaskEmcalDiJetBase::kCorrelateTwo
17 enum AlgoType {kKT, kANTIKT};
18 enum JetType {kFULLJETS, kCHARGEDJETS, kNEUTRALJETS};
20 // #### Define manager and data container names
21 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
23 ::Error("AddTaskEmcalDiJet", "No analysis manager to connect to.");
27 // Check the analysis type using the event handlers connected to the analysis manager.
28 //==============================================================================
29 if (!mgr->GetInputEventHandler())
31 ::Error("AddTaskEmcalDiJet", "This task requires an input event handler");
35 // #### Add necessary jet finder tasks
36 gROOT->LoadMacro("$ALICE_ROOT/PWGJE/EMCALJetTasks/macros/AddTaskEmcalJet.C");
38 AliEmcalJetTask* jetFinderTaskFull = AddTaskEmcalJet(kTracksName, kClusName, kANTIKT, R, kFULLJETS, ptminTrack, etminClus);
39 AliEmcalJetTask* jetFinderTaskCharged = AddTaskEmcalJet(kTracksName, kClusName, kANTIKT, R, kCHARGEDJETS, ptminTrack, etminClus);
41 AliEmcalJetTask* jetFinderTaskFullMC = AddTaskEmcalJet(kMCTracksName ,"", kANTIKT, R, kFULLJETS, kPartLevPtCut, kPartLevPtCut);
42 AliEmcalJetTask* jetFinderTaskChargedMC = AddTaskEmcalJet(kMCTracksName ,"", kANTIKT, R, kCHARGEDJETS, kPartLevPtCut, kPartLevPtCut);
45 TString strJetsFull = jetFinderTaskFull->GetName();
46 TString strJetsCh = jetFinderTaskCharged->GetName();
48 TString strJetsFullMC = jetFinderTaskFullMC->GetName();
49 TString strJetsChMC = jetFinderTaskChargedMC->GetName();
52 TString wagonName = Form("DiJetResponse_%s_%s_Rho%dTC%sMatch%dHadTrig%dRV%d",strJetsFull.Data(),strJetsFullMC.Data(),rhoType,trigClass.Data(),matchFullCh,(Int_t)(ptTrackBias),responseVar);
54 //Configure DiJet task
55 AliAnalysisTaskEmcalDiJetResponse *taskDiJet = NULL;
56 taskDiJet = new AliAnalysisTaskEmcalDiJetResponse(wagonName.Data());
58 Printf("strJetsFull: %s",strJetsFull.Data());
59 Printf("strJetsCh: %s",strJetsCh.Data());
61 taskDiJet->SetIsPythiaPtHard(kTRUE);
63 taskDiJet->SetJetCorrelationType(corrType);
65 taskDiJet->SetContainerFull(0);
66 taskDiJet->SetContainerCharged(1);
67 taskDiJet->SetContainerFullMC(2);
68 taskDiJet->SetContainerChargedMC(3);
70 taskDiJet->AddParticleContainer(kTracksName.Data());
71 taskDiJet->AddClusterContainer(kClusName.Data());
73 taskDiJet->SetAnaType(AliAnalysisTaskEmcal::kEMCAL);
74 taskDiJet->AddJetContainer(strJetsFull.Data(),"EMCAL",R);
75 taskDiJet->AddJetContainer(strJetsCh.Data(),"TPC",R);
76 taskDiJet->AddJetContainer(strJetsFullMC.Data(),"EMCAL",R);
77 taskDiJet->AddJetContainer(strJetsChMC.Data(),"TPC",R);
79 for(Int_t i=0; i<4; i++) {
80 taskDiJet->SetPercAreaCut(0.557, i);
81 taskDiJet->SetPtBiasJetTrack(ptTrackBias,i);
84 taskDiJet->SetRhoType(rhoType);
86 taskDiJet->SetCentralityEstimator(CentEst);
88 taskDiJet->SelectCollisionCandidates(pSel);
90 taskDiJet->SetFullChargedMatchingType(matchFullCh);
92 taskDiJet->SetDoChargedCharged(kTRUE);
93 taskDiJet->SetDoFullCharged(kTRUE);
94 taskDiJet->SetMatchFullCharged(kTRUE);
96 taskDiJet->SetIsPythiaPtHard(kTRUE);
98 taskDiJet->SetResponseVar(responseVar);
101 mgr->AddTask(taskDiJet);
104 mgr->ConnectInput (taskDiJet, 0, mgr->GetCommonInputContainer() );
107 AliAnalysisDataContainer *coutput1 = 0x0;
109 TString contName(wagonName);
110 contName += "_histos";
112 // TString outputfile = Form("%s:%s",AliAnalysisManager::GetCommonFileName(),wagonName.Data());
113 TString outputfile = Form("%s",AliAnalysisManager::GetCommonFileName());
115 coutput1 = mgr->CreateContainer(contName.Data(), TList::Class(),AliAnalysisManager::kOutputContainer,outputfile);
117 mgr->ConnectOutput(taskDiJet,1,coutput1);