]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGHF/vertexingHF/AliHFSystErr.cxx
Add option for centrality scan (Zaida)
[u/mrichter/AliRoot.git] / PWGHF / vertexingHF / AliHFSystErr.cxx
index 7c7f50721112b656f8f036aa970cf03ed5357ba3..537cb38a4182a819c68ed1afd129f9c43455d551 100644 (file)
@@ -59,7 +59,8 @@ fPartAntipart(0),
 fRunNumber(10),
 fCollisionType(0),
 fCentralityClass("0100"),
-fIsLowEnergy(false)
+fIsLowEnergy(false),
+fIsCentScan(false)
 {
   //
   // Default Constructor
@@ -103,7 +104,12 @@ void AliHFSystErr::Init(Int_t decay){
       if (fIsLowEnergy) InitD0toKpi2010ppLowEn();
       else InitD0toKpi2010pp();
     } else if (fCollisionType==1) {
-      if (fCentralityClass=="020") InitD0toKpi2010PbPb020();
+      if (fCentralityClass=="010") InitD0toKpi2010PbPb010CentScan();
+      else if (fCentralityClass=="1020") InitD0toKpi2010PbPb1020CentScan();
+      else if (fCentralityClass=="020") InitD0toKpi2010PbPb020();
+      else if (fCentralityClass=="2040") InitD0toKpi2010PbPb2040CentScan();
+      else if (fCentralityClass=="4060") InitD0toKpi2010PbPb4060CentScan();
+      else if (fCentralityClass=="6080") InitD0toKpi2010PbPb6080CentScan();
       else if (fCentralityClass=="4080") InitD0toKpi2010PbPb4080();
       else AliError("Not yet implemented");
     }
@@ -114,7 +120,12 @@ void AliHFSystErr::Init(Int_t decay){
       if (fIsLowEnergy) InitDplustoKpipi2010ppLowEn();
       else InitDplustoKpipi2010pp();
     } else if (fCollisionType==1) {
-      if (fCentralityClass=="020") InitDplustoKpipi2010PbPb020();
+      if (fCentralityClass=="010") InitDplustoKpipi2010PbPb010CentScan();
+      else if (fCentralityClass=="1020") InitDplustoKpipi2010PbPb1020CentScan();
+      else if (fCentralityClass=="020") InitDplustoKpipi2010PbPb020();
+      else if (fCentralityClass=="2040") InitDplustoKpipi2010PbPb2040CentScan();
+      else if (fCentralityClass=="4060") InitDplustoKpipi2010PbPb4060CentScan();
+      else if (fCentralityClass=="6080") InitDplustoKpipi2010PbPb6080CentScan();
       else if (fCentralityClass=="4080") InitDplustoKpipi2010PbPb4080();
       else AliError("Not yet implemented");
     }
@@ -124,10 +135,15 @@ void AliHFSystErr::Init(Int_t decay){
       if(fIsLowEnergy)  InitDstartoD0pi2010ppLowEn();
       else InitDstartoD0pi2010pp();
     }else if (fCollisionType==1) {
-      if (fCentralityClass=="020")  InitDstartoD0pi2010PbPb020();
-      if (fCentralityClass=="2040") InitDstartoD0pi2010PbPb2040();
-      if (fCentralityClass=="4080") InitDstartoD0pi2010PbPb4080();
-      if (fCentralityClass!="4080" && fCentralityClass!="2040" && fCentralityClass!="020")  AliError("Not yet implemented");
+      if (fCentralityClass=="010") InitDstartoD0pi2010PbPb010CentScan();
+      else if (fCentralityClass=="1020") InitDstartoD0pi2010PbPb1020CentScan();
+      else if (fCentralityClass=="020") InitDstartoD0pi2010PbPb020();
+      else if (fCentralityClass=="2040" && fIsCentScan) InitDstartoD0pi2010PbPb2040CentScan();
+      else if (fCentralityClass=="2040") InitDstartoD0pi2010PbPb2040();
+      else if (fCentralityClass=="4060") InitDstartoD0pi2010PbPb4060CentScan();
+      else if (fCentralityClass=="6080") InitDstartoD0pi2010PbPb6080CentScan();
+      else if (fCentralityClass=="4080") InitDstartoD0pi2010PbPb4080();
+      else AliError("Not yet implemented");
     }
     break;
   case 4: // D+s->KKpi
@@ -202,7 +218,7 @@ void AliHFSystErr::InitD0toKpi2010PbPb020() {
 
   // Normalization
   fNorm = new TH1F("fNorm","fNorm",20,0,20);
-  for(Int_t i=1;i<=20;i++) fNorm->SetBinContent(i,0.10); // 10% error on sigmaV0and
+  for(Int_t i=1;i<=20;i++) fNorm->SetBinContent(i,0.05); // TAA and pp norm
 
   // Branching ratio 
   fBR = new TH1F("fBR","fBR",20,0,20);
@@ -210,7 +226,7 @@ void AliHFSystErr::InitD0toKpi2010PbPb020() {
 
   // Tracking efficiency
   fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",20,0,20);
-  for(Int_t i=1;i<=20;i++) fTrackingEff->SetBinContent(i,0.08);//0.05+0.005*(Float_t)i);
+  for(Int_t i=1;i<=20;i++) fTrackingEff->SetBinContent(i,0.10);// Jacek, 5% per track
 
   // Raw yield extraction
   fRawYield = new TH1F("fRawYield","fRawYield",20,0,20);
@@ -238,6 +254,7 @@ void AliHFSystErr::InitD0toKpi2010PbPb020() {
   for(Int_t i=1;i<=20;i++) fMCPtShape->SetBinContent(i,0.01);
   fMCPtShape->SetBinContent(3,0.04);
   fMCPtShape->SetBinContent(4,0.02);
+  for(Int_t i=13;i<=16;i++) fMCPtShape->SetBinContent(i,0.03); 
 
 //   // particle-antiparticle
 //   fPartAntipart = new TH1F("fPartAntipart","fPartAntipart",20,0,20);
@@ -258,7 +275,7 @@ void AliHFSystErr::InitD0toKpi2010PbPb4080() {
 
   // Normalization
   fNorm = new TH1F("fNorm","fNorm",20,0,20);
-  for(Int_t i=1;i<=20;i++) fNorm->SetBinContent(i,0.10); // 10% error on sigmaV0and
+  for(Int_t i=1;i<=24;i++) fNorm->SetBinContent(i,0.07); // TAA and pp norm
 
   // Branching ratio 
   fBR = new TH1F("fBR","fBR",20,0,20);
@@ -266,7 +283,7 @@ void AliHFSystErr::InitD0toKpi2010PbPb4080() {
 
   // Tracking efficiency
   fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",20,0,20);
-  for(Int_t i=1;i<=20;i++) fTrackingEff->SetBinContent(i,0.08);//0.5*(0.05+0.005*(Float_t)i));
+  for(Int_t i=1;i<=20;i++) fTrackingEff->SetBinContent(i,0.10); // Jacek, 5% per track
 
 
   // Raw yield extraction
@@ -492,7 +509,7 @@ void AliHFSystErr::InitDplustoKpipi2010PbPb020() {
 
  // Normalization
   fNorm = new TH1F("fNorm","fNorm",20,0,20);
-  for(Int_t i=1;i<=20;i++) fNorm->SetBinContent(i,0.10); // 10% error on sigmaV0and
+  for(Int_t i=1;i<=20;i++) fNorm->SetBinContent(i,0.05); // TAA and pp norm
 
   // Branching ratio 
   fBR = new TH1F("fBR","fBR",20,0,20);
@@ -500,7 +517,7 @@ void AliHFSystErr::InitDplustoKpipi2010PbPb020() {
 
   // Tracking efficiency
   fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",20,0,20);
-  for(Int_t i=1;i<=20;i++) fTrackingEff->SetBinContent(i,0.12); // 12% (4% per track) //i,0.075+0.005*(Float_t)i); 
+  for(Int_t i=1;i<=20;i++) fTrackingEff->SetBinContent(i,0.15); // Jacek, 5% per track
 
   // Raw yield extraction
   fRawYield = new TH1F("fRawYield","fRawYield",20,0,20);
@@ -552,7 +569,7 @@ void AliHFSystErr::InitDplustoKpipi2010PbPb4080() {
 
  // Normalization
   fNorm = new TH1F("fNorm","fNorm",20,0,20);
-  for(Int_t i=1;i<=20;i++) fNorm->SetBinContent(i,0.10); // 10% error on sigmaV0and
+  for(Int_t i=1;i<=24;i++) fNorm->SetBinContent(i,0.07); // TAA and pp norm
 
   // Branching ratio 
   fBR = new TH1F("fBR","fBR",20,0,20);
@@ -560,7 +577,7 @@ void AliHFSystErr::InitDplustoKpipi2010PbPb4080() {
 
   // Tracking efficiency
   fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",20,0,20);
-  for(Int_t i=1;i<=20;i++) fTrackingEff->SetBinContent(i,0.12); // 12% (4% per track)
+  for(Int_t i=1;i<=20;i++) fTrackingEff->SetBinContent(i,0.15); // Jacek, 5% per track
 
 
   // Raw yield extraction
@@ -787,7 +804,7 @@ void AliHFSystErr::InitDstartoD0pi2010PbPb020() {
 
  // Normalization
   fNorm = new TH1F("fNorm","fNorm",24,0,24);
-  for(Int_t i=1;i<=24;i++) fNorm->SetBinContent(i,0.10); // 10% error on sigmaV0and
+  for(Int_t i=1;i<=20;i++) fNorm->SetBinContent(i,0.05); // TAA and pp norm
 
   // Branching ratio 
   fBR = new TH1F("fBR","fBR",24,0,24);
@@ -795,7 +812,7 @@ void AliHFSystErr::InitDstartoD0pi2010PbPb020() {
 
   // Tracking efficiency
   fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",24,0,24);;
-  for(Int_t i=1;i<=24;i++) fTrackingEff->SetBinContent(i,0.12); // 12% (4% per track)i,0.075+0.005*(Float_t)i); 
+  for(Int_t i=1;i<=24;i++) fTrackingEff->SetBinContent(i,0.15); // Jacek, 5% per track
 
 
   // Raw yield extraction
@@ -809,17 +826,29 @@ void AliHFSystErr::InitDstartoD0pi2010PbPb020() {
   // Cuts efficiency (from cuts variation)
   fCutsEff = new TH1F("fCutsEff","fCutsEff",24,0,24);
   for(Int_t i=1;i<=24;i++) fCutsEff->SetBinContent(i,0.10); // 10%
+  fCutsEff->SetBinContent(4,0.15);
+  fCutsEff->SetBinContent(5,0.15);
+  fCutsEff->SetBinContent(6,0.15);
 
   // PID efficiency (from PID/noPID)
   fPIDEff = new TH1F("fPIDEff","fPIDEff",24,0,24);
   for(Int_t i=1;i<=24;i++) fPIDEff->SetBinContent(i,0.05); // 3%
  
 
-  // MC dN/dpt  (copied from D0 : will update later)
+  // MC dN/dpt  (from study on D* pt shape)
   fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",24,0,24);
-  for(Int_t i=1;i<=24;i++) fMCPtShape->SetBinContent(i,0.);
-  fMCPtShape->SetBinContent(1,0.03);
-  fMCPtShape->SetBinContent(2,0.03);
+  for(Int_t i=1;i<=24;i++) fMCPtShape->SetBinContent(i,0.045);
+  fMCPtShape->SetBinContent(4,0.025);
+  fMCPtShape->SetBinContent(5,0.025);
+  fMCPtShape->SetBinContent(6,0.025);
+  fMCPtShape->SetBinContent(7,0.04);
+  fMCPtShape->SetBinContent(8,0.04);
+  fMCPtShape->SetBinContent(9,0.03);
+  fMCPtShape->SetBinContent(10,0.03);
+  fMCPtShape->SetBinContent(11,0.03);
+  fMCPtShape->SetBinContent(12,0.03);
+  
+  
 
   return;
 
@@ -844,7 +873,7 @@ void AliHFSystErr::InitDstartoD0pi2010PbPb2040() {
 
   // Tracking efficiency
   fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",24,0,24);;
-  for(Int_t i=1;i<=24;i++) fTrackingEff->SetBinContent(i,0.12); // 3% (1% per track)
+  for(Int_t i=1;i<=24;i++) fTrackingEff->SetBinContent(i,0.15); // Jacek, 5% per track
 
 
   // Raw yield extraction
@@ -881,7 +910,7 @@ void AliHFSystErr::InitDstartoD0pi2010PbPb4080() {
 
  // Normalization
   fNorm = new TH1F("fNorm","fNorm",24,0,24);
-  for(Int_t i=1;i<=24;i++) fNorm->SetBinContent(i,0.10); // 10% error on sigmaV0and
+  for(Int_t i=1;i<=24;i++) fNorm->SetBinContent(i,0.07); // TAA and pp norm
 
   // Branching ratio 
   fBR = new TH1F("fBR","fBR",24,0,24);
@@ -889,7 +918,7 @@ void AliHFSystErr::InitDstartoD0pi2010PbPb4080() {
 
   // Tracking efficiency
   fTrackingEff = new TH1F("fTrackingEff","fTrackingEff",24,0,24);;
-  for(Int_t i=1;i<=24;i++) fTrackingEff->SetBinContent(i,0.12);//0.5*(0.075+0.005*(Float_t)i));
+  for(Int_t i=1;i<=24;i++) fTrackingEff->SetBinContent(i,0.15); // Jacek, 5% per track
 
 
   // Raw yield extraction
@@ -924,10 +953,15 @@ void AliHFSystErr::InitDstartoD0pi2010PbPb4080() {
 
   // MC dN/dpt  (copied from D0 : will update later)
   fMCPtShape = new TH1F("fMCPtShape","fMCPtShape",24,0,24);
-  for(Int_t i=1;i<=24;i++) fMCPtShape->SetBinContent(i,0.);
-  fMCPtShape->SetBinContent(1,0.03);
-  fMCPtShape->SetBinContent(2,0.03);
-
+  for(Int_t i=1;i<=24;i++) fMCPtShape->SetBinContent(i,0.01);
+  fMCPtShape->SetBinContent(2,0.05);
+  fMCPtShape->SetBinContent(3,0.05);
+  fMCPtShape->SetBinContent(4,0.05);
+  fMCPtShape->SetBinContent(5,0.04);
+  fMCPtShape->SetBinContent(6,0.02);
+  fMCPtShape->SetBinContent(7,0.04);
+  fMCPtShape->SetBinContent(8,0.04);
   return;
 
 }
@@ -936,51 +970,72 @@ void AliHFSystErr::InitDstartoD0pi2010PbPb4080() {
 void AliHFSystErr::InitD0toKpi2010PbPb010CentScan(){
   // define errors for RAA vs. centrality
   InitD0toKpi2010PbPb020();
+  for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.05);
+  for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.08); 
 }
 //--------------------------------------------------------------------------
 void AliHFSystErr::InitD0toKpi2010PbPb1020CentScan(){
   // define errors for RAA vs. centrality
   InitD0toKpi2010PbPb020();
+  for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.05);
+  for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.08); 
 }
 //--------------------------------------------------------------------------
 void AliHFSystErr::InitD0toKpi2010PbPb2040CentScan(){
   // define errors for RAA vs. centrality
-  InitD0toKpi2010PbPb020();
+  InitD0toKpi2010PbPb4080();
+  for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.05);
+  for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.08); 
 }
 //--------------------------------------------------------------------------
 void AliHFSystErr::InitD0toKpi2010PbPb4060CentScan(){
-  // define errors for RAA vs. centrality
+   // define errors for RAA vs. centrality
   InitD0toKpi2010PbPb4080();
+  for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.06);
+  for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.08); 
 }
 //--------------------------------------------------------------------------
 void AliHFSystErr::InitD0toKpi2010PbPb6080CentScan(){
-  // define errors for RAA vs. centrality
+   // define errors for RAA vs. centrality
   InitD0toKpi2010PbPb4080();
+  for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.08);
+  for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.08); 
 }
 //--------------------------------------------------------------------------
 void AliHFSystErr::InitDplustoKpipi2010PbPb010CentScan(){
   // define errors for RAA vs. centrality
   InitDplustoKpipi2010PbPb020();
+  for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.18);
+  for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.09);
+
 }
 //--------------------------------------------------------------------------
 void AliHFSystErr::InitDplustoKpipi2010PbPb1020CentScan(){
   // define errors for RAA vs. centrality
   InitDplustoKpipi2010PbPb020();
+  for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.23);
+  for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.08);
 }
 //--------------------------------------------------------------------------
 void AliHFSystErr::InitDplustoKpipi2010PbPb2040CentScan(){
   // define errors for RAA vs. centrality
   InitDplustoKpipi2010PbPb020();
+  for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.08);
+  for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.095);
 }
 //--------------------------------------------------------------------------
 void AliHFSystErr::InitDplustoKpipi2010PbPb4060CentScan(){
   // define errors for RAA vs. centrality
   InitDplustoKpipi2010PbPb4080();
+  for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.08);
+  for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.08);
 }
 //--------------------------------------------------------------------------
 void AliHFSystErr::InitDplustoKpipi2010PbPb6080CentScan(){
   // define errors for RAA vs. centrality
   InitDplustoKpipi2010PbPb4080();
+  for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.15);
+  for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.07);
 }
 
 //--------------------------------------------------------------------------
