]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGJE/macros/AddTaskJetCorePP.C
From Filip Krizek
[u/mrichter/AliRoot.git] / PWGJE / macros / AddTaskJetCorePP.C
index 301c704bc684b15714744c623a62a9d1ae930259..28d699bdd389644331b550430a341c5c3b94cb5c 100644 (file)
@@ -2,12 +2,16 @@
 
 AliAnalysisTaskJetCorePP* AddTaskJetCorePP(
    const Char_t* branchPrefix="clustersAOD",
-   const Char_t* jetAlgo="ANTIKT",
+   const Char_t* jetAlgo="ANTIKT",   
    Float_t jetParameterR = 0.4,  //jet R 
-   Int_t   bgMode = 0, 
    UInt_t  trkFilterMask = 272, 
    Float_t trackLowPtCut = 0.15,
-   Int_t   skipJet = 0, 
+   const Char_t* jetbgAlgo="ANTIKT",    //background jet algo
+   Float_t bgjetParameterR = 0.3,  //R of jet to be removed while bg calc 
+   Float_t bgMaxJetPt = 8.0, //max jet pt to be accepted to bg 
+   Int_t  rndTrials = 2000, //number of trials to get jet free cell area
+   Float_t jetFreeAreaFrac = 0.75, //cell area free of jets
+   Float_t bgConeR = 0.4,  //R of perp cone jet R 
    Int_t   collisionSystem = 0, //pp=0, pPb=1
    Int_t   offlineTriggerMask=AliVEvent::kMB, //MinBias=0 
    Int_t   minContribVtx = 1,
@@ -17,7 +21,15 @@ AliAnalysisTaskJetCorePP* AddTaskJetCorePP(
    Float_t centMax = 100.0,
    Float_t triggerEtaCut = 0.9,
    Float_t trackEtaCut = 0.9,
-   const Char_t* nonStdFile=""
+   const Char_t* nonStdFile="",
+   const Char_t* mcFullFlag="",  // real="", all jets= "MC"    
+   const Char_t* mcChargFlag="",  // real="", charged jets = "MC2" 
+   Bool_t bfillrespmx=0,  // 0=dont fill resp mx histos, 1=fill histos
+   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");
@@ -36,25 +48,68 @@ AliAnalysisTaskJetCorePP* AddTaskJetCorePP(
    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 stJetAlgo(jetAlgo);
+   TString stJetBgAlgo(jetbgAlgo);
    stJetAlgo.ToUpper();
-   analBranch = analBranch + "_" + stJetAlgo + Form("%02d",(Int_t) (10*jetParameterR));
-   analBranch = analBranch + Form("_B%d",(Int_t) bgMode);
-   analBranch = analBranch + Form("_Filter%05d",(UInt_t) trkFilterMask);
-   analBranch = analBranch + Form("_Cut%05d",(Int_t) (1000*trackLowPtCut));
+   stJetBgAlgo.ToUpper();
+
+   TString jet="";
+   TString jetbg="";
+   TString otherparams="";
+   jet   = jet   + "_" + stJetAlgo   + Form("%02d",(Int_t) (10*jetParameterR));
+   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(analBranch.BeginsWith("clustersAOD"))
-      analBranch = analBranch + Form("_Skip%02d",(Int_t) skipJet);
+      otherparams = otherparams + Form("_Skip%02d",0);
+   
+   analBranch   = analBranch   + jet   + otherparams; //antikt jet 
+   analBranchBg = analBranchBg + jetbg + otherparams; //kt bg jet
+
    //clustersAOD_ANTIKT04_B0_Filter00272_Cut00150_Skip00   
    //Skip00 none of the most energetic jets is ommited
    //Cut00150  pT min cut on track
    //Filter00272
-  
-   AliAnalysisTaskJetCorePP *task = new AliAnalysisTaskJetCorePP(Form("JetCorePP_%s_%d",analBranch.Data(),offlineTriggerMask));
+
+   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; 
+   }
+
+   if(mcFullSuffix.Length()>0 && mcFullSuffix=="MC"){ //full jets generator level
+      analBranchFullMC    = branchPrefix + mcFullSuffix  + jet   + otherparams; 
+   }
+
+
+   AliAnalysisTaskJetCorePP *task = new AliAnalysisTaskJetCorePP(Form("JetCorePP_%s_%s_%d",analBranch.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->SetNonStdFile(nonStdFile);
    task->SetSystem(collisionSystem); 
    task->SetJetR(jetParameterR);
+   task->SetBgJetR(bgjetParameterR);
+   task->SetBgMaxJetPt(bgMaxJetPt);
+   task->SetRndTrials(rndTrials);
+   task->SetFreeAreaFrac(jetFreeAreaFrac);
+   task->SetBgConeR(bgConeR); 
    task->SetOfflineTrgMask(offlineTriggerMask);
    task->SetMinContribVtx(minContribVtx);
    task->SetVtxZMin(vtxZMin);
@@ -67,14 +122,22 @@ AliAnalysisTaskJetCorePP* AddTaskJetCorePP(
    task->SetTriggerEtaCut(triggerEtaCut);
    task->SetTrackEtaCut(trackEtaCut);
    task->SetTrackLowPtCut(trackLowPtCut);
+   task->SetTriggerType(triggerType); 
+   task->SetEventNumberRangeLow(evtRangeLow);
+   task->SetEventNumberRangeHigh(evtRangeHigh);
+   task->SetTriggerPtRangeLow(trigRangeLow);
+   task->SetTriggerPtRangeHigh(trigRangeHigh); 
+   task->SetFillResponseMatrix(bfillrespmx);
+
    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_%d",analBranch.Data(),offlineTriggerMask), 
+      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), 
       TList::Class(),
       AliAnalysisManager::kOutputContainer,
-      Form("%s:PWGJE_jetcorepp_%s_%d",AliAnalysisManager::GetCommonFileName(),analBranch.Data(),offlineTriggerMask)
+      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)
    );
 
    mgr->ConnectInput (task, 0, mgr->GetCommonInputContainer());