]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
increasing vertex binning
authorjgrosseo <jgrosseo@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 26 Oct 2012 15:37:07 +0000 (15:37 +0000)
committerjgrosseo <jgrosseo@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 26 Oct 2012 15:37:07 +0000 (15:37 +0000)
centrality vs multiplicity estimator

PWGCF/Correlations/Base/AliUEHist.cxx
PWGCF/Correlations/Base/AliUEHistograms.cxx
PWGCF/Correlations/DPhi/AliAnalysisTaskPhiCorrelations.cxx
PWGCF/Correlations/DPhi/AliAnalysisTaskPhiCorrelations.h
PWGCF/Correlations/macros/dphicorrelations/AddTaskPhiCorrelations.C

index 7020187a6b80eb7fb345d6309ca506788c1349c0..853f07e5889e408f66276e1ef1ddf3746f92b8cb 100644 (file)
@@ -121,8 +121,8 @@ AliUEHist::AliUEHist(const char* reqHist) :
     leadingpTBins[i] = 0.5 * i;
   
   // pT,lead binning 2
-  const Int_t kNLeadingpTBins2 = 9;
-  Double_t leadingpTBins2[] = { 0.5, 1.0, 2.0, 3.0, 4.0, 6.0, 8.0, 10.0, 15.0, 20.0 };
+  const Int_t kNLeadingpTBins2 = 8;
+  Double_t leadingpTBins2[] = { 0.5, 1.0, 2.0, 3.0, 4.0, 6.0, 8.0, 10.0, 15.0 };
   
   // phi,lead; this binning starts at -pi/2 and is modulo 3
   const Int_t kNLeadingPhiSpacing = 72;
@@ -168,8 +168,10 @@ AliUEHist::AliUEHist(const char* reqHist) :
   // vtx-z axis
   const Int_t kNVertexBins = 7;
   Double_t vertexBins[] = { -7, -5, -3, -1, 1, 3, 5, 7 };
+  const Int_t kNVertexBins2 = 10;
+  Double_t vertexBins2[] = { -10, -8, -6, -4, -2, 0, 2, 4, 6, 8, 10 };
   
-  Bool_t useVtxAxis = kFALSE;
+  Int_t useVtxAxis = 0;
   Bool_t useTTRBinning = kFALSE;
   Bool_t useCourseCentralityBinning = kFALSE;
   
@@ -188,7 +190,9 @@ AliUEHist::AliUEHist(const char* reqHist) :
   else if (TString(reqHist).BeginsWith("NumberDensityPhiCentrality"))
   {
     if (TString(reqHist).Contains("Vtx"))
-      useVtxAxis = kTRUE;
+      useVtxAxis = 1;
+    if (TString(reqHist).Contains("Vtx10"))
+      useVtxAxis = 2;
     if (TString(reqHist).Contains("TTR"))
       useTTRBinning = kTRUE;
     if (TString(reqHist).Contains("Course"))
@@ -250,11 +254,11 @@ AliUEHist::AliUEHist(const char* reqHist) :
     trackBins[4] = (useTTRBinning) ? leadingPhiBinsTTR : leadingPhiBins;
     trackAxisTitle[4] = "#Delta#varphi (rad.)";
 
-    if (useVtxAxis)
+    if (useVtxAxis > 0)
     {
       nTrackVars = 6;
-      iTrackBin[5] = kNVertexBins;
-      trackBins[5] = vertexBins;
+      iTrackBin[5] = (useVtxAxis == 1) ? kNVertexBins : kNVertexBins2;
+      trackBins[5] = (useVtxAxis == 1) ? vertexBins : vertexBins2;
       trackAxisTitle[5] = "z-vtx (cm)";
     }
   }
@@ -1346,7 +1350,7 @@ void AliUEHist::CorrectTracks(CFStep step1, CFStep step2, Int_t region, TH1* tra
   
   MultiplyHistograms(grid, target, trackCorrection, var1, var2);
   
-  Printf("AliUEHist::CorrectTracks: Corrected from %f to %f entries. Correction histogram: %f entries (integral: %f)", entriesBefore, target->GetEntries(), (trackCorrection) ? trackCorrection->GetEntries() : -1.0, (trackCorrection) ? trackCorrection->Integral() : -1.0); 
+  Printf("AliUEHist::CorrectTracks: Corrected from %f (step %d) to %f (step %d) entries. Correction histogram: %f entries (integral: %f)", entriesBefore, step1, target->GetEntries(), step2, (trackCorrection) ? trackCorrection->GetEntries() : -1.0, (trackCorrection) ? trackCorrection->Integral() : -1.0); 
 }
 
 //____________________________________________________________________
