]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGJE/EMCALJetTasks/macros/AddTaskJetResponseMaker.C
improved efficiency by caching leading jet per event, changed cuts on leading jet...
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / macros / AddTaskJetResponseMaker.C
index 3458981125a2d7461a669092d20e7708f3d6930b..1ea266e48536a8b380cab8f1c35560a67b7930ad 100644 (file)
@@ -5,23 +5,29 @@ AliJetResponseMaker* AddTaskJetResponseMaker(
   const char *nclusters1         = "CaloClusters",
   const char *njets1             = "Jets",
   const char *nrho1              = "Rho",
+  Double_t    jetradius1         = 0.2,
   const char *ntracks2           = "MCParticles",
   const char *nclusters2         = "",
   const char *njets2             = "MCJets",
   const char *nrho2              = "",
-  Double_t    jetradius          = 0.2,
+  Double_t    jetradius2         = 0.2,
   Double_t    jetptcut           = 1,
   Double_t    jetareacut         = 0.557,
-  Double_t    jetBiasTrack       = 5,
-  Double_t    jetBiasClus        = 5,
+  Double_t    jetBias            = 5,
+  Int_t       biasType           = 0,   //  0 = charged, 1 = neutral, 2 = both
   UInt_t      matching           = AliJetResponseMaker::kGeometrical,
   Double_t    maxDistance1       = 0.25,
   Double_t    maxDistance2       = 0.25,
-  UInt_t      type               = AliAnalysisTaskEmcal::kTPC,
+  const char *cutType            = "TPC",
   Int_t       ptHardBin          = -999,
+  Double_t    minCent            = -999,
+  Double_t    maxCent            = -999,
   const char *taskname           = "AliJetResponseMaker",
   Bool_t      biggerMatrix       = kFALSE,
-  AliJetResponseMaker* address   = 0
+  AliJetResponseMaker* address   = 0,
+  Double_t    nefmincut          = -10,
+  Double_t    nefmaxcut          = 10,
+  Int_t       jetTagging         = 0
 )
 {  
   // Get the pointer to the existing analysis manager via the static access method.
@@ -45,41 +51,58 @@ AliJetResponseMaker* AddTaskJetResponseMaker(
   // Init the task and do settings
   //-------------------------------------------------------
 
-  TString name(Form("%s_%s_%s_Track%d_Clus%d_",taskname,njets1,njets2,(Int_t)floor(jetBiasTrack),(Int_t)floor(jetBiasClus)));
-  if (type == AliAnalysisTaskEmcal::kTPC)
-    name += "TPC";
-  else if (type == AliAnalysisTaskEmcal::kEMCAL) 
-    name += "EMCAL";
-  else if (type == AliAnalysisTaskEmcal::kUser) 
-    name += "USER";
-  if (ptHardBin != -999) {
-    name += "_PtHard";
-    name += ptHardBin;
-  }
+  TString name(Form("%s_%s_%s_Bias%d_BiasType%d_%s",taskname,njets1,njets2,(Int_t)floor(jetBias),biasType,cutType));
+
+  if (minCent != -999 && maxCent != -999) 
+    name += Form("_Cent%d_%d", (Int_t)floor(minCent), (Int_t)floor(maxCent));
 
+  if (ptHardBin != -999) 
+    name += Form("_PtHard%d", ptHardBin);
+  if (nefmaxcut<1.0)
+    name += Form("_NEF%d", (Int_t)(100*nefmaxcut));
+    
   AliJetResponseMaker* jetTask = address;
   if (jetTask)
     new (jetTask) AliJetResponseMaker(name);
   else
     jetTask = new AliJetResponseMaker(name);
 
-  jetTask->SetAnaType(type);
-  jetTask->SetTracksName(ntracks1);
-  jetTask->SetClusName(nclusters1);
-  jetTask->SetJetsName(njets1);
-  jetTask->SetRhoName(nrho1);
-  jetTask->SetTracks2Name(ntracks2);
-  jetTask->SetClus2Name(nclusters2);
-  jetTask->SetJets2Name(njets2);
-  jetTask->SetRho2Name(nrho2);
-  jetTask->SetJetRadius(jetradius);
-  jetTask->SetJetPtCut(jetptcut);
-  jetTask->SetPercAreaCut(jetareacut);
-  jetTask->SetPtBiasJetTrack(jetBiasTrack);
-  jetTask->SetPtBiasJetClus(jetBiasClus);
+  AliParticleContainer *trackCont1 = jetTask->AddParticleContainer(ntracks1);
+  AliClusterContainer *clusCont1 = jetTask->AddClusterContainer(nclusters1);
+  AliJetContainer *jetCont1 = jetTask->AddJetContainer(njets1, cutType, jetradius1);
+  jetCont1->SetRhoName(nrho1);
+  jetCont1->SetLeadingHadronType(biasType);
+  jetCont1->SetPtBiasJetTrack(jetBias);
+  jetCont1->SetPtBiasJetClus(jetBias);
+  jetCont1->SetJetPtCut(jetptcut);
+  jetCont1->SetPercAreaCut(jetareacut);
+  jetCont1->SetIsParticleLevel(kFALSE);
+  jetCont1->ConnectParticleContainer(trackCont1);
+  jetCont1->ConnectClusterContainer(clusCont1);
+  jetCont1->SetNEFCut(nefmincut,nefmaxcut);
+  jetCont1->SetFlavourCut(jetTagging);
+
+    
+  AliParticleContainer *trackCont2 = jetTask->AddParticleContainer(ntracks2);
+  AliClusterContainer *clusCont2 = jetTask->AddClusterContainer(nclusters2);
+  AliJetContainer *jetCont2 = jetTask->AddJetContainer(njets2, cutType, jetradius2);
+  jetCont2->SetRhoName(nrho2);
+  jetCont2->SetLeadingHadronType(biasType);
+  jetCont2->SetPtBiasJetTrack(jetBias);
+  jetCont2->SetPtBiasJetClus(jetBias);
+  jetCont2->SetJetPtCut(jetptcut);
+  jetCont2->SetPercAreaCut(jetareacut);
+  jetCont2->SetIsParticleLevel(kTRUE);
+  jetCont2->ConnectParticleContainer(trackCont2);
+  jetCont2->ConnectClusterContainer(clusCont2);
+  jetCont2->SetFlavourCut(jetTagging);
+
+    
   jetTask->SetMatching(matching, maxDistance1, maxDistance2);
   jetTask->SetVzRange(-10,10);
+  jetTask->SetIsPythia(kTRUE);
   jetTask->SetPtHardBin(ptHardBin);
+  jetTask->SetCentRange(minCent,maxCent);
 
   if (biggerMatrix) 
     jetTask->SetHistoBins(1000,0,500);