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();
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);
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;
}