@@ -1364,7 +1368,7 @@ void AliUEHist::CorrectEvents(CFStep step1, CFStep step2, TH1* eventCorrection,
 
   MultiplyHistograms(grid->GetGrid(), target->GetGrid(), eventCorrection, var1, var2);
 
-  Printf("AliUEHist::CorrectEvents: Corrected from %f to %f entries. Correction histogram: %f entries (integral: %f)", entriesBefore, target->GetEntries(), (eventCorrection) ? eventCorrection->GetEntries() : -1.0, (eventCorrection) ? eventCorrection->Integral() : -1.0); 
+  Printf("AliUEHist::CorrectEvents: Corrected from %f (step %d) to %f (step %d) entries. Correction histogram: %f entries (integral: %f)", entriesBefore, step1, target->GetEntries(), step2, (eventCorrection) ? eventCorrection->GetEntries() : -1.0, (eventCorrection) ? eventCorrection->Integral() : -1.0); 
 }
 
 //____________________________________________________________________
@@ -1527,10 +1531,12 @@ void AliUEHist::Correct(AliUEHist* corrections)
     if (fTrackHist[0]->GetNVar() <= 5)
     {
       // do corrections copying between steps
+      CFStep step = kCFStepReconstructed;
+//       CFStep step = kCFStepBiasStudy;
       
       // copy 
-      CorrectTracks(kCFStepReconstructed, kCFStepTracked, 0, -1);
-      CorrectEvents(kCFStepReconstructed, kCFStepTracked, 0, -1);
+      CorrectTracks(step, kCFStepTracked, 0, -1);
+      CorrectEvents(step, kCFStepTracked, 0, -1);
       
       // Dont use eta in the following, because it is a Delta-eta axis
       
@@ -1571,7 +1577,7 @@ void AliUEHist::Correct(AliUEHist* corrections)
          }
       }
       
-      new TCanvas; correlatedContamination->DrawCopy("COLZ");
+//       new TCanvas; correlatedContamination->DrawCopy("COLZ");
   //     CorrectCorrelatedContamination(kCFStepTrackedOnlyPrim, 0, correlatedContamination);
       Printf("\n\n\nWARNING ---> SKIPPING CorrectCorrelatedContamination\n\n\n");
       
@@ -1586,7 +1592,7 @@ void AliUEHist::Correct(AliUEHist* corrections)
       
       // in bins of pT and centrality
       TH1* efficiencyCorrection = corrections->GetTrackingEfficiencyCorrectionCentrality();
-      new TCanvas; efficiencyCorrection->DrawCopy("COLZ");
+//       new TCanvas; efficiencyCorrection->DrawCopy("COLZ");
       // use kCFStepAnaTopology as a temporary step 
       CorrectTracks(kCFStepTrackedOnlyPrim, kCFStepAnaTopology, efficiencyCorrection, 1, 3);
       delete efficiencyCorrection;
@@ -1618,7 +1624,7 @@ void AliUEHist::Correct(AliUEHist* corrections)
       // in bins of p,T
       TH1* contamination = corrections->GetTrackingContamination(1);
       
-      if (1)
+      if (0)
       {
        Printf("Applying contamination enhancement");
        
@@ -2437,13 +2443,23 @@ void AliUEHist::DeepCopy(AliUEHist* from)
   
   for (Int_t step=0; step<fEventHist->GetNStep(); step++)
   {
-    Printf("Copying step %d", step);
+    Printf("Ev: Copying step %d", step);
     THnSparse* target = fEventHist->GetGrid(step)->GetGrid();
     THnSparse* source = from->fEventHist->GetGrid(step)->GetGrid();
 
     target->Reset();
     target->RebinnedAdd(source);
   }
+  
+  for (Int_t step=0; step<fTrackHistEfficiency->GetNStep(); step++)
+  {
+    Printf("Eff: Copying step %d", step);
+    THnSparse* target = fTrackHistEfficiency->GetGrid(step)->GetGrid();
+    THnSparse* source = from->fTrackHistEfficiency->GetGrid(step)->GetGrid();
+
+    target->Reset();
+    target->RebinnedAdd(source);
+  }
 }
 
 //____________________________________________________________________
index 3c13320dcaaa01355ef899b5093d7d5b7597a96e..2d7fd634e5ff118c7d9ef8fe4c888cda8bc49d62 100644 (file)
@@ -102,6 +102,12 @@ AliUEHistograms::AliUEHistograms(const char* name, const char* histograms) :
     fNumberDensityPhi = new AliUEHist("NumberDensityPhiCentralityVtx");
   else if (histogramsStr.Contains("5"))
     fNumberDensityPhi = new AliUEHist("NumberDensityPhiCentralityVtxTTR");
