]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG4/JetTasks/AliUEHistograms.cxx
New analysis devoted to shower shape studies
[u/mrichter/AliRoot.git] / PWG4 / JetTasks / AliUEHistograms.cxx
index b217f18911766f00115a10ee33f11e5ea29bde7b..79c3e8b0da09658109712b3410683e3787d7c684 100644 (file)
@@ -67,7 +67,7 @@ AliUEHistograms::AliUEHistograms() :
   fCorrelationLeading2Phi = new TH2F("fCorrelationLeading2Phi", ";#Delta #phi;p_{T,lead} (MC)", 200, -TMath::Pi(), TMath::Pi(), 200, 0, 50);
   fCorrelationMultiplicity = new TH2F("fCorrelationMultiplicity", ";MC tracks;Reco tracks", 100, -0.5, 99.5, 100, -0.5, 99.5);
   
-  fEventCount = new TH2F("fEventCount", ";step;event type;count", AliUEHist::fgkCFSteps+1, -1.5, -0.5 + AliUEHist::fgkCFSteps, 3, -0.5, 2.5);
+  fEventCount = new TH2F("fEventCount", ";step;event type;count", AliUEHist::fgkCFSteps+2, -2.5, -0.5 + AliUEHist::fgkCFSteps, 3, -0.5, 2.5);
   fEventCount->GetYaxis()->SetBinLabel(1, "ND");
   fEventCount->GetYaxis()->SetBinLabel(2, "SD");
   fEventCount->GetYaxis()->SetBinLabel(3, "DD");
@@ -223,7 +223,7 @@ void AliUEHistograms::Fill(Int_t eventType, AliUEHist::CFStep step, AliVParticle
     FillRegion(AliUEHist::kAway,   step, leading, away, multiplicity);
     FillRegion(AliUEHist::kMin,    step, leading, min, multiplicity);
     FillRegion(AliUEHist::kMax,    step, leading, max, multiplicity);
-  
     Double_t vars[2];
     vars[0] = leading->Pt();
     vars[1] = multiplicity;
@@ -301,6 +301,39 @@ void AliUEHistograms::Fill(AliVParticle* leadingMC, AliVParticle* leadingReco)
   }
 }
   
+//____________________________________________________________________
+void AliUEHistograms::FillTrackingEfficiency(TObjArray* mc, TObjArray* recoPrim, TObjArray* recoAll, Int_t particleType)
+{
+  // fills the tracking efficiency objects
+  //
+  // mc: all primary MC particles
+  // recoPrim: reconstructed primaries (again MC particles)
+  // recoAll: reconstructed (again MC particles)
+  // particleType is: 0 for pion, 1 for kaon, 2 for proton, 3 for others
+  
+  for (Int_t step=0; step<3; step++)
+  {
+    TObjArray* list = mc;
+    if (step == 1)
+      list = recoPrim;
+    else if (step == 2)
+      list = recoAll;
+      
+    for (Int_t i=0; i<list->GetEntries(); i++)
+    {
+      AliVParticle* particle = (AliVParticle*) list->At(i);
+      Double_t vars[3];
+      vars[0] = particle->Eta();
+      vars[1] = particle->Pt();
+      vars[2] = particleType;
+      
+      fNumberDensitypT->GetTrackHistEfficiency()->Fill(vars, step);
+      fSumpT->GetTrackHistEfficiency()->Fill(vars, step);
+      fNumberDensityPhi->GetTrackHistEfficiency()->Fill(vars, step);
+    }
+  }
+}
+
 //____________________________________________________________________
 void AliUEHistograms::FillEvent(Int_t eventType, Int_t step)
 {
@@ -331,6 +364,16 @@ void AliUEHistograms::SetPtRange(Float_t ptMin, Float_t ptMax)
   fNumberDensityPhi->SetPtRange(ptMin, ptMax);
 }
 
+//____________________________________________________________________
+void AliUEHistograms::SetContaminationEnhancement(TH1F* hist)
+{
+  // sets the contamination enhancement histogram in all contained AliUEHist classes
+  
+  fNumberDensitypT->SetContaminationEnhancement(hist);
+  fSumpT->SetContaminationEnhancement(hist);
+  fNumberDensityPhi->SetContaminationEnhancement(hist);
+}  
+
 //____________________________________________________________________
 void AliUEHistograms::SetCombineMinMax(Bool_t flag)
 {
@@ -348,7 +391,7 @@ void AliUEHistograms::Correct(AliUEHistograms* corrections)
   
   fNumberDensitypT->Correct(corrections->fNumberDensitypT);
   fSumpT->Correct(corrections->fSumpT);
-  fNumberDensityPhi->Correct(corrections->fNumberDensityPhi);
+  //fNumberDensityPhi->Correct(corrections->fNumberDensityPhi);
 }
 
 //____________________________________________________________________
@@ -470,3 +513,12 @@ Long64_t AliUEHistograms::Merge(TCollection* list)
 
   return count+1;
 }
+
+void AliUEHistograms::CopyReconstructedData(AliUEHistograms* from)
+{
+  // copies those histograms extracted from ESD to this object
+  
+  fNumberDensitypT->CopyReconstructedData(from->fNumberDensitypT);
+  fSumpT->CopyReconstructedData(from->fSumpT);
+  fNumberDensityPhi->CopyReconstructedData(from->fNumberDensityPhi);
+}