@@ -988,30 +1043,35 @@ void AliHFSystErr::InitDstartoD0pi2010PbPb010CentScan(){
   // define errors for RAA vs. centrality
   InitDstartoD0pi2010PbPb020();
   for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.16); 
+  for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.15);
 }
 //--------------------------------------------------------------------------
 void AliHFSystErr::InitDstartoD0pi2010PbPb1020CentScan(){
   // define errors for RAA vs. centrality
   InitDstartoD0pi2010PbPb020();
   for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.05); 
+  for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.15);
 }
 //--------------------------------------------------------------------------
 void AliHFSystErr::InitDstartoD0pi2010PbPb2040CentScan(){
   // define errors for RAA vs. centrality
   InitDstartoD0pi2010PbPb2040();
   for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.10); 
+  for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.08);
 }
 //--------------------------------------------------------------------------
 void AliHFSystErr::InitDstartoD0pi2010PbPb4060CentScan(){
   // define errors for RAA vs. centrality
   InitDstartoD0pi2010PbPb4080();
   for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.10); 
+  for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.045);
 }
 //--------------------------------------------------------------------------
 void AliHFSystErr::InitDstartoD0pi2010PbPb6080CentScan(){
   // define errors for RAA vs. centrality
   InitDstartoD0pi2010PbPb4080();
   for(Int_t i=7;i<=12;i++) fRawYield->SetBinContent(i,0.10); 
+  for(Int_t i=7;i<=12;i++) fMCPtShape->SetBinContent(i,0.045);
 }