+  else if (histogramsStr.Contains("6RC"))
+    fNumberDensityPhi = new AliUEHist("NumberDensityPhiCentralityVtx10Course");
+  else if (histogramsStr.Contains("6R"))
+    fNumberDensityPhi = new AliUEHist("NumberDensityPhiCentralityVtx10");
+  else if (histogramsStr.Contains("6"))
+    fNumberDensityPhi = new AliUEHist("NumberDensityPhiCentralityVtx10TTR");
   
   // do not add this hists to the directory
   Bool_t oldStatus = TH1::AddDirectoryStatus();
index 994317e2960d8f0b7457f85b91b953c880f822a8..001337b5c2e50d1f609cd9e990949650a352f343 100644 (file)
@@ -51,6 +51,7 @@
 #include "AliEventPoolManager.h"
 
 #include "AliESDZDC.h"
+#include "AliESDtrackCuts.h"
 
 
 ////////////////////////////////////////////////////////////////////////
@@ -216,8 +217,10 @@ void  AliAnalysisTaskPhiCorrelations::CreateOutputObjects()
 
   // Initialize class to handle histograms 
   TString histType = "4R";
-  if (fUseVtxAxis)
+  if (fUseVtxAxis == 1)
     histType = "5R";
+  else if (fUseVtxAxis == 2)
+    histType = "6R";
   if (fCourseCentralityBinning)
     histType += "C";
   fHistos = new AliUEHistograms("AliUEHistogramsSame", histType);
@@ -250,6 +253,7 @@ void  AliAnalysisTaskPhiCorrelations::CreateOutputObjects()
   fListOfHistos->Add(new TH1F("eventStat", ";;events", 4, -0.5, 3.5));
   fListOfHistos->Add(new TH2F("mixedDist", ";centrality;tracks;events", 101, 0, 101, 200, 0, fMixingTracks * 1.5));
   fListOfHistos->Add(new TH1F("pids", ";pdg;tracks", 2001, -1000.5, 1000.5));
+  fListOfHistos->Add(new TH2F("referenceMultiplicity", ";centrality;tracks;events", 101, 0, 101, 200, 0, 400));
   
   PostData(0,fListOfHistos);
   
@@ -816,7 +820,13 @@ void  AliAnalysisTaskPhiCorrelations::AnalyseDataMode()
     delete tracks;
     return;
   }
+  
+  // reference multiplicity
+  Int_t referenceMultiplicity = -1;
+  if (fESD)
+    referenceMultiplicity = AliESDtrackCuts::GetReferenceMultiplicity(fESD);
 
+  ((TH2F*) fListOfHistos->FindObject("referenceMultiplicity"))->Fill(centrality, referenceMultiplicity);
   
   // create a list of reduced objects. This speeds up processing and reduces memory consumption for the event pool
   TObjArray* tracksClone = CloneAndReduceTrackList(tracks);
index 94ef6764fb2c0791dabc6deba1afa2e81dac5504..a559162af70d574017b71fda00767068127e41e6 100644 (file)
@@ -66,7 +66,7 @@ class  AliAnalysisTaskPhiCorrelations : public AliAnalysisTask
     virtual    void    SetCompareCentralities(Bool_t flag) { fCompareCentralities = flag; }
     virtual    void    SetTwoTrackEfficiencyStudy(Bool_t flag) { fTwoTrackEfficiencyStudy = flag; }
     virtual    void    SetTwoTrackEfficiencyCut(Float_t value = 0.02) { fTwoTrackEfficiencyCut = value; }
-    virtual    void    SetUseVtxAxis(Bool_t flag) { fUseVtxAxis = flag; }
+    virtual    void    SetUseVtxAxis(Int_t flag) { fUseVtxAxis = flag; }
     virtual    void    SetCourseCentralityBinning(Bool_t flag) { fCourseCentralityBinning = flag; }
     virtual     void    SetSkipTrigger(Bool_t flag) { fSkipTrigger = flag; }
     virtual     void    SetInjectedSignals(Bool_t flag) { fInjectedSignals = flag; }
@@ -116,7 +116,7 @@ class  AliAnalysisTaskPhiCorrelations : public AliAnalysisTask
     Bool_t             fCompareCentralities;   // use the z vtx axis for a centrality comparison
     Bool_t             fTwoTrackEfficiencyStudy; // two-track efficiency study on
     Float_t            fTwoTrackEfficiencyCut;   // enable two-track efficiency cut
