+++ /dev/null
-//#include "exception.h"
-//For running at CERN
-AliAnalysisTask *AddTaskDiHadron(){
- //get the current analysis manager
- AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
- if (!mgr) {
- Error("AddTask_DiHadron", "No analysis manager found.");
- return 0;
- }
-
-
- //========= Set initial parameters=====
-
- //Track Quality Cuts
- Int_t MinimumClustersTPC=70;
- Float_t MinClusterRatio=0.1;//1/2 would remove split tracks if not for sharing of clusters
- Float_t MaxTPCchi2=4;
- Int_t MinimumClustersITS=0;
- Float_t EtaCut=0.8;//Tracks in +/- Eta are used
- Float_t TriggerEtaCut=0.5;//Smaller trigger for flat acceptance on near-side
- Float_t NearPhiCut=1.5;//Cut used to seperate near and away side for delta eta plots
- Float_t XECut=NearPhiCut;//For XE distribution near and away seperation
- Float_t MaxDCA=3;//Total DCA Cut
- Float_t MaxDCAXY=2.4;
- Float_t MaxDCAZ=3.2;
- Int_t DCAMethod=2;//0 MaxDCA used, 1 MaxDCAXY and MaxDCAZ used 2 pT dependent DCA cut
- Int_t TPCRefit=1;
- Int_t ITSRefit=1;//1 for all particles, 2 for particles above 5 GeV/c
- Int_t SPDCut=1;//check for a point in 1 of first 2 layers of the its
- Float_t MinimumPt=0.25;//Minimum Pt considered by the code
- Float_t MaximumPt=50;
- Float_t ZVertexCut=10;//in cm
-
- Int_t EfficiencyCorrection=1;//do efficiency corrections in this code
- Int_t MakeMCHistos=1;//if 0 MC histograms are not made (will be empty if 1 and ran on real data)
- Int_t DEBUG=0;//for debugging
-
-
-
- //Binning
- Int_t nBinPhi=60;//Number of bins for #Delta#phi histograms
- Int_t nBinEta=54;//Number of bins for #Delta#eta histograms
- Int_t nBinsPhiEtaPhi=20;//Number of bins for #Delta#phi-#Delta#eta in #Delta#phi
- Int_t nBinsPhiEtaEta=18;//Number of bins for #Delta#phi-#Delta#eta in #Delta#phi
- Int_t nBinsPhiPhi=30;//Number of bins for #Delta#phi-#Delta#phi
- Int_t nBinsEtaEta=27;//Number of bins for #Delta#eta-#Delta#eta
- const Float_t fPi=3.1415926535898;
- Float_t PhiPlotMin=-fPi/3;//Min bin edge in #Delta#phi
- Float_t PhiPlotMax=2*fPi+PhiPlotMin;//Max bin edge
-
- //Size of some arrays change array contents below
- const Int_t NTriggerPtBins=12;//max=20
- const Int_t NEventsToMix=100;//max=100
- const Int_t NCentralityBins=4;//max=10
- const Int_t NAssociatedPtBins=25;//max=50
- const Int_t N3ParticleAssociatedPtBins=10;//max=50
- const Int_t NZVertexBinsForMixing=7;//max=20
- const Int_t NXEBins=11;//max=20
- const Int_t NumberOfTriggerIDs=1;
- Float_t EffFitPtCut=3;
-
- TF1 *EfficiencyFitLow=new TF1("EfficiencyFitLow","[0]/[1]*exp(-0.5*pow(x/[1],2))+[2]+[3]*x",MinimumPt,EffFitPtCut);
- TF1 *EfficiencyFitHigh=new TF1("EfficiencyFitHigh","[0]",EffFitPtCut,MaximumPt);
- const Int_t NParamFitLow=4;
- const Int_t NParamFitHigh=1;
-
- //Not high enough occupancy to worry about the centrality in pp
- //For overlapping centrality bins efficiencies from first bin are used
- //7Pythia_LHC10b5
- Float_t FitLowParam[NCentralityBins*NParamFitLow]={
- -0.030749, 0.254311, 0.858824, -0.0323708,
- -0.0304332, 0.252195, 0.851405, -0.03164,
- -0.0295618, 0.248594, 0.869159, -0.0354148,
- -0.0300529, 0.236693, 0.875875, -0.0370379};
-
- Float_t FitHighParam[NCentralityBins*NParamFitHigh]={
- 0.75813,
- 0.750521,
- 0.751902,
- 0.68658};
-
- /*
- //LHC10c6_900Pythia
- Float_t FitLowParam[NCentralityBins*NParamFitLow]={
- -0.027393, 0.236723, 0.814427, -0.023897,
- -0.0271116, 0.232689, 0.809889, -0.0246341,
- -0.0284658, 0.245163, 0.856043, -0.0318309,
- -0.117114, 0.0355117, 0.828829, -0.0207492}
-
- Float_t FightHighParam[NCentralityBins*NParamFitHigh]={
- 0.729888,
- 0.719402,
- 0.708409,
- 0.829268}
- */
-
-
- Float_t TriggerPtBins[(NTriggerPtBins+1)]={2,2.5,3,4,6,8,10,15,20,30,40,50};
- Float_t AssociatedPtBins[(NAssociatedPtBins+1)]={0.25,0.5,0.75,1,1.5,2,2.5,3,3.5,4,4.5,5,6,7,8,9,10,12,15,20,25,30,40,50,70,100};
- Float_t AssociatedPtBins31[N3ParticleAssociatedPtBins]={0.5,1.0,1.5,2.0,3,4,1};
- Float_t AssociatedPtBins32[N3ParticleAssociatedPtBins]={1.0,1.5,2.0,3.0,4,5,2};
- Int_t CentralityBins1[NCentralityBins]={0, 0, 20, 40};
- Int_t CentralityBins2[NCentralityBins]={500,20,40,500};
- Float_t XEBins[(NXEBins+1)]={0,0.05,0.1,0.15,0.2,0.3,0.4,0.5,0.6,0.7,0.8,1};
- char *TriggerIDArray[NumberOfTriggerIDs]={"CINT1B"};
-
- //==================================
- //Add the task
- //===================================
- AliAnalysisTaskDiHadron *task = new AliAnalysisTaskDiHadron("DiHadron");
- task->SetCuts(MinimumClustersTPC,MinClusterRatio,MaxTPCchi2,MinimumClustersITS, EtaCut,TriggerEtaCut,NearPhiCut,XECut,MaxDCA,MaxDCAXY,MaxDCAZ, DCAMethod, TPCRefit,ITSRefit,SPDCut,MinimumPt,MaximumPt,ZVertexCut,NumberOfTriggerIDs,TriggerIDArray);
- task->SetOptions(EfficiencyCorrection,DEBUG,MakeMCHistos);
- task->SetBins(nBinPhi,nBinEta,nBinsPhiEtaPhi,nBinsPhiEtaEta,nBinsPhiPhi,nBinsEtaEta,PhiPlotMin,PhiPlotMax,NTriggerPtBins,NEventsToMix,NCentralityBins,NAssociatedPtBins,N3ParticleAssociatedPtBins,NZVertexBinsForMixing,NXEBins,TriggerPtBins,AssociatedPtBins,AssociatedPtBins31,AssociatedPtBins32,CentralityBins1,CentralityBins2,XEBins);
- task->SetEfficiencies(EffFitPtCut,EfficiencyFitLow,EfficiencyFitHigh,NParamFitLow,NParamFitHigh,FitLowParam,FitHighParam);
-
- mgr->AddTask(task);
-
-
- //================================================
- // data containers
- //================================================
- AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
- mgr->ConnectInput(task, 0, cinput);
-
-
- // define output containers, please use 'username'_'somename'
- AliAnalysisDataContainer *coutput1 =
- mgr->CreateContainer("DiHadron", TList::Class(),
- AliAnalysisManager::kOutputContainer,"DiHadron.root");
-
- // connect containers
- mgr->ConnectInput (task, 0, cinput );
- mgr->ConnectOutput (task, 0, coutput1);
-
- return task;
-}