//== grid plugin setup variables
Bool_t kPluginUse = kTRUE; // do not change
Bool_t kPluginUseProductionMode = kFALSE; // use the plugin in production mode
-TString kPluginRootVersion = "v5-27-06b"; // *CHANGE ME IF MORE RECENT IN GRID*
+TString kPluginRootVersion = "v5-28-00a"; // *CHANGE ME IF MORE RECENT IN GRID*
TString kPluginAliRootVersion = "v4-19-15-AN"; // *CHANGE ME IF MORE RECENT IN GRID*
Bool_t kPluginMergeViaJDL = kTRUE; // merge via JDL
Bool_t kPluginFastReadOption = kFALSE; // use xrootd tweaks
TString kGridLocalRunList = "";
TString kGridOutdir = ""; // AliEn output directory. If blank will become output_<kTrainName>
TString kGridDataSet = ""; // sub working directory not to confuse different run xmls
+TString kGridExtraAliendirLevel = ""; // sub working directory not to confuse different run xmls
Int_t kGridRunRange[2] = {0, -1}; // Set the run range
TString kGridRunPattern = "%03d"; // important for leading zeroes!!
TString kGridPassPattern = "";
}
*/
+
if(iPhysicsSelection && !iAODanalysis){
gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPhysicsSelection.C");
Int_t iTriggerHIC = 0;
rejectBkg = false; // for the moment...
}
AliPhysicsSelectionTask* physSelTask = AddTaskPhysicsSelection(kIsMC,rejectBkg);
- iPhysicsSelectionFlag = AliVEvent::kMB;
+
mgr->RegisterExtraFile("EventStat_temp.root");
mgr->AddStatisticsTask();
}
+ else{
+ iPhysicsSelectionFlag = AliVEvent::kMB;
+ }
if(iCentralitySelection){
if(kIsPbPb){
taskCl = AddTaskJetCluster("AOD","",kHighPtFilterMask,iPhysicsSelectionFlag,"KT",0.4,0,1, kDeltaAODJetName.Data(),0.15,fTrackEtaWindow,0); // this one is for the background and random jets, random cones with no skip
taskCl->SetBackgroundCalc(kTRUE);
- taskCl->SetNRandomCones(10);
- taskCl->SetDebugLevel(11);
+ taskCl->SetNRandomCones(1);
+ // taskCl->SetDebugLevel(11);
taskCl->SetCentralityCut(fCenLo,fCenUp);
taskCl->SetGhostEtamax(fTrackEtaWindow);
kDefaultJetBackgroundBranch = Form("%s_%s",AliAODJetEventBackground::StdBranchName(),taskCl->GetJetOutputBranch());
- taskCl = AddTaskJetCluster("AOD","",kHighPtFilterMask,iPhysicsSelectionFlag,"KT",0.4,0,1, kDeltaAODJetName.Data(),1.0,fTrackEtaWindow,0); // this one is for the background and random jets, random cones with no skip
- taskCl->SetNRandomCones(10);
+ taskCl = AddTaskJetCluster("AOD","",kHighPtFilterMask,iPhysicsSelectionFlag,"KT",0.4,0,1, kDeltaAODJetName.Data(),2.0,fTrackEtaWindow,0); // this one is for the background and random jets, random cones with no skip
+ taskCl->SetNRandomCones(1);
taskCl->SetBackgroundCalc(kTRUE);
taskCl->SetCentralityCut(fCenLo,fCenUp);
taskCl->SetGhostEtamax(fTrackEtaWindow);
+ if(iAODanalysis==2)taskCl->SetAODTrackInput(kTRUE);
kDefaultJetBackgroundBranchCut1 = Form("%s_%s",AliAODJetEventBackground::StdBranchName(),taskCl->GetJetOutputBranch());
if (iPWG4FastEmbedding) {
taskClEmb->SetBackgroundCalc(kTRUE);
taskClEmb->SetCentralityCut(fCenLo,fCenUp);
taskClEmb->SetGhostEtamax(fTrackEtaWindow);
+ if(iAODanalysis==2)taskClEmb->SetAODTrackInput(kTRUE);
kDefaultJetBackgroundBranch_extra = Form("%s_%s",AliAODJetEventBackground::StdBranchName(),taskClEmb->GetJetOutputBranch());
taskClEmb = AddTaskJetCluster("AODextraonly","",kHighPtFilterMask,iPhysicsSelectionFlag,"KT",0.4,0,1, kDeltaAODJetName.Data(),0.15,fTrackEtaWindow); // this one is for the background and random jets
taskClEmb->SetBackgroundCalc(kFALSE);
taskClEmb->SetCentralityCut(fCenLo,fCenUp);
taskClEmb->SetGhostEtamax(fTrackEtaWindow);
-
+ if(iAODanalysis==2)taskClEmb->SetAODTrackInput(kTRUE);
+
taskClEmb = AddTaskJetCluster("AODextra","",kHighPtFilterMask,iPhysicsSelectionFlag,"ANTIKT",0.4,0,1,kDeltaAODJetName.Data(),0.15,fTrackEtaWindow);
taskClEmb->SetCentralityCut(fCenLo,fCenUp);
taskClEmb->SetBackgroundBranch(kDefaultJetBackgroundBranch_extra.Data());
kJetSubtractBranches_extra += Form("%s ",taskClEmb->GetJetOutputBranch());
+ if(iAODanalysis==2)taskClEmb->SetAODTrackInput(kTRUE);
taskClEmb = AddTaskJetCluster("AODextraonly","",kHighPtFilterMask,iPhysicsSelectionFlag,"ANTIKT",0.4,0,1,kDeltaAODJetName.Data(),0.15,fTrackEtaWindow);
taskClEmb->SetCentralityCut(fCenLo,fCenUp);
+ if(iAODanalysis==2)taskClEmb->SetAODTrackInput(kTRUE);
}
taskCl = AddTaskJetCluster("AOD","",kHighPtFilterMask,iPhysicsSelectionFlag,"KT",0.2,0,1, kDeltaAODJetName.Data(),0.15); // this one is for the background and random jets
taskCl->SetBackgroundCalc(kTRUE);
taskCl->SetCentralityCut(fCenLo,fCenUp);
taskCl->SetGhostEtamax(fTrackEtaWindow);
+ if(iAODanalysis==2)taskCl->SetAODTrackInput(kTRUE);
}
else{
taskCl = AddTaskJetCluster("AOD","",kHighPtFilterMask,iPhysicsSelectionFlag,"KT",0.6,0,1,kDeltaAODJetName.Data(),0.15); // this one is for the background jets
taskCl->SetBackgroundCalc(kTRUE);
kDefaultJetBackgroundBranch = Form("%s_%s",AliAODJetEventBackground::StdBranchName(),taskCl->GetJetOutputBranch());
taskCl->SetGhostEtamax(fTrackEtaWindow);
+ if(iAODanalysis==2)taskCl->SetAODTrackInput(kTRUE);
taskCl = AddTaskJetCluster("AOD","",kHighPtFilterMask,iPhysicsSelectionFlag,"KT",0.4,0,1,kDeltaAODJetName.Data(),0.15);
taskCl->SetBackgroundCalc(kTRUE);
taskCl->SetGhostEtamax(fTrackEtaWindow);
+ if(iAODanalysis==2)taskCl->SetAODTrackInput(kTRUE);
}
taskCl = AddTaskJetCluster("AOD","",kHighPtFilterMask,iPhysicsSelectionFlag,"ANTIKT",0.4,2,1,kDeltaAODJetName.Data(),0.15);
taskCl->SetCentralityCut(fCenLo,fCenUp);
if(kIsPbPb)taskCl->SetBackgroundBranch(kDefaultJetBackgroundBranch.Data());
- taskCl->SetNRandomCones(10);
+ taskCl->SetNRandomCones(1);
+ if(iAODanalysis==2)taskCl->SetAODTrackInput(kTRUE);
kDefaultJetBranch = taskCl->GetJetOutputBranch();
kJetSubtractBranches += Form("%s ",taskCl->GetJetOutputBranch());
- taskCl = AddTaskJetCluster("AOD","",kHighPtFilterMask,iPhysicsSelectionFlag,"ANTIKT",0.4,2,1,kDeltaAODJetName.Data(),1.0);
+ taskCl = AddTaskJetCluster("AOD","",kHighPtFilterMask,iPhysicsSelectionFlag,"ANTIKT",0.4,2,1,kDeltaAODJetName.Data(),2.0);
taskCl->SetCentralityCut(fCenLo,fCenUp);
+ if(iAODanalysis==2)taskCl->SetAODTrackInput(kTRUE);
if(kIsPbPb)taskCl->SetBackgroundBranch(kDefaultJetBackgroundBranchCut1.Data());
kJetSubtractBranchesCut1 += Form("%s ",taskCl->GetJetOutputBranch());
taskCl = AddTaskJetCluster("AOD","",kHighPtFilterMask,iPhysicsSelectionFlag,"ANTIKT",0.2,0,1,kDeltaAODJetName.Data(),0.15);
taskCl->SetCentralityCut(fCenLo,fCenUp);
+ if(iAODanalysis==2)taskCl->SetAODTrackInput(kTRUE);
if(kIsPbPb)taskCl->SetBackgroundBranch(kDefaultJetBackgroundBranch.Data());
kJetSubtractBranches += Form("%s ",taskCl->GetJetOutputBranch());
taskCl->SetBackgroundCalc(kTRUE);
taskCl->SetGhostEtamax(0.9);
kDefaultJetBackgroundBranchMC = Form("%s_%s",AliAODJetEventBackground::StdBranchName(),taskCl->GetJetOutputBranch());
-
+ if(iAODanalysis==2)taskCl->SetAODTrackInput(kTRUE);
+
taskCl = AddTaskJetCluster("AODMC2","",kHighPtFilterMask,iPhysicsSelectionFlag,"KT",0.4,0,1, kDeltaAODJetName.Data(),0.15); // this one is for the background and random jets
taskCl->SetBackgroundCalc(kTRUE);
taskCl->SetGhostEtamax(fTrackEtaWindow);
kDefaultJetBackgroundBranchMC2 = Form("%s_%s",AliAODJetEventBackground::StdBranchName(),taskCl->GetJetOutputBranch(),fTrackEtaWindow);
+ if(iAODanalysis==2)taskCl->SetAODTrackInput(kTRUE);
}
else{
taskCl = AddTaskJetCluster("AODMC","",kHighPtFilterMask,iPhysicsSelectionFlag,"KT",0.6,0,1, kDeltaAODJetName.Data(),0.15,fTrackEtaWindow); // this one is for the background and random jets
taskCl->SetBackgroundCalc(kTRUE);
taskCl->SetGhostEtamax(fTrackEtaWindow);
kDefaultJetBackgroundBranchMC2 = Form("%s_%s",AliAODJetEventBackground::StdBranchName(),taskCl->GetJetOutputBranch());
+ if(iAODanalysis==2)taskCl->SetAODTrackInput(kTRUE);
// pp background calcs...
}
taskCl->SetGhostEtamax(fTrackEtaWindow);
if(kIsPbPb)taskCl->SetBackgroundBranch(kDefaultJetBackgroundBranchMC.Data());
kDefaultJetBranchMC = taskCl->GetJetOutputBranch();
+ if(iAODanalysis==2)taskCl->SetAODTrackInput(kTRUE);
taskCl = AddTaskJetCluster("AODMC2","",kHighPtFilterMask,iPhysicsSelectionFlag,"ANTIKT",0.4,0,1, kDeltaAODJetName.Data(),0.15,fTrackEtaWindow);
if(kIsPbPb)taskCl->SetBackgroundBranch(kDefaultJetBackgroundBranchMC2.Data());
kDefaultJetBranchMC2 = taskCl->GetJetOutputBranch();
-
+ if(iAODanalysis==2)taskCl->SetAODTrackInput(kTRUE);
}
}
// cut1
- taskSubtract = AddTaskJetBackgroundSubtract(kJetSubtractBranchesCut1,1,kJetSubtractMask1.Data(),kJetSubtractMask2.Data(),"Cut1000");
+ taskSubtract = AddTaskJetBackgroundSubtract(kJetSubtractBranchesCut1,1,kJetSubtractMask1.Data(),kJetSubtractMask2.Data(),"Cut2000");
taskSubtract->SetBackgroundBranch(kDefaultJetBackgroundBranchCut1.Data());
taskSubtract->SelectCollisionCandidates(iPhysicsSelectionFlag);
if(kDeltaAODJetName.Length()>0)taskSubtract->SetNonStdOutputFile(kDeltaAODJetName.Data());
taskjetServ->SetUsePhysicsSelection((Bool_t)iPhysicsSelection);
taskjetServ->SetPhysicsSelectionFlag(iPhysicsSelectionFlag); //
taskjetServ->SetNonStdFile(kDeltaAODJetName.Data());
+ taskjetServ->SetTrackEtaWindow(fTrackEtaWindow);
+ taskjetServ->SetFilterMask(kHighPtFilterMask);
if(kIsPbPb){
if(kDeltaAODJetName.Length()>0&&kFilterAOD)taskjetServ->SetFilterAODCollisions(kTRUE);
// else if(iAODanalysis)taskjetServ->SetFilterAODCollisions(kTRUE);
- taskjetServ->SetDebugLevel(3);
+ // taskjetServ->SetDebugLevel(3);
taskjetServ->SetZVertexCut(8.);
}
if(iAODanalysis){
TString bkgClusters = kDefaultJetBackgroundBranch.Data();
bkgClusters.ReplaceAll(Form("%s_",AliAODJetEventBackground::StdBranchName()),"");
+
if(iPWG4JetSpectrum&1){
if(kIsPbPb){
for(int i = 0;i<5;i++){
TString tmpCut1(kDefaultJetBranch.Data());
TString tmp2Cut1(kDefaultJetBranch.Data());
tmp2Cut1.ReplaceAll(Form(kJetSubtractMask2.Data(),1),Form(kJetSubtractMask1.Data(),0));
- tmp2Cut1.ReplaceAll("00150","01000");
- tmpCut1.ReplaceAll("00150","01000");
+ tmp2Cut1.ReplaceAll("00150","02000");
+ tmpCut1.ReplaceAll("00150","02000");
+ TString bkgClustersCut1 = tmpCut1.Data();
+ bkgClustersCut1.ReplaceAll(Form("%s_",AliAODJetEventBackground::StdBranchName()),"");
taskjetSpectrum = AddTaskJetSpectrum2(tmpCut1.Data(),tmp2Cut1.Data(),kDeltaAODJetName.Data(),kHighPtFilterMask,AliVEvent::kMB,0,i);
- taskjetSpectrum->SetBranchBkgRec(bkgClusters.Data());
- taskjetSpectrum->SetBranchBkgGen(bkgClusters.Data());
+ taskjetSpectrum->SetBranchBkgRec(bkgClustersCut1.Data());
+ taskjetSpectrum->SetBranchBkgGen(bkgClustersCut1.Data());
taskjetSpectrum->SetTrackEtaWindow(fTrackEtaWindow);
taskjetSpectrum->SetJetEtaWindow(fJetEtaWindow);
if(i!=1){
//
// the random jets...
- taskjetSpectrum = AddTaskJetSpectrum2("clustersAOD_KT04_B0_Filter00256_Cut00150_Skip00RandomConeSkip00",
- "clustersAOD_KT04_B0_Filter00256_Cut00150_Skip00RandomCone_random",
+ taskjetSpectrum = AddTaskJetSpectrum2(
+ Form("clustersAOD_KT04_B0_Filter%05d_Cut00150_Skip00RandomConeSkip00",kHighPtFilterMask),
+ Form("clustersAOD_KT04_B0_Filter%05d_Cut00150_Skip00RandomCone_random",kHighPtFilterMask),
kDeltaAODJetName.Data(),kHighPtFilterMask,AliVEvent::kMB,0,i);
taskjetSpectrum->SetBranchBkgRec(bkgClusters.Data());
taskjetSpectrum->SetTrackEtaWindow(fTrackEtaWindow);
taskjetSpectrum->SetJetEtaWindow(fJetEtaWindow);
- taskjetSpectrum = AddTaskJetSpectrum2("clustersAOD_KT04_B0_Filter00256_Cut01000_Skip00RandomConeSkip00",
- "clustersAOD_KT04_B0_Filter00256_Cut01000_Skip00RandomCone_random",
+ taskjetSpectrum = AddTaskJetSpectrum2(
+ Form("clustersAOD_KT04_B0_Filter%05d_Cut02000_Skip00RandomConeSkip00",kHighPtFilterMask),
+ Form("clustersAOD_KT04_B0_Filter%05d_Cut02000_Skip00RandomCone_random",kHighPtFilterMask),
kDeltaAODJetName.Data(),kHighPtFilterMask,AliVEvent::kMB,0,i);
- taskjetSpectrum->SetBranchBkgRec(bkgClusters.Data());
- taskjetSpectrum->SetBranchBkgGen(bkgClusters.Data());
+ taskjetSpectrum->SetBranchBkgRec(bkgClustersCut1.Data());
+ taskjetSpectrum->SetBranchBkgGen(bkgClustersCut1.Data());
taskjetSpectrum->SetFlagJetType(AliAnalysisTaskJetSpectrum2::kJetRecFull,0);
taskjetSpectrum->SetFlagJetType(AliAnalysisTaskJetSpectrum2::kJetGenFull,0);
taskjetSpectrum->SetTrackEtaWindow(fTrackEtaWindow);
else{
// Anti-kT
taskFrag = AddTaskFragmentationFunction(1<<23,kHighPtFilterMask, 1);
+ if(kDeltaAODJetName.Length()>0)taskFrag->SetNonStdFile(kDeltaAODJetName.Data());
+ if(iAODanalysis==2)taskFrag->UseAODInputJets(kFALSE);
+
taskFrag = AddTaskFragmentationFunction(1<<23,kHighPtFilterMask, 2);
+ if(kDeltaAODJetName.Length()>0)taskFrag->SetNonStdFile(kDeltaAODJetName.Data());
+ if(iAODanalysis==2)taskFrag->UseAODInputJets(kFALSE);
+
taskFrag = AddTaskFragmentationFunction(1<<23,kHighPtFilterMask, 3);
+ if(kDeltaAODJetName.Length()>0)taskFrag->SetNonStdFile(kDeltaAODJetName.Data());
+ if(iAODanalysis==2)taskFrag->UseAODInputJets(kFALSE);
+
taskFrag = AddTaskFragmentationFunction(1<<23,kHighPtFilterMask, 4);
-
+ if(kDeltaAODJetName.Length()>0)taskFrag->SetNonStdFile(kDeltaAODJetName.Data());
+ if(iAODanalysis==2)taskFrag->UseAODInputJets(kFALSE);
+
// UA1
taskFrag = AddTaskFragmentationFunction(1<<0,kHighPtFilterMask, 1);
+ if(kDeltaAODJetName.Length()>0)taskFrag->SetNonStdFile(kDeltaAODJetName.Data());
+ if(iAODanalysis==2)taskFrag->UseAODInputJets(kFALSE);
+
taskFrag = AddTaskFragmentationFunction(1<<0,kHighPtFilterMask, 2);
+ if(kDeltaAODJetName.Length()>0)taskFrag->SetNonStdFile(kDeltaAODJetName.Data());
+ if(iAODanalysis==2)taskFrag->UseAODInputJets(kFALSE);
+
taskFrag = AddTaskFragmentationFunction(1<<0,kHighPtFilterMask, 3);
+ if(kDeltaAODJetName.Length()>0)taskFrag->SetNonStdFile(kDeltaAODJetName.Data());
+ if(iAODanalysis==2)taskFrag->UseAODInputJets(kFALSE);
+
taskFrag = AddTaskFragmentationFunction(1<<0,kHighPtFilterMask, 4);
+ if(kDeltaAODJetName.Length()>0)taskFrag->SetNonStdFile(kDeltaAODJetName.Data());
+ if(iAODanalysis==2)taskFrag->UseAODInputJets(kFALSE);
// SISCONE
/*
// Anti-kT B2 - B3
taskFrag = AddTaskFragmentationFunction(1<<26,kHighPtFilterMask, 1);
- taskFrag = AddTaskFragmentationFunction(1<<27,kHighPtFilterMask, 1);
+ if(kDeltaAODJetName.Length()>0)taskFrag->SetNonStdFile(kDeltaAODJetName.Data());
+ if(iAODanalysis==2)taskFrag->UseAODInputJets(kFALSE);
-
+
+ taskFrag = AddTaskFragmentationFunction(1<<27,kHighPtFilterMask, 1);
+ if(kDeltaAODJetName.Length()>0)taskFrag->SetNonStdFile(kDeltaAODJetName.Data());
+ if(iAODanalysis==2)taskFrag->UseAODInputJets(kFALSE);
}
if (!taskFrag) ::Warning("AnalysisTrainPWG4Jets", "AliAnalysisTaskFragmentationFunction cannot run for this train conditions - EXCLUDED");
TString alien_workdir = gGrid->GetHomeDirectory();
if (iAODanalysis) alien_workdir += "analysisAOD";
else alien_workdir += "analysisESD";
- if(kGridDataSet.Length()>0)alien_workdir += Form("/%s",kGridDataSet.Data());
+ if(kGridDataSet.Length()>0)alien_workdir += Form("/%s%s",kGridDataSet.Data(),kGridExtraAliendirLevel.Data());
AliAnalysisAlien *gridhandler = (AliAnalysisAlien*)mgr->GetGridHandler();
printf("=== AnalysisTrainPWG4Jets:: Registering jdl in the work directory alien://%s/%s, should be done by the manager! ===\n",
alien_workdir.Data(),gridhandler->GetGridOutputDir());
TString alien_workdir = gGrid->GetHomeDirectory();
if (iAODanalysis) alien_workdir += "analysisAOD";
else alien_workdir += "analysisESD";
- if(kGridDataSet.Length()>0)alien_workdir += Form("/%s",kGridDataSet.Data());
+ if(kGridDataSet.Length()>0)alien_workdir += Form("/%s%s",kGridDataSet.Data(),kGridExtraAliendirLevel.Data());
// kGridOutdir = gridhandler->GetGridOutputDir();
printf("=== Registering ConfigTrain.C in the work directory <%s> ===\n",
alien_workdir.Data());
::Error("AnalysisTrainPWG4Jets.C::StartAnalysis", "Cannot create the chain");
return;
}
- mgr->StartAnalysis(mode, chain);
+ // mgr->StartAnalysis(mode, chain);
mgr->StartAnalysis(mode, chain,kNumberOfEvents);
}
return;
// Define production directory LFN
plugin->SetGridDataDir(kGridDatadir.Data());
// Set data search pattern
- if (iAODanalysis) plugin->SetDataPattern(" *AliAOD.Jets.root");
+ if (iAODanalysis) plugin->SetDataPattern(" *AliAOD.root");
// else plugin->SetDataPattern(Form(" %s/*/*ESD.tag.root",kGridPassPattern.Data()));
else plugin->SetDataPattern(Form(" %s/*/*AliESDs.root",kGridPassPattern.Data()));
// ...then add run numbers to be considered
if (iAODanalysis) alien_workdir += "analysisAOD";
else alien_workdir += "analysisESD";
- if(kGridDataSet.Length()>0)alien_workdir += Form("/%s",kGridDataSet.Data());
+ if(kGridDataSet.Length()>0)alien_workdir += Form("/%s%s",kGridDataSet.Data(),kGridExtraAliendirLevel.Data());
plugin->SetGridWorkingDir(alien_workdir.Data());
// Declare alien output directory. Relative to working directory.