-    Bool_t             fUseVtxAxis;              // use z vtx as axis (needs 7 times more memory!)
+    Int_t              fUseVtxAxis;              // use z vtx as axis (needs 7-10 times more memory!)
     Bool_t             fCourseCentralityBinning; // less centrality bins
     Bool_t             fSkipTrigger;             // skip trigger selection
     Bool_t             fInjectedSignals;         // check header to skip injected signals in MC
@@ -165,7 +165,7 @@ class  AliAnalysisTaskPhiCorrelations : public AliAnalysisTask
     
     Bool_t fFillpT;                // fill sum pT instead of number density
     
-    ClassDef( AliAnalysisTaskPhiCorrelations, 14); // Analysis task for delta phi correlations
+    ClassDef( AliAnalysisTaskPhiCorrelations, 15); // Analysis task for delta phi correlations
   };
 
 class AliDPhiBasicParticle : public AliVParticle
index fe69fafcaf6f8613d3bb2f644e891c1c0bfc4933..2d9b6eff8feed144be04eb340708e3328ca35b41 100644 (file)
@@ -1,4 +1,4 @@
-AliAnalysisTaskPhiCorrelations *AddTaskPhiCorrelations(Int_t analysisMode = 0, Bool_t ppRun = kFALSE, const char* outputFileName = 0, Bool_t eventMixing = kTRUE, Bool_t zVtxAxis = kFALSE, const char* containerName = "histosPhiCorrelations", const char* folderName = "PWG4_PhiCorrelations")\r
+AliAnalysisTaskPhiCorrelations *AddTaskPhiCorrelations(Int_t analysisMode = 0, Bool_t ppRun = kFALSE, const char* outputFileName = 0, Bool_t eventMixing = kTRUE, Int_t zVtxAxis = 0, const char* containerName = "histosPhiCorrelations", const char* folderName = "PWG4_PhiCorrelations")\r
 {\r
   // Get the pointer to the existing analysis manager via the static access method.\r
   //==============================================================================\r
@@ -30,10 +30,10 @@ AliAnalysisTaskPhiCorrelations *AddTaskPhiCorrelations(Int_t analysisMode = 0, B
   \r
   Printf("AddTaskPhiCorrelations:\n\n\n++++++++++ Using bit %d ++++++++++++\n\n\n", bit);\r
   \r
-  ana->SetTrackEtaCut(1.0);\r
-//   ana->SetTrackEtaCut(0.8);\r
-  ana->SetPtMin(0.15);\r
-//   ana->SetPtMin(1.0);\r
+  ana->SetTrackEtaCut(0.9);\r
+\r
+  ana->SetPtMin(0.5);\r
+\r
   //ana->SetEventSelectionBit(AliAnalysisHelperJetTasks::kIsPileUp);\r
   ana->SetReduceMemoryFootprint(kTRUE);\r
   //ana->SetSelectCharge(2);\r
@@ -41,6 +41,8 @@ AliAnalysisTaskPhiCorrelations *AddTaskPhiCorrelations(Int_t analysisMode = 0, B
   ana->SetEventMixing(eventMixing);\r
   ana->SetUseVtxAxis(zVtxAxis);\r
   \r
+  ana->SetZVertex(10);\r
+  \r
 //   ana->SetSkipTrigger(kTRUE);\r
 //   ana->SetTriggerRestrictEta(0.5);\r
 //   ana->SetEtaOrdering(kTRUE);\r
@@ -52,6 +54,18 @@ AliAnalysisTaskPhiCorrelations *AddTaskPhiCorrelations(Int_t analysisMode = 0, B
   \r
 //   ana->SetFillpT(kTRUE);\r
   \r
+//   ana->SetInjectedSignals(kTRUE);\r
+//   ana->SetRejectCentralityOutliers();\r
+  \r
+  //pA\r
+/*  ana->SetEventSelectionBit(AliVEvent::kCINT5);\r
+  ana->SetTwoTrackEfficiencyCut();\r
+  ana->SetStepsFillSkip(kFALSE, kTRUE);*/\r
+//   ana->SetCentralityMethod("ZNA_MANUAL");\r
+//   ana->SetCentralityMethod("TRACKS_MANUAL");\r
+//   ana->SetCourseCentralityBinning(kTRUE);  \r
+//   ana->SetMixingTracks(1);\r
+  \r
   if (0)\r
   {\r
     Printf("AddTaskPhiCorrelations:\n\n\n++++++++++ Using SPD centrality selection ++++++++++++\n\n\n");\r