AliAnalysisTaskV0sInJetsEmcal: Added protection against calling non-existing containe...
authorvkucera <vit.kucera@cern.ch>
Fri, 17 Oct 2014 12:47:25 +0000 (14:47 +0200)
committermvl <marco.van.leeuwen@cern.ch>
Fri, 17 Oct 2014 13:04:17 +0000 (15:04 +0200)
PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskV0sInJetsEmcal.cxx
PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskV0sInJetsEmcal.h
PWGJE/EMCALJetTasks/macros/AddTaskV0sInJetsEmcal.C

index d8fa220..5445a2d 100644 (file)
@@ -105,8 +105,8 @@ AliAnalysisTaskV0sInJetsEmcal::AliAnalysisTaskV0sInJetsEmcal():
 
   fJetsCont(0),
   fJetsBgCont(0),
-  fTracksCont(0),
-  fCaloClustersCont(0),
+//  fTracksCont(0),
+//  fCaloClustersCont(0),
 
   fdCutVertexZ(10),
   fdCutVertexR2(1),
@@ -353,8 +353,8 @@ AliAnalysisTaskV0sInJetsEmcal::AliAnalysisTaskV0sInJetsEmcal(const char* name):
 
   fJetsCont(0),
   fJetsBgCont(0),
-  fTracksCont(0),
-  fCaloClustersCont(0),
+//  fTracksCont(0),
+//  fCaloClustersCont(0),
 
   fdCutVertexZ(10),
   fdCutVertexR2(1),
@@ -600,10 +600,10 @@ void AliAnalysisTaskV0sInJetsEmcal::ExecOnce()
     fJetsCont = 0;
   if(fJetsBgCont && fJetsBgCont->GetArray() == 0)
     fJetsBgCont = 0;
-  if(fTracksCont && fTracksCont->GetArray() == 0)
-    fTracksCont = 0;
-  if(fCaloClustersCont && fCaloClustersCont->GetArray() == 0)
-    fCaloClustersCont = 0;
+//  if(fTracksCont && fTracksCont->GetArray() == 0)
+//    fTracksCont = 0;
+//  if(fCaloClustersCont && fCaloClustersCont->GetArray() == 0)
+//    fCaloClustersCont = 0;
 }
 
 Bool_t AliAnalysisTaskV0sInJetsEmcal::Run()
@@ -622,18 +622,20 @@ void AliAnalysisTaskV0sInJetsEmcal::UserCreateOutputObjects()
 
   fJetsCont = GetJetContainer(0);
   fJetsBgCont = GetJetContainer(1);
-  if(fJetsCont) //get particles and clusters connected to jets
-  {
-    fTracksCont = fJetsCont->GetParticleContainer();
-    fCaloClustersCont = fJetsCont->GetClusterContainer();
-  }
-  else //no jets, just analysis tracks and clusters
-  {
-    fTracksCont = GetParticleContainer(0);
-    fCaloClustersCont = GetClusterContainer(0);
-  }
-  fTracksCont->SetClassName("AliVTrack");
-  fCaloClustersCont->SetClassName("AliAODCaloCluster");
+//  if(fJetsCont) //get particles and clusters connected to jets
+//  {
+//    fTracksCont = fJetsCont->GetParticleContainer();
+//    fCaloClustersCont = fJetsCont->GetClusterContainer();
+//  }
+//  else //no jets, just analysis tracks and clusters
+//  {
+//    fTracksCont = GetParticleContainer(0);
+//    fCaloClustersCont = GetClusterContainer(0);
+//  }
+//  if(fTracksCont)
+//    fTracksCont->SetClassName("AliVTrack");
+//  if(fCaloClustersCont)
+//    fCaloClustersCont->SetClassName("AliVCluster");
 
   // Initialise random-number generator
   fRandom = new TRandom3(0);
@@ -1460,7 +1462,8 @@ Bool_t AliAnalysisTaskV0sInJetsEmcal::FillHistograms()
   // select good jets and copy them to another array
   if(bJetEventGood)
   {
-    dRho = fJetsCont->GetRhoVal();
+    if(fbIsPbPb)
+      dRho = fJetsCont->GetRhoVal();
 //    printf("TaskV0sInJetsEmcal: Loaded rho value: %g\n",dRho);
     if(bLeadingJetOnly)
       iNJet = 1; // only leading jets
@@ -1475,7 +1478,7 @@ Bool_t AliAnalysisTaskV0sInJetsEmcal::FillHistograms()
         if(fDebug > 5) printf("TaskV0sInJetsEmcal: Jet %d not accepted in container\n", iJet);
         continue;
       }
-      Double_t dPtJetCorr = jetSel->Pt() - dRho * jetSel->Area();
+      Double_t dPtJetCorr = jetSel->PtSub(dRho);
       if(bPrintJetSelection)
         if(fDebug > 7) printf("jet: i = %d, pT = %g, eta = %g, phi = %g, pt lead tr = %g, pt corr = %g ", iJet, jetSel->Pt(), jetSel->Eta(), jetSel->Phi(), fJetsCont->GetLeadingHadronPt(jetSel), dPtJetCorr);
 //          printf("TaskV0sInJetsEmcal: Checking pt > %.2f for jet %d with pt %.2f\n",fdCutPtJetMin,iJet,jetSel->Pt());
