]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG4/macros/AddTaskPWG4HighPtSpectra.C
Test track FilterBit and not FilterMask for AOD analysis
[u/mrichter/AliRoot.git] / PWG4 / macros / AddTaskPWG4HighPtSpectra.C
index 3738018ddd71ec8a04cabc8edeb411b85df53ef8..57552abf0b6b39c724da48acbe42b8475d41f082 100644 (file)
@@ -6,8 +6,8 @@ const Float_t phimax = 2.*TMath::Pi();
 const Float_t etamin = -0.9;
 const Float_t etamax = 0.9;
 
-const Int_t   mintrackrefsTPC = 1;
-const Int_t   mintrackrefsITS = 1;
+const Int_t   mintrackrefsTPC = 0;
+const Int_t   mintrackrefsITS = 0;
 
 void AddTaskPWG4HighPtSpectraAll(char *prodType = "LHC10h",Bool_t isPbPb=kTRUE, Int_t iAODanalysis = 0)
 {
@@ -15,21 +15,23 @@ void AddTaskPWG4HighPtSpectraAll(char *prodType = "LHC10h",Bool_t isPbPb=kTRUE,
 
   AliPWG4HighPtSpectra *taskSpectra00cent10 = AddTaskPWG4HighPtSpectra(prodType,isPbPb,cent,0,0);
   AliPWG4HighPtSpectra *taskSpectra01cent10 = AddTaskPWG4HighPtSpectra(prodType,isPbPb,cent,0,1);
-  AliPWG4HighPtSpectra *taskSpectra02cent10 = AddTaskPWG4HighPtSpectra(prodType,isPbPb,cent,0,2);
+  //  AliPWG4HighPtSpectra *taskSpectra02cent10 = AddTaskPWG4HighPtSpectra(prodType,isPbPb,cent,0,2);
   //  AliPWG4HighPtSpectra *taskSpectra10cent10 = AddTaskPWG4HighPtSpectra(prodType,isPbPb,cent,1,0);
   //  AliPWG4HighPtSpectra *taskSpectra20cent10 = AddTaskPWG4HighPtSpectra(prodType,isPbPb,cent,2,0);
   AliPWG4HighPtSpectra *taskSpectra70cent10 = AddTaskPWG4HighPtSpectra(prodType,isPbPb,cent,7,0);
   AliPWG4HighPtSpectra *taskSpectra71cent10 = AddTaskPWG4HighPtSpectra(prodType,isPbPb,cent,7,1);
+  AliPWG4HighPtSpectra *taskSpectra72cent10 = AddTaskPWG4HighPtSpectra(prodType,isPbPb,cent,7,2);
 
   if(isPbPb) {
     for(cent=0; cent<4; cent++) {
       AliPWG4HighPtSpectra *taskSpectra00 = AddTaskPWG4HighPtSpectra(prodType,isPbPb,cent,0,0);
       AliPWG4HighPtSpectra *taskSpectra01 = AddTaskPWG4HighPtSpectra(prodType,isPbPb,cent,0,1);
-      AliPWG4HighPtSpectra *taskSpectra02 = AddTaskPWG4HighPtSpectra(prodType,isPbPb,cent,0,2);
+      //      AliPWG4HighPtSpectra *taskSpectra02 = AddTaskPWG4HighPtSpectra(prodType,isPbPb,cent,0,2);
       //      AliPWG4HighPtSpectra *taskSpectra10 = AddTaskPWG4HighPtSpectra(prodType,isPbPb,cent,1,0);
       //      AliPWG4HighPtSpectra *taskSpectra20 = AddTaskPWG4HighPtSpectra(prodType,isPbPb,cent,2,0);
       AliPWG4HighPtSpectra *taskSpectra70 = AddTaskPWG4HighPtSpectra(prodType,isPbPb,cent,7,0);
       AliPWG4HighPtSpectra *taskSpectra71 = AddTaskPWG4HighPtSpectra(prodType,isPbPb,cent,7,1);
+      AliPWG4HighPtSpectra *taskSpectra72 = AddTaskPWG4HighPtSpectra(prodType,isPbPb,cent,7,2);
     }
   }
 
@@ -82,6 +84,7 @@ AliPWG4HighPtSpectra* AddTaskPWG4HighPtSpectra(char *prodType = "LHC10e14", Bool
   UInt_t ipt   = 0;
   UInt_t iphi  = 1;
   UInt_t ieta  = 2;
+  UInt_t incls = 3;
 
   //Setting up the container grid... 
   UInt_t nstep = 4; //Steps/Modes for containers
@@ -104,7 +107,7 @@ AliPWG4HighPtSpectra* AddTaskPWG4HighPtSpectra(char *prodType = "LHC10e14", Bool
   ptBinEdges[3][0] = 100.;
   ptBinEdges[3][1] = 5.;
   
-  const Int_t nvar   = 3; //number of variables on the grid: pt:phi:eta
+  const Int_t nvar   = 4; //number of variables on the grid: pt:phi:eta:NClsIter1
 
   const Int_t nbin11 = round((ptBinEdges[0][0]-ptmin)/ptBinEdges[0][1]);
   const Int_t nbin12 = round((ptBinEdges[1][0]-ptBinEdges[0][0])/ptBinEdges[1][1])+nbin11;
@@ -114,17 +117,21 @@ AliPWG4HighPtSpectra* AddTaskPWG4HighPtSpectra(char *prodType = "LHC10e14", Bool
   const Int_t nbin1  = nbin14; //bins in pt 
   const Int_t nbin2  =  18;    //bins in phi
   const Int_t nbin3  =  2;     //bins in eta
+  const Int_t nbin4  =  6;     //bins in NClsIter1: 0 70 80 90 100 120
+
 
   //arrays for the number of bins in each dimension
   Int_t iBin[nvar];
   iBin[0]=nbin1;
   iBin[1]=nbin2;
   iBin[2]=nbin3;
+  iBin[3]=nbin4;
    
   //arrays for lower bounds :
   Double_t *binLim1=new Double_t[nbin1+1];
   Double_t *binLim2=new Double_t[nbin2+1];
   Double_t *binLim3=new Double_t[nbin3+1];
+  Double_t *binLim4=new Double_t[nbin4+1];
   
   //values for bin lower bounds 
   for(Int_t i=0; i<=nbin1; i++) {
@@ -135,19 +142,28 @@ AliPWG4HighPtSpectra* AddTaskPWG4HighPtSpectra(char *prodType = "LHC10e14", Bool
   }
   for(Int_t i=0; i<=nbin2; i++) binLim2[i]=(Double_t)phimin + (phimax-phimin)/nbin2*(Double_t)i ;
   for(Int_t i=0; i<=nbin3; i++) binLim3[i]=(Double_t)etamin + (etamax-etamin)/nbin3*(Double_t)i ;  
-  
+  binLim4[0] = 0.;
+  binLim4[1] = 70.;
+  binLim4[2] = 80.;
+  binLim4[3] = 90.;
+  binLim4[4] = 100.;
+  binLim4[5] = 120.;
+  binLim4[6] = 160.;
+
 
   AliCFContainer* containerPos = new AliCFContainer("containerPos","container for positive tracks",nstep,nvar,iBin);
   //setting the bin limits
   containerPos -> SetBinLimits(ipt,binLim1);
   containerPos -> SetBinLimits(iphi,binLim2);
   containerPos -> SetBinLimits(ieta,binLim3);
+  containerPos -> SetBinLimits(incls,binLim4);
 
   AliCFContainer* containerNeg = new AliCFContainer("containerNeg","container for negative tracks",nstep,nvar,iBin);
   //setting the bin limits
   containerNeg -> SetBinLimits(ipt,binLim1);
   containerNeg -> SetBinLimits(iphi,binLim2);
   containerNeg -> SetBinLimits(ieta,binLim3);
+  containerNeg -> SetBinLimits(incls,binLim4);
   
   //CREATE THE  CUTS -----------------------------------------------
   //Use AliESDtrackCuts
@@ -161,20 +177,29 @@ AliPWG4HighPtSpectra* AddTaskPWG4HighPtSpectra(char *prodType = "LHC10e14", Bool
   }
   if(trackType==0 && cuts==1) {
     //Cuts global tracks with ITSrefit requirement and SPDrequirement for jet analysis
-    trackCuts = CreateTrackCutsPWG4(10001001);
+    trackCuts = CreateTrackCutsPWG4(10001006);
   }
   if(trackType==0 && cuts==2) {
     //Cuts global tracks with ITSrefit requirement but without SPD
-    trackCuts = CreateTrackCutsPWG4(10011001);
+    trackCuts = CreateTrackCutsPWG4(10011006);
   }
   if(trackType==7 && cuts==0) {
-    // tight global tracks
-    trackCuts = CreateTrackCutsPWG4(10041001);
-    trackCutsReject = CreateTrackCutsPWG4(1001);
+    // no requirements on SPD and ITSrefit failed
+    trackCuts = CreateTrackCutsPWG4(10041006);   //no ITSrefit requirement
+    trackCutsReject = CreateTrackCutsPWG4(1006); //ITSrefit requirement
+    trackCutsReject->SetEtaRange(etamin,etamax);
+    trackCutsReject->SetPtRange(0.15, 1e10);
   }
   if(trackType==7 && cuts==1) {
-    // tight global tracks
-    trackCuts = CreateTrackCutsPWG4(10011001);
+    //Cuts global tracks with ITSrefit requirement but without SPD
+    trackCuts = CreateTrackCutsPWG4(10011006);
+  }
+  if(trackType==7 && cuts==2) {
+    // no requirements on SPD and ITSrefit failed
+    trackCuts = CreateTrackCutsPWG4(10041006);       //no ITSrefit requirement filter 256
+    trackCutsReject = CreateTrackCutsPWG4(10001006); //ITSrefit requirement filter 16
+    trackCutsReject->SetEtaRange(etamin,etamax);
+    trackCutsReject->SetPtRange(0.15, 1e10);
   }
 
   if(trackType==1 && cuts==0) {
@@ -185,19 +210,19 @@ AliPWG4HighPtSpectra* AddTaskPWG4HighPtSpectra(char *prodType = "LHC10e14", Bool
      //              Set track cuts for TPConly constrained tracks
     trackCuts = CreateTrackCutsPWG4(2001);
   }
-  trackCuts->SetEtaRange(-0.9,0.9);
+  trackCuts->SetEtaRange(etamin,etamax);
   trackCuts->SetPtRange(0.15, 1e10);
 
   // Gen-Level kinematic cuts
   AliCFTrackKineCuts *mcKineCuts = new AliCFTrackKineCuts("mcKineCuts","MC-level kinematic cuts");
   mcKineCuts->SetPtRange(0.15,1e10);
-  mcKineCuts->SetRapidityRange(-0.9,0.9);//-0.5,0.5);
+  mcKineCuts->SetEtaRange(etamin,etamax);//-0.5,0.5);
   mcKineCuts->SetRequireIsCharged(kTRUE);
 
   //Acceptance Cuts
-  AliCFAcceptanceCuts *mcAccCuts = new AliCFAcceptanceCuts("mcAccCuts","MC acceptance cuts");
+  //AliCFAcceptanceCuts *mcAccCuts = new AliCFAcceptanceCuts("mcAccCuts","MC acceptance cuts");
   // mcAccCuts->SetMinNHitITS(mintrackrefsITS);
-  mcAccCuts->SetMinNHitTPC(mintrackrefsTPC);
+  //mcAccCuts->SetMinNHitTPC(mintrackrefsTPC);
 
   TObjArray* recList = new TObjArray(0);
   TObjArray* secList = new TObjArray(0) ;
@@ -206,7 +231,7 @@ AliPWG4HighPtSpectra* AddTaskPWG4HighPtSpectra(char *prodType = "LHC10e14", Bool
   printf("CREATE MC KINE CUTS\n");
   TObjArray* mcList = new TObjArray(0) ;
   mcList->AddLast(mcKineCuts);
-  mcList->AddLast(mcAccCuts);
+  //mcList->AddLast(mcAccCuts);
 
   //CREATE THE INTERFACE TO CORRECTION FRAMEWORK USED IN THE TASK
   printf("CREATE INTERFACE AND CUTS\n");
@@ -236,7 +261,7 @@ AliPWG4HighPtSpectra* AddTaskPWG4HighPtSpectra(char *prodType = "LHC10e14", Bool
     taskPWG4HighPtSpectra->SetIsPbPb(kTRUE);
     taskPWG4HighPtSpectra->SetCentralityClass(centClass);
   }
-  taskPWG4HighPtSpectra->SetSigmaConstrainedMax(5.);
+  //  taskPWG4HighPtSpectra->SetSigmaConstrainedMax(5.);
 
 
   // E. Create ONLY the output containers for the data produced by the task.