]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGJE/macros/AddTaskJetCorePP.C
Updates from Filip
[u/mrichter/AliRoot.git] / PWGJE / macros / AddTaskJetCorePP.C
index b7d5937b455eae87f47e5592990361af4487cb13..24634c57d5139b5f9aa7f4b3df05b172ba7731ce 100644 (file)
@@ -26,13 +26,14 @@ AliAnalysisTaskJetCorePP* AddTaskJetCorePP(
    const Char_t* mcChargFlag="",  // real="", charged jets = "MC2" 
    Bool_t bfillrespmx=0,  // 0=dont fill resp mx histos, 1=fill histos
    Bool_t bDiceEff=0,  // 0=leave efficiency as it is,  1= reduce efficiency by constant amount via SetFixedEfficiency
+   Bool_t bDoubleBinning=0,  // 0= 2GeV bin size  1= 1GeV/bin size
+   Bool_t bUseExchContainer=0, //
    Int_t triggerType=0,  //0=single incl trigger, 1=leading track, 2=hadron pt>10 
    Int_t evtRangeLow=0,   //last digit of range of ESD event number
    Int_t evtRangeHigh=9,  //first digit of range of ESD event number
    Float_t trigRangeLow=0,  //trigger pT low bin boreder works with triggType=0
    Float_t trigRangeHigh=50  //trigger pT high border works with triggType=0
   ){ 
-
    Printf("adding task jet response\n");
 
    AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
@@ -48,68 +49,92 @@ AliAnalysisTaskJetCorePP* AddTaskJetCorePP(
    Float_t jetEtaMin = -0.9 + jetParameterR;
    Float_t jetEtaMax =  0.9 - jetParameterR; 
     
-   TString analBranch(branchPrefix);
-   TString analBranchBg(branchPrefix);  // kT bg jets
-   TString analBranchFullMC="";             //full jets MC to be used with charged jets MC 
-   TString analBranchChargMC="";            //charged jets
-   TString analBranchBgChargMC="";          //charged jets kt background 
+   TString analBranch="";
+   TString analBranchBg="";   //jet to be removed from bg 
+   TString analBranchFullMC="";          //full jets MC to be used with charged jets MC 
+   TString analBranchChargMC="";         //charged jets
+   TString analBranchBgChargMC="";       //charged jets background 
+   TString analBranchKine="";            //kine jets
+   TString analBranchBgKine="";          //kine jets background 
+
+   TString mcFullSuffix="";    //MC = all jets
+   TString mcChargSuffix="";  //MC2= charged jets,  MC = all jets
 
 
+   TString bpfx(branchPrefix);
    TString stJetAlgo(jetAlgo);
    TString stJetBgAlgo(jetbgAlgo);
    stJetAlgo.ToUpper();
    stJetBgAlgo.ToUpper();
 
    TString jet="";
    TString jetbg="";
    TString otherparams="";
-   jet   = jet   + "_" + stJetAlgo   + Form("%02d",(Int_t) (10*jetParameterR));
+
+   jet   = jet   + "_" + stJetAlgo   + Form("%02d",(Int_t) (10*jetParameterR));  // _ANTIKT02
    jetbg = jetbg + "_" + stJetBgAlgo + Form("%02d",(Int_t) (10*bgjetParameterR));
-   
-   otherparams = otherparams + "_B0"; //bg mode
-   otherparams = otherparams + Form("_Filter%05d",(UInt_t) trkFilterMask);
-   otherparams = otherparams + Form("_Cut%05d",(Int_t) (1000*trackLowPtCut));
+   if(!bpfx.Contains("KINE")){
 
-   if(analBranch.BeginsWith("clustersAOD")){
-      otherparams = otherparams + Form("_Skip%02d",0);
-   }
-   
-   analBranch   = analBranch   + jet   + otherparams; //antikt jet 
-   analBranchBg = analBranchBg + jetbg + otherparams; //kt bg jet
+      analBranch   = bpfx;
+      analBranchBg = bpfx; 
+      otherparams = otherparams + "_B0"; //bg mode
+      otherparams = otherparams + Form("_Filter%05d",(UInt_t) trkFilterMask);
+      otherparams = otherparams + Form("_Cut%05d",(Int_t) (1000*trackLowPtCut));
 
-   if(bDiceEff){ //dicing efficiency relates rec only
-      analBranch   = analBranch   + "Detector10Fr0"; //dice=1, smear=0, change eff fraction =0
-      analBranchBg = analBranchBg + "Detector10Fr0"; 
+      if(analBranch.BeginsWith("clustersAOD")){
+         otherparams = otherparams + Form("_Skip%02d",0);
+      }
+   
+      analBranch   = analBranch   + jet   + otherparams; //antikt jet 
+      analBranchBg = analBranchBg + jetbg + otherparams; //kt bg jet
+
+      if(bDiceEff){ //dicing efficiency relates rec only
+         analBranch   = analBranch   + "Detector10Fr0"; //dice=1, smear=0, change eff fraction =0
+         analBranchBg = analBranchBg + "Detector10Fr0"; 
+      }
+
+      //clustersAOD_ANTIKT04_B0_Filter00272_Cut00150_Skip00   
+      //clustersAOD_ANTIKT04_B0_Filter00272_Cut00150_Skip00_Detector10Fr0   
+      //Skip00 none of the most energetic jets is ommited
+      //Cut00150  pT min cut on track
+      //Filter00272
+   
+      mcFullSuffix=Form("%s",mcFullFlag);    //MC = all jets
+      mcChargSuffix=Form("%s",mcChargFlag);  //MC2= charged jets,  MC = all jets
+   
+      if(mcChargSuffix.Length()>0 && mcChargSuffix=="MC2"){  //charged jets generator level
+         analBranchChargMC   = bpfx + mcChargSuffix + jet   + otherparams; 
+         analBranchBgChargMC = bpfx + mcChargSuffix + jetbg + otherparams; 
+      }
+   
+      if(mcFullSuffix.Length()>0 && mcFullSuffix=="MC"){ //full jets generator level
+         analBranchFullMC    = bpfx + mcFullSuffix  + jet   + otherparams; 
+      }
+   }else{ //KINE JETS
+      //clustersKINECHARGED_ANTIKT02_Cut00150
+      otherparams = otherparams + Form("_Cut%05d",TMath::Nint(1000*trackLowPtCut));
+
+      analBranchKine   = analBranchKine   + bpfx + jet   + otherparams;            
+      analBranchBgKine = analBranchBgKine + bpfx + jetbg + otherparams;         
    }
 
-   //clustersAOD_ANTIKT04_B0_Filter00272_Cut00150_Skip00   
-   //clustersAOD_ANTIKT04_B0_Filter00272_Cut00150_Skip00_Detector10Fr0   
-   //Skip00 none of the most energetic jets is ommited
-   //Cut00150  pT min cut on track
-   //Filter00272
-
-   TString mcFullSuffix(mcFullFlag);    //MC = all jets
-   TString mcChargSuffix(mcChargFlag);  //MC2= charged jets,  MC = all jets
-
-   if(mcChargSuffix.Length()>0 && mcChargSuffix=="MC2"){  //charged jets generator level
-      analBranchChargMC   = branchPrefix + mcChargSuffix + jet   + otherparams; 
-      analBranchBgChargMC = branchPrefix + mcChargSuffix + jetbg + otherparams; 
-   }
+   TString analBranchTmp = analBranch;
 
-   if(mcFullSuffix.Length()>0 && mcFullSuffix=="MC"){ //full jets generator level
-      analBranchFullMC    = branchPrefix + mcFullSuffix  + jet   + otherparams; 
+   if(bpfx.Contains("KINE")){
+      analBranchTmp=analBranchKine;
    }
-
-
-   AliAnalysisTaskJetCorePP *task = new AliAnalysisTaskJetCorePP(Form("JetCorePP_%s_%s_%d",analBranch.Data(), mcChargSuffix.Data(), offlineTriggerMask));
+   AliAnalysisTaskJetCorePP *task = new AliAnalysisTaskJetCorePP(Form("JetCorePP_%s_%s_%d",analBranchTmp.Data(), mcChargSuffix.Data(), offlineTriggerMask));
 
    task->SetBranchName(analBranch.Data());
    task->SetBranchNameFullMC(analBranchFullMC.Data());
    task->SetBranchNameChargMC(analBranchChargMC.Data());
-   task->SetBranchNameBg(analBranchBg.Data()); //kt bg jets
-   task->SetBranchNameBgChargMC(analBranchBgChargMC.Data()); //kt bg jets
+   task->SetBranchNameKine(analBranchKine.Data());
+   task->SetBranchNameBg(analBranchBg.Data()); //kine jets
+   task->SetBranchNameBgChargMC(analBranchBgChargMC.Data()); //jet to be removed from bg 
+   task->SetBranchNameBgKine(analBranchBgKine.Data()); //kine jets
    task->SetNonStdFile(nonStdFile);
    task->SetSystem(collisionSystem); 
    task->SetJetR(jetParameterR);
@@ -136,21 +161,36 @@ AliAnalysisTaskJetCorePP* AddTaskJetCorePP(
    task->SetTriggerPtRangeLow(trigRangeLow);
    task->SetTriggerPtRangeHigh(trigRangeHigh); 
    task->SetFillResponseMatrix(bfillrespmx);
+   task->SetBinning(bDoubleBinning);
+   task->SetUseExchangeContainerInput(bUseExchContainer);
 
    task->SetDebugLevel(0); //No debug messages 0
    mgr->AddTask(task);
+
    //E=  range of last two decimal numbers in event numbers
    //Ptt range of the cosidered trigger bin
    AliAnalysisDataContainer *coutputJetCorePP = mgr->CreateContainer(
-      Form("pwgjejetcorepp_%s_%s%02d_%s_%d_T%d_E%d_%d_Ptt%.0f_%.0f",analBranch.Data(),jetbgAlgo,TMath::Nint(10*bgjetParameterR),mcChargSuffix.Data(),offlineTriggerMask,triggerType,evtRangeLow,evtRangeHigh,trigRangeLow,trigRangeHigh), 
+      Form("pwgjejetcorepp_%s_%s%02d_%s_%d_T%d_E%d_%d_Ptt%.0f_%.0f",analBranchTmp.Data(),jetbgAlgo,TMath::Nint(10*bgjetParameterR),mcChargSuffix.Data(),offlineTriggerMask,triggerType,evtRangeLow,evtRangeHigh,trigRangeLow,trigRangeHigh), 
       TList::Class(),
       AliAnalysisManager::kOutputContainer,
-      Form("%s:PWGJE_jetcorepp_%s_%s%02d_%s_%d_T%d_E%d_%d_Ptt%.0f_%.0f",AliAnalysisManager::GetCommonFileName(),analBranch.Data(),jetbgAlgo,TMath::Nint(10*bgjetParameterR),mcChargSuffix.Data(),offlineTriggerMask,triggerType,evtRangeLow,evtRangeHigh,trigRangeLow,trigRangeHigh)
+      Form("%s:PWGJE_jetcorepp_%s_%s%02d_%s_%d_T%d_E%d_%d_Ptt%.0f_%.0f",AliAnalysisManager::GetCommonFileName(),analBranchTmp.Data(),jetbgAlgo,TMath::Nint(10*bgjetParameterR),mcChargSuffix.Data(),offlineTriggerMask,triggerType,evtRangeLow,evtRangeHigh,trigRangeLow,trigRangeHigh)
    );
 
    mgr->ConnectInput (task, 0, mgr->GetCommonInputContainer());
-   mgr->ConnectOutput(task, 0, mgr->GetCommonOutputContainer());
-   mgr->ConnectOutput(task, 1, coutputJetCorePP);
+   //FK//mgr->ConnectOutput(task, 0, mgr->GetCommonOutputContainer());
+
+   if(bUseExchContainer){
+
+      if(analBranchKine.Length()>0){ //kine jets = input slot 1
+         AliAnalysisDataContainer* containerKineJets = (AliAnalysisDataContainer*)mgr->GetContainers()->FindObject(analBranchKine.Data());
+        mgr->ConnectInput(task, 1, containerKineJets); 
+      }
+      if(analBranchBgKine.Length()>0){ //kine jets to be removed from bg = input slot 2
+        //XXXX// AliAnalysisDataContainer* containerKineJetsBg = (AliAnalysisDataContainer*)mgr->GetContainers()->FindObject(analBranchBgKine.Data());
+        //XXXX// mgr->ConnectInput(task, 2, containerKineJetsBg);  
+      }
+   }
 
+   mgr->ConnectOutput(task, 1, coutputJetCorePP);
    return task;
 }