index eb2f604..86b9690 100644 (file)
@@ -111,8 +111,8 @@ private:
   // EMCal containers
   AliJetContainer* fJetsCont; //! Signal Jets
   AliJetContainer* fJetsBgCont; //! Background Jets
-  AliParticleContainer* fTracksCont; //! Tracks
-  AliClusterContainer* fCaloClustersCont; //! Clusters
+//  AliParticleContainer* fTracksCont; //! Tracks
+//  AliClusterContainer* fCaloClustersCont; //! Clusters
 
   // event cuts
   Double_t fdCutVertexZ; // [cm] maximum |z| of primary vertex
index e8415cf..b88d629 100644 (file)
@@ -1,5 +1,4 @@
-//AliAnalysisTaskV0sInJetsEmcal* AddTaskV0sInJetsEmcal(TString jetBranchName = "", TString outputFile = "output.root", Bool_t bIsMC, TString label = "", Bool_t bTreeOutput = 0, TString outputFileTree = "TreeV0.root")
-AliAnalysisTaskV0sInJetsEmcal* AddTaskV0sInJetsEmcal(TString jetBranchName = "", Double_t dRadius = 0.4, TString jetBranchBgName = "", Double_t dRadiusBg = 0.2, TString outputFile = "output.root", Bool_t bIsMC, TString label = "", TString tracksName, TString clustersCorrName, TString rhoName, TString sType)
+AliAnalysisTaskV0sInJetsEmcal* AddTaskV0sInJetsEmcal(TString jetBranchName = "", Double_t dRadius = 0.2, TString jetBranchBgName = "", Double_t dRadiusBg = 0.2, TString outputFile = "output.root", Bool_t bIsMC = kFALSE, TString label = "", TString tracksName = "PicoTracks", TString clustersCorrName = "CaloClustersCorr", TString rhoName = "Rho", TString sType = "TPC")
 {
   AliAnalysisManager* mgr = AliAnalysisManager::GetAnalysisManager();
   if(!mgr)
@@ -23,21 +22,20 @@ AliAnalysisTaskV0sInJetsEmcal* AddTaskV0sInJetsEmcal(TString jetBranchName = "",
   AliAnalysisTaskV0sInJetsEmcal* mytask = new AliAnalysisTaskV0sInJetsEmcal(taskName.Data());
   // Configure task
   mytask->SetMCAnalysis(bIsMC);
-//  mytask->SetTreeOutput(bTreeOutput);
 
-  AliParticleContainer* trackCont  = mytask->AddParticleContainer(tracksName);
-  trackCont->SetClassName("AliVTrack");
+  AliParticleContainer* trackCont = mytask->AddParticleContainer(tracksName);
   AliClusterContainer* clusterCont = mytask->AddClusterContainer(clustersCorrName);
 
   AliJetContainer* jetCont = mytask->AddJetContainer(jetBranchName, sType, dRadius);
   if(jetCont)
   {
     jetCont->SetRhoName(rhoName);
+    jetCont->SetLeadingHadronType(0);
     jetCont->ConnectParticleContainer(trackCont);
     jetCont->ConnectClusterContainer(clusterCont);
   }
   AliJetContainer* jetContBg = mytask->AddJetContainer(jetBranchBgName, sType, dRadiusBg);
-  if (jetContBg)
+  if(jetContBg)
   {
     jetContBg->SetJetAreaCut(0.01);
     jetContBg->SetAreaEmcCut(0);
@@ -56,8 +54,6 @@ AliAnalysisTaskV0sInJetsEmcal* AddTaskV0sInJetsEmcal(TString jetBranchName = "",
   AliAnalysisDataContainer* coutput2 = mgr->CreateContainer(Form("%s_%s", containerName.Data(), "QA"), TList::Class(), AliAnalysisManager::kOutputContainer, Form("%s:%s", outputFile.Data(), taskName.Data()));
   AliAnalysisDataContainer* coutput3 = mgr->CreateContainer(Form("%s_%s", containerName.Data(), "Cuts"), TList::Class(), AliAnalysisManager::kOutputContainer, Form("%s:%s", outputFile.Data(), taskName.Data()));
   AliAnalysisDataContainer* coutput4 = mgr->CreateContainer(Form("%s_%s", containerName.Data(), "MC"), TList::Class(), AliAnalysisManager::kOutputContainer, Form("%s:%s", outputFile.Data(), taskName.Data()));
-//  if (bTreeOutput)
-//    AliAnalysisDataContainer* coutput5 = mgr->CreateContainer(Form("%s_%s",containerName.Data(),"Tree"), TTree::Class(),AliAnalysisManager::kOutputContainer, Form("%s:%s",outputFileTree.Data(),taskName.Data()));
 
   // Connect input/output
   mgr->ConnectInput(mytask, 0, cinput0);
@@ -65,8 +61,6 @@ AliAnalysisTaskV0sInJetsEmcal* AddTaskV0sInJetsEmcal(TString jetBranchName = "",
   mgr->ConnectOutput(mytask, 2, coutput2);
   mgr->ConnectOutput(mytask, 3, coutput3);
   mgr->ConnectOutput(mytask, 4, coutput4);
-//  if (bTreeOutput)
-//    mgr->ConnectOutput(mytask, 5, coutput5);
 
   return mytask;
 }