]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGJE/FlavourJetTasks/macros/AddTaskFlavourJetCorrelations.C
Add standalone candidate thnsparse
[u/mrichter/AliRoot.git] / PWGJE / FlavourJetTasks / macros / AddTaskFlavourJetCorrelations.C
index bf5b418b2aa5e23b4e7a861697830984a349fda2..fe235a3a8dc1a10802307eb6f63655a8bed164b6 100644 (file)
@@ -1,16 +1,16 @@
-// $Id$
-
 AliAnalysisTaskFlavourJetCorrelations *AddTaskFlavourJetCorrelations(
-  AliAnalysisTaskRecoJetCorrelations::ECandidateType cand = AliAnalysisTaskRecoJetCorrelations::kDstartoKpipi,
+  AliAnalysisTaskFlavourJetCorrelations::ECandidateType cand = AliAnalysisTaskFlavourJetCorrelations::kDstartoKpipi,
   TString filename = "DStartoKpipiCuts.root",
   Bool_t theMCon = kFALSE,
+  Bool_t reco = kTRUE /*must be true if theMCon is false*/,
   TString jetArrname = "",
   TString suffix = "",
   Bool_t triggerOnLeadingJet = kFALSE,
+  Int_t leadingHadType = 0 /*0 = charged, 1 = neutral, 2 = both*/,
   Float_t R = 0.4,
   Float_t jptcut = 10.,
-  Int_t acceptance = 1 /*1= 0-2pi, 2=emcal cut*/,
-  Double_t areaCut = 0.)
+  const char *cutType = "TPC",
+  Double_t percjetareacut = 1.)
 {
   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
   if (!mgr) {
@@ -52,56 +52,51 @@ AliAnalysisTaskFlavourJetCorrelations *AddTaskFlavourJetCorrelations(
   printf("CREATE TASK\n"); //CREATE THE TASK
 
   // create the task
-  AliAnalysisTaskFlavourJetCorrelations *task = new AliAnalysisTaskFlavourJetCorrelations("AnaTaskFlavourJetCorrelations", analysiscuts, cand, jetArrname);
-
-  //D meson settings
+  AliAnalysisTaskFlavourJetCorrelations *task = new AliAnalysisTaskFlavourJetCorrelations("AnaTaskFlavourJetCorrelations", 
+     analysiscuts, cand);
+  task->SetJetsName(jetArrname);
   task->SetMC(theMCon);
+  task->SetUseReco(reco);
   task->SetTriggerOnLeadingJet(triggerOnLeadingJet);
-
-  //jet settings
-  task->SetJetRadius(R);
+  task->SetJetAcceptanceType(cutType);
   task->SetJetPtCut(jptcut);
-
-  Float_t etaCov=0.9;
-  if (acceptance==2) etaCov=0.7; //EMCal
-
-  Float_t minEta = -etaCov+R;
-  Float_t maxEta =  etaCov-R;
-  if (acceptance) task->SetJetEtaLimits(minEta, maxEta);
-
-  Float_t minPhi = 0.;
-  Float_t maxPhi = 2.*TMath::Pi();
-//if (acceptance==2) { /*80-180 degree*/ }
-  if (acceptance) task->SetJetPhiLimits(minPhi, maxPhi);
-
-  //Float_t area=0.6*TMath::Pi()*R*R;
-  task->SetJetAreaCut(areaCut);
+  task->SetPercAreaCut(percjetareacut);
+  
   mgr->AddTask(task);
 
+  if(theMCon) {
+     suffix+="MC";
+     if(reco) suffix+="rec";  
+  }
+
   // Create and connect containers for input/output
   TString outputfile = AliAnalysisManager::GetCommonFileName();
   outputfile += ":PWG3_D2H_DEmcalJet";
   outputfile += suffix;
 
-  TString nameContainer0="histogramsCorrelations";
-  TString nameContainer1="cuts";
+  TString candname="DStar"; 
+  if(cand==0)  candname="D0";
 
-  nameContainer0 += suffix;
-  nameContainer1 += suffix;
+  TString nameContainer1="hCor";
+  TString nameContainer2="cutsJ";
 
+  nameContainer1 += candname;
+  nameContainer2 += candname;
+  
+  nameContainer1 += suffix;
+  nameContainer2 += suffix;
   // ------ input data ------
   AliAnalysisDataContainer *cinput0  = mgr->GetCommonInputContainer();
 
   // ----- output data -----
-
-  // output TH1I for event counting
-  AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(nameContainer0, TList::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data());
-  AliAnalysisDataContainer *coutput2 = mgr->CreateContainer(nameContainer1, AliRDHFCuts::Class(),AliAnalysisManager::kOutputContainer, outputfile.Data());
+  AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(nameContainer1, TList::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data());
+  AliAnalysisDataContainer *coutput2 = mgr->CreateContainer(nameContainer2, AliRDHFCuts::Class(),AliAnalysisManager::kOutputContainer, outputfile.Data());
 
   mgr->ConnectInput(task,0,mgr->GetCommonInputContainer());
   mgr->ConnectOutput(task,1,coutput1);
   mgr->ConnectOutput(task,2,coutput2);
 
+
   Printf("Input and Output connected to the manager");
   return task ;
 }