]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGJE/EMCALJetTasks/macros/AddTaskEmcalDiJetResponse.C
Add possibility to enable trigger patch QA in the jet preparation
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / macros / AddTaskEmcalDiJetResponse.C
index 81d504aeedcd2767b731bc110c768c22fe5c154b..6462b9872d166f348d399677758aaf6b8e7d3a66 100644 (file)
@@ -9,7 +9,10 @@ AliAnalysisTaskEmcalDiJetResponse* AddTaskEmcalDiJetResponse(TString     kTracks
                                                             const char *CentEst             = "V0A",
                                                             Int_t       pSel                = AliVEvent::kINT7,
                                                             Int_t       matchFullCh         = AliAnalysisTaskEmcalDiJetBase::kNoMatching,
-                                                            Double_t    ptTrackBias         = 0.
+                                                            Double_t    ptTrackBias         = 0.,
+                                                            Int_t       responseVar         = 0,
+                                                            Int_t       corrType            = AliAnalysisTaskEmcalDiJetBase::kCorrelateTwo,
+                                                            Float_t     nefCut              = 10.
                                                             ) {
   
   enum AlgoType {kKT, kANTIKT};
@@ -35,10 +38,13 @@ AliAnalysisTaskEmcalDiJetResponse* AddTaskEmcalDiJetResponse(TString     kTracks
 
   AliEmcalJetTask* jetFinderTaskFull    = AddTaskEmcalJet(kTracksName, kClusName, kANTIKT, R, kFULLJETS, ptminTrack, etminClus);
   AliEmcalJetTask* jetFinderTaskCharged = AddTaskEmcalJet(kTracksName, kClusName, kANTIKT, R, kCHARGEDJETS, ptminTrack, etminClus);
+  jetFinderTaskFull->SelectCollisionCandidates(AliVEvent::kAny);
+  jetFinderTaskCharged->SelectCollisionCandidates(AliVEvent::kAny);
 
   AliEmcalJetTask* jetFinderTaskFullMC = AddTaskEmcalJet(kMCTracksName ,"", kANTIKT, R, kFULLJETS, kPartLevPtCut, kPartLevPtCut);
   AliEmcalJetTask* jetFinderTaskChargedMC = AddTaskEmcalJet(kMCTracksName ,"", kANTIKT, R, kCHARGEDJETS, kPartLevPtCut, kPartLevPtCut);
-  
+  jetFinderTaskFullMC->SelectCollisionCandidates(AliVEvent::kAny);
+  jetFinderTaskChargedMC->SelectCollisionCandidates(AliVEvent::kAny);
 
   TString strJetsFull = jetFinderTaskFull->GetName();
   TString strJetsCh   = jetFinderTaskCharged->GetName();
@@ -47,64 +53,66 @@ AliAnalysisTaskEmcalDiJetResponse* AddTaskEmcalDiJetResponse(TString     kTracks
   TString strJetsChMC   = jetFinderTaskChargedMC->GetName();
 
 
-  TString wagonName = Form("DiJetResponse_%s_%s_Rho%dTC%sMatch%dHadTrig%d",strJetsFull.Data(),strJetsFullMC.Data(),rhoType,trigClass.Data(),matchFullCh,(Int_t)(ptTrackBias));
+  TString wagonName = Form("DiJetResponse_%s_%s_Rho%dTC%sMatch%dHadTrig%dRV%d",strJetsFull.Data(),strJetsFullMC.Data(),rhoType,trigClass.Data(),matchFullCh,(Int_t)(ptTrackBias),responseVar);
 
   //Configure DiJet task
-  AliAnalysisTaskEmcalDiJetResponse *taskDiJet = NULL;
-  taskDiJet = new AliAnalysisTaskEmcalDiJetResponse(wagonName.Data());
+  AliAnalysisTaskEmcalDiJetResponse *taskDiJetResp = new AliAnalysisTaskEmcalDiJetResponse(wagonName.Data());
  
   Printf("strJetsFull: %s",strJetsFull.Data());
   Printf("strJetsCh: %s",strJetsCh.Data());
 
-  taskDiJet->SetContainerFull(0);
-  taskDiJet->SetContainerCharged(1);
-  taskDiJet->SetContainerFullMC(2);
-  taskDiJet->SetContainerChargedMC(3);
+  taskDiJetResp->SetUseAliAnaUtils(kTRUE);
+  taskDiJetResp->SetVzRange(-10.,10.);
+  taskDiJetResp->SetIsPythia(kTRUE);
 
-  taskDiJet->AddParticleContainer(kTracksName.Data());
-  taskDiJet->AddClusterContainer(kClusName.Data());
-   
-  taskDiJet->SetAnaType(AliAnalysisTaskEmcal::kEMCAL);
-  taskDiJet->AddJetContainer(strJetsFull.Data(),"EMCAL",R);
-  taskDiJet->AddJetContainer(strJetsCh.Data(),"TPC",R);
-  taskDiJet->AddJetContainer(strJetsFullMC.Data(),"EMCAL",R);
-  taskDiJet->AddJetContainer(strJetsChMC.Data(),"TPC",R);
+  taskDiJetResp->SetJetCorrelationType(corrType);
 
-  for(Int_t i=0; i<4; i++) {
-    taskDiJet->SetPercAreaCut(0.557, i);
-    taskDiJet->SetPtBiasJetTrack(ptTrackBias,i);
-  }
+  taskDiJetResp->SetContainerFull(0);
+  taskDiJetResp->SetContainerCharged(1);
+  taskDiJetResp->SetContainerFullMC(2);
+  taskDiJetResp->SetContainerChargedMC(3);
 
-  taskDiJet->SetRhoType(rhoType);
-
-  taskDiJet->SetCentralityEstimator(CentEst);
-
-  taskDiJet->SelectCollisionCandidates(pSel);
+  taskDiJetResp->AddParticleContainer(kTracksName.Data());
+  taskDiJetResp->AddClusterContainer(kClusName.Data());
+   
+  taskDiJetResp->AddJetContainer(strJetsFull.Data(),"EMCAL",R);
+  taskDiJetResp->AddJetContainer(strJetsCh.Data(),"TPC",R);
+  taskDiJetResp->AddJetContainer(strJetsFullMC.Data(),"EMCAL",R);
+  taskDiJetResp->AddJetContainer(strJetsChMC.Data(),"TPC",R);
 
-  taskDiJet->SetFullChargedMatchingType(matchFullCh);
+  taskDiJetResp->SetZLeadingCut(0.98,0.98,0);
+  taskDiJetResp->SetZLeadingCut(0.98,0.98,2);
 
-  taskDiJet->SetDoChargedCharged(kTRUE);
-  taskDiJet->SetDoFullCharged(kTRUE);
-  taskDiJet->SetMatchFullCharged(kTRUE);
+  taskDiJetResp->SetNEFCut(0.,nefCut,0);
+  taskDiJetResp->SetNEFCut(0.,nefCut,2);
 
-  taskDiJet->SetIsPythiaPtHard(kTRUE);
+  for(Int_t i=0; i<4; i++) {
+    taskDiJetResp->SetPercAreaCut(0.6, i);
+    taskDiJetResp->SetPtBiasJetTrack(ptTrackBias,i);
+  }
 
+  taskDiJetResp->SetRhoType(rhoType);
+  taskDiJetResp->SetCentralityEstimator(CentEst);
+  taskDiJetResp->SelectCollisionCandidates(pSel);
+  taskDiJetResp->SetFullChargedMatchingType(matchFullCh);
+  taskDiJetResp->SetDoChargedCharged(kTRUE);
+  taskDiJetResp->SetDoFullCharged(kTRUE);
+  taskDiJetResp->SetMatchFullCharged(kTRUE);
+  taskDiJetResp->SetResponseVar(responseVar);
+  taskDiJetResp->SetPtMinTriggerJet(0.);
 
-  mgr->AddTask(taskDiJet);
+  mgr->AddTask(taskDiJetResp);
 
   //Connnect input
-  mgr->ConnectInput (taskDiJet, 0, mgr->GetCommonInputContainer() );
+  mgr->ConnectInput (taskDiJetResp, 0, mgr->GetCommonInputContainer() );
 
   //Connect output
   AliAnalysisDataContainer *coutput1 = 0x0;
-
-  TString containerName1 = Form("%s",wagonName.Data());
-
-  TString outputfile = Form("%s:%s",AliAnalysisManager::GetCommonFileName(),wagonName.Data());
-
-  coutput1 = mgr->CreateContainer(containerName1, TList::Class(),AliAnalysisManager::kOutputContainer,outputfile);
-
-  mgr->ConnectOutput(taskDiJet,1,coutput1);
+  TString contName(wagonName);
+  contName += "_histos";
+  TString outputfile = Form("%s",AliAnalysisManager::GetCommonFileName());
+  coutput1 = mgr->CreateContainer(contName.Data(), TList::Class(),AliAnalysisManager::kOutputContainer,outputfile);
+  mgr->ConnectOutput(taskDiJetResp,1,coutput1);
   
-  return taskDiJet;
+  return taskDiJetResp;
 }