]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG4/macros/AnalysisTrainPWG4Jets.C
updates for differnt jet configs (including background), reduced number of UA1 Jets
[u/mrichter/AliRoot.git] / PWG4 / macros / AnalysisTrainPWG4Jets.C
index f3c7017fc2d06215dad6172e060590803f77fd1d..46db041384327d6a06c492f4a5d3eabef5e3132e 100644 (file)
@@ -301,8 +301,8 @@ void AnalysisTrainPWG4Jets(const char *analysis_mode="local",
    // AOD input handler
       AliAODInputHandler *aodH = new AliAODInputHandler();
       mgr->SetInputEventHandler(aodH);
-      if (iPWG4JetTasks) aodH->AddFriend(Form("deltas/%s",kDeltaAODJetName.Data()));
-      if (iPWG4PartCorr) aodH->AddFriend(Form("deltas/%s"kDeltaAODJetName.Data()));
+      //      if (iPWG4JetTasks) aodH->AddFriend(Form("deltas/%s",kDeltaAODJetName.Data()));
+      //      if (iPWG4PartCorr) aodH->AddFriend(Form("deltas/%s"kDeltaAODJetName.Data()));
    } else {   
    // ESD input handler
       AliESDInputHandler *esdHandler = new AliESDInputHandler();
@@ -387,8 +387,8 @@ void AnalysisTrainPWG4Jets(const char *analysis_mode="local",
 
      // has to run before AOD filter
      gROOT->LoadMacro("$ALICE_ROOT/PWG4/macros/AddTaskCentralitySelection.C");
-     const char* file1="$ALICE_ROOT/ANALYSIS/macros/AliCentralityBy1D_137161_v4.root";
-     const char* file2="$ALICE_ROOT/ANALYSIS/macros/AliCentralityBy1D_137161_v4.root";
+     const char* file1="$ALICE_ROOT/ANALYSIS/macros/AliCentralityBy1D_137161_v5.root";
+     const char* file2="$ALICE_ROOT/ANALYSIS/macros/AliCentralityBy1D_137366_v3.root";
      AliCentralitySelectionTask *taskC = AddTaskCentralitySelection(file1,file2);
       if (!taskC) ::Warning("AnalysisTrainPWG4Jets", "AliCentralitySelectionTask cannot run for this train conditions - EXCLUDED");
    }
@@ -421,10 +421,25 @@ void AnalysisTrainPWG4Jets(const char *analysis_mode="local",
    if (iJETAN) {
       gROOT->LoadMacro("$ALICE_ROOT/PWG4/macros/AddTaskJets.C");
       AliAnalysisTaskJets *taskjets = 0;
-      if(iJETAN&1)taskjets = AddTaskJets(kHighPtFilterMask); 
+      if(iJETAN&1){
+       /*
+       taskjets = AddTaskJets(kHighPtFilterMask); 
+       taskjets->SetName("StandardJets");
+       taskjets->SetNonStdBranch("");
+       */
+      }
       if(iJETAN&2){
-       UInt_t selection = 0;
-       if(!kFillAOD){
+       // Set only few jet finders  backgroudn subtraction w an wo 
+       
+       taskjets = AddTaskJets("AOD","UA1",0.4,kHighPtFilterMask,0.15,0); // low p_T no background subtraction
+       taskjets = AddTaskJets("AOD","UA1",0.4,kHighPtFilterMask,0.15,1); // low p_T background subtraction
+       taskjets = AddTaskJets("AOD","UA1",0.4,kHighPtFilterMask,1,0);     // high p_T no abackground subtraction
+       taskjets = AddTaskJets("AOD","UA1",0.4,kHighPtFilterMask,1,1);     // high p_T abackground subtraction
+
+
+       /*
+         UInt_t selection = 0;
+         if(!kFillAOD){
          selection = 0xffffff&~(1<<13)&~(1<<5)&~(1<<6); // switch OFF DA and all R = 0.7 to save processing time
          selection &= ~(1<<1)&~(1<<2)&~(1<<4)&~(1<<6)&~(1<<8)&~(1<<10)&~(1<<12);
        }
@@ -434,6 +449,7 @@ void AnalysisTrainPWG4Jets(const char *analysis_mode="local",
        }
        AddTaskJetsDelta(kDeltaAODJetName.Data(),kHighPtFilterMask,kUseAODMC,selection); 
        AddTaskJets("AOD","FASTKT",0.2,kHighPtFilterMask); 
+       */
       }
       if (!taskjets) ::Warning("AnalysisTrainPWG4Jets", "AliAnalysisTaskJets cannot run for this train conditions - EXCLUDED");
        if(kDeltaAODJetName.Length()>0)mgr->RegisterExtraFile(kDeltaAODJetName.Data()); 
@@ -442,30 +458,113 @@ void AnalysisTrainPWG4Jets(const char *analysis_mode="local",
    if(iPWG4Cluster){
      gROOT->LoadMacro("$ALICE_ROOT/PWG4/macros/AddTaskJetCluster.C");
      AliAnalysisTaskJetCluster *taskCl = 0;
+     Float_t fCenUp = 0;
+     Float_t fCenLo = 0;
+     if(kIsPbPb&&!kIsMC){
+       fCenLo = 0;
+       fCenUp = 80;
+     }
      if(iPWG4Cluster&1){
 
        if(kIsPbPb){
-        taskCl = AddTaskJetCluster("AOD","",kHighPtFilterMask,iPhysicsSelectionFlag,"KT",0.2,0,1, kDeltaAODJetName.Data()); // this one is for the background random jets
+
+        /*
+        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->SetGhostEtamax(0.9);
-        taskCl = AddTaskJetCluster("AOD","",kHighPtFilterMask,iPhysicsSelectionFlag,"KT",0.4,0,1, kDeltaAODJetName.Data()); // this one is for the background random jets
+        taskCl->SetCentralityCut(fCenLo,fCenUp);
+        */
+
+        taskCl = AddTaskJetCluster("AOD","",kHighPtFilterMask,iPhysicsSelectionFlag,"KT",0.4,0,1, kDeltaAODJetName.Data(),0.15); // this one is for the background and random jets
         taskCl->SetBackgroundCalc(kTRUE);
+        taskCl->SetCentralityCut(fCenLo,fCenUp);
         taskCl->SetGhostEtamax(0.9);
+
+        taskCl = AddTaskJetCluster("AOD","",256,iPhysicsSelectionFlag,"KT",0.4,0,1, kDeltaAODJetName.Data(),0.15); // this one is for the background and random jets
+        taskCl->SetBackgroundCalc(kTRUE);
+        taskCl->SetCentralityCut(fCenLo,fCenUp);
+        taskCl->SetGhostEtamax(0.9);
+
+
+        /*
+        taskCl = AddTaskJetCluster("AOD","",kHighPtFilterMask,iPhysicsSelectionFlag,"KT",0.2,0,1, kDeltaAODJetName.Data()); // this one is for the background and random jets
+        taskCl->SetBackgroundCalc(kTRUE);       
+        taskCl->SetGhostEtamax(0.9);
+        taskCl->SetCentralityCut(fCenLo,fCenUp);
+        */
+
+        taskCl = AddTaskJetCluster("AOD","",kHighPtFilterMask,iPhysicsSelectionFlag,"KT",0.4,0,1, kDeltaAODJetName.Data(),1.); // this one is for the background and random jets
+        taskCl->SetBackgroundCalc(kTRUE);
+        taskCl->SetCentralityCut(fCenLo,fCenUp);
+        taskCl->SetGhostEtamax(0.9);
+
+
        }
        else{
         taskCl = AddTaskJetCluster("AOD","",kHighPtFilterMask,iPhysicsSelectionFlag,"KT",0.6,0,1,kDeltaAODJetName.Data()); // this one is for the background jets
         taskCl->SetBackgroundCalc(kTRUE);
        }
 
+       /*
        taskCl = AddTaskJetCluster("AOD","",kHighPtFilterMask,iPhysicsSelectionFlag,"ANTIKT",0.2,0,1,kDeltaAODJetName.Data()); 
-       taskCl = AddTaskJetCluster("AOD","",kHighPtFilterMask,iPhysicsSelectionFlag,"ANTIKT",0.4,0,1,kDeltaAODJetName.Data());
-       taskCl->SetJetTriggerPtCut(999);// hard coded values in tha task, only flag 
+       taskCl->SetCentralityCut(fCenLo,fCenUp);
        taskCl->SetBackgroundBranch("jeteventbackground_clustersAOD_KT04");
+       */
+
+
+       taskCl = AddTaskJetCluster("AOD","",kHighPtFilterMask,iPhysicsSelectionFlag,"ANTIKT",0.4,0,1,kDeltaAODJetName.Data(),0.15);
+       taskCl->SetCentralityCut(fCenLo,fCenUp);
+       taskCl->SetJetTriggerPtCut(40.);//
+       taskCl->SetBackgroundBranch("jeteventbackground_clustersAOD_KT04_B1_Filter00144_Cut0150_Skip00");
+
+
+       taskCl = AddTaskJetCluster("AOD","",256,iPhysicsSelectionFlag,"ANTIKT",0.4,0,1,kDeltaAODJetName.Data(),0.15);
+       taskCl->SetCentralityCut(fCenLo,fCenUp);
+       taskCl->SetJetTriggerPtCut(40.);//
+       taskCl->SetBackgroundBranch("jeteventbackground_clustersAOD_KT04_B1_Filter00256_Cut0150_Skip00");
+
+
+
+       taskCl = AddTaskJetCluster("AOD","",kHighPtFilterMask,iPhysicsSelectionFlag,"ANTIKT",0.4,0,1,kDeltaAODJetName.Data(),1);
+       taskCl->SetCentralityCut(fCenLo,fCenUp);
+       taskCl->SetBackgroundBranch("jeteventbackground_clustersAOD_KT04_B1_Filter00144_Cut01000_Skip00");
+
+
+
        if(kUseAODMC){
-        taskCl = AddTaskJetCluster("AODMC","",kHighPtFilterMask,iPhysicsSelectionFlag,"KT",0.6,0,1,kDeltaAODJetName.Data()); // this one is for the background jets
-        taskCl = AddTaskJetCluster("AODMC2","",kHighPtFilterMask,iPhysicsSelectionFlag,"KT",0.6,0,1,kDeltaAODJetName.Data()); // this one is for the background jets
-        taskCl = AddTaskJetCluster("AODMC","",kHighPtFilterMask,iPhysicsSelectionFlag,"KT",0.4,0,1,kDeltaAODJetName.Data()); // this one is for the background random jets
-        taskCl = AddTaskJetCluster("AODMC2","",kHighPtFilterMask,iPhysicsSelectionFlag,"KT",0.4,0,1,kDeltaAODJetName.Data()); // this one is for the background random jets
+        if(kIsPbPb){
+          // calcluate the backgrounds first, but only R = 0.4
+          taskCl = AddTaskJetCluster("AODMC","",kHighPtFilterMask,iPhysicsSelectionFlag,"KT",0.4,0,1,kDeltaAODJetName.Data()); // this one is for the background random jets
+          taskCl = AddTaskJetCluster("AODMC2","",kHighPtFilterMask,iPhysicsSelectionFlag,"KT",0.4,0,1,kDeltaAODJetName.Data()); // this one is for the background random jets
+          
+          
+          
+          taskCl = AddTaskJetCluster("AODMC","",kHighPtFilterMask,iPhysicsSelectionFlag,"ANTIKT",0.2,0,1,kDeltaAODJetName.Data());
+          taskCl->SetBackgroundBranch("jeteventbackground_clustersAODMC_KT04");
+          taskCl = AddTaskJetCluster("AODMC","",kHighPtFilterMask,iPhysicsSelectionFlag,"ANTIKT",0.4,0,1,kDeltaAODJetName.Data());
+          taskCl->SetBackgroundBranch("jeteventbackground_clustersAODMC_KT04");
+          taskCl = AddTaskJetCluster("AODMC2","",kHighPtFilterMask,iPhysicsSelectionFlag,"ANTIKT",0.2,0,1,kDeltaAODJetName.Data());
+          taskCl->SetBackgroundBranch("jeteventbackground_clustersAODMC2_KT04");
+          taskCl = AddTaskJetCluster("AODMC2","",kHighPtFilterMask,iPhysicsSelectionFlag,"ANTIKT",0.4,0,1,kDeltaAODJetName.Data());
+          taskCl->SetBackgroundBranch("jeteventbackground_clustersAODMC2_KT04");
+        }
+        else{
+          taskCl = AddTaskJetCluster("AODMC","",kHighPtFilterMask,iPhysicsSelectionFlag,"KT",0.6,0,1,kDeltaAODJetName.Data()); // this one is for the background jets
+          taskCl = AddTaskJetCluster("AODMC2","",kHighPtFilterMask,iPhysicsSelectionFlag,"KT",0.6,0,1,kDeltaAODJetName.Data()); // this one is for the background jets
+
+          
+          taskCl = AddTaskJetCluster("AODMC","",kHighPtFilterMask,iPhysicsSelectionFlag,"ANTIKT",0.2,0,1,kDeltaAODJetName.Data());
+          taskCl->SetBackgroundBranch("jeteventbackground_clustersAODMC_KT06");
+          taskCl = AddTaskJetCluster("AODMC","",kHighPtFilterMask,iPhysicsSelectionFlag,"ANTIKT",0.4,0,1,kDeltaAODJetName.Data());
+          taskCl->SetBackgroundBranch("jeteventbackground_clustersAODMC_KT06");
+          taskCl = AddTaskJetCluster("AODMC2","",kHighPtFilterMask,iPhysicsSelectionFlag,"ANTIKT",0.2,0,1,kDeltaAODJetName.Data());
+          taskCl->SetBackgroundBranch("jeteventbackground_clustersAODMC2_KT06");
+          taskCl = AddTaskJetCluster("AODMC2","",kHighPtFilterMask,iPhysicsSelectionFlag,"ANTIKT",0.4,0,1,kDeltaAODJetName.Data());
+          taskCl->SetBackgroundBranch("jeteventbackground_clustersAODMC2_KT06");
+
+
+
+        }
        }
 
        if (!taskCl) ::Warning("AnalysisTrainPWG4Jets", "AliAnalysisTaskCluster cannot run for this train conditions - EXCLUDED");
@@ -574,6 +673,9 @@ void AnalysisTrainPWG4Jets(const char *analysis_mode="local",
      if(kIsPbPb){
        taskjetServ->SetFilterAODCollisions(kTRUE);
      }
+     if(iAODanalysis){
+       taskjetServ->SetAODInput(kTRUE);
+     }
    }
 
    if(iPWG4JetSpectrum){
@@ -591,7 +693,15 @@ void AnalysisTrainPWG4Jets(const char *analysis_mode="local",
      if(iPWG4JetSpectrum&1){
        // add the dfault jet finders with R = 0.4 
        UInt_t iSelection = 0xfffff; 
-       taskJetSpectrum = AddTaskJetSpectrum2Delta(kHighPtFilterMask,kUseAODMC,iPhysicsSelectionFlag,iSelection,0,kTRUE,cBack.Data());  // bug fixed 10.11.10
+       
+       //  taskJetSpectrum = AddTaskJetSpectrum2Delta(kHighPtFilterMask,kUseAODMC,iPhysicsSelectionFlag,iSelection,0,kTRUE,cBack.Data());  // bug fixed 10.11.10
+       taskJetSpectrum = AddTaskJetSpectrum2("clustersAOD_ANTIKT04","",cBack.Data(),kHighPtFilterMask,iPhysicsSelectionFlag,0,kTRUE,1);
+       if(iAODanalysis){
+        taskJetSpectrum->SetDebugLevel(1);
+        taskJetSpectrum->SetAODJetInput(kTRUE);
+        taskJetSpectrum->SetAODTrackInput(kTRUE);
+        taskJetSpectrum->SetUseGlobalSelection(kFALSE);
+       }
      }
      if(iPWG4JetSpectrum&2){
        if(kIsMC){
@@ -960,7 +1070,8 @@ void CheckModuleFlags(const char *mode) {
    }
 
    // Decide if we have PbPb
-   if(kGridDataSet.CompareTo("LHC10h")==0) {
+   if(kGridDataSet.CompareTo("LHC10h")==0||kGridDataSet.Contains("LHC10h")) {
+     Printf("Using settings for Pb+Pb");
      kIsPbPb = true;
    }
 
@@ -1168,6 +1279,7 @@ Bool_t LoadCommonLibraries(const char *mode)
             success &= LoadLibrary("AOD", mode, kTRUE);
             success &= LoadLibrary("ANALYSIS", mode, kTRUE);
             success &= LoadLibrary("ANALYSISalice", mode, kTRUE);
+            success &= LoadLibrary("EventMixing", mode,kTRUE);
             success &= LoadLibrary("CORRFW", mode, kTRUE);
          } else {   
             success &= LoadLibrary("libSTEERBase.so", mode);
@@ -1175,6 +1287,7 @@ Bool_t LoadCommonLibraries(const char *mode)
             success &= LoadLibrary("libAOD.so", mode);
             success &= LoadLibrary("libANALYSIS.so", mode);
             success &= LoadLibrary("libANALYSISalice.so", mode);
+            success &= LoadLibrary("libEventMixing.so", mode);
             success &= LoadLibrary("libCORRFW.so", mode);
             gROOT->ProcessLine(".include $ALICE_ROOT/include");
          }   
@@ -1188,6 +1301,7 @@ Bool_t LoadCommonLibraries(const char *mode)
             success &= LoadLibrary("AOD", mode);
             success &= LoadLibrary("ANALYSIS", mode);
             success &= LoadLibrary("ANALYSISalice", mode);
+            success &= LoadLibrary("EventMixing", mode);
             success &= LoadLibrary("CORRFW", mode);
          } else { 
             ires = gProof->EnablePackage(kProofAFversion);
@@ -1565,7 +1679,7 @@ AliAnalysisAlien* CreateAlienHandler(const char *plugin_mode)
    plugin->SetRunMode(plugin_mode);
    if (kPluginUseProductionMode) plugin->SetProductionMode();
    plugin->SetJobTag(kJobTag);
-   plugin->SetNtestFiles(1);
+   plugin->SetNtestFiles(2);
 //   plugin->SetPreferedSE("ALICE::NIHAM::File");
 // Set versions of used packages
    plugin->SetAPIVersion("V1.1x");
@@ -1618,10 +1732,16 @@ AliAnalysisAlien* CreateAlienHandler(const char *plugin_mode)
 
      // just use run numbers, negatives will be excluded
      while(in1>>iRun){
-       if(iRun>= kGridOffsetRunFromList&&(nRun<kGridMaxRunsFromList)){
+       if(iRun>=0){
+        if(iRun>=0&&nRun>=kGridOffsetRunFromList&&(nRun<kGridMaxRunsFromList)){
           Printf("AnalysisTrainPWG4Jets Adding run number from File %s", Form(kGridRunPattern.Data(),iRun));
           plugin->AddRunNumber(Form(kGridRunPattern.Data(),iRun));
-          nRun++;
+
+        }
+        else{
+          Printf("AnalysisTrainPWG4Jets Skipping run number from File %d", iRun);
+        }
+        nRun++; 
        }
        else{
         Printf("AnalysisTrainPWG4Jets Skipping run number from File %d", iRun);